:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f7;--panel:#fff;--panel-2:#eef3f1;--ink:#17201b;--muted:#65736d;--line:#d9e0dd;--accent:#0f766e;--accent-strong:#0b5f59;--warm:#a54832;--gold:#b7791f;--green:#2f855a;--bluegray:#475569;--shadow:0 18px 50px #1c26221f;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-shell{background:linear-gradient(135deg, #0f766e1f, transparent 42%), var(--bg);background-position:50%;background-size:cover;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-radius:8px;gap:16px;padding:22px;display:grid}.login-panel.compact{text-align:center;justify-items:center;width:min(300px,100%)}.login-brand{align-items:center;gap:12px;margin-bottom:4px;display:flex}.login-brand span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.login-brand h1{margin:0;font-size:30px;line-height:1.05}.compact-notice{margin:0}.app-shell{grid-template-columns:280px minmax(0,1fr);min-width:0;min-height:100vh;display:grid}.sidebar{color:#f5faf7;background:#18241f;flex-direction:column;gap:22px;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:12px;min-height:48px;display:flex}.brand-mark{color:#18241f;background:#f6c65b;border-radius:8px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:800;display:grid}.brand-logo{object-fit:contain;background:#fff;padding:5px}.mobile-nav-toggle,.mobile-close-button,.mobile-nav-backdrop{display:none}.brand strong,.brand span{display:block}.brand span{color:#bdc9c4;margin-top:2px;font-size:12px}.nav-stack,.side-section{gap:8px;display:grid}.nav-stack button,.side-pill{color:#dce6e1;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-height:38px;padding:0 10px;display:flex}.nav-stack button:hover,.side-pill:hover,.nav-stack button.active,.side-pill.selected{color:#fff;background:#ffffff1a;border-color:#ffffff1c}.side-label{color:#aebbb5;text-transform:uppercase;letter-spacing:0;align-items:center;gap:8px;margin-bottom:2px;font-size:12px;font-weight:700;display:flex}.side-pill{justify-content:flex-start;width:100%}.workspace{min-width:0;padding:18px 22px 32px}.topbar{grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:14px;min-height:56px;margin-bottom:16px;display:grid}.search-wrap{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:10px;height:46px;padding:0 14px;display:flex;box-shadow:0 1px 2px #1e293b0a}.search-wrap svg{color:var(--muted);flex:none}.search-wrap input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;min-width:0}.topbar-actions,.panel-actions,.filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.user-menu{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:2px 3px 2px 10px;display:flex}.user-menu>svg{color:var(--accent);flex:none}.user-menu div{gap:1px;min-width:0;display:grid}.user-menu strong,.user-menu span{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.user-menu strong{font-size:12px}.user-menu span{color:var(--muted);text-transform:capitalize;font-size:11px}.user-menu .icon-button{width:32px;height:32px}.icon-button,.ghost-button,.primary-button{border:1px solid var(--line);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 12px;text-decoration:none;display:inline-flex}.icon-button{width:38px;color:var(--ink);background:var(--panel);padding:0}.ghost-button{color:var(--ink);background:var(--panel)}.ghost-button:hover,.icon-button:hover{background:#f9fbfa;border-color:#bdc8c3}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.primary-button:hover{background:var(--accent-strong)}.ghost-button.danger{color:#8a3324;background:#fff7f5;border-color:#e6c2ba}.ghost-button.danger:hover{background:#fff0ec;border-color:#d99b8d}.primary-button:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed}.full{width:100%}.summary-strip{grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:14px;display:grid}.stat-item{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:auto 1fr;align-content:center;gap:4px 9px;min-height:72px;padding:12px;display:grid}.stat-item svg{color:var(--accent);grid-row:span 2}.stat-item span{color:var(--muted);font-size:12px}.stat-item strong{font-size:18px}.filter-bar{grid-template-columns:minmax(190px,1fr) auto;align-items:end;gap:14px;margin:12px 0;display:grid}.filter-bar h1,.migration-head h1,.portal-layout h1{margin:0;font-size:28px;line-height:1.1}.filter-bar span{color:var(--muted);margin-top:4px;display:block}.filters label{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 10px;display:flex}.filters select,.panel-section select,.tool-panel select{background:0 0;border:0;outline:0;min-width:114px}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.asset-list{gap:10px;display:grid}.bulk-action-bar{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.bulk-action-bar strong,.bulk-action-bar span{display:block}.bulk-action-bar span{color:var(--muted);font-size:12px}.asset-tile{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;min-width:0;display:grid;position:relative;overflow:hidden}.asset-tile:hover,.asset-tile.selected{border-color:var(--accent);box-shadow:0 0 0 1px #0f766e33}.asset-open{width:100%;height:100%;color:inherit;text-align:left;background:0 0;border:0;min-width:0;padding:0;display:grid}.asset-list .asset-open{grid-template-columns:170px minmax(0,1fr);min-height:126px}.thumb{aspect-ratio:4/3;color:var(--bluegray);background:#dfe7e4;place-items:center;display:grid;position:relative;overflow:hidden}.asset-select{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff94;border:1px solid #ffffffc7;border-radius:999px;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:9px;left:9px;box-shadow:0 10px 24px #17201b1f}.asset-select input{opacity:0;cursor:pointer;position:absolute;inset:0}.asset-select span{background:#ffffffd6;border:2px solid #17201b33;border-radius:999px;width:23px;height:23px;transition:background .16s,border-color .16s,transform .16s}.asset-select input:checked+span{border-color:var(--accent);background:var(--accent);transform:scale(1.04)}.asset-select input:checked+span:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;margin:5px 0 0 5px;display:block;transform:rotate(-45deg)}.asset-select input:focus-visible+span{outline-offset:2px;outline:3px solid #0f766e47}.asset-list .thumb{aspect-ratio:auto;min-height:126px}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.status{color:#fff;background:var(--bluegray);border-radius:999px;align-items:center;height:23px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.thumb .status{position:absolute;bottom:8px;left:8px}.status.approved,.status.completed{background:var(--green)}.status.review,.status.running,.status.ready_for_mapping{background:var(--gold)}.status.draft,.status.queued,.status.needs_credentials{background:var(--bluegray)}.status.expired,.status.failed,.status.trashed{background:var(--warm)}.asset-body{gap:9px;min-width:0;padding:12px;display:grid}.asset-body strong,.asset-body span,.asset-body p{overflow-wrap:anywhere}.asset-body strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.14;display:-webkit-box;overflow:hidden}.asset-body>div>span,.asset-body p{color:var(--muted);font-size:12px}.asset-body>div>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.asset-body p{margin:0}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{color:#2d4b43;overflow-wrap:anywhere;background:#edf3f1;border-radius:999px;align-items:center;max-width:100%;min-height:24px;padding:0 8px;font-size:12px;display:inline-flex}.face-summary{border:1px solid var(--line);background:#f9fbfa;border-radius:8px;gap:8px;padding:10px;display:grid}.face-summary>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.face-summary strong{font-size:13px}.face-summary span{color:var(--muted);font-size:12px}.face-list{gap:8px;display:grid}.face-row{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:10px;display:grid}.face-row>div:first-child{min-width:0}.face-name-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.face-name-field .ghost-button{height:38px}.notice{border:1px solid var(--line);color:#594a2d;background:#fffdf7;border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.notice.error{color:#7f2d1f;background:#fff7f5}.trash-notice{color:#7f2d1f;background:#fff7f5;margin:0 16px 12px}.notice button{background:0 0;border:0;margin-left:auto}.detail-panel{background:var(--panel);border-left:1px solid var(--line);width:min(470px,100vw);height:100vh;box-shadow:var(--shadow);z-index:10;flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow:auto}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:14px 16px;display:flex}.panel-head span{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:800;display:block}.panel-head strong{overflow-wrap:anywhere;margin-top:2px;display:block}.preview-frame{background:#dfe7e4;place-items:center;height:285px;display:grid}.preview-frame img{object-fit:cover;width:100%;height:100%}.file-preview{color:var(--bluegray)}.panel-actions,.panel-section{border-bottom:1px solid var(--line);padding:14px 16px}.panel-section{gap:12px;display:grid}.panel-section.compact h2,.tool-panel h2{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}label{color:#34413b;gap:6px;font-size:13px;font-weight:700;display:grid}input,textarea,select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}input[type=checkbox]{appearance:none;cursor:pointer;background:#fff;border:2px solid #bdc8c3;border-radius:999px;place-items:center;width:22px;min-width:22px;height:22px;min-height:22px;padding:0;transition:background .16s,border-color .16s,box-shadow .16s;display:inline-grid}input[type=checkbox]:after{content:"";transform-origin:50%;border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;transition:transform .12s;transform:rotate(-45deg)scale(0)}input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}input[type=checkbox]:checked:after{transform:rotate(-45deg)scale(1)}input[type=checkbox]:focus-visible{outline-offset:2px;outline:3px solid #0f766e40}textarea{resize:vertical;min-height:78px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}fieldset{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:12px;display:grid}legend{color:var(--muted);padding:0 4px;font-size:12px;font-weight:800}.check-row{align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.check-row input{flex:none}.share-field{width:calc(100% - 32px);margin:0 16px 12px;font-size:12px}.version-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:34px;padding:0 10px;display:flex}.version-row span{overflow-wrap:anywhere}.file-input{text-align:center;background:#f9fbfa;border:1px dashed #afbbb5;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:12px;display:flex}.file-input input,.dropzone input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.sticky-save{border-top:1px solid var(--line);background:#fffffff0;margin-top:auto;padding:14px 16px;position:sticky;bottom:0}.modal-backdrop{z-index:20;background:#141d195c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.upload-modal{background:var(--panel);width:min(720px,100%);max-height:calc(100vh - 36px);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding-bottom:16px;display:grid;overflow:auto}.upload-modal>:not(.panel-head){margin-left:16px;margin-right:16px}.dropzone{text-align:center;min-height:168px;color:var(--muted);background:#f9fbfa;border:1px dashed #aebbb5;border-radius:8px;place-items:center;gap:7px;padding:18px;display:grid}.dropzone strong{color:var(--ink)}.dropzone span{overflow-wrap:anywhere;max-width:100%;font-size:12px}.upload-progress{border:1px solid var(--line);background:#f6faf8;border-radius:8px;gap:8px;padding:12px;display:grid}.upload-progress div{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.upload-progress strong{overflow-wrap:anywhere;text-align:right;min-width:0}.upload-progress span{color:var(--muted);font-size:12px}.upload-progress progress{width:100%;height:10px;accent-color:var(--accent)}.toggle-grid,.tool-grid,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.toggle-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:10px;min-height:54px;padding:0 12px;display:flex}.toggle-card input{flex:none}.migration-layout,.portal-layout,.team-layout,.api-layout{gap:14px;display:grid}.migration-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.tool-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:14px;padding:16px;display:grid}.file-input.tall{min-height:120px}.job-list{gap:9px;display:grid}.job-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:54px;padding:10px;display:grid}.job-row strong{overflow-wrap:anywhere}.job-row small{color:var(--muted)}.compact-empty{min-height:160px}.team-list{gap:9px;display:grid}.credential-banner{background:#f3fbf8;border:1px solid #97c9bd;border-radius:8px;grid-template-columns:minmax(170px,1fr) minmax(190px,1fr) minmax(190px,1fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.credential-banner>div:first-child{align-self:center}.credential-banner span{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.credential-banner strong{margin-top:2px;display:block}.credential-banner em{color:#8a3324;margin-top:4px;font-size:12px;font-style:normal;display:block}.copy-field{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.copy-field .icon-button{height:38px}.docs-list{gap:10px;display:grid}.doc-row{min-width:0}.doc-row .copy-field{grid-template-columns:minmax(0,1fr) auto auto}.api-key-banner{grid-template-columns:minmax(150px,.7fr) minmax(250px,1fr) minmax(300px,1.25fr) auto}.team-row,.key-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;min-height:64px;padding:10px;display:grid}.team-row strong,.team-row span,.key-row strong,.key-row span{display:block}.team-row strong,.team-row span:not(.status):not(.source-pill),.key-row strong,.key-row span:not(.status):not(.source-pill){overflow-wrap:anywhere}.team-row>div:first-child span,.key-row>div:first-child span{color:var(--muted);margin-top:2px;font-size:12px}.source-pill{color:#2d4b43;background:#edf3f1;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.row-actions .ghost-button{height:34px}.login-background-preview{border:1px solid var(--line);background-color:#edf3f1;background-position:50%;background-size:cover;border-radius:8px;align-items:flex-end;min-height:180px;display:flex;overflow:hidden}.logo-preview{border:1px solid var(--line);text-align:center;background:#f9fbfa;border-radius:8px;place-items:center;gap:10px;min-height:120px;padding:16px;display:grid}.logo-preview img{object-fit:contain;max-width:min(220px,100%);max-height:76px}.logo-preview span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.login-background-preview span{color:#fff;overflow-wrap:anywhere;background:#141d19b8;width:100%;padding:10px 12px;font-size:12px;font-weight:800}.portal-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.portal-tile{border:1px solid var(--line);background:var(--panel);min-height:168px;color:var(--ink);text-align:left;border-radius:8px;align-content:start;gap:8px;padding:16px;display:grid}.portal-tile:hover{border-color:var(--accent)}.portal-tile svg{color:var(--accent)}.portal-tile span{color:var(--muted);overflow-wrap:anywhere}.portal-tile em{color:var(--warm);font-style:normal;font-weight:800}.empty-state,.loading-state,.empty-inline{min-height:240px;color:var(--muted);background:#ffffff7a;border:1px dashed #b8c3be;border-radius:8px;align-content:center;place-items:center;gap:8px;display:grid}.empty-state strong{color:var(--ink)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.summary-strip{grid-template-columns:repeat(3,minmax(120px,1fr))}.filter-bar{grid-template-columns:1fr}}@media (width<=900px){.app-shell{grid-template-columns:1fr;max-width:100vw;overflow-x:hidden}.sidebar{z-index:30;width:min(330px,88vw);height:100dvh;padding:calc(16px + env(safe-area-inset-top)) 14px 18px;flex-direction:column;gap:16px;min-width:0;max-height:none;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:auto;transform:translate(-104%);box-shadow:18px 0 60px #0c120f42}.sidebar.mobile-open{transform:translate(0)}.brand{justify-content:space-between;min-height:36px}.brand-mark{width:34px;height:34px;font-size:18px}.brand span{display:none}.mobile-nav-toggle,.mobile-close-button{display:inline-flex}.mobile-close-button{margin-left:auto}.mobile-nav-backdrop{z-index:29;background:#141d196b;border:0;padding:0;display:block;position:fixed;inset:0}.nav-stack,.side-section{gap:8px;min-width:0;padding-bottom:0;display:grid;overflow:visible}.nav-stack button,.side-pill{white-space:normal;width:100%;min-height:38px}.side-label{align-items:center;min-height:auto;margin:6px 0 0}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f6f7f5;grid-template-columns:1fr;margin:-4px 0 12px;padding:10px 0 12px;position:sticky;top:0}.workspace{width:100%;max-width:100vw;overflow-x:hidden}.topbar-actions{justify-content:flex-start;width:100%;display:flex}.topbar-actions .primary-button{flex:none;min-width:108px}.user-menu{flex:auto;min-width:0}.summary-strip,.tool-grid,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.filters label{min-width:0}.filters label:nth-child(2),.filters label:nth-child(3){grid-column:span 1}}@media (width<=620px){.workspace{width:100vw;max-width:100vw;padding:10px 10px 24px}.summary-strip,.toggle-grid,.two-col,fieldset,.tool-grid,.report-grid{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px;padding:0;display:grid;overflow:visible}.stat-item{min-width:0;min-height:62px;padding:10px}.stat-item strong{font-size:16px}.search-wrap{height:44px}.topbar-actions{gap:8px}.user-menu{min-height:42px}.user-menu strong,.user-menu span{max-width:92px}.icon-button,.ghost-button,.primary-button{height:42px;min-height:42px}.filter-bar{gap:10px;margin:8px 0 10px}.filter-bar h1{font-size:24px}.filter-bar span{margin-top:2px;font-size:13px}.filters{grid-template-columns:1fr 1fr;gap:8px}.filters label{height:42px;padding:0 9px}.filters select{min-width:0;font-size:14px}.filters .ghost-button{grid-column:1/-1}.bulk-action-bar{align-items:stretch;gap:10px;margin-bottom:10px;padding:10px;display:grid}.bulk-action-bar span{display:none}.bulk-action-bar .row-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.bulk-action-bar .primary-button{grid-column:1/-1}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-list .asset-open{grid-template-columns:1fr}.thumb{aspect-ratio:1}.asset-select{width:38px;height:38px;top:7px;left:7px}.asset-select span{width:22px;height:22px}.asset-body{gap:7px;padding:9px}.asset-body strong{font-size:14px}.asset-body>div>span,.asset-body p{font-size:11px}.chip-row{gap:4px}.chip{min-height:21px;padding:0 7px;font-size:11px}.asset-grid .chip-row .chip:nth-child(n+3){display:none}.migration-head{flex-direction:column;align-items:stretch}.job-row{grid-template-columns:1fr}.credential-banner{grid-template-columns:1fr;align-items:stretch}.doc-row .copy-field{grid-template-columns:minmax(0,1fr) auto auto}.team-row,.key-row{grid-template-columns:1fr;align-items:stretch}.row-actions{justify-content:stretch}.row-actions .ghost-button{flex:1}.detail-panel{width:100vw;max-width:100vw;left:0;right:0}.preview-frame{height:min(62vw,285px)}.panel-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.panel-actions .ghost-button{width:100%}.face-name-field{grid-template-columns:1fr}.logo-preview{min-height:96px}}@media (width<=390px){.topbar-actions{flex-wrap:wrap}.topbar-actions .primary-button{flex:100%}}
