:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}:root{--bg: #eeedf5;--surface: #ffffff;--surface-2: #f3f3f8;--surface-3: #e7e7ef;--surface-hover: #e7e7ef;--fg: #1e2431;--fg-soft: #475467;--muted: #98a1b0;--muted-soft: #cbd0da;--border: #e6e7eb;--border-hover: #d4d7de;--border-strong: #cbd0da;--border-focus: #2563eb;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #dbeafe;--primary-fg: #ffffff;--success: #16a34a;--success-bg: #dcfce7;--success-fg: #15803d;--danger: #e11d48;--danger-bg: #ffe4e6;--danger-fg: #9f1239;--accent: #b7791f;--accent-bg: #fffbeb;--accent-fg: #92400e;--info: #2563eb;--info-bg: #e0f2fe;--info-fg: #075985;--warn-bg: #fef9c3;--font-heading: "Manrope", ui-sans-serif, system-ui, sans-serif;--font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--radius-full: 9999px;--shadow-xs: 0 1px 0 rgba(9, 9, 11, .04);--shadow-sm: 0 1px 2px rgba(9, 9, 11, .05);--shadow-md: 0 4px 12px rgba(9, 9, 11, .06), 0 1px 2px rgba(9, 9, 11, .04);--shadow-lg: 0 16px 40px rgba(9, 9, 11, .1), 0 4px 8px rgba(9, 9, 11, .04);--shadow-focus: 0 0 0 2px var(--surface), 0 0 0 4px var(--primary);--shadow-focus-danger: 0 0 0 2px var(--surface), 0 0 0 4px var(--danger)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--fg);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em;color:var(--fg);margin:0;line-height:1.2}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md);font-weight:600}code,.mono,pre{font-family:var(--font-mono);font-size:.92em;background:var(--surface-2);padding:1px 6px;border-radius:var(--radius-sm);color:var(--fg-soft);border:1px solid var(--border)}a{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}a:hover{color:var(--primary-hover);border-bottom-color:var(--primary-hover)}::selection{background:var(--primary-soft);color:var(--fg)}:root{--sidebar-w: 250px;--sidebar-w-collapsed: 66px;--sidebar-bg: #ffffff;--sidebar-fg: #475467;--sidebar-fg-strong: #1e2431;--sidebar-hover: #f3f3f8;--sidebar-active: #dbeafe;--sidebar-active-fg: #1d4ed8;--sidebar-border: #e6e7eb;--sidebar-flyout: #ffffff}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-fg);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30;transition:width .18s ease;border-right:1px solid var(--sidebar-border)}.sidebar-collapsed .sidebar{width:var(--sidebar-w-collapsed)}.sidebar-brand{display:flex;align-items:center;gap:10px;height:60px;padding:0 14px;flex-shrink:0;border-bottom:1px solid var(--sidebar-border)}.sidebar-brand-link{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border-bottom:none}.sidebar-brand-link:hover{border-bottom:none}.sidebar-logo{width:32px;height:32px;object-fit:contain;flex-shrink:0;border-radius:7px;background:#fff;padding:2px}.sidebar-title{display:flex;flex-direction:column;line-height:1.12;white-space:nowrap;overflow:hidden}.sidebar-title strong{color:var(--sidebar-fg-strong);font-family:var(--font-heading);font-size:15px;letter-spacing:-.02em}.sidebar-title small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;flex-shrink:0;background:var(--sidebar-hover);border:none;color:var(--sidebar-fg);cursor:pointer;transition:background .15s,color .15s}.sidebar-toggle:hover{background:var(--sidebar-active);color:var(--sidebar-fg-strong)}.sidebar-collapsed .sidebar-brand{justify-content:center;padding:0 8px}.sidebar-collapsed .sidebar-brand-link{display:none}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px;display:flex;flex-direction:column;gap:2px;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{width:0;height:0;display:none}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;width:100%;border-radius:8px;border:none;border-bottom:none;background:none;color:var(--sidebar-fg);cursor:pointer;text-align:left;font-family:inherit;font-size:var(--text-sm);font-weight:500;white-space:nowrap;transition:background .15s,color .15s}a.nav-item:hover{border-bottom:none}.nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-fg-strong)}.nav-item.active{background:var(--sidebar-active);color:var(--sidebar-active-fg);font-weight:600}.nav-icon{flex-shrink:0}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.nav-grp{display:flex;flex-direction:column;position:relative}.nav-grp-head .nav-grp-caret{flex-shrink:0;opacity:.55;transition:transform .18s ease}.nav-grp.open>.nav-grp-head .nav-grp-caret{transform:rotate(90deg)}.nav-grp.has-active>.nav-grp-head{color:var(--sidebar-active-fg)}.nav-flyout-title{display:none}.nav-subitems{display:flex;flex-direction:column;gap:2px;overflow:hidden;max-height:0;transition:max-height .22s ease}.nav-grp.open>.nav-subitems{max-height:640px;margin-top:2px}.nav-subitem{padding-left:30px;font-weight:450;color:var(--sidebar-fg)}.nav-subitem .nav-icon{opacity:.85}.sidebar-collapsed .nav-item{justify-content:center;padding:10px}.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-grp-caret{display:none}.sidebar-collapsed .nav-subitems{position:absolute;left:100%;top:0;margin-left:6px;max-height:none;overflow:visible;display:none;z-index:60;min-width:214px;padding:6px;background:var(--sidebar-flyout);border:1px solid var(--sidebar-border);border-radius:10px;box-shadow:var(--shadow-lg)}.sidebar-collapsed .nav-subitems:before{content:"";position:absolute;left:-10px;top:0;width:10px;height:100%}.sidebar-collapsed .nav-grp:hover .nav-subitems{display:flex}.sidebar-collapsed .nav-subitems .nav-label{display:block}.sidebar-collapsed .nav-subitem{justify-content:flex-start;padding:8px 10px}.sidebar-collapsed .nav-flyout-title{display:block;padding:4px 10px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sidebar-foot{flex-shrink:0;border-top:1px solid var(--sidebar-border);padding:10px;display:flex;flex-direction:column;gap:4px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;color:var(--sidebar-fg-strong);border-bottom:none}.sidebar-user:hover{background:var(--sidebar-hover);border-bottom:none}.sidebar-avatar{width:30px;height:30px;border-radius:50%;background:var(--primary-soft);color:var(--primary-hover);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0}.sidebar-user-meta{display:flex;flex-direction:column;line-height:1.15;min-width:0}.sidebar-foot .user-name{color:var(--sidebar-fg-strong);font-weight:500;font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot .user-roles{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-signout{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border:none;background:none;color:var(--sidebar-fg);cursor:pointer;border-radius:8px;font:inherit;font-size:var(--text-sm)}.sidebar-signout:hover{background:var(--sidebar-hover);color:var(--sidebar-fg-strong)}.sidebar-collapsed .sidebar-user{justify-content:center}.sidebar-collapsed .sidebar-user-meta{display:none}.sidebar-collapsed .sidebar-signout{justify-content:center;padding:10px}.sidebar-collapsed .sidebar-signout .nav-label{display:none}.app-content{flex:1;min-width:0;display:flex;flex-direction:column}.app-main{flex:1;padding:1.75rem 2rem;max-width:1440px;width:100%;margin:0 auto}@media (max-width: 760px){.sidebar{width:var(--sidebar-w-collapsed)}.sidebar .sidebar-title,.sidebar .nav-label,.sidebar .nav-grp-caret,.sidebar .sidebar-user-meta,.sidebar .sidebar-brand-link{display:none}.sidebar .nav-item{justify-content:center;padding:10px}.app-main{padding:1rem}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem;background:var(--bg);position:relative;overflow:hidden}.auth-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(9,9,11,.06) 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(ellipse 60% 50% at center,#000 0%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 60% 50% at center,#000 0%,transparent 80%)}.auth-card{background:var(--surface);border:1px solid var(--border);padding:2.25rem 2rem 1.75rem;width:min(400px,92vw);display:flex;flex-direction:column;gap:1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative;z-index:1}.auth-card h1{margin:0 0 .25rem;font-size:var(--text-xl);letter-spacing:-.02em}.auth-card .auth-sub{color:var(--fg-soft);font-size:var(--text-sm);margin:0 0 .5rem}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-xs);color:var(--fg-soft);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.auth-card input,.auth-card button{font:inherit}.auth-card input{padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);background:var(--surface);color:var(--fg);transition:border-color .15s,box-shadow .15s;font-family:var(--font-body)}.auth-card input::placeholder{color:var(--muted)}.auth-card input:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.auth-card p{margin:0;font-size:var(--text-sm);color:var(--fg)}.auth-card a{color:var(--fg-soft);font-size:var(--text-sm)}.auth-card a:hover{color:var(--fg)}.auth-card button{background:var(--primary);color:var(--primary-fg);border:1px solid var(--primary);padding:.7rem;border-radius:var(--radius);cursor:pointer;font-weight:600;font-size:var(--text-base);transition:background .15s ease,transform .05s ease,box-shadow .15s}.auth-card button:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.auth-card button:active:not(:disabled){transform:scale(.99)}.auth-card button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.auth-card button:disabled{opacity:.55;cursor:wait}.auth-error{background:var(--danger-bg);color:var(--danger-fg);padding:.6rem .75rem;font-size:var(--text-sm);border-radius:var(--radius);border:1px solid #fecdd3}.reset-policy{list-style:none;margin:4px 0 0;padding:8px 10px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);display:flex;flex-direction:column;gap:3px;font-size:var(--text-xs);color:var(--fg-soft);font-family:var(--font-mono)}.reset-policy .is-ok{color:var(--success)}.reset-policy .is-blocked{color:var(--accent)}.page{display:flex;flex-direction:column;gap:1.25rem}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.page-head h1{font-size:var(--text-2xl);margin:0;letter-spacing:-.025em}.page-head p{margin:.3rem 0 0;color:var(--fg-soft);font-size:var(--text-sm)}.page-actions{display:flex;gap:.5rem;align-items:center}.muted{color:var(--muted)}.error{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);color:var(--fg);border:1px solid var(--border);padding:.45rem .85rem;border-radius:var(--radius);font:inherit;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .05s;border-bottom:1px solid var(--border)}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-hover)}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--fg-soft)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--fg);border-color:transparent}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#be123c;border-color:#be123c}.btn-danger:focus-visible{box-shadow:var(--shadow-focus-danger)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover:not(:disabled){background:#047857;border-color:#047857}.btn-xs{padding:3px 8px;font-size:var(--text-xs);border-radius:var(--radius-sm)}.icon-btn{background:transparent;border:1px solid transparent;cursor:pointer;padding:4px 8px;color:var(--muted);transition:color .15s,background .15s;border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-body)}.icon-btn:hover{color:var(--fg);background:var(--surface-2)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th,.data-table td{padding:10px 14px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border)}.data-table th{background:var(--surface-2);font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-soft);font-family:var(--font-mono);border-bottom:1px solid var(--border-strong);position:sticky;top:0;z-index:1}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table tr:last-child td{border-bottom:none}.table-empty{text-align:center;color:var(--muted);padding:32px!important;font-size:var(--text-sm)}.row-actions{display:flex;gap:4px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;border-radius:var(--radius-full);letter-spacing:.04em;border:1px solid transparent;font-family:var(--font-mono)}.pill-on,.pill-submitted,.pill-success{background:var(--success-bg);color:var(--success-fg)}.pill-off,.pill-error,.pill-danger{background:var(--danger-bg);color:var(--danger-fg)}.pill-pending,.pill-warn,.pill-assigned{background:var(--accent-bg);color:var(--accent-fg)}.pill-in_progress,.pill-info{background:var(--info-bg);color:var(--info-fg)}.pill-draft_saved{background:var(--surface-3);color:var(--fg-soft)}.pill-finalized{background:var(--success-bg);color:var(--success-fg)}.pill-timer{background:var(--fg);color:var(--surface);font-family:var(--font-mono);letter-spacing:.04em;padding:3px 9px;font-size:10.5px}.pill-idle{background:var(--accent-bg);color:var(--accent-fg)}.pill-compulsory{background:var(--surface-3);color:var(--fg-soft)}.chip{display:inline-block;padding:2px 8px;font-size:var(--text-xs);background:var(--surface-2);border-radius:var(--radius-full);margin:1px 3px 1px 0;color:var(--fg-soft);font-family:var(--font-mono);border:1px solid var(--border)}.chip-pending{background:var(--accent-bg);color:var(--accent-fg);border-color:transparent}.chip-in_progress{background:var(--info-bg);color:var(--info-fg);border-color:transparent}.chip-submitted{background:var(--success-bg);color:var(--success-fg);border-color:transparent}.chip-row{display:flex;flex-wrap:wrap;gap:3px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.history-item{border-left:2px solid var(--primary, #2563EB);padding:6px 0 6px 12px}.history-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}.history-meta{font-size:12px;margin-top:2px}.failure-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.failure-item{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--danger, #dc2626);padding:6px 0 6px 12px}.failure-code{font-weight:600}.failure-reason{font-size:12px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.card{background:var(--surface);border:1px solid var(--border);padding:1.1rem 1.2rem;border-radius:var(--radius-lg);color:var(--fg);display:block;text-decoration:none;transition:border-color .15s,transform .1s,background .15s;border-bottom:1px solid var(--border)}.card:hover{border-color:var(--border-hover);background:var(--surface);transform:translateY(-1px)}.card h2{margin:0 0 6px;font-size:var(--text-md);letter-spacing:-.01em;font-weight:600}.card p{margin:0;font-size:var(--text-sm);color:var(--fg-soft);line-height:1.45}.form-grid{display:flex;flex-direction:column;gap:1rem}.form-grid label{display:flex;flex-direction:column;gap:5px;font-size:var(--text-xs);color:var(--fg-soft);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.form-grid input[type=text],.form-grid input[type=email],.form-grid input[type=password],.form-grid input[type=number],.form-grid select,.form-grid textarea,.form-grid input:not([type]){padding:8px 11px;border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);background:var(--surface);color:var(--fg);font-family:var(--font-body);transition:border-color .15s,box-shadow .15s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 700px){.grid-2,.grid-3{grid-template-columns:1fr}}.form-section{border-top:1px solid var(--border);padding-top:14px;margin-top:8px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-head h3{margin:0;font-size:var(--text-md);font-weight:600}.check{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--fg-soft);cursor:pointer;text-transform:none;letter-spacing:normal;font-weight:400}.check input{margin:0;accent-color:var(--primary)}.checkbox-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;background:var(--surface-2);padding:10px;border:1px solid var(--border);border-radius:var(--radius)}.file-row{display:flex;gap:8px;align-items:center}.file-row input[type=file]{flex:1;font-size:var(--text-sm)}.q-list{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.q-row{display:grid;grid-template-columns:80px 90px 1fr auto;gap:6px;align-items:center}.q-row input{font-size:var(--text-sm);padding:6px 8px}.filter-bar{display:flex;gap:8px;align-items:center;background:var(--surface);padding:10px;border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap}.filter-bar-sub{background:transparent;border:none;padding:0}.filter-bar select,.filter-bar input{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--surface);color:var(--fg);font-family:var(--font-body)}.tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:0}.tab-bar .btn,.tab-bar>button{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--fg-soft);padding:10px 14px;font-weight:500;font-size:var(--text-sm);margin-bottom:-1px;transition:color .15s,border-color .15s;box-shadow:none}.tab-bar .btn:hover,.tab-bar>button:hover{color:var(--fg);background:transparent}.tab-bar .btn-primary,.tab-bar>button.is-active,.tab-bar>button[aria-selected=true]{background:transparent;color:var(--fg);border-bottom-color:var(--primary);border-radius:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#09090b73;z-index:50;display:grid;place-items:center;padding:1rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:modal-fade-in .15s ease-out}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,95vw);max-height:90vh;overflow:hidden;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:modal-pop-in .18s cubic-bezier(.16,1,.3,1)}.modal-sm{width:min(400px,95vw)}.modal-lg{width:min(820px,95vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.modal-body{padding:1.25rem;overflow:auto;flex:1}.modal-foot{display:flex;gap:8px;padding:.85rem 1.25rem;border-top:1px solid var(--border);justify-content:flex-end;background:var(--surface-2)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.toast-stack{position:fixed;top:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:10px;z-index:9999;width:min(560px,calc(100vw - 48px));pointer-events:none}.toast{padding:14px 18px 14px 16px;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:500;line-height:1.4;box-shadow:0 20px 50px #0f172a2e,0 6px 18px #0f172a1f;animation:toast-in .22s cubic-bezier(.2,.8,.2,1);border:1px solid var(--border);background:var(--surface);color:var(--fg);border-left:4px solid var(--fg);pointer-events:auto;position:relative}.toast-info{border-left-color:var(--info);background:var(--surface)}.toast-success{border-left-color:var(--success);background:var(--surface)}.toast-error{border-left-color:var(--danger);background:#fff5f5;color:var(--danger)}.toast-error:before{content:"⚠";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:10px;background:var(--danger);color:#fff;border-radius:50%;font-size:14px;font-weight:700;vertical-align:middle}@keyframes toast-in{0%{transform:translate(-50%,-16px);opacity:0}to{transform:translate(-50%);opacity:1}}.toast-stack>.toast{animation-name:toast-in-card}@keyframes toast-in-card{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.app-main:has(.evaluate-page){padding:0;max-width:none;flex:1;min-height:0;overflow:hidden}.evaluate-page{gap:.35rem;max-width:100%;overflow:hidden;height:calc(100vh - 52px);display:flex;flex-direction:column;padding:.35rem .75rem 0}.evaluate-page .page-head{margin:0 0 .25rem;padding:.1rem 0;flex:0 0 auto}.evaluate-page .page-head h1{font-size:var(--text-md);line-height:1.25;margin:0;font-weight:600}.evaluate-page .page-head .muted{font-size:var(--text-xs);font-family:var(--font-mono)}.evaluate-page .page{gap:.4rem}.evaluate-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:.5rem;align-items:stretch;min-width:0;flex:1 1 auto;min-height:0}@media (max-width: 1280px){.evaluate-grid{grid-template-columns:minmax(0,1fr) 300px;gap:.4rem}}@media (max-width: 1100px){.evaluate-page{height:auto;overflow:visible}.evaluate-grid{grid-template-columns:1fr}.evaluate-marks{position:static;max-height:none}}.evaluate-pdf{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;display:flex;flex-direction:column;overflow:hidden;min-height:0}.evaluate-marks{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .55rem;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;min-height:0}.evaluate-marks h2{margin:0 0 .5rem;font-size:var(--text-xs);font-family:var(--font-mono);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-soft);position:sticky;top:0;background:var(--surface);padding-bottom:4px;z-index:1}.marks-summary{background:var(--surface-2);padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;font-size:var(--text-sm);color:var(--fg-soft)}.marks-summary strong{color:var(--fg);font-family:var(--font-mono);font-weight:600}.marks-summary-head{background:transparent;border:0;padding:6px 10px;margin:0;border-radius:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg);letter-spacing:.01em;line-height:1.4;text-align:right;max-width:520px}.marks-summary-head b{color:var(--fg);font-weight:700;font-family:var(--font-mono);font-size:var(--text-md)}.marks-summary-head .muted{color:var(--fg-soft)}.marks-last-saved-inline{font-size:var(--text-xs)}.evaluate-page .page-actions{gap:.75rem;align-items:center}.marks-list{display:flex;flex-direction:column;gap:4px;padding-bottom:4px}.marks-section{display:flex;flex-direction:column;gap:4px}.marks-section+.marks-section{margin-top:10px}.marks-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;margin-bottom:2px;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius)}.marks-section-name{display:inline-flex;align-items:center;gap:6px;min-width:0;font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);color:var(--fg)}.marks-section-pill{flex-shrink:0;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--accent-fg);background:var(--accent-bg);border-radius:var(--radius-full);padding:1px 8px}.marks-section-meta{flex-shrink:0;font-size:var(--text-xs);color:var(--fg-soft);font-family:var(--font-mono);white-space:nowrap}.mark-compulsory{color:var(--danger);font-weight:700;margin-left:1px}.marks-section-info{display:inline-flex;align-items:center;margin-left:6px;color:var(--fg-soft);cursor:help;vertical-align:middle}.marks-section-info:hover{color:var(--accent-fg)}.mark-parent-attempt{margin-left:8px;text-transform:none;letter-spacing:0;color:var(--accent-fg);background:var(--accent-bg);cursor:help}.mark-row{border:1px solid var(--border);border-radius:var(--radius);padding:4px 6px;background:var(--surface);display:grid;grid-template-columns:46px 1fr 1fr 56px;align-items:center;gap:4px;font-size:var(--text-sm);transition:border-color .15s,background .15s;min-width:0}.mark-row:hover{border-color:var(--border-hover);background:var(--surface)}.mark-row.has-error{border-color:var(--danger);background:var(--danger-bg)}.mark-row-header{display:contents}.mark-row-q{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);color:var(--fg)}.mark-row-meta{color:var(--muted);font-size:var(--text-xs);font-family:var(--font-mono)}.mark-row-actions{display:contents}.mark-row-actions .btn{padding:4px 6px;font-size:var(--text-xs);width:100%;font-weight:500;line-height:1.2;letter-spacing:0;text-transform:none;font-family:var(--font-body);gap:4px;min-width:0;overflow:hidden}.mark-row-label{display:inline}.mark-row-icon{font-weight:700;line-height:1;display:inline-block}.mark-row [data-testid^=mark-tick-]{color:var(--fg-soft);border-color:var(--border);background:var(--surface)}.mark-row [data-testid^=mark-tick-] .mark-row-icon{color:var(--success)}.mark-row [data-testid^=mark-tick-]:hover:not(:disabled),.mark-row [data-testid^=mark-tick-].is-active{background:var(--success);border-color:var(--success);color:#fff}.mark-row [data-testid^=mark-tick-]:hover:not(:disabled) .mark-row-icon,.mark-row [data-testid^=mark-tick-].is-active .mark-row-icon{color:#fff}.mark-row [data-testid^=mark-cross-]{color:var(--fg-soft);border-color:var(--border);background:var(--surface)}.mark-row [data-testid^=mark-cross-] .mark-row-icon{color:var(--danger)}.mark-row [data-testid^=mark-cross-]:hover:not(:disabled),.mark-row [data-testid^=mark-cross-].is-active{background:var(--danger);border-color:var(--danger);color:#fff}.mark-row [data-testid^=mark-cross-]:hover:not(:disabled) .mark-row-icon,.mark-row [data-testid^=mark-cross-].is-active .mark-row-icon{color:#fff}.mark-action-correct.is-active{background:#16a34a!important;border-color:#15803d!important;color:#fff!important;box-shadow:0 0 0 1px #16a34a40,0 1px 2px #16a34a2e}.mark-action-correct.is-active .mark-row-icon,.mark-action-correct.is-active .mark-row-label{color:#fff!important}.mark-action-wrong.is-active{background:#dc2626!important;border-color:#b91c1c!important;color:#fff!important;box-shadow:0 0 0 1px #dc262640,0 1px 2px #dc26262e}.mark-action-wrong.is-active .mark-row-icon,.mark-action-wrong.is-active .mark-row-label{color:#fff!important}.mark-row .mark-input{width:100%;min-width:0;padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-mono);background:var(--surface);text-align:right;transition:border-color .15s,box-shadow .15s;color:var(--fg);font-weight:600}.mark-row .mark-input::placeholder{color:var(--muted);font-weight:400}.mark-row .mark-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.mark-row .mark-input:disabled{background:var(--surface-2);color:var(--muted)}.mark-row.is-pending{border-left:3px solid var(--accent)}.mark-row.is-na{border-left:3px solid var(--info)}.mark-row.is-blocked{opacity:.55}.mark-row .error{grid-column:1 / -1}.mark-group{display:flex;flex-direction:column;gap:4px}.mark-parent{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s}.mark-parent:hover{border-color:var(--border-hover)}.mark-parent-q{font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm);color:var(--fg);flex-shrink:0}.mark-parent-desc{flex:1;min-width:0;font-size:var(--text-xs);color:var(--fg-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mark-parent-total{flex-shrink:0;font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm);color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:2px 10px}.mark-parent-total.status-evaluated{color:var(--success-fg);border-color:var(--success);background:var(--success-bg)}.mark-parent-total.status-na{color:var(--info-fg);border-color:var(--info);background:var(--info-bg)}.mark-group .mark-row.is-subquestion{margin-left:18px}.mark-eo-divider{display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;color:var(--accent-fg);margin:2px 0;position:relative}.mark-eo-divider:before,.mark-eo-divider:after{content:"";flex:1;height:1px;background:var(--accent);opacity:.4;margin:0 8px}.evaluate-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end;flex:0 0 auto;padding:6px 0 2px;position:sticky;bottom:0;background:var(--surface)}.evaluate-page:fullscreen,.evaluate-page:-webkit-full-screen{width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:.5rem .75rem;background:var(--bg);overflow:hidden;display:flex;flex-direction:column}.evaluate-page:fullscreen .page-head,.evaluate-page:-webkit-full-screen .page-head{padding:.1rem .1rem .25rem;flex:0 0 auto}.evaluate-page:fullscreen .page-actions,.evaluate-page:-webkit-full-screen .page-actions{flex-wrap:wrap;row-gap:4px}.evaluate-page:fullscreen .evaluate-grid,.evaluate-page:-webkit-full-screen .evaluate-grid{flex:1 1 auto;min-height:0;height:auto}.evaluate-page:fullscreen .evaluate-pdf,.evaluate-page:-webkit-full-screen .evaluate-pdf,.evaluate-page:fullscreen .evaluate-marks,.evaluate-page:-webkit-full-screen .evaluate-marks{min-height:0;max-height:100%}.mark-badge{font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.08em;padding:2px 7px;border-radius:var(--radius-full);text-transform:uppercase}.mark-badge-pending{background:var(--accent-bg);color:var(--accent-fg)}.mark-badge-unsaved{background:var(--danger-bg);color:var(--danger-fg)}.mark-badge-saved{background:var(--success-bg);color:var(--success-fg)}.mark-row.is-na .mark-controls input[type=number]{background:var(--surface-2);color:var(--muted);font-style:italic}.marks-section{border:0;border-radius:0;margin-bottom:0;background:transparent}.marks-section+.marks-section{margin-top:0}.marks-section-head{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid var(--border);border-bottom:none;background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0}.marks-section-head.over-limit{background:var(--danger-bg);border-color:#fecdd3}.marks-section-head.at-limit{background:var(--accent-bg);border-color:#fde68a}.marks-section-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;font-size:var(--text-sm)}.marks-section-name{color:var(--fg);font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs)}.inline-check{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--fg-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.inline-check input[type=checkbox]{accent-color:var(--primary)}.q-row-head{font-weight:600;padding:4px 6px 2px}.pill-ok{background:var(--success-bg);color:var(--success-fg);border:1px solid transparent;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-family:var(--font-mono)}.pill-info-soft{background:var(--info-bg);color:var(--info-fg);border:1px solid transparent;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;margin-left:4px;font-family:var(--font-mono)}.mark-head-right{display:flex;gap:8px;align-items:center}.marks-qpicker .btn-xs{padding:2px 8px;font-size:var(--text-xs)}.marks-section-instructions{display:block;margin-top:4px;font-size:var(--text-xs);font-style:italic;color:var(--fg-soft);padding:6px 10px;border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--surface-2)}.pdf-wrap{position:relative;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none;flex:1 1 auto;min-height:0}.pdf-toolbar{display:flex;gap:10px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;position:sticky;top:0;z-index:5;flex:0 0 auto}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field>span{font-size:var(--text-xs);font-weight:600;color:var(--fg-soft);text-transform:uppercase;letter-spacing:.04em}.field select,.field textarea,.field input{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:var(--text-sm);background:var(--surface);color:var(--fg)}.field textarea{resize:vertical}.field select:focus,.field textarea:focus,.field input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-soft)}.ann-sync-chip{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:600;font-family:var(--font-body);border-radius:var(--radius-full);padding:3px 10px;border:1px solid transparent;line-height:1.2;white-space:nowrap}.ann-sync-chip.is-synced{color:var(--success-fg);background:var(--success-bg);border-color:transparent}.ann-sync-chip.is-saving{color:var(--info-fg);background:var(--info-bg);border-color:transparent}.ann-sync-chip.is-error{color:var(--danger-fg);background:var(--danger-bg);border-color:var(--danger);cursor:pointer;transition:background .15s,border-color .15s}.ann-sync-chip.is-error:hover{background:#fecdd3}.pdf-tool-group{display:flex;gap:4px;align-items:center}.pdf-tool-group input{padding:4px 7px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-mono)}.pdf-stage{position:relative;flex:1 1 auto;min-height:0;overflow:auto;background:#1f1f23;display:flex;align-items:flex-start;justify-content:center;padding:1rem}.pdf-transform{transform-origin:center top;transition:transform .15s ease}.pdf-frame{width:800px;height:calc(100vh - 260px);min-height:500px;border:0;background:#fff;box-shadow:0 4px 24px #0006}.pdf-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-30deg);pointer-events:none;font-size:48px;color:#ffffff24;font-weight:700;white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:.04em;mix-blend-mode:overlay}.pdf-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pdf-loading{color:#ccc;padding:60px;font-family:var(--font-mono);font-size:var(--text-sm)}.ann-pdf-stage{flex:1 1 auto;min-height:0;padding:4px;background:#1f1f23;overflow:hidden;display:flex;flex-direction:column}.ann-pdf-stage>.react-pdf__Document{flex:1 1 0%;min-height:0;display:flex;flex-direction:column}.ann-pdf-host{position:relative;transition:transform .15s ease}.ann-page-wrap{position:relative;display:inline-block;box-shadow:0 4px 24px #0006;max-width:100%;overflow:hidden}.ann-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;touch-action:none;cursor:crosshair}.tool-select .ann-overlay{cursor:default;pointer-events:none}.tool-select .ann-overlay svg *{pointer-events:auto;cursor:pointer}.ann-overlay svg [data-ann-stamp]{pointer-events:auto;cursor:pointer}.tool-note .ann-overlay{cursor:crosshair}.ann-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ann-tool-group{display:flex;gap:2px;padding:0 6px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.ann-tool-group .tool-label{font-size:var(--text-xs);margin-left:2px}.ann-color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid #fff;outline:1px solid var(--border);cursor:pointer;padding:0}.ann-color-swatch.is-active{outline:2px solid var(--primary);transform:scale(1.1)}.ann-legend{padding:4px 10px;font-size:var(--text-xs);border-top:1px solid var(--border);background:var(--surface-2);color:var(--fg-soft);font-family:var(--font-mono)}.ann-sep{color:var(--border);margin:0 4px;font-weight:700}.tool-tick .ann-overlay,.tool-cross .ann-overlay,.tool-black-mark .ann-overlay,.tool-blank-page .ann-overlay{cursor:cell}.tool-line .ann-overlay{cursor:crosshair}.tool-delete .ann-overlay{cursor:default;pointer-events:none}.tool-delete .ann-overlay svg *{pointer-events:auto;cursor:not-allowed}.ann-marks-popover{position:absolute;transform:translate(8px,-50%);z-index:30;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius);padding:6px 8px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:4px;min-width:180px}.ann-marks-popover-label{font-size:var(--text-xs);color:var(--fg);font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.ann-marks-popover-row{display:flex;gap:4px;align-items:center}.ann-marks-popover-row input[type=number]{flex:1 1 auto;padding:5px 7px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-mono);background:var(--surface)}.ann-marks-popover-row .btn{flex:0 0 auto;padding:4px 9px;font-size:var(--text-xs)}.ann-stamp-menu{position:absolute;transform:translate(12px,-50%);z-index:35;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px 6px;box-shadow:var(--shadow-lg);display:flex;gap:4px;align-items:center}.ann-stamp-menu .btn{padding:3px 9px;font-size:var(--text-xs)}.ann-page-strip{display:flex;gap:3px;padding:4px 8px;overflow-x:auto;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);scrollbar-width:thin}.ann-page-dot{min-width:26px;height:22px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:10px;font-weight:600;font-family:var(--font-mono);cursor:pointer;color:var(--fg-soft);transition:transform .08s ease,border-color .12s}.ann-page-dot:hover{transform:translateY(-1px);border-color:var(--border-hover)}.ann-page-dot.is-current{outline:2px solid var(--primary);outline-offset:1px}.ann-page-dot.is-reviewed{background:var(--success-bg);color:var(--success-fg);border-color:transparent}.ann-page-dot.is-reviewed:after{content:" ✓"}.ann-page-dot.is-blank,.ann-page-dot.is-rough{background:var(--info-bg);color:var(--info-fg);border-color:transparent}.ann-page-dot.is-rough:after{content:" ✎"}.ann-page-dot.is-pending{background:var(--accent-bg);color:var(--accent-fg);border-color:transparent}@media (max-width: 760px){.ann-tool-group .tool-label{display:none}.ann-pdf-stage{height:55vh}}.evaluate-pdf-layout{display:flex;align-items:stretch;gap:8px;min-width:0;min-height:0;width:100%;flex:1 1 0%}.evaluate-pdf-layout.thumbs-off{display:block}.evaluate-pdf-layout .ann-pdf-host{flex:1 1 0%;min-width:0;min-height:0;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:2px;transition:opacity .12s ease;outline:none}.evaluate-pdf-layout .ann-pdf-host>.ann-page-wrap{margin:auto}.evaluate-pdf-layout .ann-pdf-host .react-pdf__Page{transition:opacity .18s ease;max-width:100%}.evaluate-pdf-layout .ann-pdf-host .react-pdf__Page canvas{display:block;max-width:100%;height:auto!important}.pdf-thumbs{display:flex;flex-direction:column;width:150px;flex:0 0 150px;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px;overflow:hidden;align-self:stretch}.pdf-thumbs-head{font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:2px 4px 8px;border-bottom:1px solid var(--border);margin-bottom:6px;flex:0 0 auto;font-family:var(--font-mono);color:var(--fg-soft);font-weight:600}.pdf-thumbs-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding:2px 4px 2px 2px;scrollbar-width:thin;scroll-behavior:smooth;overscroll-behavior:contain}.pdf-thumbs-list::-webkit-scrollbar{width:8px}.pdf-thumbs-list::-webkit-scrollbar-track{background:transparent}.pdf-thumbs-list::-webkit-scrollbar-thumb{background:var(--muted-soft);border-radius:4px}.pdf-thumbs-list::-webkit-scrollbar-thumb:hover{background:var(--muted)}.pdf-thumb{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:transform .08s ease,border-color .12s ease,background .12s;width:100%}.pdf-thumb:hover{transform:translateY(-1px);border-color:var(--border-hover)}.pdf-thumb.is-current{border-color:var(--primary);box-shadow:0 0 0 2px #18181b14}.pdf-thumb.is-reviewed{background:var(--success-bg);border-color:transparent}.pdf-thumb.is-blank,.pdf-thumb.is-rough{background:var(--info-bg);border-color:transparent}.pdf-thumb.is-pending{background:var(--accent-bg);border-color:transparent}.pdf-thumb.is-current{border-color:var(--primary);outline:2.5px solid var(--primary);outline-offset:1px;box-shadow:0 0 0 3px #2563eb38;position:relative;z-index:1}.pdf-thumb-canvas{position:relative;width:100%;aspect-ratio:1 / 1.414;background:var(--surface-2);overflow:hidden;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.pdf-thumb-canvas canvas,.pdf-thumb-canvas .react-pdf__Page{max-width:100%;height:auto!important}.pdf-thumb-placeholder{width:100%;height:100%;background:repeating-linear-gradient(-45deg,var(--surface-2) 0 6px,var(--surface-3) 6px 12px)}.pdf-thumb-placeholder-error{background:var(--danger-bg);color:var(--danger-fg);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-family:var(--font-mono)}.pdf-thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.pdf-thumb-overlay-blank{background:#0284c71a}.pdf-thumb-overlay-blank span{background:var(--info);color:#fff;font-size:9px;font-weight:600;letter-spacing:.08em;padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.pdf-thumb-overlay-rough{background:#0284c71a}.pdf-thumb-overlay-rough span{background:var(--info);color:#fff;font-size:9px;font-weight:600;letter-spacing:.08em;padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.pdf-thumb-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 2px;font-size:10px;color:var(--fg-soft);font-family:var(--font-mono)}.pdf-thumb-number{font-weight:600}.pdf-thumb-count{background:var(--fg);color:var(--surface);border-radius:var(--radius-full);padding:0 6px;font-size:9px;min-width:14px;text-align:center;font-family:var(--font-mono)}.pdf-thumb-badge.is-reviewed{color:var(--success);font-weight:700}.pdf-thumb-badge.is-blank{color:var(--info)}.pdf-thumb-badge.is-rough{color:var(--info);font-weight:700}.pdf-thumb-badge.is-pending{color:var(--accent)}@media (max-width: 1100px){.evaluate-pdf-layout{flex-direction:column}.pdf-thumbs{width:100%;flex:0 0 auto;max-height:150px}.pdf-thumbs-list{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.pdf-thumb{width:100px;flex:0 0 100px}.pdf-thumbs-head{border-bottom:none;padding-bottom:2px}}.readiness-panel{margin:10px 0 14px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);background:var(--surface-2)}.readiness-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:var(--text-sm);font-weight:600}.readiness-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs)}.readiness-item{display:flex;align-items:center;gap:8px;padding:3px 0;color:var(--fg-soft)}.readiness-item.is-ok .readiness-icon{color:var(--success);font-weight:700}.readiness-item.is-blocked{color:var(--accent-fg)}.readiness-item.is-blocked .readiness-icon{color:var(--accent);font-weight:700}.readiness-reasons{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.summary-card{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--surface-2)}.summary-card-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-soft);margin-bottom:4px;font-family:var(--font-mono);font-weight:600}.summary-card-body{font-size:var(--text-base);line-height:1.5;color:var(--fg)}.summary-card-body strong{font-family:var(--font-mono);font-weight:600}.summary-section{margin:12px 0}.summary-section-title{font-weight:600;margin-bottom:6px;font-size:var(--text-sm)}.summary-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.summary-table th,.summary-table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left}.summary-table thead th{background:var(--surface-2);font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-soft);font-size:10px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:8px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;position:relative;overflow:hidden;transition:border-color .15s,transform .1s}.kpi-card:hover{border-color:var(--border-hover)}.kpi-card.kpi-good:before,.kpi-card.kpi-warn:before{display:none}.kpi-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-soft);margin-bottom:8px;font-family:var(--font-mono);font-weight:600}.kpi-value{font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:500;color:var(--fg);letter-spacing:-.02em;line-height:1}.kpi-card.kpi-good .kpi-value{color:var(--success)}.kpi-card.kpi-warn .kpi-value{color:var(--accent)}.report-progress{position:relative;height:18px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.report-progress-fill{position:absolute;inset:0 auto 0 0;background:var(--fg);transition:width .2s ease}.report-progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:10px;color:var(--fg);font-weight:600;font-family:var(--font-mono);mix-blend-mode:difference}.review-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}.review-item{border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius);padding:9px 12px;background:var(--surface)}.review-item.review-approved{border-left-color:var(--success)}.review-item.review-returned{border-left-color:var(--accent)}.review-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:var(--text-xs);color:var(--fg-soft);font-family:var(--font-mono)}.variance-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:10px}.variance-card.is-high{border-left:4px solid var(--danger)}.variance-head{display:flex;justify-content:space-between;margin-bottom:8px;align-items:center;flex-wrap:wrap;gap:8px}.variance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.variance-cell{padding:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;text-align:left;cursor:pointer;transition:border-color .15s,transform .1s;font:inherit;color:inherit;font-family:var(--font-body);position:relative;overflow:hidden}.tile:hover{border-color:var(--border-hover);transform:translateY(-1px)}.tile-active{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 2px var(--primary) inset,var(--shadow-sm)}.tile-value{font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:500;letter-spacing:-.02em;line-height:1;color:var(--fg)}.tile-label{font-size:11px;color:var(--fg-soft);letter-spacing:.04em;margin-top:8px;font-family:var(--font-mono);font-weight:600}@media print{.no-print,.no-print *{display:none!important}body:after{content:"Printing is disabled for evaluation documents.";position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:24px}}.force-banner{background:var(--accent-bg);color:var(--accent-fg);padding:8px 16px;display:flex;gap:12px;align-items:center;border-bottom:1px solid #fde68a;font-size:var(--text-sm);position:sticky;top:0;z-index:25}.force-banner .btn{margin-left:auto}.geo-gate-card{max-width:520px;margin:4rem auto 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}.geo-gate-card h1{font-size:var(--text-xl);margin:0;letter-spacing:-.02em}.geo-gate-card p{margin:0;color:var(--fg-soft);font-size:var(--text-sm)}.geo-gate-card small{color:var(--muted);font-size:var(--text-xs)}.geo-gate-actions{display:flex;gap:8px}.integrity-page{display:flex;flex-direction:column;gap:1rem}.integrity-filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.integrity-filters .form-field{display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-soft)}.integrity-filters input,.integrity-filters select{padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--surface);color:var(--fg);font-family:var(--font-body);font-weight:400;text-transform:none;letter-spacing:normal}.integrity-kpi-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 600px){.integrity-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.integrity-kpi-grid{grid-template-columns:repeat(4,1fr)}}.integrity-kpi-grid .kpi-card.kpi-danger .kpi-value{color:var(--danger)}.integrity-kpi-grid .kpi-card.kpi-warn .kpi-value{color:var(--accent)}.integrity-kpi-grid .kpi-card.kpi-info .kpi-value{color:var(--info)}.integrity-trend{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;display:flex;flex-direction:column;gap:10px}.integrity-trend-head{display:flex;justify-content:space-between;align-items:baseline}.integrity-trend-head h3{margin:0;font-size:var(--text-md)}.integrity-trend-head .muted{font-size:var(--text-xs);font-family:var(--font-mono)}.integrity-trend-chart{display:flex;align-items:flex-end;gap:4px;height:120px;padding:8px 0 4px;border-bottom:1px solid var(--border)}.integrity-trend-bar{flex:1 1 0;min-width:8px;background:var(--fg);border-radius:3px 3px 0 0;transition:opacity .15s;position:relative}.integrity-trend-bar:hover{opacity:.8}.integrity-trend-bar:after{content:attr(data-value);position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:10px;color:var(--fg-soft);font-family:var(--font-mono);opacity:0;transition:opacity .1s;white-space:nowrap}.integrity-trend-bar:hover:after{opacity:1}.integrity-trend-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);font-family:var(--font-mono)}.integrity-trend-empty{display:grid;place-items:center;height:120px;color:var(--muted);font-size:var(--text-sm)}.integrity-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden}.integrity-section-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.integrity-section-head h3{margin:0;font-size:var(--text-md)}.integrity-section-head .muted{font-size:var(--text-xs);font-family:var(--font-mono)}.severity-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-mono)}.severity-pill.is-high{background:var(--danger-bg);color:var(--danger-fg)}.severity-pill.is-medium{background:var(--accent-bg);color:var(--accent-fg)}.severity-pill.is-low{background:var(--surface-3);color:var(--fg-soft)}.type-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:600;letter-spacing:.04em;font-family:var(--font-mono);background:var(--surface-2);color:var(--fg);border:1px solid var(--border)}.type-pill.is-ip{background:var(--primary-soft);color:var(--primary-hover);border-color:transparent}.type-pill.is-loc{background:#fee2e2;color:var(--danger-fg);border-color:transparent}.type-pill.is-multi{background:#fce7f3;color:#831843;border-color:transparent}.type-pill.is-dev{background:#e0f2fe;color:var(--info-fg);border-color:transparent}.type-pill.is-browser{background:#ede9fe;color:#5b21b6;border-color:transparent}.severity-breakdown{display:flex;gap:16px;padding:14px 16px}.severity-breakdown-cell{display:flex;flex-direction:column;gap:2px}.severity-breakdown-cell .v{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:600;color:var(--fg)}.severity-breakdown-cell .v.is-high{color:var(--danger)}.severity-breakdown-cell .v.is-medium{color:var(--accent)}.severity-breakdown-cell .v.is-low{color:var(--muted)}.severity-breakdown-cell .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono);color:var(--muted)}.examiner-trend-bar-cell{display:flex;align-items:center;gap:8px}.examiner-trend-bar{flex:1;height:6px;background:var(--surface-2);border-radius:var(--radius-full);overflow:hidden;min-width:60px;max-width:160px}.examiner-trend-bar>span{display:block;height:100%;background:var(--danger);border-radius:var(--radius-full)}.upload-progress{width:100%;height:4px;background:var(--surface-2);border-radius:var(--radius-full);overflow:hidden;margin-top:4px}.upload-progress>span{display:block;height:100%;background:var(--primary);transition:width .18s ease}.ann-page-prefetch{position:absolute;left:-99999px;top:0;width:0;height:0;overflow:hidden;pointer-events:none}.auth-shell:has(.login-split){padding:0;background:transparent}.auth-shell:has(.login-split):before{display:none}.login-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);min-height:100vh;width:100%}@media (max-width: 900px){.login-split{grid-template-columns:1fr}.login-brand{display:none}}.login-brand{background:radial-gradient(circle at 12% 8%,#3b82f6 0%,transparent 40%),radial-gradient(circle at 88% 92%,#1e3a8a 0%,transparent 45%),linear-gradient(135deg,#60a5fa,#3b82f6 30%,#2563eb 62%,#1d4ed8);color:#f8fafc;padding:2.5rem 3rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18) 0%,transparent 35%),radial-gradient(circle at 70% 80%,rgba(30,58,138,.18) 0%,transparent 45%);pointer-events:none}.login-brand:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.7) 50%,transparent 100%);opacity:.55}.login-brand>*{position:relative;z-index:1}.login-brand-blob{position:absolute;border-radius:50%;filter:blur(.5px);opacity:.85;pointer-events:none}.login-brand-blob-tl{width:220px;height:220px;top:-90px;left:-90px;background:radial-gradient(circle,#93c5fd 0%,#3b82f6 70%,transparent 100%)}.login-brand-blob-br{width:360px;height:360px;bottom:-160px;right:-160px;background:radial-gradient(circle,#3b82f6 0%,#1e40af 65%,transparent 100%)}.login-brand-blob-bl{width:140px;height:140px;bottom:140px;left:-70px;background:radial-gradient(circle,#60a5fa 0%,transparent 75%);opacity:.6}.login-brand-mark{display:flex;align-items:center;gap:10px;font-family:var(--font-heading);font-weight:700;font-size:18px;letter-spacing:-.02em;color:#f8fafc}.login-brand-dot{width:10px;height:10px;background:#93c5fd;border-radius:50%;box-shadow:0 0 0 3px #93c5fd40}.login-brand-name{color:#f8fafc;letter-spacing:.02em}.login-brand-body{display:flex;flex-direction:column;gap:1.5rem;max-width:520px}.login-brand-body h2{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:#fff;margin:0}.login-brand-body>p{color:#ffffffd9;font-size:1rem;line-height:1.55;margin:0;max-width:420px}.login-brand-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.18)}.login-brand-features li{display:flex;gap:1.2rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.18)}.login-brand-feature-num{font-family:var(--font-mono);font-size:11px;color:#bfdbfe;letter-spacing:.1em;font-weight:700;flex:0 0 24px;padding-top:2px}.login-brand-features li>div{display:flex;flex-direction:column;gap:2px}.login-brand-features strong{font-size:14px;color:#fff;font-weight:700;letter-spacing:-.005em}.login-brand-features span{font-size:13px;color:#ffffffc7;line-height:1.45}.login-brand-foot{color:#ffffffd9;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.login-brand-pill{display:inline-flex;align-items:center;gap:8px;background:#ffffff24;color:#f8fafc;padding:.55rem 1rem;border-radius:999px;font-weight:600}.login-brand-pill-dot{color:#86efac;font-size:9px}.login-pane{display:flex;align-items:center;justify-content:center;background:#f3f6fc;padding:2rem;border-left:1px solid rgba(37,99,235,.12);position:relative;overflow:hidden}.login-pane:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 90% 0%,rgba(37,99,235,.12) 0%,transparent 38%),radial-gradient(circle at 10% 100%,rgba(29,78,216,.08) 0%,transparent 40%);pointer-events:none}.login-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.1rem;background:transparent;border:none;box-shadow:none;padding:0;position:relative;z-index:1}.login-card-head{display:flex;flex-direction:column;gap:6px;margin-bottom:.5rem}.login-card-logo{display:flex;justify-content:center;margin:0 0 1rem}.login-card-logo img{height:96px;width:auto;max-width:100%;filter:drop-shadow(0 4px 12px rgba(37,99,235,.18));object-fit:contain}.login-card-head h1{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.025em;margin:0;color:var(--fg)}.login-card-head p{color:var(--fg-soft);font-size:var(--text-sm);margin:0;line-height:1.5}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-family:var(--font-mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-soft)}.login-field-row{display:flex;justify-content:space-between;align-items:baseline}.login-forgot{font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--primary);text-decoration:none;text-transform:uppercase;letter-spacing:.06em;border-bottom:none;transition:color .15s}.login-forgot:hover{color:var(--primary-hover);border-bottom:none}.login-field input{padding:.85rem .95rem;border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);background:#fff;color:var(--fg);font-family:var(--font-body);transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.login-field input::placeholder{color:var(--muted)}.login-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb2e;background:#fff}.login-submit{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#3b82f6,#2563eb,#1d4ed8);color:#fff;border:1px solid transparent;padding:.9rem;border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 6px 18px -8px #2563eb8c;transition:background .2s,transform .06s,gap .15s,box-shadow .2s;margin-top:.25rem}.login-submit:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8,#1e40af);gap:12px;box-shadow:0 10px 24px -8px #2563eba6}.login-submit:active:not(:disabled){transform:scale(.99)}.login-submit:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb59}.login-submit:disabled{opacity:.55;cursor:wait}.login-submit-arrow{transition:transform .15s}.login-submit:hover:not(:disabled) .login-submit-arrow{transform:translate(4px)}.login-foot{font-size:var(--text-xs);color:var(--muted);text-align:center;margin:.5rem 0 0}.login-pane .auth-error{background:#fef2f2;color:#991b1b;padding:.6rem .75rem;font-size:var(--text-sm);border-radius:var(--radius);border:1px solid #fecaca}.exec-page{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}.exec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid var(--border)}.exec-greeting h1{font-family:Manrope,system-ui,sans-serif;font-weight:700;font-size:30px;letter-spacing:-.02em;margin:.25rem 0 .35rem;color:var(--fg)}.exec-greeting p{margin:0;font-size:var(--text-sm)}.exec-eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--fg-soft);text-transform:uppercase}.exec-head-actions{display:flex;gap:.5rem}.exec-head-actions .btn{background:var(--fg);color:var(--surface);border:1px solid var(--fg);padding:.55rem 1rem;border-radius:var(--radius);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:all .15s}.exec-head-actions .btn:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.exec-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}@media (max-width: 1100px){.exec-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.exec-hero-grid{grid-template-columns:1fr}}.exec-hero-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.25rem 1.15rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.4rem;transition:transform .15s,box-shadow .15s}.exec-hero-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.exec-hero-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary)}.exec-hero-primary:before{background:var(--info)}.exec-hero-success:before{background:var(--success)}.exec-hero-warn:before{background:var(--accent)}.exec-hero-danger:before{background:var(--danger)}.exec-hero-info:before{background:var(--info)}.exec-hero-label{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--fg-soft);text-transform:uppercase}.exec-hero-value{font-family:Manrope,system-ui,sans-serif;font-weight:700;font-size:36px;letter-spacing:-.02em;color:var(--fg);line-height:1.05}.exec-hero-sub{font-size:var(--text-xs);margin-top:2px}.exec-hero-progress{margin-top:.5rem;height:4px;background:var(--surface-2);border-radius:4px;overflow:hidden}.exec-hero-progress>span{display:block;height:100%;background:var(--success);transition:width .4s ease}.exec-hero-warn .exec-hero-value{color:var(--accent-fg)}.exec-hero-danger .exec-hero-value{color:var(--danger)}.exec-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}@media (max-width: 1100px){.exec-panels{grid-template-columns:1fr}}.exec-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.15rem 1rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-xs)}.exec-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.exec-panel-head h3{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.exec-panel-head p{margin:2px 0 0;font-size:var(--text-xs)}.exec-panel-body{display:flex;flex-direction:column;gap:.55rem;flex:1}.exec-panel-foot{padding-top:.55rem;border-top:1px dashed var(--border)}.exec-panel-link{font-size:var(--text-xs);font-weight:600;color:var(--fg);text-decoration:none;border-bottom:none}.exec-panel-link:hover{color:var(--primary-hover)}.exec-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.08em;padding:4px 8px;border-radius:var(--radius-full);text-transform:uppercase}.exec-pill-live{background:#ecfdf5;color:var(--success)}.exec-pill-ok{background:var(--success-bg);color:var(--success)}.exec-pill-danger{background:var(--danger-bg);color:var(--danger)}.exec-pill-info{background:var(--info-bg);color:var(--info-fg)}.exec-stat{display:flex;align-items:center;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--surface-2)}.exec-stat:last-child{border-bottom:none}.exec-stat-label{font-size:var(--text-xs);color:var(--fg-soft);font-weight:500}.exec-stat-value{font-family:Manrope,system-ui,sans-serif;font-size:18px;font-weight:700;color:var(--fg);letter-spacing:-.01em}.exec-stat-mono .exec-stat-value{font-family:JetBrains Mono,ui-monospace,monospace;font-size:15px}.exec-stat-good .exec-stat-value{color:var(--success)}.exec-stat-warn .exec-stat-value{color:var(--accent-fg)}.exec-stat-danger .exec-stat-value{color:var(--danger)}.exec-stat-info .exec-stat-value{color:var(--info-fg)}.exec-spark{display:flex;align-items:flex-end;gap:3px;height:64px;padding:4px 0;border-bottom:1px dashed var(--border)}.exec-spark-bar{flex:1;min-width:4px;background:var(--primary);border-radius:2px 2px 0 0;opacity:.85;transition:opacity .15s,transform .15s}.exec-spark-bar:hover{opacity:1;transform:scaleY(1.04)}.exec-quality-cells{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:.25rem}.exec-quality-cell{display:flex;flex-direction:column;align-items:center;padding:.5rem .25rem;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border)}.exec-quality-cell .lbl{font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--fg-soft);text-transform:uppercase}.exec-quality-cell .v{font-family:Manrope,system-ui,sans-serif;font-size:18px;font-weight:700;color:var(--fg);margin-top:2px}.exec-empty{display:flex;align-items:center;justify-content:center;min-height:64px;padding:1rem;font-size:var(--text-xs);color:var(--fg-soft);background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius)}.exec-progress{display:flex;flex-direction:column;gap:6px;padding:.25rem 0}.exec-progress-track{height:8px;background:var(--surface-2);border-radius:var(--radius-full);overflow:hidden}.exec-progress-track>span{display:block;height:100%;background:linear-gradient(90deg,var(--success) 0%,#34d399 100%);transition:width .5s ease}.exec-progress-labels{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--fg)}.exec-progress-labels b{font-family:Manrope,system-ui,sans-serif;font-weight:700;color:var(--fg)}.exec-section{display:flex;flex-direction:column;gap:.75rem}.exec-section-head h3{margin:0;font-size:15px;font-weight:600;color:var(--fg);letter-spacing:-.01em}.exec-section-head p{margin:2px 0 0;font-size:var(--text-xs)}.exec-funnel{display:flex;flex-direction:column;gap:.5rem}.exec-funnel-row{display:grid;grid-template-columns:140px 1fr 110px;align-items:center;gap:.75rem}.exec-funnel-label{font-size:var(--text-sm);font-weight:600;color:var(--fg);text-align:right}.exec-funnel-bar-wrap{background:var(--surface-2);border-radius:var(--radius);height:32px;overflow:hidden}.exec-funnel-bar{height:100%;background:linear-gradient(90deg,var(--info) 0%,var(--primary) 100%);display:flex;align-items:center;padding:0 .75rem;border-radius:var(--radius);min-width:60px;transition:width .6s ease}.exec-funnel-count{font-family:Manrope,system-ui,sans-serif;font-weight:700;color:var(--surface);font-size:14px;letter-spacing:-.01em}.exec-funnel-drop{font-size:var(--text-xs);font-family:JetBrains Mono,ui-monospace,monospace;color:var(--fg-soft)}.exec-funnel-drop.is-drop{color:var(--accent-fg);font-weight:600}.ops-aging-table,.ops-bot-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs)}.ops-aging-table table,.ops-bot-table table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ops-aging-table th,.ops-bot-table th{background:var(--surface-2);text-align:left;padding:.7rem 1rem;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--fg-soft);text-transform:uppercase;border-bottom:1px solid var(--border)}.ops-aging-table td,.ops-bot-table td{padding:.75rem 1rem;border-bottom:1px solid var(--surface-2);vertical-align:middle}.ops-aging-table tr:last-child td,.ops-bot-table tr:last-child td{border-bottom:none}.ops-aging-table .row-label,.ops-bot-table .row-label{font-weight:600;color:var(--fg)}.ops-aging-table .num,.ops-bot-table .num{font-family:Manrope,system-ui,sans-serif;font-weight:600;font-size:15px;text-align:right}.ops-aging-table .num.mono,.ops-bot-table .num.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px}.ops-aging-table .num.warn,.ops-bot-table .num.warn{color:var(--accent-fg)}.ops-aging-table .num.danger,.ops-bot-table .num.danger{color:var(--danger)}.ops-aging-table .num.strong{font-weight:800;color:var(--fg)}.ops-aging-table .danger-col{color:var(--danger)}.ops-aging-table tbody tr:hover,.ops-bot-table tbody tr:hover{background:var(--surface-2)}.ops-action-link{font-size:var(--text-sm);font-weight:600;color:var(--fg);text-decoration:none;border:1px solid var(--border);padding:.35rem .7rem;border-radius:var(--radius);transition:all .15s}.ops-action-link:hover{background:var(--fg);color:var(--surface);border-color:var(--fg)}.quality-hist{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;align-items:stretch;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.quality-hist-col{display:flex;flex-direction:column;align-items:center;gap:.5rem}.quality-hist-bar-wrap{width:100%;height:180px;display:flex;align-items:flex-end;background:var(--surface-2);border-radius:var(--radius-sm);padding:6px}.quality-hist-bar{width:100%;background:linear-gradient(180deg,var(--primary) 0%,var(--info) 100%);border-radius:4px 4px 0 0;min-height:4px;display:flex;align-items:flex-start;justify-content:center;padding-top:4px;transition:height .6s ease}.quality-hist-count{font-family:Manrope,system-ui,sans-serif;font-weight:700;color:var(--surface);font-size:12px}.quality-hist-label{font-size:11px;font-weight:600;color:var(--fg-soft);letter-spacing:.04em}.readiness-hero{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);align-items:center}@media (max-width: 760px){.readiness-hero{grid-template-columns:1fr}}.readiness-gauge{display:flex;align-items:center;justify-content:center}.readiness-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.readiness-stat{display:flex;flex-direction:column;gap:2px;padding:.75rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.readiness-stat-value{font-family:Manrope,system-ui,sans-serif;font-weight:700;font-size:24px;color:var(--fg);letter-spacing:-.02em}.readiness-stat-label{font-size:11px;color:var(--fg-soft);letter-spacing:.04em;text-transform:uppercase}.readiness-stat.tone-good .readiness-stat-value{color:var(--success)}.readiness-stat.tone-warn .readiness-stat-value{color:var(--accent-fg)}.readiness-stat.tone-danger .readiness-stat-value{color:var(--danger)}.readiness-gates{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.gate{display:grid;grid-template-columns:32px 1fr 220px 200px;align-items:center;gap:1rem;padding:.8rem 1.2rem;border-bottom:1px solid var(--surface-2)}.gate:last-child{border-bottom:none}.gate-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--fg-soft);font-weight:700}.gate-done .gate-icon{background:var(--success-bg);color:var(--success)}.gate-label{font-weight:600;color:var(--fg);font-size:var(--text-sm)}.gate-meta{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--fg-soft);text-align:right}.gate-done .gate-meta{color:var(--success)}.gate-bar{height:6px;background:var(--surface-2);border-radius:var(--radius-full);overflow:hidden}.gate-bar-fill{display:block;height:100%;background:var(--success);transition:width .4s}.gate-pending .gate-bar-fill{background:var(--accent)}@media (max-width: 760px){.gate{grid-template-columns:28px 1fr}.gate-meta,.gate-bar{grid-column:1 / -1}}.rsub-cell{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.rsub-bar{width:100px;height:4px;background:var(--surface-2);border-radius:4px;overflow:hidden}.rsub-bar>span{display:block;height:100%;background:var(--success);transition:width .4s}.rsub-cell .warn{color:var(--accent-fg)}.rsub-cell .good{color:var(--success)}.geo-chip{display:inline-flex;align-items:center;gap:6px;margin-left:.75rem;padding:2px 8px 2px 6px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--fg-soft);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);vertical-align:middle}.geo-chip-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:geo-chip-pulse 1.2s ease-in-out infinite}@keyframes geo-chip-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.rbac-grid{display:grid;grid-template-columns:280px 1fr;gap:1.25rem;align-items:start}.rbac-roles{display:flex;flex-direction:column;gap:6px}.rbac-role{display:flex;flex-direction:column;gap:3px;text-align:left;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.rbac-role:hover{border-color:var(--fg-soft)}.rbac-role.active{border-color:var(--fg);background:var(--surface-2)}.rbac-role-name{font-weight:600;font-size:var(--text-sm);display:flex;align-items:center;gap:6px}.rbac-role-meta{font-size:11px}.rbac-detail{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.25rem}.rbac-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:1rem;flex-wrap:wrap}.rbac-detail-actions{display:flex;gap:8px;flex-shrink:0}.rbac-perms{display:flex;flex-direction:column;gap:4px}.rbac-perm{display:flex;align-items:flex-start;gap:11px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.rbac-perm:hover{background:var(--surface-2)}.rbac-perm input[type=checkbox]{margin-top:3px;width:16px;height:16px;flex-shrink:0;cursor:pointer}.rbac-perm-text{display:flex;flex-direction:column;line-height:1.3}.rbac-perm-name{font-weight:500;font-size:var(--text-sm)}.rbac-perm-desc{font-size:12px}.rbac-group{border:1px solid var(--border);border-radius:var(--radius);margin:6px 0;overflow:hidden}.rbac-group-head{background:var(--surface-2);border-radius:0}.rbac-group-head .rbac-perm-name{font-weight:700}.rbac-group-children{display:flex;flex-direction:column;gap:2px;padding:4px 4px 6px 22px}@media (max-width: 820px){.rbac-grid{grid-template-columns:1fr}}.rbac-group-caret{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;color:var(--fg-soft);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0;padding:0}.rbac-group-caret:hover{background:var(--surface);color:var(--fg)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.sb-wrap{display:grid;grid-template-columns:320px 1fr;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.sb-sections{border-right:1px solid var(--border);padding:16px;background:var(--surface-2);display:flex;flex-direction:column;gap:10px}.sb-rail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.sb-rail-head strong{font-family:var(--font-heading);font-size:var(--text-md);letter-spacing:-.01em}.sb-section-form{border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:4px;background:var(--surface);display:grid;gap:12px;box-shadow:var(--shadow-xs)}.sb-field{display:flex;flex-direction:column;gap:5px}.sb-field>span{font-size:var(--text-xs);font-weight:600;color:var(--fg-soft);text-transform:uppercase;letter-spacing:.04em}.sb-field input[type=text],.sb-field input[type=number],.sb-field input:not([type]),.sb-field textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:var(--text-sm);background:var(--surface);color:var(--fg);transition:border-color .15s,box-shadow .15s}.sb-field input:focus,.sb-field textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-soft)}.sb-field textarea{resize:vertical;min-height:52px}.sb-form-actions{display:flex;gap:8px;align-items:center;margin-top:2px}.sb-secitem{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;font:inherit}.sb-secitem:hover{border-color:var(--border-hover);background:var(--surface)}.sb-secitem.is-active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.sb-secitem-title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:var(--text-sm);color:var(--fg)}.sb-secitem-meta{display:block;margin-top:3px;font-size:var(--text-xs);color:var(--fg-soft)}.sb-secitem-count{font-size:var(--text-xs);font-weight:600;color:var(--muted);background:var(--surface-2);border-radius:var(--radius-full);padding:2px 9px}.sb-secitem.is-active .sb-secitem-count{background:var(--primary-soft);color:var(--fg-soft)}.sb-icon-del{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background .15s;padding:0}.sb-icon-del:hover:not(:disabled){color:var(--danger);background:var(--danger-bg)}.sb-icon-del:disabled{opacity:.35;cursor:not-allowed}.sb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.sb-icon-btn:hover:not(:disabled){color:var(--fg);background:var(--surface-2);border-color:var(--border)}.sb-icon-btn:disabled{opacity:.3;cursor:not-allowed}.sb-secitem-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.sb-eo-connector{display:flex;justify-content:center;padding:2px 0}.sb-eo-link{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:600;color:var(--muted);background:transparent;border:1px dashed var(--border);border-radius:var(--radius-full);padding:2px 12px;cursor:pointer;opacity:.7;transition:color .15s,border-color .15s,background .15s,opacity .15s}.sb-eo-link:hover{color:var(--accent-fg);border-color:var(--accent);background:var(--accent-bg);opacity:1}.sb-eo-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;color:var(--accent-fg);background:var(--accent-bg);border:1px solid var(--accent);border-radius:var(--radius-full);padding:2px 6px 2px 12px}.sb-eo-badge button{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;cursor:pointer;color:var(--accent-fg);background:transparent;border-radius:var(--radius-full)}.sb-eo-badge button:hover{background:#00000014}.sb-qgroup.is-eo{border-color:var(--accent)}.sb-form-title{font-weight:700;font-size:var(--text-sm);color:var(--fg);margin-bottom:2px}.sb-questions{padding:20px 22px;display:flex;flex-direction:column;gap:14px}.sb-pane-head{display:flex;justify-content:space-between;align-items:center}.sb-pane-head strong{font-family:var(--font-heading);font-size:var(--text-lg);letter-spacing:-.01em}.sb-section-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.sb-section-settings .sb-field{gap:6px}.sb-section-settings .sb-instructions{grid-column:1 / -1}.sb-qhead{display:grid;grid-template-columns:32px 84px 1fr 96px 64px 150px;gap:10px;align-items:center;padding:0 4px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.sb-qhead span:nth-child(4),.sb-qhead span:nth-child(5){text-align:center}.sb-qlist{display:flex;flex-direction:column;gap:8px}.sb-qgroup{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.sb-qgroup.has-children{background:var(--surface-2)}.sb-qrow{display:grid;grid-template-columns:32px 84px 1fr 96px 64px 150px;gap:10px;align-items:center;padding:6px;border-radius:var(--radius-sm)}.sb-qrow.is-child{grid-template-columns:32px 84px 1fr 96px 64px 150px;position:relative;margin-left:18px;padding-left:22px;background:var(--surface);border:1px dashed var(--border)}.sb-qrow.is-child .sb-child-icon{position:absolute;left:4px;color:var(--muted);display:inline-flex}.sb-qrow input[type=text],.sb-qrow input[type=number],.sb-qrow input:not([type]){width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px;font:inherit;font-size:var(--text-sm);background:var(--surface);color:var(--fg);transition:border-color .15s,box-shadow .15s}.sb-qrow input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-soft)}.sb-qrow input:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.sb-qnum{font-weight:600;font-family:var(--font-mono)}.sb-qmax{text-align:center}.sb-row-end{display:flex;align-items:center;justify-content:flex-end;gap:6px}.sb-reorder{display:flex;flex-direction:column;align-items:center;gap:2px}.sb-reorder .sb-icon-btn{padding:1px 4px}.sb-compulsory{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:600;color:var(--fg-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.sb-compulsory input{margin:0;accent-color:var(--primary);cursor:pointer}.sb-addsub{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;font-size:var(--text-xs);font-weight:500;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg-soft);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.sb-addsub:hover{border-color:var(--border-hover);color:var(--fg);background:var(--surface-2)}.device-subcards{display:grid;gap:12px}.subcard{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface-2)}.subcard h4{margin:0 0 8px;font-size:var(--text-sm);font-weight:600}.sb-row-tools{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.sb-eo-btn{white-space:nowrap}.sb-eo-btn.is-active{border-color:var(--accent, var(--primary));color:var(--accent-fg, var(--primary));background:var(--accent-bg, var(--primary-soft))}.sb-empty{padding:28px;text-align:center;color:var(--muted);font-size:var(--text-sm);border:1px dashed var(--border);border-radius:var(--radius)}.sb-errors{margin-top:4px;display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:1px solid var(--danger-bg);background:var(--danger-bg);border-radius:var(--radius)}.sb-errors>div{display:flex;gap:7px;align-items:center;font-size:var(--text-sm);color:var(--danger-fg)}.sb-tipwrap{position:relative;display:inline-flex;align-items:center}.sb-tip-bubble{position:absolute;bottom:calc(100% + 9px);right:0;width:max-content;max-width:250px;background:#1f2937;color:#fff;font-size:var(--text-xs);font-weight:500;line-height:1.4;text-align:left;white-space:normal;padding:8px 11px;border-radius:10px;box-shadow:0 8px 24px #00000038;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:60}.sb-tip-bubble:after{content:"";position:absolute;top:100%;right:16px;border:6px solid transparent;border-top-color:#1f2937}.sb-tipwrap:hover .sb-tip-bubble,.sb-tipwrap.is-open .sb-tip-bubble{opacity:1;transform:translateY(0)}.sb-tip-bubble.danger{background:#dc2626}.sb-tip-bubble.danger:after{border-top-color:#dc2626}.sb-addsub.is-disabled{opacity:.45;cursor:not-allowed}.sb-subattempt{display:flex;align-items:center;gap:6px;margin:2px 0 6px 40px;padding:5px 10px;font-size:var(--text-xs);color:var(--fg-soft);background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius-sm);width:fit-content}.sb-subattempt em{color:var(--muted);font-style:italic}.sb-subattempt-input{width:56px;text-align:center;padding:3px 6px!important;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);background:var(--surface);color:var(--fg)}.sb-err-ico{display:inline-flex;align-items:center;color:#dc2626;cursor:help}.sb-qrow.has-error .sb-qmax{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626}@media (max-width: 860px){.sb-wrap{grid-template-columns:1fr}.sb-sections{border-right:none;border-bottom:1px solid var(--border)}.sb-qhead{display:none}.sb-qrow,.sb-qrow.is-child{grid-template-columns:28px 70px 1fr 70px}.sb-qrow .sb-compulsory,.sb-qrow .sb-addsub{display:none}.sb-section-settings{grid-template-columns:1fr}}
