:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-title: 1.5rem;--text-section: 1.125rem;--text-card: 1rem;--text-body: .9375rem;--text-table: .875rem;--text-small: .8125rem;--text-label: .8125rem;--leading: 1.45;--gray-0: #ffffff;--gray-25: #f7f8fa;--gray-50: #f1f3f6;--gray-100: #e6e9ee;--gray-200: #d5dae2;--gray-300: #b9c0cc;--gray-500: #6a7384;--gray-600: #525b6b;--gray-700: #3b4352;--gray-900: #1b2230;--accent-50: #e8f4fa;--accent-100: #cfe8f4;--accent-500: #0f7aa8;--accent-600: #0b6890;--accent-700: #095576;--on-accent: #ffffff;--sidebar-bg: #0f2438;--sidebar-bg-hover: #183550;--sidebar-bg-active: #1d4263;--sidebar-text: #c6d3e0;--sidebar-text-strong: #ffffff;--sidebar-muted: #7f93a8;--sidebar-width: 15rem;--sidebar-width-collapsed: 3.75rem;--success-fg: #176a35;--success-bg: #e6f4ea;--success-border: #a8d5b5;--warning-fg: #8a5300;--warning-bg: #fff4dc;--warning-border: #e8c27a;--danger-fg: #a7261b;--danger-bg: #fdecea;--danger-border: #f1aaa3;--danger-fg-strong: #8a1d14;--overlay: rgba(16, 28, 45, .5);--info-fg: #095576;--info-bg: #e8f4fa;--info-border: #a9d3e6;--neutral-fg: #3b4352;--neutral-bg: #eceff3;--neutral-border: #d5dae2;--surface-app: var(--gray-50);--surface: var(--gray-0);--surface-muted: var(--gray-25);--border: var(--gray-200);--border-subtle: var(--gray-100);--text: var(--gray-900);--text-muted: var(--gray-600);--link: var(--accent-600);--focus-ring: #1a73e8;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(16, 28, 45, .06);--shadow-2: 0 4px 14px rgba(16, 28, 45, .1);--shadow-3: 0 12px 32px rgba(16, 28, 45, .18);--control-h: 2.25rem;--control-h-sm: 1.875rem;--control-pad: .625rem;--row-h: 2.5rem;--z-sticky: 10;--z-sidebar: 30;--z-dropdown: 40;--z-modal: 60;--z-toast: 80;--bp-tablet: 48rem;--bp-laptop: 64rem;--bp-desktop: 80rem}[data-app=platform]{--accent-50: #efeafc;--accent-100: #ddd3f7;--accent-500: #6a4bd0;--accent-600: #5a3dba;--accent-700: #4a3099;--sidebar-bg: #231943;--sidebar-bg-hover: #2f2459;--sidebar-bg-active: #3d3070;--sidebar-text: #d4cdee;--sidebar-muted: #9a90c4;--info-fg: #4a3099;--info-bg: #efeafc;--info-border: #cbbdf1;--link: var(--accent-600)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0}h1,h2,h3,h4,p,dl,dd,ul,ol,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}table{border-collapse:collapse}html,body{background:var(--surface-app)}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading);color:var(--text)}h1{font-size:var(--text-title);font-weight:650;line-height:1.25}h2{font-size:var(--text-section);font-weight:650;line-height:1.3;margin:var(--space-4) 0 var(--space-2)}h3{font-size:var(--text-card);font-weight:650;margin:var(--space-3) 0 var(--space-2)}h4{font-size:var(--text-body);font-weight:650;margin:var(--space-2) 0}p{margin:var(--space-2) 0}a,button.link{color:var(--link)}a:hover,button.link:hover{color:var(--accent-700)}code,.mono{font-family:var(--font-mono);font-size:.92em}ul,ol{padding-left:1.25rem}dl{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:var(--space-2) var(--space-5);margin:var(--space-2) 0}dt{font-weight:600;color:var(--text-muted);font-size:var(--text-label);padding-top:.1rem}dd{margin:0}hr{border:0;border-top:1px solid var(--border-subtle);margin:var(--space-4) 0}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted,.note{color:var(--text-muted)}.note,.small{font-size:var(--text-small)}.block{display:block}.pre{white-space:pre-wrap}.good{color:var(--success-fg)}.bad{color:var(--danger-fg)}.warn,.warning-text{color:var(--warning-fg)}.num{text-align:right;font-variant-numeric:tabular-nums}.grow{flex:1}.req{color:var(--danger-fg)}@media(max-width:48rem){dl{grid-template-columns:1fr;gap:.1rem}dt{padding-top:var(--space-2)}}.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.shell[data-collapsed=true]{grid-template-columns:var(--sidebar-width-collapsed) minmax(0,1fr)}.shell__sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:var(--z-sidebar)}.shell__main{display:flex;flex-direction:column;min-width:0}.shell__topbar{display:flex;align-items:center;gap:var(--space-3);min-height:3.25rem;padding:0 var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:var(--z-sticky)}.shell__content{padding:var(--space-5);width:100%;max-width:90rem;margin:0 auto}.sidebar__brand{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);color:var(--sidebar-text-strong);font-weight:700;font-size:1.05rem}.sidebar__brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius);background:var(--accent-500);color:var(--on-accent);flex:none}.sidebar__context{margin:0 var(--space-3) var(--space-3);padding:var(--space-2) var(--space-3);background:var(--sidebar-bg-hover);border-radius:var(--radius)}.sidebar__context-label{display:block;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-muted)}.sidebar__context-name{display:block;color:var(--sidebar-text-strong);font-weight:600;overflow-wrap:anywhere}.sidebar__platform-badge{display:inline-block;margin-top:.15rem;padding:.05rem .5rem;border-radius:var(--radius-pill);background:var(--accent-500);color:var(--on-accent);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sidebar__nav{flex:1;padding:0 var(--space-2)}.sidebar__group{margin:var(--space-3) 0 var(--space-1);padding:0 var(--space-3);font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase;color:var(--sidebar-muted)}.sidebar__item{display:flex;align-items:center;gap:var(--space-3);width:100%;justify-content:flex-start;min-height:2.25rem;padding:0 var(--space-3);background:none;border:0;border-radius:var(--radius);color:var(--sidebar-text);font:inherit;text-align:left;cursor:pointer}.sidebar__item:hover{background:var(--sidebar-bg-hover);color:var(--sidebar-text-strong)}.sidebar__item[aria-current=page]{background:var(--sidebar-bg-active);color:var(--sidebar-text-strong);font-weight:600;box-shadow:inset 3px 0 0 var(--accent-500)}.sidebar__item:focus-visible{outline-color:var(--on-accent)}.sidebar__bottom{padding:var(--space-2);border-top:1px solid var(--sidebar-bg-hover)}.shell[data-collapsed=true] .sidebar__label,.shell[data-collapsed=true] .sidebar__group,.shell[data-collapsed=true] .sidebar__context,.shell[data-collapsed=true] .sidebar__brand-name{display:none}.shell[data-collapsed=true] .sidebar__item{justify-content:center;padding:0}.topbar__crumbs{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-small);min-width:0}.topbar__crumbs [aria-current=page]{color:var(--text);font-weight:600}.topbar__user{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-small)}.topbar__user-id{color:var(--text-muted)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.page-header__text{flex:1;min-width:14rem}.page-header__sub{color:var(--text-muted);margin:.15rem 0 0}.page-header__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.auth{min-height:100vh;display:grid;place-items:center;padding:var(--space-5) var(--space-4);background:linear-gradient(180deg,var(--accent-50),var(--surface-app) 55%)}.auth__box{width:min(100%,27rem)}.auth__brand{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4);font-weight:700;font-size:1.25rem}.auth__brand .sidebar__brand-mark{width:2.25rem;height:2.25rem}.auth__box .card{box-shadow:var(--shadow-2);padding:var(--space-5)}.auth__box .card h2{margin-top:0}.auth__box form,.auth__box .form-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}.auth__box input:not([type=checkbox]){width:100%;min-width:0}.auth__note{text-align:center;margin-top:var(--space-3);font-size:var(--text-small);color:var(--text-muted)}.stack>*+*{margin-top:var(--space-4)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.split{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:var(--space-5);align-items:start}@media(max-width:64rem){.shell{grid-template-columns:var(--sidebar-width-collapsed) minmax(0,1fr)}.shell .sidebar__label,.shell .sidebar__group,.shell .sidebar__context,.shell .sidebar__brand-name{display:none}.shell .sidebar__item{justify-content:center;padding:0}.shell__content{padding:var(--space-4)}}@media(max-width:48rem){.split{grid-template-columns:1fr}.shell__topbar{padding:0 var(--space-3)}.topbar__user-id{display:none}}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius);color:var(--text);font-size:var(--text-body);line-height:1.2;cursor:pointer;vertical-align:middle}button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-500)}button:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}button.primary,.btn--primary{background:var(--accent-600);border-color:var(--accent-700);color:var(--on-accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-700);border-color:var(--accent-700)}button.danger,.btn--danger{background:var(--danger-fg);border-color:var(--danger-fg);color:var(--on-accent);font-weight:600}button.danger:hover:not(:disabled){background:var(--danger-fg-strong)}button.link{background:none;border:none;min-height:0;padding:0;text-decoration:underline;font:inherit;display:inline}button.link:hover:not(:disabled){background:none}button.icon-button{width:var(--control-h);padding:0}button.tab,button.cell,button.sidebar__item{min-height:0}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-height:var(--control-h);padding:0 var(--control-pad);background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius);min-width:14rem;max-width:100%}textarea{padding:var(--space-2) var(--control-pad);min-height:5rem}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:var(--gray-500)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger-fg);background:var(--danger-bg)}input:disabled,select:disabled,textarea:disabled{background:var(--gray-50);color:var(--text-muted)}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;accent-color:var(--accent-600);vertical-align:middle}label{font-size:var(--text-label)}.field,.form-grid label{display:flex;flex-direction:column;gap:var(--space-1);font-weight:600;color:var(--gray-700)}.field input,.field select,.field textarea,.form-grid input,.form-grid select{font-weight:400;color:var(--text);min-width:0;width:100%}.hint{font-size:var(--text-small);color:var(--text-muted);font-weight:400}.field-error{font-size:var(--text-small);color:var(--danger-fg);font-weight:500}.wide-input{width:100%}fieldset{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:var(--space-3) 0;padding:var(--space-2) var(--space-4) var(--space-4)}legend{font-weight:650;padding:0 var(--space-2)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-3) var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-3) var(--space-4);align-items:end}.roles label{display:inline-flex;align-items:center;gap:var(--space-1);margin-right:var(--space-3);font-size:var(--text-body);font-weight:400}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-1)}.card>h2:first-child,.card>h3:first-child{margin-top:0}.card+.card{margin-top:var(--space-4)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1)}.stat__label{display:block;font-size:var(--text-label);color:var(--text-muted);font-weight:600}.stat__value{display:block;font-size:1.75rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.stat__hint{display:block;font-size:var(--text-small);color:var(--text-muted)}.stat--action{cursor:pointer;text-align:left;display:block;width:100%}.summary{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:var(--space-3) var(--space-4)}.table-wrap{position:relative;overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}table{width:100%;font-size:var(--text-table)}th,td{text-align:left;padding:0 var(--space-3);height:var(--row-h);border-bottom:1px solid var(--border-subtle);vertical-align:middle}th{background:var(--surface-muted);color:var(--gray-700);font-weight:650;font-size:var(--text-label);white-space:nowrap;border-bottom:1px solid var(--border)}th.num,td.num{text-align:right}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--accent-50)}tr.clickable{cursor:pointer}tr.clickable:focus-within td{background:var(--accent-50)}tr.archived td{color:var(--text-muted);background:var(--surface-muted)}tr.reversed td{color:var(--text-muted);text-decoration:line-through}td.actions{white-space:nowrap}.table-skeleton td{padding:0 var(--space-3)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.05rem .55rem;border-radius:var(--radius-pill);font-size:var(--text-small);font-weight:600;line-height:1.5;white-space:nowrap;border:1px solid var(--neutral-border);background:var(--neutral-bg);color:var(--neutral-fg);margin-left:var(--space-2)}.badge--success{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-border)}.badge--warning{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-border)}.badge--danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.badge--info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border)}.badge--plain{margin-left:0}.chip{margin-right:var(--space-1)}.chip.active{outline:2px solid var(--accent-600)}.notice,.alert{display:flex;gap:var(--space-3);align-items:flex-start;border:1px solid var(--info-border);border-left-width:4px;background:var(--info-bg);color:var(--text);padding:var(--space-2) var(--space-3);border-radius:var(--radius);margin:var(--space-3) 0}.notice ul{margin:.3rem 0 0}.notice.warning,.alert--warning{border-color:var(--warning-border);background:var(--warning-bg)}.alert--danger,.conflict{border-color:var(--danger-border);background:var(--danger-bg)}.alert--success{border-color:var(--success-border);background:var(--success-bg)}.alert__icon{flex:none;margin-top:.15rem}.alert__body{flex:1;min-width:0}.alert__title{display:block;font-weight:650}p[role=alert].bad{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);padding:var(--space-2) var(--space-3)}.state{display:grid;justify-items:center;gap:var(--space-2);text-align:center;padding:var(--space-6) var(--space-4);background:var(--surface);border:1px dashed var(--gray-300);border-radius:var(--radius-lg);color:var(--text-muted)}.state__icon{color:var(--gray-500)}.state--error{border-style:solid;border-color:var(--danger-border);background:var(--danger-bg);color:var(--text)}.state--error .state__icon{color:var(--danger-fg)}.state__title{font-weight:650;color:var(--text)}.skeleton{display:block;height:1rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--gray-100),var(--gray-50),var(--gray-100));background-size:200% 100%;animation:skeleton 1.4s linear infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:1rem;height:1rem;border:2px solid var(--gray-200);border-top-color:var(--accent-600);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.skeleton,.spinner{animation:none}}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin:var(--space-3) 0;overflow-x:auto}.tab{border:1px solid transparent;border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;padding:var(--space-2) var(--space-4);background:transparent;color:var(--text-muted);min-height:0}.tab:hover:not(:disabled){background:var(--gray-50);border-color:transparent;color:var(--text)}.tab.active,.tab[aria-selected=true]{border-color:var(--border);background:var(--surface);color:var(--accent-700);font-weight:650;margin-bottom:-1px;box-shadow:inset 0 2px 0 var(--accent-600)}.modal-backdrop{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;padding:var(--space-4);z-index:var(--z-modal)}.modal{width:min(100%,32rem);max-height:calc(100vh - 2rem);overflow:auto;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);padding:var(--space-5)}.modal h2{margin-top:0}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.toast-region{position:fixed;right:var(--space-4);bottom:var(--space-4);display:grid;gap:var(--space-2);z-index:var(--z-toast);width:min(24rem,calc(100vw - 2rem))}.toast{display:flex;gap:var(--space-3);align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--info-fg);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:var(--space-3)}.toast--success{border-left-color:var(--success-fg)}.toast--danger{border-left-color:var(--danger-fg)}.toast__text{flex:1}.kv-row{display:contents}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin:var(--space-2) 0}.toolbar h2,.toolbar h3{margin:0}.toolbar--bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3)}.pagination{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-3) 0}details.filters{margin:var(--space-2) 0}details.filters>summary{cursor:pointer;font-weight:600}.codes{columns:2;list-style:none;padding:0;font-size:1.1rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-4)}.settings-tile{display:block;text-align:left;width:100%;min-height:0;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.settings-tile strong{display:flex;align-items:center;gap:var(--space-2)}.settings-tile span.note{display:block;margin-top:var(--space-1)}@media(max-width:40rem){.codes{columns:1}input:not([type=checkbox]):not([type=radio]){min-width:0;width:100%}}.history-section{margin:var(--space-5) 0;padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.history-section h3,.history-section h4{margin:.2rem 0}.period-form{margin:var(--space-3) 0}.timeline{list-style:none;margin:0 0 var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--accent-100)}.timeline li{margin:var(--space-1) 0;position:relative}.contrib-wrap{max-height:70vh;overflow:auto}.contrib-matrix thead th{position:sticky;top:0;background:var(--surface-muted);z-index:2}.contrib-matrix .sticky-col{position:sticky;left:0;background:var(--surface);z-index:1;text-align:left;white-space:nowrap}.contrib-matrix thead .sticky-col{z-index:3;background:var(--surface-muted)}.contrib-matrix td.locked{background:var(--gray-50);color:var(--text-muted)}.contrib-matrix td.selected{outline:2px solid var(--accent-600);outline-offset:-2px}button.cell{border:none;background:transparent;padding:.2rem .4rem;min-width:3.2rem;text-align:right;cursor:pointer;text-decoration:underline dotted;justify-content:flex-end}.steps{display:flex;gap:var(--space-2);list-style:none;padding:0;flex-wrap:wrap;counter-reset:step}.steps li{counter-increment:step;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-muted);font-size:var(--text-small)}.steps li:before{content:counter(step);display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--gray-100);font-weight:700}.steps [aria-current=step]{border-color:var(--accent-600);color:var(--accent-700);font-weight:650;background:var(--accent-50)}.steps [aria-current=step]:before{background:var(--accent-600);color:var(--on-accent)}.dropzone{border:2px dashed var(--gray-300);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-5);margin-bottom:var(--space-4)}.dropzone.over{border-color:var(--accent-600);background:var(--accent-50)}tr.row-error td{background:var(--danger-bg)}tr.row-warning td{background:var(--warning-bg)}tr.row-unchanged td{color:var(--text-muted)}.apply-box{display:inline-block}.facts dt{font-weight:600}.doc-group{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center}.doc-group input[type=number]{width:6rem;min-width:0}.doc-group .warn{flex-basis:100%;margin:0}.doc-button{display:inline-flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}
