:root{--bg-canvas:#f5f1e8;--bg-surface:#fffaf2db;--bg-panel:#fffcf7f0;--ink-strong:#17211f;--ink-base:#314240;--ink-soft:#5f716d;--line-soft:#1e34301a;--line-strong:#1e34302e;--accent:#0d9a77;--accent-deep:#0a6f59;--accent-soft:#0d9a771f;--warm:#c77345;--danger:#a63f2e;--shadow-soft:0 24px 80px #18242214;--shadow-panel:0 18px 48px #1b292614;--radius-lg:28px;--radius-md:18px;--radius-sm:12px;--space-xs:clamp(.55rem, .5rem + .2vw, .75rem);--space-sm:clamp(.85rem, .8rem + .25vw, 1rem);--space-md:clamp(1rem, .9rem + .4vw, 1.35rem);--space-lg:clamp(1.5rem, 1.25rem + 1vw, 2.25rem);--space-xl:clamp(2rem, 1.6rem + 1.8vw, 3.5rem);--space-2xl:clamp(3rem, 2.2rem + 3vw, 5.5rem);--max-width:1180px;--font-body:"Sora", "Avenir Next", sans-serif;--font-display:"Fraunces", Georgia, serif;--font-handwritten:"Caveat", cursive;--font-mono:"JetBrains Mono", monospace}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);color:var(--ink-base);background:radial-gradient(circle at 0 0,#c773451a,#0000 32%),radial-gradient(circle at right 8%,#0d9a771f,#0000 28%),linear-gradient(#fbf7f0 0%,#f5f1e8 100%);margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.site-shell{min-height:100vh}.container{width:min(var(--max-width), calc(100vw - 2.5rem));margin:0 auto}.panel{background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.pill{border:1px solid var(--line-soft);color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;background:#fffcf7cc;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.82rem;display:inline-flex}.section-label{margin:0 0 var(--space-sm);color:var(--warm);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:600}.headline{color:var(--ink-strong);font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(2.4rem,2rem + 3vw,5rem);font-weight:600;line-height:.96}.lede{max-width:62ch;color:var(--ink-soft);margin:0;font-size:clamp(1rem,.9rem + .45vw,1.2rem);line-height:1.7}.button-row{flex-wrap:wrap;gap:.85rem;display:flex}.button-primary,.button-secondary,.button-link{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:46px;padding:.8rem 1.15rem;text-decoration:none;transition:transform .16s,border-color .16s,background-color .16s,color .16s,box-shadow .16s;display:inline-flex}.button-primary{background:var(--accent);color:#f9fff9;box-shadow:0 16px 30px #0d9a773d}.button-primary:hover{background:var(--accent-deep);transform:translateY(-1px)}.button-secondary{border-color:var(--line-soft);color:var(--ink-strong);background:#fffcf7b8}.button-secondary:hover,.button-link:hover{border-color:var(--line-strong);transform:translateY(-1px)}.button-link{min-height:auto;color:var(--ink-strong);background:0 0;padding-inline:0}.field{gap:.45rem;display:grid}.field label{color:var(--ink-strong);font-size:.92rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line-soft);border-radius:var(--radius-sm);width:100%;color:var(--ink-strong);background:#ffffffd6;padding:.9rem 1rem;transition:border-color .16s,box-shadow .16s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#0d9a7780;outline:none;box-shadow:0 0 0 4px #0d9a771f}.field .hint,.muted{color:var(--ink-soft);font-size:.92rem}.error-text{color:var(--danger)}.status-badge{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .72rem;font-size:.82rem;font-weight:600;display:inline-flex}.status-badge.warn{color:#8e4f2d;background:#c7734524}.status-badge.neutral{color:var(--ink-soft);background:#30413e14}.status-badge.danger{color:var(--danger);background:#a63f2e24}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.metric-card{border-radius:var(--radius-md);border:1px solid var(--line-soft);background:#ffffffb8;padding:1.15rem}.metric-card .value{color:var(--ink-strong);margin:.3rem 0 0;font-size:1.8rem;font-weight:700}.metric-card .label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.86rem}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--line-soft);text-align:left;padding:.95rem .9rem}.data-table th{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:600}.admin-list-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-list-header h1{font-family:var(--font-display);color:var(--ink-strong);margin:0;font-size:1.75rem;font-weight:600}.filter-tabs{flex-wrap:wrap;gap:6px;margin-bottom:1.25rem;display:flex}.filter-tab{color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;padding:6px 14px;font-size:.82rem;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.filter-tab:hover{color:var(--ink-base);background:#1e34300a}.filter-tab.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.admin-table{background:#fff;border:1px solid #ece8e0;border-radius:18px;overflow:hidden}.admin-table-header,.admin-table-row{align-items:center;padding:10px 16px;display:grid}.admin-table-header{font-family:var(--font-body);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;background:#faf9f6;border-bottom:1px solid #ece8e0;font-size:.75rem;font-weight:600}.admin-table-row{color:var(--ink-base);border-bottom:1px solid #f5f2ec;font-size:.9rem}.admin-table-row:last-child{border-bottom:none}.admin-table-row:hover{background:#faf9f6}.admin-table-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-table-footer{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-top:.5rem;padding:.75rem 0;font-size:.82rem;display:flex}.admin-table-footer nav{gap:8px;display:flex}.admin-pg-btn{color:var(--ink-base);cursor:pointer;background:#fff;border:1px solid #ece8e0;border-radius:8px;align-items:center;padding:6px 14px;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-flex}.admin-pg-btn:hover{border-color:var(--line-strong)}.admin-pg-btn.primary{background:var(--accent);color:#fff;border-color:#0000}.badge{text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:500;display:inline-flex}.badge-success{background:var(--accent-soft);color:var(--accent-deep)}.badge-warning{color:#8e4f2d;background:#c7734524}.badge-danger{color:var(--danger);background:#a63f2e24}.badge-neutral{color:var(--ink-soft);background:#30413e14}.admin-search{font-family:var(--font-body);color:var(--ink-base);background:#fff;border:1px solid #ece8e0;border-radius:10px;align-items:center;gap:8px;width:220px;padding:8px 14px;font-size:.88rem;display:flex}.admin-search:focus{border-color:#0d9a7780;outline:none;box-shadow:0 0 0 3px #0d9a771a}.btn-admin-action{background:var(--accent);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;border-radius:12px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex}.btn-admin-action:hover{background:var(--accent-deep);transform:translateY(-1px)}.empty-state,.callout{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid var(--line-soft)}.empty-state p{margin:0;line-height:1.6}.empty-state .button-primary{margin-top:var(--space-sm)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skel{background:linear-gradient(90deg,#1e34300f 25%,#1e34301a 50%,#1e34300f 75%) 0 0/200% 100%;border-radius:6px;animation:1.5s infinite shimmer}.skel-text{width:60%;height:.9em}.skel-heading{width:45%;height:1.6rem}.skel-value{width:50%;height:1.8rem;margin-top:.3rem}@media (width<=768px){.container{width:min(var(--max-width), calc(100vw - 1.25rem))}.button-row{flex-direction:column}}
