:root{--color-brand: #6b9e80;--color-primary: #2f6b4f;--color-primary-hover: #24543e;--color-primary-soft: #e4efe7;--color-on-primary: #ffffff;--color-secondary: #cfe3d6;--color-accent: #8a5a2b;--color-accent-soft: #f3e9dd;--color-background: #f6f7f3;--color-surface: #ffffff;--color-foreground: #1f3a2c;--color-text: #22302a;--color-muted: #eef1ec;--color-muted-foreground: #56625b;--color-border: #dde5de;--color-border-strong: #b9c9bd;--color-ring: #4e8a68;--shadow-rgb: 31, 58, 44;--color-danger: #b42318;--color-danger-soft: #fee4e2;--color-success: #15803d;--color-success-soft: #dcfce7;--color-warning: #b45309;--color-warning-soft: #fef3c7;--color-info: #0f766e;--color-info-soft: #ccfbf1;--tint-brand: var(--color-primary);--tint-brand-soft: color-mix(in srgb, var(--color-brand) 18%, #fff);--tint-accent: var(--color-accent);--tint-accent-soft: color-mix(in srgb, var(--color-accent) 14%, #fff);--tint-success: var(--color-success);--tint-success-soft: var(--color-success-soft);--tint-warning: var(--color-warning);--tint-warning-soft: var(--color-warning-soft);--tint-info: var(--color-info);--tint-info-soft: var(--color-info-soft);--font-heading: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: 32px;--radius-control: 6px;--radius-card: 10px;--radius-dialog: 16px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(var(--shadow-rgb), .08);--shadow-sm: 0 1px 3px rgba(var(--shadow-rgb), .1), 0 1px 2px rgba(var(--shadow-rgb), .06);--shadow-md: 0 6px 18px rgba(var(--shadow-rgb), .12);--shadow-lg: 0 18px 40px rgba(var(--shadow-rgb), .2);--shadow-chrome-side: 1px 0 0 0 rgba(var(--shadow-rgb), .06), 4px 0 16px rgba(var(--shadow-rgb), .05);--shadow-chrome-top: 0 1px 0 rgba(var(--shadow-rgb), .06), 0 4px 16px rgba(var(--shadow-rgb), .05);--fast: .1s ease;--lift: .2s ease;--sidebar-w: 248px;--topbar-h: 64px;--support-h: 40px;--tabbar-h: 64px;--canvas: linear-gradient( 180deg, color-mix(in srgb, var(--color-brand) 26%, #fff) 0%, var(--color-background) 420px )}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--canvas) no-repeat,var(--color-background);color:var(--color-text);font:400 var(--text-base)/1.5 var(--font-body);-webkit-font-smoothing:antialiased}@media(max-width:767px){body{font-size:16px}}h1,h2,h3{margin:0;color:var(--color-foreground);text-wrap:balance}h1{font:600 var(--text-2xl)/1.2 var(--font-heading)}h2{font:600 var(--text-lg)/1.3 var(--font-body)}h3{font:600 var(--text-base)/1.3 var(--font-body)}p{margin:0}a{color:var(--color-primary);font-weight:600;text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}code{font-size:.9em}.num{font-variant-numeric:tabular-nums}.muted{color:var(--color-muted-foreground)}.small{font-size:var(--text-sm)}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spacer{flex:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.page{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1180px;padding:28px 32px 48px}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px}.page-header .titles{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:70ch}.page-header .titles p{color:var(--color-muted-foreground)}@media(max-width:767px){.page{padding:20px 16px 32px;gap:16px}}.card{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:20px;min-width:0}.card.flush{padding:0;overflow:hidden}a.card{transition:box-shadow var(--lift),transform var(--lift)}a.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.badge-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;background:var(--tint-brand-soft);color:var(--tint-brand)}.badge-icon.accent{background:var(--tint-accent-soft);color:var(--tint-accent)}.badge-icon.info{background:var(--tint-info-soft);color:var(--tint-info)}.badge-icon.warning{background:var(--tint-warning-soft);color:var(--tint-warning)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--color-primary) 45%,transparent);background:var(--color-surface);color:var(--color-primary);font:600 var(--text-md)/1 var(--font-body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--fast),border-color var(--fast),box-shadow var(--lift),transform var(--lift)}.btn:hover:not(:disabled){background:var(--color-primary-soft)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.btn.primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.btn.ghost{border-color:transparent;background:transparent;color:var(--color-foreground)}.btn.ghost:hover:not(:disabled){background:var(--color-muted)}.btn.danger{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.btn.danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn.sm{min-height:32px;padding:0 12px;font-size:var(--text-sm)}.btn.block{width:100%}.btn.round{width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:var(--tint-brand-soft);color:var(--tint-brand)}.btn.round.danger{background:var(--color-danger-soft);color:var(--color-danger)}@media(max-width:767px){.btn{min-height:44px}.btn.sm,.btn.round{min-height:40px}.btn.round{width:40px}}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,legend{font-size:var(--text-sm);font-weight:600;color:var(--color-foreground)}.input{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:400 var(--text-base)/1.3 var(--font-body);transition:border-color var(--fast),box-shadow var(--fast)}.input:focus{outline:none;border-color:var(--color-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-ring) 22%,transparent)}.input[readonly]{background:var(--color-muted)}.input[aria-invalid=true]{border-color:var(--color-danger)}@media(max-width:767px){.input{min-height:44px;font-size:16px}}.field-error{color:var(--color-danger);font-size:var(--text-xs);font-weight:600}.hint{color:var(--color-muted-foreground);font-size:var(--text-xs)}.alert{padding:12px 14px;border-radius:var(--radius-card);font-size:var(--text-md);line-height:1.45}.alert.error{background:var(--color-danger-soft);color:#7a1a12}.alert.success{background:var(--color-success-soft);color:#14532d}.alert.info{background:var(--color-surface);box-shadow:var(--shadow-xs);border-left:3px solid var(--color-brand);color:var(--color-text)}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;background:var(--color-muted);color:var(--color-muted-foreground);white-space:nowrap}.pill.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill.ok{background:var(--color-success-soft);color:#14532d}.pill.warn{background:var(--color-warning-soft);color:#78350f}.pill.danger{background:var(--color-danger-soft);color:#7a1a12}.pill.brand{background:var(--color-primary-soft);color:var(--color-primary)}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:var(--text-md);font-variant-numeric:tabular-nums}.table th{text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--color-foreground);padding:11px 16px;background:color-mix(in srgb,var(--color-primary-soft) 50%,#fff);white-space:nowrap}.table td{padding:12px 16px;border-top:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);vertical-align:middle}.table tbody tr{transition:background var(--fast)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-primary-soft) 45%,#fff)}@media(max-width:767px){.table.cards thead{display:none}.table.cards tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px 16px;border-top:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.table.cards tbody tr:first-child{border-top:0}.table.cards td{padding:0;border:0}}dialog.dialog{width:min(500px,100vw - 32px);border:0;border-radius:var(--radius-dialog);padding:24px;box-shadow:var(--shadow-lg);color:var(--color-text);background:var(--color-surface)}dialog.dialog::backdrop{background:rgba(var(--shadow-rgb),.38)}@media(max-width:767px){dialog.dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:var(--radius-dialog) var(--radius-dialog) 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}}.tooltip{position:absolute;z-index:200;max-width:240px;padding:6px 10px;border-radius:var(--radius-control);background:var(--color-foreground);color:#fff;font:500 var(--text-xs)/1.35 var(--font-body);box-shadow:var(--shadow-md);pointer-events:none;animation:tooltip-in .12s ease}@keyframes tooltip-in{0%{opacity:0;transform:translateY(2px)}}@page{margin:12mm}@media print{.no-print,app-toaster,app-route-progress{display:none!important}body{background:#fff}}
