.admin{min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--ff-body);font-weight:300;font-size:15px;line-height:1.6}.admin a{color:inherit}.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}}.admin-side{border-right:1px solid var(--line);padding:2.4rem 1.8rem;background:#f9f6ef;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}@media (max-width:900px){.admin-side{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line)}}.admin-brand{display:flex;align-items:center;gap:.7rem;font-family:var(--ff-body);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;text-decoration:none;color:var(--ink);margin-bottom:2.4rem}.admin-brand .brand-mark{width:1.35rem;height:1.55rem}.admin-nav{display:flex;flex-direction:column;gap:.4rem;font-family:var(--ff-body);font-size:.78rem;letter-spacing:.04em}.admin-nav a{display:flex;align-items:center;justify-content:space-between;padding:.62rem .85rem;border-radius:2px;text-decoration:none;color:var(--ink-2);transition:background .18s ease,color .18s ease}.admin-nav a:hover{background:var(--bg);color:var(--ink)}.admin-nav a.active{background:var(--ink);color:var(--cream)}.admin-nav .group-label{font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-3);padding:1.6rem .85rem .5rem}.admin-side-bottom{margin-top:auto;padding-top:2rem;border-top:1px solid var(--line);font-size:.72rem;color:var(--ink-3);display:flex;flex-direction:column;gap:.5rem}.admin-side-bottom a{color:var(--ink-2);text-decoration:none}.admin-side-bottom form button{background:none;border:0;padding:0;font-family:inherit;font-size:inherit;color:var(--ink-2);cursor:pointer;text-align:left}.admin-side-bottom form button:hover{color:var(--ink)}.admin-main{padding:3rem max(2rem,4vw) 4rem;max-width:1180px}.admin-h1{font-family:var(--ff-display);font-weight:400;font-size:clamp(2rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.012em;color:var(--ink);margin:0 0 .6rem}.admin-h1 em{font-style:italic;color:inherit}.admin-lead{color:var(--ink-2);max-width:64ch;margin:0 0 2.6rem}.admin-eyebrow{font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .8rem}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:3rem}@media (max-width:780px){.admin-stats{grid-template-columns:repeat(2,1fr)}}.admin-stat{padding:1.6rem 1.4rem 1.6rem 0;border-right:1px solid var(--line)}.admin-stat:last-child{border-right:0}.admin-stat .num{font-family:var(--ff-display);font-size:clamp(2rem,3vw,2.6rem);font-weight:300;letter-spacing:-.012em;color:var(--ink);line-height:1}.admin-stat .label{margin-top:.6rem;font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-3)}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-table td,.admin-table th{text-align:left;padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table th{font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-3);font-weight:400;padding-bottom:.7rem}.admin-table tbody tr{transition:background .18s ease}.admin-table tbody tr:hover{background:rgba(0,0,0,.02)}.admin-table td a{text-decoration:none;color:var(--ink)}.admin-table td a:hover{color:var(--terra-deep)}.status-pill{display:inline-block;font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;padding:.28rem .6rem;border-radius:1px;border:1px solid}.status-pill.pending{color:var(--ink-3)}.status-pill.generating{color:var(--terra-deep)}.status-pill.ready{color:#2f5d3a}.status-pill.error{color:#993333}.admin-section-header{display:flex;justify-content:space-between;align-items:end;gap:1.4rem;margin:3.4rem 0 1.2rem;flex-wrap:wrap}.admin-section-header h2{font-family:var(--ff-display);font-weight:400;font-size:1.6rem;letter-spacing:-.012em;margin:0}.admin-btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ff-body);font-size:.7rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;padding:.85rem 1.4rem;border:1px solid var(--ink);background:var(--ink);color:var(--cream);text-decoration:none;cursor:pointer;transition:background .25s ease,color .25s ease}.admin-btn.ghost,.admin-btn:hover{background:transparent;color:var(--ink)}.admin-btn.ghost:hover{background:var(--ink);color:var(--cream)}.admin-form{max-width:640px;gap:1.6rem}.admin-field,.admin-form{display:flex;flex-direction:column}.admin-field{gap:.5rem}.admin-field label{font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3)}.admin-field input,.admin-field select,.admin-field textarea{font-family:var(--ff-body);font-size:1rem;padding:.85rem 1rem;border:1px solid var(--line);background:#ffffff;color:var(--ink);border-radius:0;transition:border-color .2s ease}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{outline:none;border-color:var(--ink)}.admin-field .hint{font-size:.78rem;color:var(--ink-3)}.admin-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;background:var(--bg)}.admin-login-brand{font-family:var(--ff-display);font-weight:300;font-size:clamp(1.4rem,2.2vw,1.8rem);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin:0 0 2.5rem;position:relative;padding:1.2rem 0;text-align:center}.admin-login-brand:after,.admin-login-brand:before{content:"";position:absolute;left:50%;transform:translateX(-50%);width:70px;height:1px;background:var(--terra);opacity:.75}.admin-login-brand:before{top:0}.admin-login-brand:after{bottom:0}.admin-login-brand small{display:block;font-family:var(--ff-mono);font-size:9px;letter-spacing:.28em;color:var(--ink-3);margin-top:.5rem;font-weight:400}.admin-login-card{width:100%;max-width:420px;background:#fffefa;border:1px solid var(--line);padding:2.8rem 2.5rem 2.4rem;box-shadow:0 1px 0 rgba(28,28,28,.02)}.admin-login form{display:flex;flex-direction:column;gap:1.2rem}.admin-login h1{font-family:var(--ff-display);font-weight:400;font-size:1.5rem;text-align:center;letter-spacing:-.005em;margin:0 0 .4rem}.admin-login .login-sub{margin:0 0 1.6rem;font-family:var(--ff-mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3);text-align:center}.admin-login .alert{border:1px solid rgba(153,51,51,.4);background:rgba(153,51,51,.06);padding:.7rem 1rem;color:#993333;font-size:13px;margin-bottom:.4rem}.admin-login .admin-field input{background:transparent;border:1px solid var(--line)}.admin-login .admin-field input:focus{border-color:var(--ink)}.admin-login .admin-btn{width:100%;justify-content:center;margin-top:.4rem}.admin-login-foot{margin-top:1.6rem;font-family:var(--ff-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);text-align:center}.admin-login-foot a{color:var(--ink-3);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.admin-login-foot a:hover{border-color:var(--terra);color:var(--ink-2)}