:root{--bg: #FAF8F4;--canvas: #EDEAE3;--ink: #14120E;--ink-soft: #3A372E;--sub: #5A5648;--muted: #8A8574;--border: #DDD8CC;--border-soft: #C9C4B6;--surface: #F4F2EC;--white: #FFFFFF;--primary: #D9480F;--primary-deep: #A63305;--primary-tint: #FFF3E8;--amber: #E67700;--amber-tint: #FFF8E1;--green: #2B8A3E;--green-tint: #E6F4EA;--red: #C92A2A;--red-tint: #FDEBEB;--sidebar: #14120E;--sidebar-active: #2A2620;--sidebar-text: #C9C4B6;--map-grid-a: #EFEDE6;--map-grid-b: #F6F4EE}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--canvas);color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-deep);text-decoration:underline}button{font-family:inherit;cursor:pointer}.card{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:16px}.card--danger{border-color:var(--red)}.card--soft{border:1.5px solid var(--border);border-radius:12px}.section-title{font-size:13px;font-weight:800}.kicker{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.02em}.badge-count{border-radius:10px;padding:1px 8px;font-size:12px;font-weight:800;color:var(--white);margin-inline-start:6px}.pill{background:var(--surface);border-radius:16px;padding:6px 12px;font-size:12px;font-weight:700}.btn{min-height:40px;border-radius:10px;border:none;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;background:var(--white);color:var(--ink)}.btn:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.btn--green{background:var(--green);color:var(--white)}.btn--red{background:var(--red);color:var(--white)}.btn--red-outline{border:2px solid var(--red);color:var(--red)}.btn--ink-outline{border:2px solid var(--ink)}.btn[disabled]{opacity:.45;cursor:not-allowed}.map-grid{background:repeating-linear-gradient(0deg,var(--map-grid-a) 0 2px,var(--map-grid-b) 2px 40px),repeating-linear-gradient(90deg,var(--map-grid-a) 0 2px,var(--map-grid-b) 2px 40px);border-radius:10px}@media(max-width:860px){.card{padding:14px}table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table th,table td{white-space:nowrap}.row,.filters,.toolbar{flex-wrap:wrap}input,select,textarea{font-size:16px}}
