@charset "UTF-8";:root{--c-brand: #12695a;--c-brand-hover: #0e5548;--c-brand-active: #0b453b;--c-brand-soft: #e4efec;--c-brand-soft-hover: #d8e8e3;--c-brand-contrast: #ffffff;--c-bg: #f6f6f4;--c-surface: #ffffff;--c-surface-2: #f1f1ee;--c-surface-3: #e9e9e4;--c-border: #e4e3dd;--c-border-strong: #d2d1c9;--c-text: #1b1c19;--c-text-muted: #64655e;--c-text-subtle: #8c8d84;--c-text-inverse: #f6f6f4;--c-success: #1f7a4d;--c-success-soft: #e2f0e8;--c-warning: #9a5b00;--c-warning-soft: #f6ecdb;--c-danger: #b23b32;--c-danger-hover: #9a3129;--c-danger-soft: #f6e3e1;--c-info: #2563a8;--c-info-soft: #e2ebf5;--c-accent: #b26a00;--c-accent-2: #3f6f8f;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--c-brand) 32%, transparent);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: .6875rem;--fs-sm: .78125rem;--fs-base: .84375rem;--fs-md: .9375rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--lh-tight: 1.25;--lh-normal: 1.5;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--r-xs: 3px;--r-sm: 5px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--shadow-xs: 0 1px 2px rgba(20, 20, 15, .06);--shadow-sm: 0 1px 3px rgba(20, 20, 15, .08), 0 1px 2px rgba(20, 20, 15, .04);--shadow-md: 0 4px 12px rgba(20, 20, 15, .1), 0 2px 4px rgba(20, 20, 15, .06);--shadow-pop: 0 8px 28px rgba(20, 20, 15, .16), 0 2px 8px rgba(20, 20, 15, .08);--shadow-drawer: -12px 0 40px rgba(20, 20, 15, .18);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--sidebar-w: 236px;--sidebar-w-collapsed: 60px;--header-h: 56px;--content-max: 1360px;--z-header: 100;--z-drawer: 400;--z-modal: 500;--z-toast: 600;--z-dropdown: 300}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{line-height:var(--lh-tight);font-weight:var(--fw-semibold);color:var(--c-text)}a{color:var(--c-brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}img,svg{display:block;max-width:100%}code,kbd,pre{font-family:var(--font-mono);font-size:.92em}*{scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:var(--r-full);border:3px solid var(--c-bg)}.app-boot{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:var(--sp-4);color:var(--c-text-subtle);font-size:var(--fs-sm)}.app-boot__mark{width:44px;height:44px;border-radius:var(--r-lg);background:var(--c-brand);animation:boot-pulse 1.4s var(--ease-in-out) infinite}@keyframes boot-pulse{0%,to{opacity:.5;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}.u-muted{color:var(--c-text-muted)}.u-subtle{color:var(--c-text-subtle)}.u-mono{font-family:var(--font-mono)}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-row{display:flex;align-items:center;gap:var(--sp-2)}.u-stack{display:flex;flex-direction:column;gap:var(--sp-3)}.u-spread{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.u-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page{padding:var(--sp-6) var(--sp-8) var(--sp-12);max-width:var(--content-max);margin:0 auto}.page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap}.page__title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.01em}.page__subtitle{color:var(--c-text-muted);font-size:var(--fs-sm);margin-top:var(--sp-1)}.page__actions{display:flex;gap:var(--sp-2);align-items:center}@media (max-width: 720px){.page{padding:var(--sp-4) var(--sp-4) var(--sp-10)}}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.card--pad{padding:var(--sp-5)}.card__head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.card__title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.toolbar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3)}.toolbar__spacer{flex:1}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text)}.field__label .req{color:var(--c-danger);margin-left:2px}.field__hint{font-size:var(--fs-xs);color:var(--c-text-subtle)}.field__error{font-size:var(--fs-xs);color:var(--c-danger)}.input,.select,.textarea{width:100%;padding:8px 10px;font-size:var(--fs-base);color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.input::placeholder,.textarea::placeholder{color:var(--c-text-subtle)}.input:hover,.select:hover,.textarea:hover{border-color:var(--c-text-subtle)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c-brand);box-shadow:var(--focus-ring)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--c-surface-2);color:var(--c-text-subtle);cursor:not-allowed}.input--invalid,.select--invalid,.textarea--invalid{border-color:var(--c-danger)}.textarea{min-height:88px;resize:vertical}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364655e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:30px}.input--sm,.select--sm{padding:5px 8px;font-size:var(--fs-sm)}.select--sm{padding-right:28px}.dl{display:grid;grid-template-columns:180px 1fr;gap:var(--sp-3) var(--sp-4);font-size:var(--fs-sm)}.dl dt{color:var(--c-text-muted)}.dl dd{color:var(--c-text)}@media (max-width: 640px){.dl{grid-template-columns:1fr;gap:var(--sp-1) 0}.dl dd{margin-bottom:var(--sp-3)}}.menu{display:flex;flex-direction:column;min-width:180px}.menu__item{display:flex;align-items:center;gap:var(--sp-2);padding:7px 10px;font-size:var(--fs-sm);color:var(--c-text);border-radius:var(--r-sm);text-align:left;width:100%;transition:background var(--dur-fast) var(--ease-out)}.menu__item:hover:not(:disabled){background:var(--c-surface-2);text-decoration:none}.menu__item--danger{color:var(--c-danger)}.menu__item--danger:hover:not(:disabled){background:var(--c-danger-soft)}.menu__item:disabled{color:var(--c-text-subtle);cursor:not-allowed}.menu__sep{height:1px;background:var(--c-border);margin:var(--sp-1) 0}.menu__label{padding:6px 10px 4px;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-subtle)}.bar{height:6px;background:var(--c-surface-3);border-radius:var(--r-full);overflow:hidden}.bar__fill{height:100%;background:var(--c-brand);border-radius:inherit;transition:width var(--dur-slow) var(--ease-out)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-3)}.kpi{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-4)}.kpi__label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-subtle)}.kpi__value{font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin-top:var(--sp-1);font-variant-numeric:tabular-nums}
