:root{--vaa-forest: #1b4332;--vaa-forest-mid: #2d6a4f;--vaa-forest-soft: #40916c;--vaa-beige: #f5f0e8;--vaa-beige-deep: #e8dfd0;--vaa-sky: #5ba4c9;--vaa-sky-soft: #a8d5e8;--vaa-white: #ffffff;--vaa-ink: #14261c;--vaa-ink-muted: #5c6b62;--vaa-mist: rgba(27, 67, 50, .06);--vaa-glass: rgba(245, 240, 232, .72);--vaa-glass-dark: rgba(27, 67, 50, .55);--vaa-her-blush: #f3d0d8;--vaa-her-rose: #e8a0b0;--vaa-her-ink: #5a2433;--vaa-her-surface: #fff5f7;--vaa-font-display: "Fraunces", Georgia, serif;--vaa-font-body: "Manrope", system-ui, sans-serif;--vaa-radius-sm: 10px;--vaa-radius-md: 16px;--vaa-radius-lg: 24px;--vaa-radius-xl: 32px;--vaa-shadow-soft: 0 8px 28px rgba(20, 38, 28, .08);--vaa-shadow-lift: 0 14px 40px rgba(20, 38, 28, .12);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--duration-press: .14s;--duration-tooltip: .15s;--duration-popover: .2s;--duration-sheet: .32s;--duration-page: .28s;--duration-her-wash: .22s;--spring-default-bounce: 0;--spring-default-duration: .4s;--spring-momentum-bounce: .2;--spring-momentum-duration: .35s}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--vaa-font-body);color:var(--vaa-ink);background:var(--vaa-beige);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,.vaa-display{font-family:var(--vaa-font-display);letter-spacing:-.02em;line-height:1.15;font-weight:600}button,input,select,textarea{font:inherit}a{color:inherit}.vaa-pressable{transition:transform var(--duration-press) var(--ease-out);transform-origin:center}.vaa-pressable:active{transform:scale(.97)}@media (hover: hover) and (pointer: fine){.vaa-pressable:hover{transform:translateY(-1px)}}.vaa-btn-primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:var(--vaa-forest);color:var(--vaa-white);padding:.85rem 1.25rem;font-weight:600;cursor:pointer}.vaa-btn-ghost{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--vaa-ink-muted);padding:.65rem .85rem;border-radius:var(--vaa-radius-sm);cursor:pointer}.vaa-card{background:var(--vaa-white);border-radius:var(--vaa-radius-md);box-shadow:var(--vaa-shadow-soft)}.vaa-input{width:100%;border:1px solid rgba(20,38,28,.12);border-radius:var(--vaa-radius-sm);padding:.75rem .9rem;background:var(--vaa-white)}.vaa-input:focus{outline:2px solid var(--vaa-sky);outline-offset:1px}.vaa-badge-her{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .65rem;background:var(--vaa-her-surface);color:var(--vaa-her-ink);border:1px solid var(--vaa-her-rose);font-size:.75rem;font-weight:700}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-reduced-transparency: reduce){.vaa-glass{background:var(--vaa-white)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}:root{color-scheme:light}body{background:radial-gradient(1200px 600px at 10% -10%,rgba(91,164,201,.18),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(64,145,108,.14),transparent 50%),var(--vaa-beige)}.admin-boot{min-height:100vh;display:grid;place-content:center;gap:.5rem;text-align:center;color:var(--vaa-ink-muted)}.admin-boot .vaa-display{margin:0;font-size:2.5rem;color:var(--vaa-forest)}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-sidebar{background:var(--vaa-forest);color:var(--vaa-beige);padding:1.5rem 1rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:0;height:100vh;overflow:auto}.admin-brand{padding:0 .5rem}.admin-brand-mark{margin:0;font-family:var(--vaa-font-display);font-size:1.85rem;letter-spacing:-.03em;color:var(--vaa-white)}.admin-brand-sub{margin:.15rem 0 0;font-size:.8rem;color:var(--vaa-sky-soft);font-weight:500}.admin-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.admin-nav a{text-decoration:none;color:#f5f0e8c7;padding:.7rem .85rem;border-radius:var(--vaa-radius-sm);font-weight:600;font-size:.92rem;transition:background var(--duration-press) var(--ease-out),color var(--duration-press) var(--ease-out),transform var(--duration-press) var(--ease-out)}.admin-nav a:hover{background:#f5f0e81a;color:var(--vaa-white)}.admin-nav a.active{background:#f5f0e829;color:var(--vaa-white)}.admin-nav a:active{transform:scale(.97)}.admin-sidebar-footer{border-top:1px solid rgba(245,240,232,.12);padding-top:1rem;display:grid;gap:.65rem}.admin-user-email{font-size:.78rem;color:#f5f0e8b3;word-break:break-all;padding:0 .35rem}.admin-main{padding:1.75rem 2rem 2.5rem;max-width:1200px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-header h1{margin:0;font-size:1.85rem;color:var(--vaa-forest)}.page-header p{margin:.35rem 0 0;color:var(--vaa-ink-muted);max-width:42rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.stat-card{padding:1.15rem 1.2rem;background:var(--vaa-white);border-radius:var(--vaa-radius-md);box-shadow:var(--vaa-shadow-soft);border:1px solid rgba(20,38,28,.04)}.stat-card .label{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vaa-ink-muted)}.stat-card .value{margin:.45rem 0 0;font-family:var(--vaa-font-display);font-size:2rem;color:var(--vaa-forest);letter-spacing:-.03em}.panel{background:var(--vaa-white);border-radius:var(--vaa-radius-md);box-shadow:var(--vaa-shadow-soft);border:1px solid rgba(20,38,28,.04);padding:1.25rem}.panel+.panel{margin-top:1.25rem}.panel h2{margin:0 0 1rem;font-size:1.15rem;color:var(--vaa-forest)}.stack{display:grid;gap:.85rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.form-grid .full{grid-column:1 / -1}.field{display:grid;gap:.35rem}.field label{font-size:.8rem;font-weight:700;color:var(--vaa-ink-muted)}.table-wrap{overflow:auto}table.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}table.admin-table th,table.admin-table td{text-align:left;padding:.75rem .55rem;border-bottom:1px solid rgba(20,38,28,.08);vertical-align:top}table.admin-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--vaa-ink-muted);font-weight:700}.row-actions{display:flex;flex-wrap:wrap;gap:.4rem}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;background:var(--vaa-mist);color:var(--vaa-forest)}.badge.warn{background:#fff1d6;color:#8a5a00}.badge.danger{background:#fde8e8;color:#9b1c1c}.badge.ok{background:#e4f5ec;color:var(--vaa-forest-mid)}.muted{color:var(--vaa-ink-muted)}.error-banner{background:#fde8e8;color:#9b1c1c;border-radius:var(--vaa-radius-sm);padding:.75rem .9rem;margin-bottom:1rem;font-weight:600;font-size:.9rem}.empty{padding:1.5rem .25rem;color:var(--vaa-ink-muted)}.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.login-card{width:min(420px,100%);padding:2rem 1.75rem;background:var(--vaa-white);border-radius:var(--vaa-radius-lg);box-shadow:var(--vaa-shadow-lift);border:1px solid rgba(20,38,28,.05)}.login-card h1{margin:0;font-size:2.35rem;color:var(--vaa-forest)}.login-card .lede{margin:.4rem 0 1.5rem;color:var(--vaa-ink-muted)}.login-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:center;margin:1.25rem 0;color:var(--vaa-ink-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.login-divider:before,.login-divider:after{content:"";height:1px;background:#14261c1f}.btn-block{width:100%}.vaa-btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(20,38,28,.14);border-radius:999px;background:var(--vaa-beige);color:var(--vaa-forest);padding:.85rem 1.25rem;font-weight:600;cursor:pointer}.vaa-btn-danger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:#9b1c1c;color:#fff;padding:.55rem .9rem;font-weight:600;font-size:.85rem;cursor:pointer}.vaa-btn-small{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:var(--vaa-forest);color:var(--vaa-white);padding:.55rem .9rem;font-weight:600;font-size:.85rem;cursor:pointer}.vaa-btn-ghost-solid{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(20,38,28,.14);border-radius:999px;background:transparent;color:var(--vaa-ink);padding:.55rem .9rem;font-weight:600;font-size:.85rem;cursor:pointer}.inline-reason{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.inline-reason input{min-width:140px;flex:1;padding:.45rem .65rem;font-size:.85rem}.back-link{display:inline-block;margin-bottom:1rem;color:var(--vaa-forest);text-decoration:none;font-weight:600;font-size:.9rem}.row-link{color:var(--vaa-forest);text-decoration:none;font-weight:600}.row-link:hover{text-decoration:underline}.detail-grid{display:grid;gap:1.25rem}.image-uploader{display:grid;gap:.75rem;max-width:220px}.image-uploader-preview{aspect-ratio:1;border-radius:var(--vaa-radius-md);overflow:hidden;background:var(--vaa-mist);display:grid;place-items:center}.image-uploader-preview img{width:100%;height:100%;object-fit:cover}.diff-header,.diff-row{display:grid;grid-template-columns:140px 1fr 1fr;gap:.75rem;padding:.55rem 0;border-bottom:1px solid rgba(20,38,28,.08);font-size:.88rem}.diff-header{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--vaa-ink-muted);font-weight:700}.diff-row.changed .diff-cell:last-child{background:#fff8e8;border-radius:var(--vaa-radius-sm);padding:.25rem .4rem}.diff-label{font-weight:700;color:var(--vaa-ink-muted)}.diff-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.diff-panel h3{margin:0 0 .75rem;font-size:1rem;color:var(--vaa-forest)}.snapshot-dl{display:grid;grid-template-columns:120px 1fr;gap:.45rem .75rem;margin:0;font-size:.9rem}.snapshot-dl dt{margin:0;font-weight:700;color:var(--vaa-ink-muted)}.snapshot-dl dd{margin:0}.snapshot-block{white-space:pre-wrap}.detail-meta-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;font-size:.9rem}.diff-table{display:grid;gap:0}.diff-longtext{white-space:pre-wrap;margin:0;font-family:inherit;font-size:.88rem}@media (max-width: 900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto}.admin-nav{flex-direction:row;flex-wrap:wrap}.form-grid,.diff-header,.diff-row,.diff-columns,.snapshot-dl{grid-template-columns:1fr}.diff-header{display:none}.admin-main{padding:1.25rem 1rem 2rem}}
