:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--surface-muted:#f7f7f8;--surface-hover:#f3f4f6;--text:#202123;--text-muted:#6f6f78;--text-soft:#9ca3af;--border:#e5e5e5;--border-strong:#d8d8d8;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eff6ff;--success:#15803d;--danger:#b42318;--check-opacity-dur:.5s;--check-rotate-dur:.5s;--check-rotate-from:80deg;--check-bob-dur:.5s;--check-y-amount:20px;--check-blur-dur:.5s;--check-blur-from:8px;--check-path-dur:.5s;--check-path-delay:80ms;--check-ease-out:cubic-bezier(.22, 1, .36, 1);--check-ease-opacity:cubic-bezier(.22, 1, .36, 1);--check-ease-rotate:cubic-bezier(.22, 1, .36, 1);--check-ease-bob:cubic-bezier(.34, 1.35, .64, 1);--check-ease-path:cubic-bezier(.22, 1, .36, 1);--shake-distance:6px;--shake-overshoot:4px;--shake-dur-a:80ms;--shake-dur-b:60ms;--shake-ease:cubic-bezier(.22, 1, .36, 1);--revert-dur:.28s;--dropdown-open-dur:.25s;--dropdown-close-dur:.15s;--dropdown-pre-scale:.97;--dropdown-closing-scale:.99;--dropdown-ease:cubic-bezier(.22, 1, .36, 1);--modal-open-dur:.25s;--modal-close-dur:.15s;--modal-scale:.96;--modal-scale-close:.96;--modal-ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{min-height:100dvh;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #a1a1aa}a{color:inherit}.topbar{border-bottom:1px solid var(--border);background:var(--surface);height:56px}.topbar-inner{justify-content:space-between;align-items:center;width:100%;height:100%;padding:0 28px;display:flex}.brand{color:var(--text);letter-spacing:-.045em;white-space:nowrap;align-items:center;gap:10px;font-size:16px;font-weight:650;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;flex:0 0 44px;width:44px;height:24px;display:block}.workspace{width:min(100% - 48px,1080px);margin:0 auto;padding:56px 0 72px}.page-heading{margin:0 0 24px}.page-heading h1,.login-panel h1{letter-spacing:-.035em;margin:0;font-size:26px;font-weight:600;line-height:1.25}.page-heading p,.login-intro{color:var(--text-muted);margin:7px 0 0;font-size:14px;line-height:1.55}.account-control{position:relative}.avatar-button{border:1px solid var(--border);background:var(--surface-muted);color:#51515a;cursor:pointer;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:grid}.avatar-button:hover,.avatar-button[aria-expanded=true]{border-color:var(--border-strong);background:var(--surface-hover)}.account-popover{z-index:5;border:1px solid var(--border);background:var(--surface);width:244px;transform:scale(var(--dropdown-pre-scale));transform-origin:100% 0;opacity:0;pointer-events:none;transition:transform var(--dropdown-open-dur) var(--dropdown-ease), opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform, opacity;border-radius:12px;padding:15px;position:absolute;top:42px;right:0;box-shadow:0 8px 24px #0000001a}.account-popover[data-origin=top-right]{transform-origin:100% 0}.account-popover.is-open{opacity:1;pointer-events:auto;transform:scale(1)}.account-popover.is-closing{transform:scale(var(--dropdown-closing-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-close-dur) var(--dropdown-ease), opacity var(--dropdown-close-dur) var(--dropdown-ease)}.account-label{color:var(--text-soft);margin:0 0 10px;font-size:11px;font-weight:500}.account-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:600;overflow:hidden}.account-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:12px;overflow:hidden}.account-divider{background:var(--border);height:1px;margin:13px -15px}.signout-button{width:100%;min-height:34px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:9px;padding:0 9px;font-size:13px;transition:background .14s,color .14s;display:flex}.signout-button:hover,.signout-button:focus-visible{color:var(--danger);background:#fff5f4}.signout-button svg{flex:0 0 16px;width:16px;height:16px}.signout-confirmation{border:1px solid var(--border);background:var(--surface);width:min(100% - 40px,360px);max-width:none;color:var(--text);transform-origin:50%;transform:scale(var(--modal-scale));opacity:0;pointer-events:none;transition:transform var(--modal-open-dur) var(--modal-ease), opacity var(--modal-open-dur) var(--modal-ease);will-change:transform, opacity;border-radius:12px;margin:auto;padding:0;overflow:visible;box-shadow:0 24px 64px #00000029}.signout-confirmation[open]{display:block}.signout-confirmation.is-open{opacity:1;pointer-events:auto;transform:scale(1)}.signout-confirmation.is-closing{transform:scale(var(--modal-scale-close));opacity:0;pointer-events:none;transition:transform var(--modal-close-dur) var(--modal-ease), opacity var(--modal-close-dur) var(--modal-ease)}.signout-confirmation::backdrop{opacity:0;transition:opacity var(--modal-open-dur) var(--modal-ease);background:#20212347}.signout-confirmation.is-open::backdrop{opacity:1}.signout-confirmation.is-closing::backdrop{opacity:0;transition:opacity var(--modal-close-dur) var(--modal-ease)}.signout-dialog-content{padding:20px}.signout-dialog-heading{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:600;line-height:1.4}.signout-dialog-copy{color:var(--text-muted);margin:8px 0 0;font-size:13px;line-height:1.5}.signout-dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.signout-dialog-actions form{margin:0}.signout-dialog-button{border:1px solid var(--border-strong);background:var(--surface);min-width:76px;min-height:34px;color:var(--text);cursor:pointer;border-radius:8px;padding:0 14px;font-size:13px;font-weight:550;transition:background .14s,border-color .14s,color .14s}.signout-dialog-cancel:hover{background:var(--surface-hover)}.signout-dialog-confirm{border-color:var(--danger);background:var(--danger);color:#fff}.signout-dialog-confirm:hover{background:#941f16;border-color:#941f16}.upload-card{border:1px dashed var(--border-strong);border-radius:12px;margin:0;padding:18px}.dropzone{border:1px dotted var(--border-strong);background:var(--surface);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:160px;padding:18px 24px;transition:border-color .16s,background .16s;display:flex;position:relative}.dropzone:focus-within,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone-picker{z-index:1;border-radius:inherit;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.upload-icon{border:1px solid var(--border);background:var(--surface-muted);width:32px;height:32px;color:var(--text-muted);border-radius:9px;place-items:center;display:grid}.upload-icon svg{width:17px;height:17px}.dropzone-copy{min-width:0;max-width:100%}.file-label{color:var(--accent);cursor:pointer;font-size:14px;font-weight:600}.file-label:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.dropzone-copy p{max-width:min(100%,560px);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:13px;overflow:hidden}.dropzone-copy p strong{color:var(--text);text-overflow:ellipsis;font-size:14px;font-weight:550;display:block;overflow:hidden}.file-detail{color:var(--text-muted);margin-top:3px;font-size:12px;display:block}.accepted-types{color:var(--text-soft);font-size:12px}.accepted-types i{color:var(--border-strong);padding:0 4px;font-style:normal}.button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:0 13px;font-size:13px;font-weight:550;text-decoration:none;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.48}.button-primary{background:var(--accent);color:#fff}.button-primary:not(:disabled):hover{background:var(--accent-hover)}.upload-button{min-width:112px;margin-top:3px}.progress-area{margin-top:14px}.progress-meta{color:var(--text-muted);justify-content:space-between;margin-bottom:7px;font-size:12px;display:flex}.progress-track{background:var(--surface-hover);border-radius:99px;height:4px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s ease-out}.feedback{border-radius:8px;align-items:center;gap:10px;min-height:42px;margin-top:12px;padding:8px 10px;font-size:13px;display:flex}.feedback-success{color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0}.feedback-error{color:var(--danger);background:#fdf7f6;border:1px solid #f0d5d2}.feedback-symbol{width:19px;height:19px;color:var(--danger);border:1px solid #e4b8b3;border-radius:50%;flex:0 0 19px;place-items:center;font-size:12px;font-weight:650;display:grid}.retry-button{color:inherit;cursor:pointer;text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;margin-left:auto;padding:4px 3px;font-size:12px;font-weight:600;text-decoration:underline}.retry-button:disabled{cursor:wait;opacity:.6}.history-section{margin-top:34px}.section-heading{margin:0 0 12px}.section-heading h2{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.table-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}table{table-layout:fixed;border-collapse:collapse;text-align:left;width:100%}thead{background:var(--surface)}th{height:38px;color:var(--text-muted);white-space:nowrap;padding:0 12px;font-size:12px;font-weight:500}td{height:52px;color:var(--text-muted);white-space:normal;overflow-wrap:anywhere;border-top:1px solid #ededee;padding:0 12px;font-size:13px}td:first-child{width:40%;color:var(--text)}.filename-cell{overflow-wrap:anywhere;display:block}.deleted-account{border:1px solid var(--border);color:var(--text-soft);vertical-align:middle;border-radius:999px;margin-left:7px;padding:2px 6px;font-size:10px;line-height:1.4;display:inline-block}.status{color:var(--text-muted);text-transform:capitalize;align-items:center;gap:6px;font-size:12px;display:inline-flex}.status-dot{background:#a9abb2;border-radius:50%;width:6px;height:6px}.status-uploaded{color:var(--success)}.status-uploaded .status-dot{background:var(--success)}.status-failed{color:var(--danger)}.status-failed .status-dot{background:var(--danger)}.empty-history{height:68px;color:var(--text-muted);text-align:center}.pagination{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;display:flex}.pagination div{gap:16px;display:flex}.pagination a{color:var(--text-muted);text-decoration:none}.pagination a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.pagination a[aria-disabled=true]{color:var(--text-soft);pointer-events:none}.login-page{min-height:100dvh}.login-panel{width:min(100% - 48px,360px);margin:78px auto 0}.login-panel h1{margin-bottom:7px}.login-intro{margin:0 0 28px}.login-form{flex-direction:column;display:flex}.login-form label{color:var(--text);margin:0 0 7px;font-size:13px;font-weight:500}.login-form .t-input-wrap{margin:0 0 17px}.login-control,.password-control{border:1px solid var(--border-strong);background:var(--surface);width:100%;height:40px;color:var(--text);border-radius:8px;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-control{padding:0 11px;display:block}.login-control:hover,.password-control:hover{border-color:#c7c7cc}.login-control:focus,.password-control:focus-within{border-color:#71717a}.login-control.is-error,.password-control.is-error,.login-control.is-error:focus,.password-control.is-error:focus-within{border-color:var(--danger)}.password-control{align-items:center;display:flex;overflow:hidden}.password-field{width:100%;min-width:0;height:100%;color:inherit;font-size:inherit;background:0 0;border:0;outline:0;padding:0 0 0 11px}.password-toggle{width:40px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:0 0 40px;place-items:center;padding:0;display:grid}.password-toggle:hover{color:var(--text)}.password-toggle svg{width:18px;height:18px}.password-field:focus-visible{outline:none}.password-toggle:focus-visible{outline-offset:-4px;border-radius:5px;outline:2px solid #a1a1aa}.password-control:focus-within{box-shadow:none}.password-control.is-error:focus-within{box-shadow:0 0 0 3px #b423181f}.login-submit{width:100%;min-height:40px;margin-top:5px}.form-error{color:var(--danger);margin:-5px 0 13px;font-size:13px;line-height:1.45}.login-footnote{color:var(--text-soft);margin:20px 0 0;font-size:12px;line-height:1.5}.t-success-check{transform-origin:50%;opacity:0;will-change:transform, opacity, filter;flex:0 0 25px;display:inline-block}.t-success-check svg{width:23px;height:23px;display:block;overflow:visible}.t-success-check svg circle{fill:var(--success);stroke:var(--success);stroke-width:2px}.t-success-check svg path{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px}.t-success-check[data-state=in]{animation:t-check-fade var(--check-opacity-dur) var(--check-ease-opacity) forwards, t-check-rotate var(--check-rotate-dur) var(--check-ease-rotate) forwards, t-check-blur var(--check-blur-dur) var(--check-ease-out) forwards, t-check-bob var(--check-bob-dur) var(--check-ease-bob) forwards}.t-success-check[data-state=in] svg path{animation:t-check-draw var(--check-path-dur) var(--check-ease-path) var(--check-path-delay) forwards}@keyframes t-check-fade{0%{opacity:0}to{opacity:1}}@keyframes t-check-rotate{0%{transform:rotate(var(--check-rotate-from))}to{transform:rotate(0)}}@keyframes t-check-blur{0%{filter:blur(var(--check-blur-from))}to{filter:blur()}}@keyframes t-check-bob{0%{translate:0 var(--check-y-amount)}to{translate:0}}@keyframes t-check-draw{to{stroke-dashoffset:0}}.login-form .t-input{will-change:transform}.login-form .t-input.is-error{transition:border-color var(--revert-dur,.28s) ease-out}.t-error-msg{max-height:0;color:var(--danger);opacity:0;visibility:hidden;transition:opacity var(--revert-dur,.28s) ease-out, max-height var(--revert-dur,.28s) ease-out, margin var(--revert-dur,.28s) ease-out, visibility 0s linear var(--revert-dur,.28s);margin:0;font-size:12px;line-height:1.45;overflow:hidden}.t-input-wrap.is-error .t-error-msg:where(:not(:empty)){opacity:1;visibility:visible;max-height:48px;transition:opacity var(--revert-dur,.28s) ease-out, max-height var(--revert-dur,.28s) ease-out, margin var(--revert-dur,.28s) ease-out, visibility 0s linear;margin-top:6px}.t-input.is-shaking{animation:t-input-shake calc(var(--shake-dur-a) * 2 + var(--shake-dur-b) * 2) linear}@keyframes t-input-shake{0%{animation-timing-function:var(--shake-ease);transform:translate(0)}28.57%{transform:translateX(var(--shake-distance));animation-timing-function:var(--shake-ease)}57.14%{transform:translateX(calc(var(--shake-distance) * -1));animation-timing-function:var(--shake-ease)}78.57%{transform:translateX(var(--shake-overshoot));animation-timing-function:var(--shake-ease)}to{transform:translate(0)}}@media (max-width:680px){.topbar-inner{padding-inline:18px}.workspace{width:min(100% - 36px,1080px);padding-top:28px}.page-heading{margin-bottom:20px}.dropzone{min-height:170px;padding-inline:14px}.history-section{margin-top:28px}th,td{padding-inline:10px}.login-panel{margin-top:54px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.t-success-check{opacity:1;animation:none!important}.t-success-check svg path{stroke-dashoffset:0!important;animation:none!important}.t-input{animation:none!important;transform:none!important}.account-popover,.signout-confirmation,.signout-confirmation::backdrop{transition:none!important}}.file-label{background:0 0;border:0;padding:0}.dropzone-copy>strong{font-size:13px;font-weight:600}.dropzone-copy .accepted-types{margin-left:16px;display:inline-block}.upload-list{margin:8px 0 0;padding:0;list-style:none}.upload-row{border-bottom:1px solid var(--border);grid-template-columns:38px minmax(0,1fr) minmax(220px,.8fr) 28px;align-items:center;gap:14px;padding:12px 8px;display:grid}.excel-icon{color:#16a34a;background:#f4faf6;border-radius:8px;place-items:center;width:34px;height:36px;display:grid}.excel-icon svg{width:23px;height:26px}.upload-file-info{min-width:0}.upload-file-info>span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.upload-file-info small{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.upload-file-progress{align-items:center;gap:14px;display:flex}.upload-file-progress .progress-track{flex:1;height:7px}.upload-state{min-width:88px;color:var(--text-muted);font-size:12px}.upload-state.is-error{color:var(--danger)}.remove-file{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;font-size:22px}.remove-file:hover:not(:disabled){background:var(--surface-hover);color:var(--danger)}.remove-file:disabled{opacity:.35;cursor:not-allowed}.file-error{color:var(--danger);grid-column:2/-1;align-items:center;gap:12px;font-size:12px;line-height:1.5;display:flex}.upload-footer{justify-content:flex-end;align-items:center;gap:16px;margin-top:18px;display:flex}.upload-button svg{width:19px;height:19px}.feedback ul{margin:0;padding-left:18px}.window-drop-overlay{z-index:50;pointer-events:none;box-shadow:inset 0 0 0 4px var(--accent);background:#2563eb33;place-items:center;display:grid;position:fixed;inset:0}.window-drop-overlay>div{border:2px dashed var(--accent);color:#1d4ed8;text-align:center;background:#eff6ff;border-radius:16px;flex-direction:column;align-items:center;gap:12px;margin:20px;padding:30px 40px;display:flex}.window-drop-overlay svg{width:40px;height:40px}.window-drop-overlay strong{font-size:20px}.window-drop-overlay span{font-size:13px}@media (max-width:680px){.upload-card{padding:12px}.upload-row{grid-template-columns:34px minmax(0,1fr) 28px;gap:10px;padding-inline:0}.upload-file-progress{grid-area:2/2}.remove-file{grid-area:1/3}.file-error{flex-wrap:wrap;grid-column:1/-1}.dropzone-copy .accepted-types{margin:10px 0 0;display:block}.upload-footer{flex-wrap:wrap}.upload-state{min-width:84px}}.progress-fill.is-error{background:var(--danger)}.upload-state{align-items:center;gap:6px;display:inline-flex}.upload-state.is-active{color:var(--text)}.upload-status-symbol{flex:0 0 16px;place-items:center;width:16px;height:16px;display:inline-grid}.is-error .upload-status-symbol{border:1px solid;border-radius:50%;font-size:11px;font-weight:700}.completion-tag{min-height:36px;display:inline-flex}.history-file{width:35%}.history-user{width:23%}.history-date{width:22%}.history-size{width:9%}.history-status{width:11%}.history-table td{padding-block:12px}.history-status-symbol{border:1px solid;border-radius:50%;flex:0 0 16px;place-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-grid}.upload-file-progress,.upload-file-progress .progress-track{min-width:0}.file-error,.feedback{overflow-wrap:anywhere}.feedback{flex-wrap:wrap}.file-error>span{min-width:0}.account-popover{max-width:calc(100vw - 36px)}.pagination{flex-wrap:wrap;gap:10px}@media (max-width:800px){.history-table,.history-table tbody{display:block}.history-table colgroup{display:none}.history-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.history-table tr{border-top:1px solid var(--border);padding:12px 0;display:block}.history-table tr:first-child{border-top:0}.history-table td{white-space:normal;border:0;grid-template-columns:90px minmax(0,1fr);gap:12px;width:auto;height:auto;min-height:30px;padding:5px 0;display:grid}.history-table td[data-label]:before{content:attr(data-label);color:var(--text-muted);font-size:12px}.history-table .empty-history{padding:16px 0;display:block}}@media (max-width:680px){.file-error{min-width:0}.feedback .retry-button{margin-left:0}.upload-button{max-width:100%}.signout-dialog-content{padding:20px}}.history-table .status{overflow-wrap:anywhere;flex-wrap:wrap;max-width:100%}.main-nav{gap:4px;margin-left:18px;margin-right:auto;display:flex}.main-nav a{color:var(--text-muted);border-radius:7px;padding:6px 10px;font-size:13px;font-weight:500;text-decoration:none}.main-nav a:hover{background:var(--surface-hover);color:var(--text)}.main-nav a.is-active{background:var(--accent-soft);color:var(--accent)}.muted{color:var(--text-muted)}small.muted{margin-top:3px;font-size:11px;display:block}.crumbs{color:var(--text-muted);margin:-24px 0 18px;font-size:12px}.crumbs a{color:var(--text-muted)}.notice{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px}.notice-warn{color:#8a4b00;background:#fff8ee;border-color:#f5d0a9}.check-note{color:var(--text-muted);font-size:12px}.check-ok{color:var(--success)}.check-bad{color:var(--danger)}.check-running,.check-note a{color:var(--accent)}.spinner{border:2px solid var(--accent-soft);border-top-color:var(--accent);vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.upload-checks{border-top:1px solid var(--border);margin-top:14px}.upload-check-row{border-bottom:1px solid #ededee;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:9px 2px;font-size:13px;display:flex}.upload-check-row .filename-cell{color:var(--text);flex:260px}.history-checks{width:24%}.review-table td:first-child{width:34%}.review-table.compact td{height:38px}.review-table.findings{font-size:12px}.review-table.findings td{vertical-align:top;height:auto;padding:8px 10px}.review-table.findings code{overflow-wrap:anywhere;font-size:11px}.review-table a{color:var(--text);text-decoration:none}.review-table a:hover{text-underline-offset:3px;text-decoration:underline}.count-bad{color:var(--danger);font-weight:600}.count-warn{color:#8a4b00;font-weight:600}.approval{text-transform:capitalize;background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.approval-approved{color:var(--success);background:#e8f6ec}.approval-rejected{color:var(--danger);background:#fdecea}.approval-pending{color:#8a4b00;background:#fff4e5}.snapshot-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding:14px 16px;display:flex}.snapshot-state{flex-direction:column;gap:4px;display:flex}.gate{color:var(--text-muted);font-size:12px}.approval-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.approval-actions input{border:1px solid var(--border-strong);border-radius:8px;min-width:260px;height:36px;padding:0 10px;font-size:13px}.approval-actions .form-error{flex-basis:100%;margin:0}.button-danger{border-color:var(--border-strong);background:var(--surface);color:var(--danger)}.button-danger:not(:disabled):hover{background:#fff5f4}.rule-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.rule-item{border-bottom:1px solid #ededee;padding:10px 4px}.rule-item.is-selected{background:var(--accent-soft)}.rule-link{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:13px;text-decoration:none;display:flex}.rule-link:hover .rule-title{text-underline-offset:3px;text-decoration:underline}.rule-title{font-weight:500}.rule-code{color:var(--text-soft);font-size:11px}.rule-counts{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:12px}.severity-tag{text-transform:uppercase;letter-spacing:.04em;background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.severity-error .severity-tag{color:var(--danger);background:#fdecea}.severity-warning .severity-tag{color:#8a4b00;background:#fff4e5}.severity-info .severity-tag{background:var(--accent-soft);color:var(--accent)}.lots{overflow-wrap:anywhere}.finding-status{text-transform:capitalize;color:var(--text-muted);font-size:11px;font-weight:600}.finding-open{color:var(--danger)}.finding-explained,.finding-accepted_exception,.finding-corrected{color:var(--success)}tr.is-decided td{color:var(--text-soft)}.decision-list{margin:0;padding-left:16px}.decision-list li{margin:2px 0}.decision-form{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;margin:0 0 14px;padding:12px}.decision-form.compact{margin:0;padding:8px}.decision-scope{margin:0 0 8px;font-size:13px}.decision-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.decision-controls select,.decision-controls input[type=text]{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;height:34px;padding:0 9px;font-size:13px}.decision-controls input[type=text]{flex:280px;min-width:200px}.check-inline{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.link-button{color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.form-ok{color:var(--success);margin:6px 0 0;font-size:12px}.decision-form .form-error{margin:6px 0 0}.finding-filters{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;display:flex}.finding-filters input[type=search]{border:1px solid var(--border-strong);background:var(--surface);height:34px;font:inherit;border-radius:8px;min-width:240px;padding:0 10px;font-size:13px}.finding-filters .button{border:1px solid var(--border-strong);background:var(--surface);height:34px;font:inherit;cursor:pointer;border-radius:8px;padding:0 14px;font-size:13px}.segmented{border:1px solid var(--border-strong);border-radius:8px;display:inline-flex;overflow:hidden}.segmented a{color:var(--text-muted);text-transform:capitalize;padding:7px 12px;text-decoration:none}.segmented a+a{border-left:1px solid var(--border-strong)}.segmented a.is-on{background:var(--text);color:var(--surface)}.pager{gap:12px;margin-left:auto;display:inline-flex}.pager a{color:var(--accent);text-decoration:none}.bulk-bar{z-index:2;border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:10px 12px;display:flex;position:sticky;top:0;box-shadow:0 1px 2px #0000000a}.bulk-bar.is-active{border-color:var(--accent);background:#f3f6ff}.bulk-bar select,.bulk-bar input[type=text]{border:1px solid var(--border-strong);background:var(--surface);height:34px;font:inherit;border-radius:8px;padding:0 9px;font-size:13px}.bulk-bar input[type=text]{flex:260px;min-width:200px}.bulk-bar .form-error,.bulk-bar .form-ok{flex-basis:100%;margin:0}.bulk-count{white-space:nowrap;align-items:baseline;gap:8px;font-size:13px;display:inline-flex}.review-table.findings .select-col{width:28px;padding:8px 4px 8px 10px}.review-table.findings td:first-child{width:auto}.review-table.findings td.select-col+td{width:8%}tr.is-selected td{background:#eef3ff}.observed{flex-wrap:wrap;gap:2px 10px;margin:0;padding:0;font-size:11px;list-style:none;display:flex}.observed li{white-space:nowrap}.observed-key{color:var(--text-muted)}.observed-value{font-variant-numeric:tabular-nums}.review-table.findings td.select-col+td+td{white-space:nowrap}.lineage-page .workspace-wide{width:min(100% - 48px,1480px);padding-top:32px}.lineage{flex-direction:column;gap:10px;display:flex}.lineage-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lineage-toolbar input{border:1px solid var(--border-strong);max-width:460px;min-height:36px;font:inherit;border-radius:8px;flex:320px;padding:0 12px;font-size:13px}.lineage-toolbar .button:not(.button-primary){border-color:var(--border-strong);background:var(--surface);color:var(--text)}.lineage-toolbar .button:not(.button-primary):not(:disabled):hover{background:var(--surface-hover)}.lineage-error{color:var(--danger);font-size:13px}.lineage-body{border:1px solid var(--border);background:var(--surface);border-radius:10px;height:calc(100vh - 300px);min-height:640px;display:flex;overflow:hidden}.lineage-graph{flex:1;min-width:0;position:relative}.lineage-canvas{position:absolute;inset:0}.lineage-empty{color:var(--text-muted);text-align:center;pointer-events:none;place-items:center;margin:0;padding:40px;font-size:14px;display:grid;position:absolute;inset:0}.lineage-panel{border-left:1px solid var(--border);flex:none;width:380px;padding:14px 16px;font-size:13px;overflow:auto}.lineage-panel h2{margin:0 0 2px;font-size:15px;font-weight:600}.lineage-root-tag{color:#c62828;margin-left:8px;font-size:12px;font-weight:500}.lineage-desc{color:var(--text-muted);margin:0 0 8px}.lineage-kv{grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0;display:grid}.lineage-kv dt{color:var(--text-muted);font-weight:500}.lineage-kv dd{margin:0}.lineage-panel h3{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:14px 0 6px;font-size:11px;font-weight:600}.lineage-btns{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.lineage-btns .button{border-color:var(--border-strong);background:var(--surface);min-height:30px;color:var(--text);padding:0 10px;font-size:12px}.lineage-btns .button:not(:disabled):hover{background:var(--surface-hover)}.lineage-notice{margin:8px 0}.lineage-table{border-collapse:collapse;width:100%}.lineage-table td{border-top:1px solid var(--surface-hover);vertical-align:top;padding:4px}.lineage-table td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.lineage-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.lineage-link:hover{text-decoration:underline}.lineage-est{color:#9a6700}.lineage-foot{margin:12px 0 0;font-size:12px}.lineage-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.lineage-legend span{align-items:center;gap:5px;display:inline-flex}.lineage-legend i{border:1px solid #0003;border-radius:3px;width:12px;height:12px}.lineage-tip{max-width:420px;font-size:13px;line-height:1.4}.lineage-tip b{font-size:14px;display:block}.lineage-tip .d{color:var(--text-muted);margin-bottom:4px}.lineage-tip table{border-collapse:collapse;margin-top:4px}.lineage-tip td{vertical-align:top;padding:1px 6px 1px 0}.lineage-tip td.n{text-align:right;font-variant-numeric:tabular-nums}.lineage-tip .h{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;padding-top:6px;font-size:11px}div.vis-tooltip{white-space:pre-line;border:1px solid var(--border-strong)!important;background:var(--surface)!important;color:var(--text)!important;border-radius:8px!important;padding:10px 12px!important;font-family:inherit!important;box-shadow:0 6px 20px #0002!important}@media (max-width:900px){.lineage-body{flex-direction:column;height:auto}.lineage-graph{min-height:420px}.lineage-panel{border-left:0;border-top:1px solid var(--border);width:auto}}
