/* Unified modern layer. Keeps the popup workflow hierarchy and marketplace colors. */
:root{--navy:#102a3b;--teal:#087f87;--page:#f3f6fa;--line:#dce5ee;--muted:#65788a;--ink:#182b3b}
body{background:var(--page);font-size:14px;-webkit-font-smoothing:antialiased}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}button:hover:not(:disabled){box-shadow:0 4px 12px #102a3b12;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.55}button.loading{cursor:progress}
:focus-visible{outline:3px solid #53b9c1;outline-offset:3px}
.sidebar{background:#102a3b;border-right:1px solid #ffffff0d}.sidebar .brand{padding:22px 20px;border-bottom:1px solid #ffffff14}.sidebar nav{padding:14px 10px}.sidebar nav button{min-height:46px;margin-bottom:5px;padding:11px 14px;border-radius:10px;font-size:13px;color:#bbd0df}.sidebar nav button.active{background:#ffffff12;color:#fff;border-color:#ffffff20;box-shadow:inset 3px 0 #2fc6bd}.sidebar #logout{color:#d5e6f0;background:#ffffff08;border-color:#ffffff24}
.topbar{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 2px 10px #16394b05;gap:14px;min-height:78px}.topbar h1{font-size:21px;color:var(--ink);letter-spacing:-.5px}.topbar .eyebrow{color:#087f87;font-size:10px}.topbar #activity-refresh-status{color:#65788a}.topbar .menu{color:var(--ink)}
.page{max-width:1160px;padding:24px;margin:auto}.page.active{animation:page-enter .22s ease-out}.page .panel{border-radius:14px;border-color:var(--line);box-shadow:0 3px 12px #102a3b04}.page.popup-workspace{max-width:1040px;padding-top:22px}.popup-workspace .page-intro{border-radius:16px;border-bottom:0;background:linear-gradient(115deg,#102a3b,#13515b);padding:22px 24px;margin-bottom:16px}.popup-workspace .page-intro h2{font-size:26px;letter-spacing:-.7px}.popup-workspace .page-intro p{font-size:13px}.popup-workspace .page-intro .eyebrow{font-size:10px;color:#90d7dc}
.popup-workspace .platform-tabs{background:#e7edf3;border:0;padding:5px;border-radius:12px;gap:6px;margin-bottom:16px}.popup-workspace .platform-tabs button{min-height:44px;border-radius:9px;font-size:14px}.popup-workspace .platform-tabs button.active{box-shadow:0 3px 9px #087f8725;background:#087f87}
.popup-workspace .panel,.popup-workspace details{border-radius:14px;margin-bottom:14px}.popup-workspace .panel{padding:18px}.popup-workspace details summary{padding:16px 18px;font-size:13px}.popup-workspace h3{font-size:16px;letter-spacing:-.2px}.popup-workspace .details-body{padding:0 18px 18px}.popup-workspace .popup-status{padding:13px 14px;font-size:13px;background:#eff7f8}.popup-workspace .health-item{background:#f8fafc;border-color:#e4ebf1;padding-top:11px;padding-bottom:11px;border-radius:10px}.popup-workspace .health-item:before{top:16px}.popup-workspace .health-item span{margin-top:5px;line-height:1.5}.popup-workspace .panel-head{margin-bottom:12px}.popup-workspace .action-row{margin-top:14px}.popup-workspace .action-row button,.popup-workspace .workflow-actions button{min-height:46px;font-size:13px}.popup-workspace .table-wrap{border-radius:10px}.popup-workspace th{padding:12px 10px;background:#f0f5f8;color:#52687b;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.popup-workspace td{padding:13px 10px}.popup-workspace .job{padding:13px;gap:12px}.popup-workspace .job strong{font-size:13px}.popup-workspace .job small{font-size:11px}.popup-workspace .state{font-size:10px;padding:5px 8px}.popup-workspace .job-end{flex-wrap:wrap}.popup-workspace .job-view{min-height:36px;font-size:11px}
.journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0 0 16px;gap:8px}.journey li{padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:9px;color:#748697;font-size:12px}.journey i{display:grid;place-items:center;flex:none;width:27px;height:27px;background:#edf2f6;border-radius:50%;font-style:normal;font-size:11px;font-weight:700}.journey li.current{border-color:#55aeb4;color:#086c73;background:#edf9f9}.journey li.current i{color:white;background:#087f87}.journey li.done i{background:#dff4e9;color:#137e58}.journey li.attention{border-color:#e5b5ae;background:#fff4f2;color:#9a3329}
.execution-banner{margin-bottom:14px;padding:14px 16px;border:1px solid #bbdfe3;background:#edf8fa;border-radius:12px}.execution-banner header{display:flex;justify-content:space-between;gap:10px;font-size:13px}.execution-banner p{margin:5px 0 0;color:#52687b}.execution-banner button{min-height:34px;font-size:11px}.execution-banner .progress-track{background:#d3e8eb}.execution-banner .progress-track i{background:#087f87}.execution-banner .progress-track.indeterminate i{width:30%;animation:workspace-progress 1.4s ease-in-out infinite alternate}.execution-banner[data-state=failed],.execution-banner[data-state=waiting_reconciliation]{border-color:#e5b5ae;background:#fff4f2}
.popup-workspace [aria-busy=true]{position:relative;opacity:.65;pointer-events:none}.popup-workspace [aria-busy=true]::after{content:'Loading marketplace data…';position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 25px #102a3b20;white-space:nowrap;font-weight:600}
.flash{position:fixed;left:50%;bottom:24px;top:auto;transform:translateX(-50%);max-width:min(600px,calc(100vw - 24px));width:max-content;z-index:100;padding:14px 18px;border-radius:12px;box-shadow:0 8px 32px #102a3b26;background:#102a3b;color:#fff;font-size:13px;animation:page-enter .2s ease-out}
#connections .grid{align-items:start}#connections form.panel{padding:20px}#connections form.panel label{font-size:13px;margin:13px 0}#connections form.panel input:not([type=checkbox]),#connections form.panel textarea{min-height:44px;font-size:14px}#connections form.panel input[type=checkbox]{width:18px;min-height:18px;height:18px}#connections .switch input[type=checkbox]{width:38px;height:22px;margin:0}#connections .switch{padding:0;border:0}#connections button{min-height:42px;margin:4px 4px 0 0}
#mappings .toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}#mappings .toolbar input{grid-column:1/-1}#mappings .toolbar button{min-height:42px}#mappings th{color:#fff}.job-drawer{width:min(600px,100vw)}.timeline article>div{padding:14px;border-radius:12px}.timeline p{font-size:13px}.timeline time{font-size:11px;float:none;display:block;margin:5px 0}.timeline pre{font-size:12px}
@keyframes page-enter{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(max-width:768px){.topbar{min-height:72px;padding:12px}.topbar h1{font-size:17px}.topbar .pill{font-size:10px}.page,.page.popup-workspace{padding:12px 10px 30px}.popup-workspace .panel{padding:14px}.popup-workspace .page-intro{padding:18px}.popup-workspace .page-intro h2{font-size:23px}.journey{grid-template-columns:1fr 1fr;gap:6px}.journey li{padding:10px;font-size:11px}.popup-workspace .table-wrap{max-height:380px}.popup-workspace .job-end{justify-content:flex-start}.flash{bottom:max(16px,env(safe-area-inset-bottom));margin:0}.sidebar nav button{min-height:48px}#connections form.panel input:not([type=checkbox]),#connections form.panel textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
