:root{--neutral-50: #F7F6F3;--neutral-100: #EEEBE6;--neutral-200: #E1DCD4;--neutral-300: #C9C2B8;--neutral-400: #AEA89B;--neutral-500: #988F80;--neutral-600: #8B8273;--neutral-700: #776E60;--neutral-800: #625A4E;--neutral-900: #4D463C;--ink: #3A372F;--ink-soft: #615B51;--slate: #8E877B;--line: #ECE9E3;--line-soft: #F4F2ED;--mist: #F7F6F2;--paper: #FFFFFF;--ok: #3E6DB3;--ok-tint: #E9EFF9;--good: #23B581;--good-tint: #E6F7EF;--warn: #C2992B;--warn-tint: #F6EDD3;--bad: #E25C54;--bad-tint: #FBEAE8;--fd: "Plus Jakarta Sans", system-ui, sans-serif;--fb: "Figtree", system-ui, sans-serif;--fm: "Spline Sans Mono", monospace;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 26px;--r-pill: 999px;--sh-sm: 0 1px 2px rgba(96,90,80,.05), 0 2px 8px rgba(96,90,80,.06);--sh-md: 0 8px 24px rgba(96,90,80,.1), 0 2px 8px rgba(96,90,80,.05);--sh-lg: 0 20px 60px rgba(96,90,80,.18), 0 4px 16px rgba(96,90,80,.08)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--fb);background:var(--mist);color:var(--ink);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--fd);letter-spacing:-.02em;line-height:1.15;color:var(--ink);margin:0}input,select,textarea,button{font-family:var(--fb);font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--r-sm);background:var(--ink);color:var(--paper);font-weight:600;font-size:13px;padding:10px 16px;min-height:44px;cursor:pointer;transition:opacity .15s ease}.btn:disabled{opacity:.5;cursor:default}.btn:not(:disabled):hover{opacity:.88}@media(hover:none){.btn:not(:disabled):hover{opacity:1}}.btn-secondary{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.field{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);outline:none;min-height:44px;font-size:16px;transition:border-color .12s ease,box-shadow .12s ease}.field:focus{border-color:var(--neutral-500);box-shadow:0 0 0 3px var(--neutral-200)}a:focus-visible,button:focus-visible,.field:focus-visible{outline:2px solid var(--ok);outline-offset:2px}::selection{background:var(--neutral-300);color:var(--ink)}.field-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--slate)}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);padding:3px;gap:3px;background:var(--line-soft)}.segmented-btn{border:none;background:transparent;border-radius:calc(var(--r-sm) - 3px);padding:8px 16px;font-family:var(--fd);font-weight:600;font-size:13px;color:var(--ink-soft);cursor:pointer;min-height:38px}.segmented-btn[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:var(--sh-sm)}.list-row{display:block;width:100%;background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .1s ease}.list-row:hover{background:var(--line-soft)}.form-row{display:flex;flex-direction:column;gap:8px}.form-row>*{flex:1 1 auto;width:100%}@media(min-width:640px){.form-row{flex-direction:row}.form-row>*{width:auto}.form-row>.btn,.form-row>button{flex:0 0 auto}.form-row>.col-fixed-80{flex:0 0 80px}.form-row>.col-fixed-100{flex:0 0 110px}.form-row>.col-fixed-130{flex:0 0 140px}.form-row>.col-grow-2{flex:2 1 0}}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-sm)}.admin-content{padding:20px 16px 96px;max-width:640px;margin:0 auto}@media(min-width:640px){.admin-content{padding:28px 24px 96px}}.sub-nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sub-nav::-webkit-scrollbar{display:none}.badge{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600}.badge-ok{background:var(--ok-tint);color:var(--ok)}.badge-good{background:var(--good-tint);color:var(--good)}.badge-warn{background:var(--warn-tint);color:var(--warn)}.badge-bad{background:var(--bad-tint);color:var(--bad)}.badge-neutral{background:var(--neutral-100);color:var(--ink-soft)}@keyframes parpadeo{0%,to{opacity:1}50%{opacity:.3}}.badge-parpadeo{animation:parpadeo 1s ease-in-out infinite}
