.admin-layout{min-height:100vh}
.admin-header{display:flex;align-items:center;gap:18px;padding:17px max(30px,calc((100vw - 1370px)/2));border-bottom:1px solid var(--border);background:rgba(9,16,29,.8)}
.admin-header>div{flex:1;display:grid;gap:4px}
.admin-header>div .eyebrow{font-size:9px;margin:0}
.admin-header strong{font:700 18px var(--font-heading)}
.admin-header .btn{font-size:12px}
.admin-main{width:min(calc(100% - 48px),1320px);margin:0 auto;padding:38px 0 85px}
.admin-intro{display:flex;align-items:center;justify-content:space-between;gap:24px}
.admin-intro>div{max-width:800px}
.admin-intro h1{font-size:clamp(34px,4vw,57px)}
.admin-intro p:last-child{font-size:14px}
.admin-auth{margin:20px 0;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:rgba(17,24,39,.72)}
.admin-auth label,.admin-form label{color:var(--text);font:600 12px var(--font-heading)}
.admin-auth label span{color:var(--muted);font-weight:400}
.auth-row{display:flex;gap:10px;margin-top:10px}
input,textarea{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:9px;background:rgba(11,16,32,.8);color:var(--text);min-width:0}
input:focus,textarea:focus{outline:2px solid rgba(56,189,248,.35);border-color:var(--primary)}
.auth-row input{flex:1;font:500 12px var(--font-code)}
.micro-note{font-size:12px;color:var(--muted);margin:11px 0 0}
.admin-message{font-size:13px;min-height:24px;color:var(--secondary)}
.admin-message.error{color:var(--danger)}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.85fr);gap:18px}
.admin-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:rgba(17,24,39,.72);padding:20px;min-width:0}
.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:17px;border-bottom:1px solid var(--border)}
.admin-panel-head h2{font:700 20px var(--font-heading);margin:0 0 5px}
.admin-panel-head p{font-size:12px;margin:0}
.admin-panel-head .btn{font-size:12px}
.admin-controls{display:flex;gap:15px;align-items:center;margin:15px 0}
.admin-controls>input{flex:1}
.toggle{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap}
.toggle input{width:auto;accent-color:var(--primary)}
.table-wrap{overflow:auto;max-height:650px}
table{width:100%;border-collapse:collapse}
th{font:600 12px var(--font-heading);color:var(--text);background:var(--surface-2)}
td,th{padding:12px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
td{color:var(--muted);font-size:12px}
td code{font-size:11px;color:var(--text);overflow-wrap:anywhere}
.tiny{font-size:10px;color:var(--muted);display:block}
.row-actions{display:flex;gap:5px;flex-wrap:wrap}
.small-action{border:1px solid var(--border);border-radius:8px;padding:6px 9px;background:rgba(31,41,55,.75);color:var(--text);font-size:11px}
.small-action.approve{color:var(--primary);border-color:rgba(56,189,248,.3)}
.small-action.revoke{color:var(--danger);border-color:rgba(251,113,133,.3)}
.small-action:disabled{opacity:.45;cursor:not-allowed}
.state-label{display:inline-block;font:600 10px var(--font-code)}
.state-label.live{color:var(--success)}.state-label.draft{color:var(--warning)}.state-label.changed{color:var(--danger)}
.validation-message{color:var(--danger);font-size:11px;display:block}
.validation-warning{color:var(--warning);font-size:11px;display:block}
.admin-form{display:grid;gap:14px;padding-top:18px}
.admin-form label{display:grid;gap:6px}
.admin-form label input,.admin-form label textarea{font:400 12px var(--font-body)}
.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-form>.btn{justify-self:start}
.admin-footer{padding:16px 24px;text-align:center;font:500 11px var(--font-code);border-top:1px solid var(--border);color:var(--muted)}
@media(max-width:1080px){.admin-grid{grid-template-columns:1fr}.admin-intro{align-items:flex-start;flex-direction:column;gap:0}}
@media(max-width:620px){.admin-main{width:min(calc(100% - 28px),1320px);padding-top:25px}.admin-header{padding:12px 15px}.auth-row{flex-wrap:wrap}.auth-row input{flex-basis:100%}.two-fields{grid-template-columns:1fr}.admin-controls{flex-direction:column;align-items:stretch}.toggle{white-space:normal}}
