/* AI Media Hub L2.1. Existing theme tokens, native controls, no UI framework. */
*{box-sizing:border-box}html{color-scheme:dark;scroll-padding:5rem}body{margin:0;background:#07111f;color:#edf4ff;font:16px/1.5 system-ui,sans-serif}body[data-density=large]{font-size:18px}body[data-density=compact] section{padding:16px}button,input,textarea,select{font:inherit;min-height:44px;border:1px solid #657993;border-radius:7px;background:#0b1a2d;color:#edf4ff;padding:9px 12px;max-width:100%}input,select,textarea{width:100%;font-size:max(16px,1em)}textarea{resize:vertical}button{cursor:pointer;font-weight:600;overflow-wrap:anywhere}button:hover:not(:disabled){border-color:#4be2cf;background:#122b40}button[type=submit],button.primary{background:#28d8c1;color:#061621;border-color:#28d8c1}button[type=submit]:hover{background:#63ead8;color:#061621}button:disabled{opacity:.65;cursor:not-allowed}button.secondary{background:transparent;margin-right:10px}label{display:block;font-weight:600;margin:12px 0 5px}label.check{display:flex;align-items:center;gap:10px;font-weight:400}.check input{width:22px;height:22px;flex:none}a{color:#60ead8;overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #ffd166;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:1.75em;line-height:1.2;margin:0}h2{font-size:1.22em;line-height:1.3;margin:0 0 12px}h3{font-size:1em;margin:14px 0 8px}p{margin:8px 0}code{font-size:.85em;overflow-wrap:anywhere;word-break:break-word}.muted,footer{color:#b5c4d8}.eyebrow{font-size:.8em;color:#a8bcd4;margin:0 0 5px}.notice{padding:12px 14px;border-left:3px solid #ffd166;background:#192435;color:#fff0c8;border-radius:0 5px 5px 0;font-size:.92em}.badge{font-size:.78em;border:1px solid #297f79;background:#102d31;color:#7df1dd;padding:6px 9px;border-radius:6px;white-space:nowrap}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;color:#07111f;padding:12px}.skip:focus{top:10px}.brand-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:9px;background:#28d8c1;color:#07111f;font-weight:800}.brand{display:flex;gap:10px;align-items:center;padding:22px 16px;border-bottom:1px solid #304258}.brand strong{font-size:.95em}.sidebar-foot{padding:18px;font-size:.8em;border-top:1px solid #304258;margin-top:auto}#sidebar{position:sticky;top:0;height:100dvh;background:#0b192a;display:flex;flex-direction:column;border-right:1px solid #304258;z-index:30;overflow-y:auto}nav{display:flex;flex-direction:column;padding:14px 10px;gap:4px}nav button{border-color:transparent;text-align:left;background:transparent;font-weight:500}nav button[aria-current=page]{color:#85f8e7;background:#153b43;border-color:#287c78}nav button[data-permission=admin],nav button[data-view=access]{margin-top:3px}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100dvh}.workarea{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 26px;background:#0b192a;border-bottom:1px solid #304258}.project-switch{min-width:180px;max-width:360px;flex:1}.project-switch label{margin:0 0 3px;font-size:.75em;color:#b5c4d8}.profile{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:.85em}.profile button{font-size:14px}#screen-content{padding:26px;flex:1;min-width:0}.screen-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.density-control{font-size:.8em;max-width:160px;margin:0}.density-control select{margin-top:3px}section{padding:22px;background:#0d1d32;border:1px solid #344b66;border-radius:10px;margin:0 0 18px;min-width:0}form{max-width:900px}form button{margin-top:14px}.row,.section-heading,.filters{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.row>div{flex:1;min-width:140px}.section-heading{justify-content:space-between;margin-bottom:14px}.section-heading h2{margin:0}.filters{align-items:end;margin-bottom:18px}.filters label{flex:1;min-width:140px;margin:0}.filters input,.filters select{margin-top:6px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.metric{border:1px solid #405674;border-radius:8px;background:#0a1729;padding:16px}.metric span{color:#b5c4d8;font-size:.85em}.metric strong{display:block;font-size:1.6em;margin-top:6px}.cards,.library{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}.cards article,.library article{border:1px solid #405674;background:#0a1729;border-radius:8px;padding:16px;min-width:0}.cards article>button{display:block;margin-top:12px}.library .media-art{height:90px;display:flex;align-items:center;justify-content:center;gap:12px;background:#10343c;color:#83eedc;border-radius:5px;margin-bottom:12px;font-size:1.3em}.library p{font-size:.88em}.library button,.library a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:7px 6px 0 0}.library video{width:100%;max-height:300px;display:block;background:#050b12;margin:12px 0}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.pagination span{font-size:.85em}.job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-bottom:1px solid #405674;padding:16px 0}.job-row:first-child{padding-top:0}.job-row p{font-size:.9em}.job-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.state{display:inline-block;border:1px solid #657993;padding:3px 9px;border-radius:20px;font-size:.8em;white-space:nowrap}.state.completed{border-color:#31bfa6;color:#86f4d9}.state.failed,.state.submission_uncertain{border-color:#ef9d9d;color:#ffb9b9}.state.queued,.state.processing{border-color:#e2bd68;color:#ffe1a3}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tabs button[aria-pressed=true]{border-color:#4be2cf;color:#85f8e7}details{border:1px solid #405674;border-radius:7px;padding:12px 16px;margin-top:12px}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}#keys article,#audit article{padding:12px 0;border-bottom:1px solid #405674}#ledger,#audit,#keys{max-height:440px;overflow:auto}#new-key-box{margin-top:16px;padding:16px;border:2px solid #ffd166}#status{position:sticky;bottom:0;z-index:15;padding:12px max(16px,env(safe-area-inset-left));padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid #506881;background:#10243a;color:#edf4ff;overflow-wrap:anywhere;min-height:48px;font-size:.88em}#status[data-error=true]{background:#3b1d2b;border-color:#e8a5b2}footer{padding:12px 26px;font-size:.75em;border-top:1px solid #304258}#login-shell{max-width:530px;margin:6vh auto;padding:24px}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}.login-brand p{color:#b5c4d8;font-size:.9em;margin:2px 0}#login-panel .row input{flex:1;min-width:140px}#login-panel form{margin-top:18px}#login-panel form button{margin-top:0}dialog{max-width:min(600px,calc(100% - 24px));width:100%;max-height:85dvh;overflow:auto;background:#10243a;color:#edf4ff;border:1px solid #7187a5;border-radius:10px;padding:22px}dialog::backdrop{background:#000b}dialog dl{display:grid;grid-template-columns:minmax(80px,1fr) 2fr;gap:8px}dialog dd{margin:0;overflow-wrap:anywhere}.mobile-only{display:none}body.menu-open{overflow:hidden}
@media(min-width:1450px){#screen-content{max-width:1500px;width:100%;margin:auto}}
@media(max-width:1100px){.topbar{padding:12px 18px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#screen-content{padding:20px}.profile{margin-left:0}.topbar .badge{order:4}}
@media(max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}#sidebar{position:fixed;left:0;top:0;width:min(290px,85vw);height:100dvh;transform:translateX(-100%);visibility:hidden}body.menu-open #sidebar{transform:none;visibility:visible}.mobile-only{display:inline-flex;align-items:center;justify-content:center;min-width:44px}#close-menu{margin-left:auto}#menu-backdrop{position:fixed;inset:0;background:#0009;border:none;border-radius:0;z-index:25;width:100%;height:100%;padding:0}.topbar{gap:10px}.project-switch{min-width:0;max-width:none}.profile{margin-left:auto}#screen-content{padding:18px}.screen-heading{gap:10px;margin-bottom:18px}h1{font-size:1.5em}section{padding:18px}.job-row{grid-template-columns:minmax(0,1fr)}.job-actions{justify-content:flex-start}}
@media(max-width:480px){.topbar{padding:10px 14px}.topbar .badge{order:3}.profile{width:100%;justify-content:space-between;order:4;font-size:.8em}.profile button{font-size:14px}#screen-content{padding:14px}.screen-heading{align-items:start;flex-wrap:wrap}.density-control{max-width:145px}.metrics{gap:8px}.metric{padding:12px}.metric strong{font-size:1.4em}section{padding:16px}.row>div{flex-basis:100%;min-width:0}.filters label{flex-basis:100%}.pagination{justify-content:center}.badge{white-space:normal}.library{grid-template-columns:minmax(0,1fr)}#login-shell{margin:24px auto;padding:18px}#login-panel .row{align-items:stretch}#login-panel .row input,#login-panel .row button{flex-basis:100%}#status{font-size:.85em}.tabs{gap:6px}.tabs button{font-size:.85em}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Keep session feedback clear of the desktop sidebar. */
body.authenticated #status{margin-left:224px}
@media(max-width:900px){body.authenticated #status{margin-left:0}}
.check{min-height:44px}a:not(.skip){display:inline-flex;align-items:center;min-height:44px;max-width:100%}
