.reviewer{display:flex;height:100vh;min-height:0;min-width:0;overflow:hidden;background:var(--canvas);color:var(--text-body)}.reviewer__sidebar{width:calc(var(--sidebar-w) - var(--space-10));height:100%;min-height:0;flex:0 0 calc(var(--sidebar-w) - var(--space-10));min-width:0;padding:var(--space-4);overflow-x:hidden;overflow-y:auto;background:var(--surface);border-right:1px solid var(--border)}.reviewer__sidebar--collapsed{width:var(--sidebar-w-collapsed);flex-basis:var(--sidebar-w-collapsed);padding:var(--space-3)}.reviewer__sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.reviewer__sidebar-heading{min-width:0}.reviewer__sidebar-toggle{flex:0 0 var(--control-sm);min-height:var(--control-sm);padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-body);font:inherit;cursor:pointer}.reviewer__sidebar-title,.reviewer__toolbar-title{color:var(--text-strong);font-size:var(--fs-h3);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.reviewer__sidebar-subtitle,.reviewer__hint,.reviewer__muted{color:var(--text-muted);font-size:var(--fs-caption)}.reviewer__sheet-list{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.reviewer__sheet-button,.reviewer__button,.reviewer__cell-button,.reviewer__picker-option{min-height:var(--control-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-body);font:inherit;font-size:var(--fs-caption);cursor:pointer}.reviewer__sheet-button{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);width:100%;padding:var(--space-2) var(--space-3);text-align:left}.reviewer__sheet-name,.reviewer__sheet-count{min-width:0;overflow-wrap:anywhere}.reviewer__sheet-name{color:var(--text-strong);font-weight:var(--fw-medium)}.reviewer__sheet-count{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-caption)}.reviewer__sheet-button--collapsed{align-items:center;justify-content:center;min-height:var(--control-lg);padding:var(--space-2);text-align:center}.reviewer__sheet-abbreviation{color:var(--text-strong);font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.reviewer__sheet-button[aria-current=page]{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent-text)}.reviewer__content{min-width:0;min-height:0;max-width:100%;flex:1 1 auto;padding:clamp(var(--space-3),2vw,var(--space-5));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.reviewer__toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.reviewer__toolbar-title{flex:1 1 10rem;min-width:0}.reviewer__button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);white-space:nowrap}.reviewer__button--link{text-decoration:none}.reviewer__button--danger{color:var(--danger)}.reviewer__button:disabled,.reviewer__cell-button:disabled{cursor:not-allowed;opacity:.55}.reviewer__alert{margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--danger-subtle);color:var(--danger);font-size:var(--fs-small)}.reviewer__success{color:var(--success);font-size:var(--fs-caption)}.reviewer__groups{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.reviewer__group-button{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-body);font:inherit;font-size:var(--fs-caption);text-align:left;cursor:pointer}.reviewer__grid-shell{position:relative;min-width:0;overflow:visible;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.reviewer__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.65fr) repeat(4,minmax(0,1fr));min-width:0}.reviewer__grid-header,.reviewer__grid-row{display:contents}.reviewer__grid-header>div{min-width:0;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-raised);color:var(--text-strong);font-size:var(--fs-caption);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.reviewer__grid-cell{min-width:0;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-small);overflow-wrap:anywhere}.reviewer__grid-cell--active{background:var(--accent-subtle)}.reviewer__grid-cell--suggested{background:color-mix(in srgb,var(--info-subtle) 45%,var(--surface))}.reviewer__section{grid-column:1 / -1;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);background:var(--surface-inset);color:var(--text-strong);font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.reviewer__cell-button{display:block;width:100%;min-height:var(--control-md);padding:var(--space-2) var(--space-3);text-align:left;overflow-wrap:anywhere}.reviewer__cell-button--suggested{border-style:dashed;border-color:var(--info);background:var(--info-subtle)}.reviewer__cell-value{display:block;min-width:0;overflow-wrap:anywhere}.reviewer__manual{display:block;margin-top:var(--space-1);color:var(--text-muted);font-size:var(--fs-caption)}.reviewer__badge{display:inline-flex;align-items:center;max-width:100%;margin:var(--space-1) var(--space-1) 0 0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-caption);overflow-wrap:anywhere}.reviewer__badge--suggested{background:var(--info-subtle);color:var(--info)}.reviewer__badge--warning{background:var(--warning-subtle);color:var(--warning)}.reviewer__badge--manual{background:var(--surface-inset);color:var(--text-muted)}.reviewer__row-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.reviewer__cell-input{display:block;width:100%;min-width:0;min-height:var(--control-md);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-body);font:inherit;font-size:var(--fs-small);overflow-wrap:anywhere}.reviewer__cell-input--suggested{border-style:dashed;border-color:var(--info);background:var(--info-subtle)}.reviewer__cell-input::placeholder{color:var(--text-subtle)}.reviewer__textarea,.reviewer__picker-input{width:100%;min-width:0;min-height:var(--control-md);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-body);font:inherit;font-size:var(--fs-small);resize:vertical}.reviewer__description{color:var(--text-muted);line-height:var(--lh-small)}.reviewer__description-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.reviewer__description-details{margin-top:var(--space-1);color:var(--accent-text);font-size:var(--fs-caption)}.reviewer__picker{position:fixed;z-index:20;display:flex;flex-direction:column;width:min(42rem,calc(100vw - var(--space-6)),calc(100vw - var(--reviewer-picker-left) - var(--space-3)));max-height:min(70vh,var(--reviewer-picker-available-height));padding:var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-lg);overflow:hidden}.reviewer__picker-header{display:flex;align-items:center;gap:var(--space-2);justify-content:space-between}.reviewer__picker-title{min-width:0;color:var(--text-strong);font-size:var(--fs-small);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.reviewer__picker-count,.reviewer__picker-group,.reviewer__picker-empty{margin:var(--space-2) 0;color:var(--text-muted);font-size:var(--fs-caption)}.reviewer__picker-group{color:var(--text-strong);font-weight:var(--fw-semibold)}.reviewer__picker-empty{color:var(--warning)}.reviewer__picker-options{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:var(--space-1)}.reviewer__picker-option{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);width:100%;min-height:var(--control-lg);margin-bottom:var(--space-1);padding:var(--space-2) var(--space-3);text-align:left}.reviewer__picker-option[aria-selected=true]{border-color:var(--accent);background:var(--accent-subtle)}.reviewer__picker-option-main{min-width:0;overflow-wrap:anywhere}.reviewer__picker-option-note{display:block;margin-top:var(--space-1);color:var(--text-muted);font-size:var(--fs-caption);line-height:var(--lh-caption);overflow-wrap:anywhere}.reviewer__dialog{margin-bottom:var(--space-3);padding:var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-md)}.reviewer__dialog-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}@media(max-width:64rem){.reviewer__sidebar{width:calc(var(--sidebar-w) - var(--space-10) - var(--space-8));flex-basis:calc(var(--sidebar-w) - var(--space-10) - var(--space-8));padding:var(--space-3)}.reviewer__sidebar--collapsed{width:var(--sidebar-w-collapsed);flex-basis:var(--sidebar-w-collapsed)}.reviewer__grid-header>div,.reviewer__grid-cell{padding-inline:var(--space-2)}.reviewer__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.6fr) repeat(4,minmax(0,1fr))}}@media(max-width:48rem){.reviewer{display:block;height:auto;min-height:calc(100vh - var(--topbar-h));overflow:visible}.reviewer__sidebar{width:auto;max-height:11rem;border-right:0;border-bottom:1px solid var(--border)}.reviewer__sidebar--collapsed{width:auto;max-height:none}.reviewer__sheet-list{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.reviewer__sidebar--collapsed .reviewer__sheet-list{display:flex;overflow-x:auto}.reviewer__sidebar--collapsed .reviewer__sheet-button{flex:0 0 var(--control-lg)}.reviewer__content{overflow:visible}.reviewer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:30rem){.reviewer__grid{grid-template-columns:minmax(0,1fr)}.reviewer__grid-header{display:none}}.reviewer__export-menu{position:relative}.reviewer__export-menu>summary{list-style:none}.reviewer__export-menu>summary::-webkit-details-marker{display:none}.reviewer__export-options{position:absolute;z-index:10;right:0;display:grid;min-width:max-content;margin-top:var(--space-1);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);box-shadow:var(--shadow-md)}.reviewer__export-options a{min-height:var(--control-md);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-body);font-size:var(--fs-caption);text-decoration:none}.reviewer__export-options a:hover{background:var(--accent-subtle);color:var(--accent-text)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--canvas);padding:var(--space-5)}.login-card{width:100%;max-width:400px;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-8)}.login-header{text-align:center;margin-bottom:var(--space-7)}.login-title{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-semibold);color:var(--text-strong);margin:0 0 var(--space-2) 0}.login-subtitle{font-size:var(--fs-small);color:var(--text-muted);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-field{display:flex;flex-direction:column;gap:var(--space-2)}.login-label{font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--text-body)}.login-input{height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-body);font-family:var(--font-sans);color:var(--text-strong);background-color:var(--surface);transition:border-color var(--ease-out) .15s}.login-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.login-input::placeholder{color:var(--text-muted)}.login-button{height:var(--control-lg);padding:0 var(--space-6);background-color:var(--accent);color:var(--text-on-accent);border:none;border-radius:var(--radius-sm);font-size:var(--fs-body);font-family:var(--font-sans);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--ease-out) .15s}.login-button:hover{background-color:var(--accent-hover)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{padding:var(--space-3) var(--space-4);background-color:var(--danger-subtle);border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--fs-small)}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600.woff2) format("woff2")}:root{--slate-0: #ffffff;--slate-25: #f8fafc;--slate-50: #f1f5f9;--slate-100: #e8eef5;--slate-150: #dde6f0;--slate-200: #d4dde8;--slate-300: #b6c2d2;--slate-400: #8b9bb0;--slate-500: #647488;--slate-600: #485568;--slate-700: #33404f;--slate-800: #1e2937;--slate-900: #0f1a2b;--slate-950: #08111d;--blue-50: #eaf1ff;--blue-100: #d6e4ff;--blue-200: #adc8ff;--blue-300: #7da5ff;--blue-400: #4d86ff;--blue-500: #0858ff;--blue-600: #0848d6;--blue-700: #0a3aad;--blue-800: #0b3186;--blue-900: #0c2a6b;--sky-50: #e6f6ff;--sky-100: #cceeff;--sky-300: #66c4ff;--sky-500: #0098ff;--sky-600: #0a7fd6;--sky-700: #0a66ad;--green-50: #e7f6ed;--green-500: #12915a;--green-600: #0f7a4c;--green-700: #0c5f3c;--amber-50: #fdf3e2;--amber-500: #c07b14;--amber-600: #a3690f;--amber-700: #82530b;--red-50: #fdecea;--red-500: #d92d20;--red-600: #b91c14;--red-700: #8f1610;--info-50: #e6f4ff;--info-500: #0a7fd6;--info-600: #0a66ad;--canvas: var(--slate-50);--surface: var(--slate-0);--surface-raised: var(--slate-0);--surface-subtle: var(--slate-50);--surface-inset: var(--slate-100);--surface-hover: var(--slate-50);--border: var(--slate-200);--border-subtle: var(--slate-150);--border-strong: var(--slate-300);--text-strong: var(--slate-900);--text-body: var(--slate-700);--text-muted: var(--slate-500);--text-subtle: var(--slate-400);--text-on-accent: #ffffff;--text-link: var(--blue-600);--accent: var(--blue-500);--accent-hover: var(--blue-600);--accent-active: var(--blue-700);--accent-subtle: var(--blue-50);--accent-subtle-border: var(--blue-100);--accent-text: var(--blue-700);--success: var(--green-600);--success-subtle: var(--green-50);--success-text: var(--green-700);--warning: var(--amber-600);--warning-subtle: var(--amber-50);--warning-text: var(--amber-700);--danger: var(--red-600);--danger-subtle: var(--red-50);--danger-text: var(--red-700);--info: var(--info-600);--info-subtle: var(--info-50);--info-text: var(--info-600);--class-internal: var(--slate-600);--class-internal-bg: var(--slate-100);--class-confidential: var(--amber-600);--class-confidential-bg: var(--amber-50);--class-restricted: var(--red-600);--class-restricted-bg: var(--red-50);--focus-ring: var(--sky-500);--overlay: color-mix(in srgb, var(--slate-950) 55%, transparent)}[data-theme=dark]{--canvas: #07101d;--surface: #0f1b2d;--surface-raised: #142440;--surface-subtle: #0c1626;--surface-inset: #0a1322;--surface-hover: #16243c;--border: #243349;--border-subtle: #18253a;--border-strong: #324767;--text-strong: #f1f5f9;--text-body: #c8d3e0;--text-muted: #8ea0b8;--text-subtle: #5f7188;--text-on-accent: #ffffff;--text-link: #7da5ff;--accent: var(--blue-400);--accent-hover: #6c9cff;--accent-active: #84acff;--accent-subtle: rgba(61, 120, 255, .14);--accent-subtle-border: rgba(61, 120, 255, .32);--accent-text: #9ebcff;--success: #2bb673;--success-subtle: rgba(43, 182, 115, .14);--success-text: #5fd39a;--warning: #e0a23b;--warning-subtle: rgba(224, 162, 59, .14);--warning-text: #f0bd64;--danger: #f0584b;--danger-subtle: rgba(240, 88, 75, .15);--danger-text: #ff8077;--info: #3aa6e8;--info-subtle: rgba(58, 166, 232, .14);--info-text: #6cc0f0;--class-internal: #9aa9bd;--class-internal-bg: rgba(154, 169, 189, .12);--class-confidential: #e0a23b;--class-confidential-bg: rgba(224, 162, 59, .14);--class-restricted: #f0584b;--class-restricted-bg: rgba(240, 88, 75, .15);--focus-ring: var(--sky-500);--overlay: color-mix(in srgb, #000 64%, transparent)}:root{--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Code", monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fs-display: 34px;--lh-display: 40px;--ls-display: -.02em;--fs-h1: 26px;--lh-h1: 32px;--ls-h1: -.015em;--fs-h2: 21px;--lh-h2: 28px;--ls-h2: -.01em;--fs-h3: 17px;--lh-h3: 24px;--ls-h3: -.005em;--fs-body-lg: 16px;--lh-body-lg: 24px;--ls-body-lg: 0;--fs-body: 14px;--lh-body: 20px;--ls-body: 0;--fs-small: 13px;--lh-small: 18px;--ls-small: 0;--fs-caption: 12px;--lh-caption: 16px;--ls-caption: .005em;--fs-overline: 11px;--lh-overline: 14px;--ls-overline: .06em;--fs-mono: 13px;--lh-mono: 20px;--ls-mono: 0;--fs-mono-sm: 12px;--lh-mono-sm: 16px}:root{--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--space-9: 40px;--space-10: 48px;--space-11: 64px;--space-12: 80px;--control-sm: 28px;--control-md: 36px;--control-lg: 44px;--sidebar-w: 256px;--sidebar-w-collapsed: 64px;--topbar-h: 56px;--content-max: 1280px}:root{--radius-xs: 3px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(15, 26, 43, .06);--shadow-sm: 0 1px 3px rgba(15, 26, 43, .08), 0 1px 2px rgba(15, 26, 43, .04);--shadow-md: 0 4px 12px rgba(15, 26, 43, .1), 0 2px 4px rgba(15, 26, 43, .05);--shadow-lg: 0 12px 28px rgba(15, 26, 43, .14), 0 4px 8px rgba(15, 26, 43, .06);--shadow-xl: 0 24px 56px rgba(15, 26, 43, .2);--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-shadow: 0 0 0 var(--focus-ring-offset) var(--surface), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring);--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur-med: .2s;--dur-slow: .32s}[data-theme=dark]{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .55), 0 2px 4px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .6), 0 4px 8px rgba(0, 0, 0, .4);--shadow-xl: 0 24px 56px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-regular);color:var(--text-body);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,p{margin:0}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}code,kbd,samp,pre{font-family:var(--font-mono);font-size:var(--fs-mono-sm)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}.nb-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}.nb-skip-link{position:absolute;left:-9999px;top:var(--space-3);z-index:1000;padding:var(--space-3) var(--space-5);background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-sm);font-weight:var(--fw-semibold);font-size:var(--fs-small);text-decoration:none}.nb-skip-link:focus{left:var(--space-3)}@keyframes nb-spin{to{transform:rotate(360deg)}}@keyframes nb-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
