:root{color-scheme:light;--color-primary: oklch(.51 .17 162);--color-primary-fg: oklch(1 0 0);--color-primary-muted: oklch(.96 .04 162);--color-primary-border: oklch(.84 .09 162);--color-success: oklch(.55 .15 155);--color-success-fg: oklch(1 0 0);--color-success-muted: oklch(.96 .03 155);--color-success-border: oklch(.84 .08 155);--color-warning: oklch(.72 .16 85);--color-warning-fg: oklch(.25 .06 85);--color-warning-muted: oklch(.97 .04 85);--color-warning-border: oklch(.86 .1 85);--color-danger: oklch(.5 .21 25);--color-danger-fg: oklch(1 0 0);--color-danger-muted: oklch(.97 .02 25);--color-danger-border: oklch(.86 .07 25);--color-info: oklch(.55 .16 240);--color-info-fg: oklch(1 0 0);--color-info-muted: oklch(.95 .03 240);--color-info-border: oklch(.83 .07 240);--color-neutral: oklch(.5 .01 240);--color-neutral-fg: oklch(1 0 0);--color-neutral-muted: oklch(.95 .005 240);--color-neutral-border: oklch(.84 .005 240);--color-bg: oklch(1 0 0);--color-surface: oklch(.98 .003 240);--color-surface-raised: oklch(.95 .005 240);--color-border: oklch(.88 .006 240);--color-text: oklch(.2 .02 240);--color-text-muted: oklch(.48 .01 240);--color-text-disabled: oklch(.68 .005 240);--color-overlay: oklch(0 0 0 / .45);--color-sidebar-bg: oklch(.97 .004 240);--color-sidebar-border: oklch(.89 .006 240);--color-chart-1: oklch(.51 .17 162);--color-chart-2: oklch(.55 .16 240);--color-chart-3: oklch(.72 .16 85);--color-chart-4: oklch(.58 .18 310);--color-chart-5: oklch(.62 .18 50);--text-xs: .65rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2.5rem;--leading-xs: 1.4;--leading-sm: 1.5;--leading-base: 1.5;--leading-md: 1.5;--leading-lg: 1.4;--leading-xl: 1.3;--leading-2xl: 1.25;--leading-3xl: 1.1;--space-half: .125rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px oklch(0 0 0 / .08), 0 1px 2px oklch(0 0 0 / .05);--shadow-md: 0 4px 12px oklch(0 0 0 / .1), 0 2px 4px oklch(0 0 0 / .06);--transition-fast: .15s ease;--transition-base: .22s ease;--page-width: 1100px;--page-width-narrow: 720px;--control-height: 2.5rem;--background: var(--color-bg);--foreground: var(--color-text);--card: var(--color-surface);--primary: var(--color-primary);--primary-foreground: var(--color-primary-fg);--secondary: var(--color-primary-muted);--muted: var(--color-surface-raised);--muted-foreground: var(--color-text-muted);--accent: var(--color-surface-raised);--border: var(--color-border);--destructive: var(--color-danger);--destructive-foreground: var(--color-danger-fg);--radius: var(--radius-lg);--sidebar-bg: var(--color-sidebar-bg);--sidebar-border: var(--color-sidebar-border);--input-background: var(--color-surface-raised);--error-bg: var(--color-danger-muted);--error-border: var(--color-danger-border);--font-size: var(--text-base)}[data-theme=dark]{color-scheme:dark;--color-primary: oklch(.62 .17 162);--color-primary-fg: oklch(1 0 0);--color-primary-muted: oklch(.2 .05 162);--color-primary-border: oklch(.38 .12 162);--color-success: oklch(.67 .14 155);--color-success-fg: oklch(1 0 0);--color-success-muted: oklch(.2 .04 155);--color-success-border: oklch(.38 .1 155);--color-warning: oklch(.82 .13 85);--color-warning-fg: oklch(.15 .06 85);--color-warning-muted: oklch(.22 .05 85);--color-warning-border: oklch(.42 .11 85);--color-danger: oklch(.67 .19 25);--color-danger-fg: oklch(1 0 0);--color-danger-muted: oklch(.22 .05 25);--color-danger-border: oklch(.42 .14 25);--color-info: oklch(.7 .13 240);--color-info-fg: oklch(1 0 0);--color-info-muted: oklch(.2 .04 240);--color-info-border: oklch(.4 .1 240);--color-neutral: oklch(.65 .005 240);--color-neutral-fg: oklch(1 0 0);--color-neutral-muted: oklch(.22 .005 240);--color-neutral-border: oklch(.4 .005 240);--color-bg: oklch(.18 .02 240);--color-surface: oklch(.23 .025 240);--color-surface-raised: oklch(.3 .02 240);--color-border: oklch(.36 .015 240);--color-text: oklch(.95 .008 240);--color-text-muted: oklch(.65 .015 240);--color-text-disabled: oklch(.44 .01 240);--color-overlay: oklch(0 0 0 / .6);--color-sidebar-bg: oklch(.21 .022 240);--color-sidebar-border: oklch(.32 .015 240);--color-chart-1: oklch(.62 .17 162);--color-chart-2: oklch(.7 .13 240);--color-chart-3: oklch(.82 .13 85);--color-chart-4: oklch(.68 .17 310);--color-chart-5: oklch(.72 .17 50);--shadow-sm: none;--shadow-md: none}*,*:before,*:after{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-base);line-height:var(--leading-base);color:var(--color-text);background:var(--color-bg);margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{color:var(--color-text);font-family:inherit}::placeholder{color:var(--color-text-muted);opacity:1}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card--flat{box-shadow:none}.card--compact{padding:var(--space-3) var(--space-4)}.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm)}.metric-card__label{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-1);line-height:var(--leading-sm)}.metric-card__value{font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-2xl);color:var(--color-text)}.metric-card__value--positive{color:var(--color-success)}.metric-card__value--negative{color:var(--color-danger)}.metric-card__change{font-size:var(--text-sm);margin-top:var(--space-1)}.metric-card__change--up{color:var(--color-success)}.metric-card__change--down{color:var(--color-danger)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:500;line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast);text-decoration:none;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}.btn--primary:hover{opacity:.88}.btn--secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover{background:var(--color-surface-raised);border-color:var(--color-border)}.btn--danger{background:var(--color-danger);color:var(--color-danger-fg);border-color:var(--color-danger)}.btn--danger:hover{opacity:.88}.btn--ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.btn--ghost:hover{background:var(--color-surface-raised);color:var(--color-text)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn--xs{padding:.2rem var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.15rem var(--space-2);font-size:var(--text-xs);font-weight:600;line-height:1.4;border-radius:var(--radius-full);border:1px solid transparent;white-space:nowrap}.badge--success{background:var(--color-success-muted);color:var(--color-success);border-color:var(--color-success-border)}.badge--warning{background:var(--color-warning-muted);color:var(--color-warning);border-color:var(--color-warning-border)}.badge--danger{background:var(--color-danger-muted);color:var(--color-danger);border-color:var(--color-danger-border)}.badge--info{background:var(--color-info-muted);color:var(--color-info);border-color:var(--color-info-border)}.badge--neutral{background:var(--color-neutral-muted);color:var(--color-neutral);border-color:var(--color-neutral-border)}.badge--primary{background:var(--color-primary-muted);color:var(--color-primary);border-color:var(--color-primary-border)}.table-wrapper{position:relative;overflow-x:auto;width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border)}table.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--color-surface)}table.data-table thead th{padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);white-space:nowrap}table.data-table tbody td{height:2.75rem;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table tbody tr:hover td{background:var(--color-surface-raised)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);line-height:var(--leading-sm)}.form-group input,.form-group select,.form-group textarea{padding:var(--space-2) var(--space-3);font-size:var(--text-base);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--transition-fast);outline:none;width:100%}:where(.form-group,.form-card,.modal,.toolbar) :where(input:not([type=checkbox],[type=radio],[type=file],[type=color],[type=range]),select){height:var(--control-height)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:-1px}.form-group--error input,.form-group--error select,.form-group--error textarea{border-color:var(--color-danger)}.form-group--error input:focus,.form-group--error select:focus{outline-color:var(--color-danger)}.form-error-msg{font-size:var(--text-sm);color:var(--color-danger);line-height:var(--leading-sm)}.field-error-msg{flex-basis:100%;margin:var(--space-1) 0 0}:is(input,select,textarea)[aria-invalid=true]{border-color:var(--color-danger)!important}:is(input,select,textarea)[aria-invalid=true]:focus{outline-color:var(--color-danger)!important}.label-inline{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);font-weight:400;cursor:pointer}.label-inline input[type=checkbox]{width:auto;padding:0}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.section-header h1,.section-header h2,.section-header h3{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0;line-height:var(--leading-lg)}.section-header__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.page{width:100%;max-width:var(--page-width);margin-inline:auto}.page--narrow{max-width:var(--page-width-narrow)}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);min-height:var(--control-height);margin-bottom:var(--space-6)}.page-header h1{font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-2xl);color:var(--color-text);margin:0}.page-header__subtitle{font-size:var(--text-base);color:var(--color-text-muted);margin:var(--space-1) 0 0}.page-header__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.page-header__title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none}.back-link:hover{color:var(--color-text)}.num,table.data-table th.num,table.data-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.data-table .col-shrink{width:1%;white-space:nowrap}.table-empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.toolbar input:not([type=checkbox]):not([type=radio]),.toolbar select{height:var(--control-height);padding:0 var(--space-3);font-size:var(--text-base);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);outline:none}.toolbar input:focus,.toolbar select:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:-1px}.toolbar .btn{height:var(--control-height)}.toolbar__grow{flex:1 1 14rem;min-width:0}.toolbar__check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);padding:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn-icon:hover{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-text-muted)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon--primary{color:var(--color-primary);border-color:var(--color-primary-border)}.btn-icon--primary:hover{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}.btn-icon--warning{color:var(--color-warning);border-color:var(--color-warning-border)}.btn-icon--warning:hover{background:var(--color-warning-muted);color:var(--color-warning)}.btn-icon--danger{color:var(--color-danger);border-color:var(--color-danger-border)}.btn-icon--danger:hover{background:var(--color-danger-muted);color:var(--color-danger)}.btn-icon--success{color:var(--color-success);border-color:var(--color-success-border)}table.data-table .btn-icon{width:1.75rem;height:1.75rem}.row-actions{display:flex;align-items:center;gap:var(--space-1)}.error-msg,.success-msg,.warning-msg{padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-base)}.error-msg{background:var(--color-danger-muted);border-color:var(--color-danger-border);color:var(--color-danger)}.success-msg{background:var(--color-success-muted);border-color:var(--color-success-border);color:var(--color-success)}.warning-msg{background:var(--color-warning-muted);border-color:var(--color-warning-border);color:var(--color-warning)}.error-msg>svg,.success-msg>svg,.warning-msg>svg{vertical-align:text-bottom;margin-right:var(--space-1)}.loading,.empty{padding:var(--space-8) 0;text-align:center;color:var(--color-text-muted)}.loading--compact,.empty--compact{padding:var(--space-2) 0;margin:0;text-align:left;font-size:var(--text-sm)}.empty--action{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-16) 0}.form-card{display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.form-card h2{margin:0;font-size:var(--text-md);font-weight:600}.form-card>.btn{align-self:flex-start}.tabs{display:flex;gap:var(--space-1);border-bottom:2px solid var(--color-border);margin-bottom:var(--space-5);overflow-x:auto}.tab{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:500;font-family:inherit;color:var(--color-text-muted);white-space:nowrap;cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:color var(--transition-fast),background var(--transition-fast)}.tab:hover{color:var(--color-text);background:var(--color-surface-raised)}.tab.tab--active,.tab.tab--active:hover{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600;background:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-overlay)}.modal{width:100%;max-width:30rem;max-height:90vh;overflow-y:auto;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.modal--wide{max-width:35rem}.modal--sm{max-width:25rem}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.modal-header h2{margin:0;font-size:var(--text-md);font-weight:700}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.btn-close{display:flex;align-items:center;justify-content:center;padding:var(--space-1);background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer}.btn-close:hover{color:var(--color-text)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.text-positive{color:var(--color-success)}.text-negative{color:var(--color-danger)}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
