/* Admin primitives: one control geometry, one accent, explicit semantic states. */
.admin-shell,.ui-modal,.login-card{--ui-bg:#121c27;--ui-surface:#192532;--ui-border:#334151;--ui-muted:#9baabd;--ui-accent:#b1d9e5;--ui-radius:10px;--ui-control-height:44px;color:#e7edf4}
.admin-shell{max-width:1440px;grid-template-columns:208px minmax(0,1fr);gap:32px;padding-top:32px}.admin-main{min-width:0}.admin-nav{align-self:start;position:sticky;top:90px;border:1px solid var(--line);border-radius:14px;background:#16212c;padding:18px 12px}.admin-nav .eyebrow,.admin-nav h2{padding:0 10px}.admin-nav h2{font-size:18px;margin:8px 0 24px}.admin-nav nav a{min-height:44px;font-size:13px;font-weight:500}.admin-nav nav a.active{background:#263d4c;color:#c4e9f3;box-shadow:inset 3px 0 #a5d4e1}.admin-nav .admin-nav-foot{border-top:1px solid var(--line);padding:18px 8px 0}.admin-nav .admin-nav-foot p{font-size:11px;overflow-wrap:anywhere;color:var(--ui-muted);margin-bottom:12px}
.admin-main h1{font-size:28px;font-weight:600;line-height:1.4;letter-spacing:-.4px}.admin-main h2{font-size:17px;font-weight:600}.admin-main h3{font-size:14px;font-weight:600}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.admin-heading p{color:var(--ui-muted);font-size:13px;margin-top:6px;line-height:1.7}.admin-breadcrumb{display:flex;gap:8px;align-items:center;color:var(--ui-muted);font-size:12px;margin-bottom:16px;flex-wrap:wrap}.admin-breadcrumb a:hover{color:var(--ui-accent)}.admin-eyebrow{text-transform:uppercase;letter-spacing:1.8px;color:var(--ui-accent);font-size:10px;font-weight:600;margin-bottom:8px}.admin-card{background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:14px;margin-bottom:20px;overflow:clip}.admin-card-head{padding:22px 24px;border-bottom:1px solid var(--ui-border);display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-card-head p{font-size:12px;color:var(--ui-muted);margin-top:5px;line-height:1.7}.admin-card-body{padding:24px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}.admin-form-grid>.full{grid-column:1/-1}.admin-editor{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.admin-section{display:grid;gap:22px}.admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-actions--end{justify-content:flex-end}.admin-savebar{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:18px 22px;border:1px solid var(--ui-border);background:#192632;border-radius:12px;margin:4px 0 24px}.admin-savebar p{color:var(--ui-muted);font-size:12px}.admin-subheading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-link{color:var(--ui-accent);font-size:12px;background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.ui-field{display:flex;flex-direction:column;gap:8px;min-width:0}.ui-label,.admin-shell .ui-label,.ui-modal .ui-label,.login-card .ui-label{font-size:13px;font-weight:500;color:#d9e3ee;line-height:1.5;display:block;margin:0}.ui-required{color:var(--ui-accent);margin-left:4px}.ui-hint{font-size:12px!important;line-height:1.65;color:var(--ui-muted);margin:0}.ui-error{font-size:12px;line-height:1.6;color:#ffb1b8;margin:0}.admin-shell .ui-control,.ui-modal .ui-control,.login-card .ui-control{box-sizing:border-box;width:100%;min-height:var(--ui-control-height);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#0f1822;color:#e7edf4;font-family:inherit;font-size:14px;line-height:1.5;padding:10px 12px;outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s}.ui-control::placeholder{color:#748497}.admin-shell textarea.ui-control,.ui-modal textarea.ui-control{min-height:148px;resize:vertical}.admin-shell .ui-control:focus-visible,.ui-modal .ui-control:focus-visible,.login-card .ui-control:focus-visible{border-color:var(--ui-accent);box-shadow:0 0 0 3px #a5d4e122}.admin-shell .ui-control[aria-invalid=true],.ui-modal .ui-control[aria-invalid=true]{border-color:#d67784}.ui-control:disabled{opacity:.55;cursor:not-allowed}.ui-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23aab8c8' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;padding-right:38px!important;color-scheme:dark}
.ui-button,.admin-shell a.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border:1px solid #3b4b5d;border-radius:9px;background:#233141;color:#dfe8f1;line-height:1.4;font-family:inherit;font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}.ui-button:hover:not(:disabled){background:#2c3d50;border-color:#698093}.ui-button--primary,.admin-shell a.ui-button--primary{background:#b1d9e5;color:#142530;border-color:#b1d9e5}.ui-button--primary:hover:not(:disabled){background:#c4e6ee;border-color:#c4e6ee}.ui-button--ghost{background:transparent;border-color:transparent;color:var(--ui-muted)}.ui-button--danger{background:#39232d;border-color:#80525b;color:#ffbdc6}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button:focus-visible,.admin-link:focus-visible,.ui-check input:focus-visible,.ui-choice input:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.ui-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}
.ui-choices{padding:0;border:0;margin:0;min-width:0}.ui-choices legend{padding:0;margin:0 0 10px}.ui-choice-grid{display:flex;gap:10px;flex-wrap:wrap}.admin-shell label.ui-choice,.ui-modal label.ui-choice{display:flex;flex:1;flex-direction:row;align-items:flex-start;gap:10px;border:1px solid var(--ui-border);border-radius:10px;padding:12px;cursor:pointer;min-width:120px;background:#101b26}.ui-choice.selected{border-color:#83b2c2!important;background:#203340!important}.ui-choice input,.ui-check input{width:16px!important;height:16px;min-height:0!important;flex:0 0 16px;margin:3px 0 0;padding:0!important;accent-color:#b1d9e5}.ui-choice strong{display:block;font-size:13px;font-weight:500}.ui-choice small{display:block;font-size:11px;color:var(--ui-muted);line-height:1.6;margin-top:4px}.admin-shell label.ui-check,.ui-modal label.ui-check{display:flex;flex-direction:row;align-items:flex-start;gap:9px;font-size:13px;line-height:1.6;color:#cbd7e5}.ui-checklist{display:flex;flex-wrap:wrap;gap:12px 20px}.ui-choices .ui-hint{margin-top:10px}
.ui-modal{position:fixed;inset:0;margin:auto;width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #415267;border-radius:18px;background:#172330;color:#e7edf4;box-shadow:0 24px 80px #0008;overflow:auto;overscroll-behavior:contain;color-scheme:dark}.ui-modal--wide{width:min(660px,calc(100vw - 32px))}.ui-modal::backdrop{background:#050b13b8;backdrop-filter:blur(3px)}.ui-modal-head{padding:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--ui-border)}.ui-modal-head h2{font-size:20px;font-weight:600;line-height:1.5}.ui-modal-head p{font-size:12px;color:var(--ui-muted);line-height:1.7;margin-top:6px}.ui-close{font-size:24px;padding:0;width:34px;min-height:34px;flex-shrink:0;background:transparent;border-color:transparent}.ui-modal-body{padding:24px}.ui-modal-footer{padding:16px 24px;border-top:1px solid var(--ui-border);display:flex;gap:10px;justify-content:flex-end;background:#192735;position:sticky;bottom:0}.ui-modal form{display:grid;gap:20px}.ui-inline-notice{padding:12px 14px;background:#223747;border:1px solid #42596e;border-radius:9px;color:#bed6e7;font-size:12px;line-height:1.7}.ui-inline-notice.error{background:#36232d;border-color:#80525b;color:#ffc1c8}
.admin-toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px}.admin-toolbar>.ui-field{flex:1;min-width:160px}.admin-toolbar>.ui-field:first-child{flex:2}.admin-list-card{padding:0}.admin-table{font-size:13px}.admin-table th{padding:14px 20px;background:#192735;font-size:11px;letter-spacing:.2px}.admin-table td{padding:17px 20px;vertical-align:middle}.admin-table tbody tr:hover{background:#1c2b38}.admin-table td:first-child{min-width:180px}.admin-table .row-title{font-weight:500;display:block;line-height:1.6}.admin-table .row-meta{font-size:11px;color:var(--ui-muted);margin-top:4px;line-height:1.6}.admin-table .admin-actions{flex-wrap:nowrap}.admin-status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;font-size:11px;line-height:1.4;border-radius:6px;white-space:nowrap;background:#293542;color:#b7c6d5}.admin-status::before{content:'';height:5px;width:5px;border-radius:50%;background:currentColor}.admin-status--ready{color:#a8ddc6;background:#203b35}.admin-status--failed{color:#f0afb9;background:#412936}.admin-status--processing,.admin-status--queued{color:#dfd09f;background:#39372a}.admin-empty{padding:46px 24px;text-align:center}.admin-empty h3{font-size:17px;margin-bottom:8px}.admin-empty p{color:var(--ui-muted);font-size:13px;line-height:1.8;margin-bottom:20px}.admin-empty .admin-actions{justify-content:center}.admin-list-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-list-footer p{font-size:12px;color:var(--ui-muted)}.admin-list-footer .pagination{margin:0}.admin-poster-preview{aspect-ratio:2/3;max-height:280px;margin:0 auto 16px;background:#0c1621;border:1px dashed #435466;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.admin-poster-preview img{height:100%;width:100%;object-fit:contain}.admin-poster-preview span{font-size:12px;color:var(--ui-muted);text-align:center;padding:20px;line-height:1.8}.admin-file{font-size:12px!important;padding:8px!important;min-height:44px;border-radius:9px!important}.admin-file::file-selector-button{font:inherit;background:#2a3b4c;color:#d7e2ed;border:0;border-radius:5px;padding:7px 9px;margin-right:10px;cursor:pointer}.admin-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding:20px 0;border-top:1px solid var(--ui-border)}.admin-danger-zone p{font-size:12px;color:var(--ui-muted);margin-top:5px}.admin-episode-summary{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-episode-summary strong{font-size:28px;font-weight:500}.admin-job{padding:16px 0;border-bottom:1px solid var(--ui-border)}.admin-job:last-child{border:0}.admin-job .admin-actions{justify-content:space-between}.admin-job time{font-size:11px;color:var(--ui-muted)}.admin-main .upload-box{background:#101b26;border:1px dashed #465b6e;border-radius:12px;padding:20px;margin:0}.admin-main .upload-box progress{height:7px}.admin-main .upload-actions{flex-wrap:wrap}.admin-main .metrics .panel{background:var(--ui-bg);border-color:var(--ui-border);border-radius:12px}.login-card{background:#162330;border-color:#334151;border-radius:16px;padding:32px}.login-card .ui-button{width:100%}.admin-note{font-size:12px;color:var(--ui-muted);line-height:1.8;margin:12px 0}
@media(max-width:1150px){.admin-editor{grid-template-columns:minmax(0,1fr) 240px}.admin-shell{grid-template-columns:176px minmax(0,1fr);gap:20px}.admin-card-body,.admin-card-head{padding:20px}.admin-table td,.admin-table th{padding:14px}}
@media(max-width:900px){.admin-editor{grid-template-columns:1fr}.admin-editor-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.admin-editor-aside>.admin-card{margin:0}.admin-form-grid{gap:18px}.admin-heading{align-items:flex-start}.admin-heading .admin-actions{justify-content:flex-end}}
@media(max-width:650px){.admin-shell{display:block;padding-top:16px}.admin-nav{position:static;padding:8px;margin-bottom:24px;border-radius:12px}.admin-nav nav{margin:0}.admin-nav .admin-nav-foot{display:flex;justify-content:flex-end;border:0;padding:6px 4px 0}.admin-nav .admin-nav-foot p{display:none}.admin-nav nav a{font-size:12px;padding:10px}.admin-main h1{font-size:24px}.admin-heading{flex-direction:column;gap:16px;margin-bottom:22px}.admin-heading .admin-actions{width:100%;justify-content:flex-start}.admin-form-grid,.admin-editor-aside{grid-template-columns:1fr}.admin-card-body,.admin-card-head{padding:18px}.admin-savebar{align-items:stretch;flex-direction:column;padding:16px}.admin-savebar .admin-actions{display:grid;grid-template-columns:1fr}.admin-toolbar{gap:10px}.admin-toolbar>.ui-field{min-width:calc(50% - 10px)}.admin-toolbar>.ui-field:first-child{flex-basis:100%}.ui-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}.ui-modal-head,.ui-modal-body{padding:20px}.ui-modal-footer{padding:14px 20px}.ui-modal-footer .ui-button{flex:1}.ui-control{font-size:16px!important}.admin-danger-zone{align-items:flex-start;flex-direction:column}.admin-table .row-title{max-width:230px;overflow-wrap:anywhere}.admin-list-footer{align-items:flex-start}.admin-episode-summary{align-items:flex-start;flex-direction:column}.login-card{padding:24px}.admin-main .upload-box{padding:16px}}
@media(prefers-reduced-motion:reduce){.ui-spinner{animation:none}.ui-control,.ui-button{transition:none}}

@media(max-width:650px){.admin-table,.admin-table tbody{display:block;width:100%}.admin-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.admin-table tr{display:block;padding:16px;border-bottom:1px solid var(--ui-border)}.admin-table tr:last-child{border-bottom:0}.admin-table td,.admin-table td:first-child{display:block;min-width:0;padding:7px 0;border:0;margin:0}.admin-table td[data-label]{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}.admin-table td[data-label]::before{content:attr(data-label);color:var(--ui-muted);font-size:11px;flex:0 0 95px}.admin-table td:last-child{padding-top:12px}.admin-table .row-title{max-width:none}.admin-table .admin-actions{flex-wrap:wrap}.admin-table td[colspan]{padding:8px 0}.admin-table .row-meta{overflow-wrap:anywhere}.admin-table .ui-button{min-height:44px}}
