:root{--black: #000000;--white: #FFFFFF;--forest: #1F4D2C;--grain: #D4A574;--amber: #E8A33D;--bone: #FAF7F2;--surface: var(--white);--charcoal: #1A1A1A;--slate: #5C5C5C;--mist: #E5E0D8;--leaf: #3E8B4C;--gold: #F4B942;--clay: #C24F3E;--steel: #3D6B8F;--leaf-tint: rgba(62, 139, 76, .12);--clay-tint: rgba(194, 79, 62, .12);--gold-tint: rgba(244, 185, 66, .16);--steel-tint: rgba(61, 107, 143, .12);--slate-tint: rgba(92, 92, 92, .1);--forest-tint: rgba(31, 77, 44, .08);--grain-tint: rgba(212, 165, 116, .2);--gold-ink: #8A6D12;--grain-ink: #8A5A2B;--harvest: #F4B942;--harvest-gold: #8A6D12;--grain-deep: #8A5A2B;--on-forest: var(--white);--on-forest-muted: rgba(255, 255, 255, .82);--on-forest-soft: rgba(255, 255, 255, .12);--cat-sme: #1F4D2C;--cat-recovery: #D4A574;--cat-oga: #3D6B8F;--cat-noga: #5C5C5C;--font-ui: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fs-display: 36px;--fs-h1: 30px;--fs-h2: 26px;--fs-h3: 20px;--fs-body: 16px;--fs-sm: 14px;--fs-label: 13px;--radius: 8px;--radius-sm: 6px;--ink-rgb: 26, 26, 26;--shadow-sm: 0 1px 2px rgba(var(--ink-rgb), .06);--shadow-md: 0 2px 8px rgba(var(--ink-rgb), .08);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--touch: 48px;--field-nav-h: 57px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bone);color:var(--charcoal);font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.45;-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.section-label{text-transform:uppercase;color:var(--slate);font-size:var(--fs-label);letter-spacing:.06em;font-weight:var(--fw-semibold)}h1,h2,h3{font-weight:var(--fw-semibold);color:var(--charcoal);margin:0}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}.display{font-size:var(--fs-display);font-weight:var(--fw-semibold);line-height:1.15}.h1{font-size:var(--fs-h1);font-weight:var(--fw-semibold)}.h2{font-size:var(--fs-h2);font-weight:var(--fw-semibold)}.h3{font-size:var(--fs-h3);font-weight:var(--fw-semibold)}.text-sm{font-size:var(--fs-sm)}.text-label{font-size:var(--fs-label)}a{color:var(--forest)}.btn{min-height:var(--touch);padding:0 var(--sp-5);border-radius:var(--radius);border:1px solid transparent;font-family:var(--font-ui);font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-cta{background:var(--amber);color:var(--black)}.btn-cta:hover:not(:disabled){filter:brightness(.96)}.btn-secondary{background:var(--surface);color:var(--charcoal);border-color:var(--mist)}.btn-ghost{background:transparent;color:var(--forest)}.btn-danger{background:var(--clay);color:var(--white)}.field-label{display:block;color:var(--slate);font-size:var(--fs-sm);margin-bottom:var(--sp-2)}.input{width:100%;min-height:var(--touch);padding:0 var(--sp-4);border:1px solid var(--mist);border-radius:var(--radius);background:var(--surface);color:var(--charcoal);font-family:var(--font-ui);font-size:var(--fs-body)}.input:focus{outline:2px solid var(--forest);outline-offset:-1px}.card{background:var(--surface);border:1px solid var(--mist);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--sp-5)}.cat-stripe{position:relative}.cat-stripe:after{content:"";position:absolute;top:0;right:0;bottom:0;width:4px;border-radius:0 var(--radius) var(--radius) 0;background:var(--cat-noga)}.cat-stripe.cat-sme:after{background:var(--cat-sme)}.cat-stripe.cat-recovery:after{background:var(--cat-recovery)}.cat-stripe.cat-oga:after{background:var(--cat-oga)}.cat-stripe.cat-noga:after{background:var(--cat-noga)}.pill{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-3);border-radius:999px;font-size:var(--fs-label);font-weight:var(--fw-medium)}.pill-online{background:var(--leaf-tint);color:var(--leaf)}.pill-offline{background:var(--clay-tint);color:var(--clay)}.pill-pending{background:var(--gold-tint);color:var(--gold-ink)}.pill-danger{background:var(--clay-tint);color:var(--clay)}.pill-success{background:var(--leaf-tint);color:var(--leaf)}.pill-info{background:var(--steel-tint);color:var(--steel)}.pill-warning{background:var(--gold-tint);color:var(--gold-ink)}.pill-neutral{background:var(--slate-tint);color:var(--slate)}.pill-forest{background:var(--forest-tint);color:var(--forest)}.pill-recovery{background:var(--grain-tint);color:var(--grain-ink)}.optsel{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.optsel-opt{min-height:var(--touch);padding:0 var(--sp-4);display:inline-flex;align-items:center;gap:var(--sp-2);border:1px solid var(--mist);border-radius:999px;background:var(--surface);color:var(--charcoal);font-family:var(--font-ui);font-size:var(--fs-body);font-weight:var(--fw-medium);cursor:pointer}.optsel-opt:disabled{opacity:.5;cursor:not-allowed}.optsel-opt[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:var(--on-forest)}.optsel-block{flex-direction:column}.optsel-block .optsel-opt{width:100%;justify-content:flex-start;border-radius:var(--radius)}:root{--z-sheet: 1000;--scrim: rgba(26, 26, 26, .44)}.select-wrap{position:relative;display:block}.select-desk{width:100%;min-height:var(--touch);padding:0 calc(var(--sp-5) + var(--sp-3)) 0 var(--sp-4);border:1px solid var(--mist);border-radius:var(--radius);background:var(--surface);color:var(--charcoal);font-family:var(--font-ui);font-size:var(--fs-body);-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.select-desk:focus{outline:2px solid var(--forest);outline-offset:-1px}.select-desk:disabled{opacity:.5;cursor:not-allowed}.select-wrap>.select-chevron{position:absolute;right:var(--sp-4);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--slate);display:inline-flex}.sheet-trigger{width:100%;min-height:var(--touch);padding:0 var(--sp-4);display:inline-flex;align-items:center;justify-content:space-between;gap:var(--sp-3);border:1px solid var(--mist);border-radius:var(--radius);background:var(--surface);color:var(--charcoal);font-family:var(--font-ui);font-size:var(--fs-body);font-weight:var(--fw-medium);cursor:pointer;text-align:left}.sheet-trigger:disabled{opacity:.5;cursor:not-allowed}.sheet-trigger.is-placeholder{color:var(--slate);font-weight:var(--fw-regular)}.sheet-trigger>.sheet-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-trigger>.select-chevron{color:var(--slate);flex-shrink:0;display:inline-flex}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;animation:sheet-fade .14s ease-out}.sheet{width:100%;max-width:640px;max-height:78vh;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow-md);animation:sheet-rise .18s cubic-bezier(.2,.8,.2,1);padding-bottom:env(safe-area-inset-bottom,0)}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--mist)}.sheet-title{font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--slate);text-transform:uppercase;letter-spacing:.04em}.sheet-close{min-width:var(--touch);min-height:var(--touch);display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--slate);border-radius:var(--radius-sm);cursor:pointer;margin:calc(-1 * var(--sp-2))}.sheet-list{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp-2)}.sheet-row{width:100%;min-height:var(--touch);padding:0 var(--sp-3);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);border:none;background:transparent;color:var(--charcoal);font-family:var(--font-ui);font-size:var(--fs-body);font-weight:var(--fw-medium);border-radius:var(--radius-sm);cursor:pointer;text-align:left}.sheet-row:disabled{opacity:.5;cursor:not-allowed}.sheet-row[aria-checked=true]{background:var(--forest-tint);color:var(--forest)}.sheet-row>.sheet-check{color:var(--forest);flex-shrink:0;display:inline-flex}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.sheet-backdrop,.sheet{animation:none}}
