@charset "UTF-8";@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-light: #eff6ff;--color-primary-border: #bfdbfe;--color-on-primary: #ffffff;--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-surface-sunken: #f8fafc;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-success: #16a34a;--color-success-text: #15803d;--color-success-light: #f0fdf4;--color-success-border: #bbf7d0;--color-warning: #f59e0b;--color-warning-text: #b45309;--color-warning-light: #fffbeb;--color-warning-border: #fde68a;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-light: #fef2f2;--color-danger-border: #fecaca;--color-info-light: #f5f3ff;--color-info-text: #6d28d9;--tint-green-bg: #ecfdf5;--tint-green-fg: #047857;--tint-blue-bg: #eff6ff;--tint-blue-fg: #1d4ed8;--tint-purple-bg: #f5f3ff;--tint-purple-fg: #6d28d9;--tint-amber-bg: #fffbeb;--tint-amber-fg: #b45309;--color-brand-accent: #db2777;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgb(15 23 42 / .04);--shadow-sm: 0 1px 3px rgb(15 23 42 / .05), 0 1px 2px rgb(15 23 42 / .03);--shadow-md: 0 4px 12px rgb(15 23 42 / .08);--shadow-lg: 0 12px 32px rgb(15 23 42 / .14);--focus-ring: 0 0 0 3px rgb(37 99 235 / .18);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-20: 20px;--touch: 44px;--control-h: 44px;--control-h-lg: 52px;--header-h: 64px;--sidebar-w: 248px;--sidebar-w-collapsed: 72px;--ease: cubic-bezier(.2, 0, 0, 1);--dur: .16s;--font: "Inter Variable", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Nirmala UI", "Noto Sans Kannada", "Noto Sans Devanagari", sans-serif;--brand: var(--color-primary);--brand-dark: var(--color-primary-hover);--brand-soft: var(--color-primary-light);--on-brand: var(--color-on-primary);--butter: var(--color-warning);--butter-soft: var(--color-warning-light);--cow-spot: #1f2530;--bg: var(--color-background);--surface: var(--color-surface);--surface-muted: var(--color-surface-muted);--border: var(--color-border);--text: var(--color-text);--text-muted: var(--color-text-secondary);--ok: var(--color-success-text);--warn: var(--color-warning-text);--warn-soft: var(--color-warning-light);--danger: var(--color-danger);--danger-soft: var(--color-danger-light);--radius: var(--radius-lg);--cow-pattern: none}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}body{font-size:.875rem}h1{margin:0;font-size:1.5rem;font-weight:600;line-height:1.25;letter-spacing:-.015em}h2{font-size:1.0625rem;font-weight:600;line-height:1.35;letter-spacing:-.005em}h3{font-size:.9375rem;font-weight:600}b,strong{font-weight:600}a{color:var(--color-primary);text-underline-offset:2px}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--color-primary-border)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}app-icon{display:inline-flex;flex-shrink:0;line-height:0}.btn,.btn-secondary,.btn-ghost,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform 80ms var(--ease)}.btn:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-danger:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn-secondary:disabled,.btn-ghost:disabled,.btn-danger:disabled{cursor:not-allowed}.btn{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-xs)}.btn:hover:not(:disabled){background:var(--color-primary-hover)}.btn:active:not(:disabled){background:var(--color-primary-active)}.btn:disabled{background:#c7d2e3;color:#f8fafc;box-shadow:none}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-sunken);border-color:var(--color-border-strong)}.btn-secondary:disabled{color:var(--color-text-muted);box-shadow:none}.btn-ghost{padding:0 var(--space-3);background:transparent;color:var(--color-primary)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-light)}.btn-ghost:disabled{color:var(--color-text-muted)}.btn-danger{background:var(--color-surface);border-color:var(--color-danger-border);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-light);border-color:var(--color-danger)}.btn-danger:disabled{opacity:.55}.btn-lg{min-height:var(--control-h-lg);padding:0 var(--space-5);font-size:.9375rem}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.icon-btn:hover{background:var(--color-surface-muted);color:var(--color-text)}.field{display:grid;gap:6px}.field>span:first-child{color:var(--color-text);font-size:.8125rem;font-weight:500}.field .hint{color:var(--color-text-secondary);font-size:.8125rem}input,select,textarea{width:100%;min-height:var(--control-h);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.9375rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}input:hover:not(:focus):not(:disabled):not([readonly]),select:hover:not(:focus):not(:disabled):not([readonly]),textarea:hover:not(:focus):not(:disabled):not([readonly]){border-color:#94a3b8}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:var(--focus-ring)}input::placeholder,select::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:disabled,select:disabled,textarea:disabled{background:var(--color-surface-muted);color:var(--color-text-secondary)}input.ng-invalid.ng-touched,select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:var(--color-danger)}input.ng-invalid.ng-touched:focus,select.ng-invalid.ng-touched:focus,textarea.ng-invalid.ng-touched:focus{box-shadow:0 0 0 3px #dc262626}input:not([type=checkbox]):not([type=radio]),select{height:var(--control-h)}select{appearance:none;padding-right:36px;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='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer}textarea{line-height:1.5}input[type=checkbox],input[type=radio]{width:20px;min-height:20px;height:20px;margin:0;accent-color:var(--color-primary);box-shadow:none}.check{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch);font-weight:500;cursor:pointer}.form-grid{display:grid;align-items:start;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.error-text{margin:0;color:var(--color-danger);font-weight:500}.notice{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-light);color:var(--color-warning-text);font-weight:500}.notice>app-icon{margin-top:1px}.notice.info{border-color:var(--color-primary-border);background:var(--color-primary-light);color:var(--color-primary-hover)}.notice.danger{border-color:var(--color-danger-border);background:var(--color-danger-light);color:var(--color-danger)}.muted{color:var(--color-text-secondary)}.page{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-1)}.page-header h1{display:flex;align-items:center;gap:var(--space-2)}.page-header .subtitle{margin:4px 0 0;color:var(--color-text-secondary);font-size:.875rem}.card{padding:var(--space-20);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.card>h2:first-child,.card>h3:first-child{margin-top:0}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.toolbar input[type=search]{flex:1 1 240px}.toolbar select{width:auto}.search-field{position:relative;display:flex;align-items:center;flex:1 1 240px;min-width:0}.search-field>app-icon{position:absolute;left:12px;color:var(--color-text-muted);pointer-events:none}.search-field input{padding-left:40px}.list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.list-item{display:flex;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:var(--color-text);text-decoration:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.list-item .main{flex:1;min-width:0}.list-item .title{font-weight:600;font-size:.9375rem}.list-item .sub{color:var(--color-text-secondary);font-size:.8125rem}.list-item.inactive{opacity:.6}a.list-item:hover,button.list-item:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:.75rem;font-weight:600;line-height:1.5;white-space:nowrap}.badge.ok{border-color:var(--color-success-border);background:var(--color-success-light);color:var(--color-success-text)}.badge.warn{border-color:var(--color-warning-border);background:var(--color-warning-light);color:var(--color-warning-text)}.badge.danger{border-color:var(--color-danger-border);background:var(--color-danger-light);color:var(--color-danger)}.badge.primary{border-color:var(--color-primary-border);background:var(--color-primary-light);color:var(--color-primary-hover)}.empty{padding:var(--space-6) var(--space-5);color:var(--color-text-secondary);text-align:center}.num{font-variant-numeric:tabular-nums}.segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.segmented>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 var(--space-4);border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.segmented>button:hover:not(.on){color:var(--color-text)}.segmented>button.on{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.chip:hover{border-color:var(--color-border-strong)}.chip.on{border-color:var(--color-primary-border);background:var(--color-primary-light);color:var(--color-primary-hover)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.kpi{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--color-text);text-decoration:none}.kpi .kpi-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-lg);background:var(--tint-blue-bg);color:var(--tint-blue-fg)}.kpi .kpi-body{display:grid;min-width:0}.kpi .kpi-label{overflow:hidden;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.kpi .kpi-value{font-size:1.375rem;font-weight:600;line-height:1.25;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi .kpi-sub{color:var(--color-text-secondary);font-size:.75rem}.kpi.green .kpi-icon{background:var(--tint-green-bg);color:var(--tint-green-fg)}.kpi.purple .kpi-icon{background:var(--tint-purple-bg);color:var(--tint-purple-fg)}.kpi.amber .kpi-icon{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}a.kpi{transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}a.kpi:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.table-wrap{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}table.grid,.table-wrap>table{width:100%;border-collapse:collapse;font-size:.875rem}table.grid th,table.grid td,.table-wrap>table th,.table-wrap>table td{padding:10px var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}table.grid th,.table-wrap>table th{background:var(--color-surface-sunken);color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}table.grid tbody tr,.table-wrap>table tbody tr{transition:background-color var(--dur) var(--ease)}table.grid tbody tr:hover,.table-wrap>table tbody tr:hover{background:var(--color-surface-sunken)}table.grid tbody tr:last-child td,.table-wrap>table tbody tr:last-child td{border-bottom:0}table.grid .n,.table-wrap>table .n{text-align:right;font-variant-numeric:tabular-nums}table.grid tfoot td,.table-wrap>table tfoot td{border-top:1px solid var(--color-border);border-bottom:0;background:var(--color-surface-sunken);font-weight:600}@keyframes fade-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fade-in{animation:fade-up .18s var(--ease) both}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;top:0;left:0}}
