:root{--ink:#171717;--muted:#6b6f76;--line:#dfe1e4;--line-strong:#b7b9bd;--canvas:#f3f4f5;--surface:#fff;--surface-soft:#f8f8f8;--accent:#c6282f;--accent-dark:#9f1e24;--blue:#315f84;--green:#16784a;--amber:#9a6400;--red-soft:#fff1f1;--blue-soft:#edf4fa;--green-soft:#ebf7f0;--amber-soft:#fff6df}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);letter-spacing:0;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.loading-screen{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.login-shell{background:#ededee;place-items:center;min-height:100vh;padding:32px 18px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;width:min(100%,430px);padding:30px;box-shadow:0 18px 50px #0000001a}.login-brand{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding-bottom:22px;display:flex}.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:15px}.login-brand>div span{color:var(--muted);margin-top:3px;font-size:11px}.login-heading{padding:25px 0 20px}.login-heading h1{margin:6px 0 8px;font-size:27px}.login-heading p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.login-error{color:var(--accent-dark);background:var(--red-soft);border:1px solid #edc4c6;border-radius:5px;margin:0 0 16px;padding:10px 12px;font-size:11px;line-height:1.45}.login-form{gap:15px;display:grid}.login-form label>span{margin-bottom:7px;font-size:11px;font-weight:700;display:block}.login-form .primary-button{width:100%;min-height:42px;margin-top:3px}.login-security{border-top:1px solid var(--line);color:var(--green);align-items:center;gap:8px;margin-top:20px;padding-top:16px;font-size:10px;display:flex}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;z-index:40;background:#202020;flex-direction:column;width:260px;display:flex;position:fixed;inset:0 auto 0 0}.brand-block{border-bottom:1px solid #383838;align-items:center;gap:11px;height:76px;padding:16px 18px;display:flex}.brand-mark{background:var(--accent);border-radius:6px;place-items:center;width:38px;height:38px;display:grid}.brand-block strong{font-size:15px;display:block}.brand-block span{color:#aaa;margin-top:3px;font-size:11px;display:block}.nav-close{color:#fff;margin-left:auto;display:none}.project-picker{border-bottom:1px solid #383838;padding:18px 16px 16px}.project-picker>label{color:#aaa;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.select-shell{background:#2d2d2d;border:1px solid #484848;border-radius:6px;align-items:center;gap:8px;height:42px;padding:0 9px;display:flex;position:relative}.select-shell select{appearance:none;color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px}.select-shell svg:last-child{color:#888;pointer-events:none}.primary-button,.secondary-button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.primary-button{background:var(--accent);color:#fff;box-shadow:0 1px 2px #0000001f}.primary-button:hover{background:var(--accent-dark)}.secondary-button{background:var(--surface);color:var(--ink);border-color:var(--line)}.secondary-button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.project-picker .secondary-button{color:#ddd;background:0 0;border-color:#484848;margin-top:10px}.project-file-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.project-file-actions .secondary-button{min-width:0;padding:0 8px}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.full{width:100%}.icon-button{background:0 0;border:0;border-radius:6px;place-items:center;width:36px;height:36px;display:inline-grid}.icon-button:hover{background:#80808024}.step-nav{flex:1;padding:14px 10px;overflow-y:auto}.step-nav button{color:#bcbcbc;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:11px;width:100%;min-height:52px;padding:8px 10px;display:flex}.step-nav button:hover{color:#fff;background:#292929}.step-nav button.active{color:#fff;box-shadow:inset 3px 0 0 var(--accent);background:#343434}.step-index{border:1px solid #545454;border-radius:50%;flex:0 0 28px;place-items:center;height:28px;font-size:12px;display:grid}.step-index.ready{color:#82d3a8;border-color:#3d7658}.step-nav strong{font-size:13px;display:block}.step-nav small{color:#777;margin-top:3px;font-size:10px;display:block}.step-nav .active small{color:#aaa}.sidebar-footer{color:#aaa;border-top:1px solid #383838;align-items:center;gap:10px;min-height:66px;padding:14px 18px;font-size:11px;line-height:1.4;display:flex}.sidebar-footer svg{color:#7fc39e}.workspace{grid-column:2;min-width:0}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:20px;height:76px;padding:0 24px;display:flex;position:sticky;top:0}.mobile-menu{display:none}.project-heading{min-width:0}.project-heading h1{white-space:nowrap;text-overflow:ellipsis;margin:3px 0 0;font-size:19px;line-height:1.2;overflow:hidden}.eyebrow{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.save-status{color:var(--green);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:11px;display:flex}.header-actions{align-items:center;gap:8px;display:flex}.logout-form{display:flex}.logout-form .icon-button{color:var(--muted);border:1px solid var(--line)}.example-menu{position:relative}.example-popover{border:1px solid var(--line);background:#fff;border-radius:6px;width:205px;padding:5px;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #0000001f}.example-menu:hover .example-popover,.example-menu:focus-within .example-popover{display:block}.example-popover button{text-align:left;background:0 0;border:0;border-radius:4px;width:100%;min-height:36px;padding:7px 9px;font-size:12px}.example-popover button:hover{background:var(--surface-soft)}.view-tabs{background:var(--surface);border-bottom:1px solid var(--line);align-items:end;gap:22px;height:48px;padding:0 24px;display:flex}.view-tabs button{height:48px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 2px;font-size:12px;font-weight:700;display:inline-flex}.view-tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.message-bar{background:var(--blue-soft);color:#244c69;border:1px solid #cbdce9;border-radius:6px;align-items:center;gap:8px;min-height:40px;margin:14px 18px 0;padding:8px 10px;font-size:12px;display:flex}.message-bar button{color:inherit;background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.content-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;padding:18px;display:grid}.editor-pane{background:var(--surface);border:1px solid var(--line);border-radius:6px;min-width:0;padding:26px 28px}.review-pane{background:var(--surface);border:1px solid var(--line);border-radius:6px;position:sticky;top:142px;overflow:hidden}.section-intro{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding-bottom:22px;display:flex}.section-intro h2,.assessment-head h2,.draft-toolbar h2{margin:5px 0 6px;font-size:21px}.section-intro p,.draft-toolbar p{max-width:680px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.progress-ring{--progress:0deg;background:conic-gradient(var(--green) var(--progress), #e7e8e9 0);border-radius:50%;flex:0 0 54px;place-items:center;height:54px;display:grid;position:relative}.progress-ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:5px}.progress-ring span{z-index:1;font-size:11px;font-weight:700;position:relative}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding-top:24px;display:grid}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field-wide{grid-column:1/-1}.field-label>span{font-size:12px;font-weight:700;display:block}.field-label small{max-width:700px;color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4;display:block}.required{color:var(--accent);margin-left:3px}.input-wrap{display:flex;position:relative}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd0d4;border-radius:5px;outline:none}input,select{height:40px;padding:0 11px}textarea{resize:vertical;min-height:92px;padding:10px 11px;line-height:1.45}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #315f841a}.unit{color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}input[type=number]{padding-right:42px}.segmented{background:#ededee;border-radius:6px;grid-template-columns:repeat(3,78px);align-self:flex-start;padding:3px;display:inline-grid}.segmented button{height:33px;color:var(--muted);background:0 0;border:0;border-radius:4px;font-size:11px;font-weight:700}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0000001f}.check-row{border:1px solid var(--line);min-height:44px;color:var(--ink);text-align:left;background:#fff;border-radius:5px;align-items:center;gap:9px;padding:8px 10px;font-size:12px;display:flex}.check-row:hover{border-color:var(--line-strong)}.check-row.is-checked{background:var(--green-soft);border-color:#9ec8b1}.check-box{color:#fff;border:1px solid #bfc2c5;border-radius:4px;place-items:center;width:20px;height:20px;display:grid}.is-checked .check-box{border-color:var(--green);background:var(--green)}.step-actions{border-top:1px solid var(--line);justify-content:space-between;margin-top:28px;padding-top:18px;display:flex}.attachment-panel{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.attachment-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.attachment-heading h3{margin:4px 0;font-size:16px}.attachment-heading p{color:var(--muted);margin:0;font-size:11px}.attachment-count{min-width:30px;height:26px;color:var(--muted);background:#eee;border-radius:13px;place-items:center;padding:0 8px;font-size:11px;font-weight:700;display:grid}.attachment-controls{grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:10px;margin-top:16px;display:grid}.attachment-controls label>span{margin-bottom:6px;font-size:10px;font-weight:700;display:block}.attachment-controls .secondary-button{height:40px}.attachment-empty{background:var(--surface-soft);color:var(--muted);text-align:center;margin:14px 0 0;padding:15px;font-size:11px}.attachment-list{border:1px solid var(--line);border-radius:5px;margin-top:12px;overflow:hidden}.attachment-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:7px 8px 7px 11px;display:grid}.attachment-row+.attachment-row{border-top:1px solid var(--line)}.attachment-row>svg{color:var(--muted)}.attachment-name{text-align:left;background:0 0;border:0;min-width:0;padding:0}.attachment-name strong,.attachment-name span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attachment-name strong{font-size:11px}.attachment-name span{color:var(--muted);margin-top:3px;font-size:9px}.assessment-head{padding:18px 18px 12px}.classification-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:.7fr 1fr 1.5fr;display:grid}.classification-grid>div{min-width:0;padding:13px 14px}.classification-grid>div+div{border-left:1px solid var(--line)}.classification-grid span,.classification-grid strong{display:block}.classification-grid span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.classification-grid strong{overflow-wrap:anywhere;margin-top:5px;font-size:13px}.classification-reasons{border-bottom:1px solid var(--line)}.classification-reasons summary{min-height:38px;color:var(--blue);cursor:pointer;align-items:center;gap:7px;padding:9px 14px;font-size:10px;font-weight:700;list-style:none;display:flex}.classification-reasons summary::-webkit-details-marker{display:none}.classification-reasons summary:hover{background:var(--surface-soft)}.classification-reasons>div{padding:0 14px 12px}.classification-reasons p{color:var(--muted);margin:0;font-size:9px;line-height:1.45}.classification-reasons p+p{margin-top:8px}.classification-reasons p strong{color:var(--ink);margin-bottom:2px;font-size:9px;display:block}.special-status{border-radius:5px;align-items:flex-start;gap:9px;margin:14px;padding:10px;display:flex}.special-status.warning{color:#7b4e00;background:var(--amber-soft);border:1px solid #eed89e}.special-status.ok{color:#17643f;background:var(--green-soft);border:1px solid #bce0cc}.special-status strong,.special-status span{display:block}.special-status strong{font-size:11px}.special-status span{margin-top:3px;font-size:9px;line-height:1.4}.review-section{border-top:1px solid var(--line);padding:14px 16px}.review-title{align-items:center;gap:7px;font-size:11px;display:flex}.review-title span{min-width:22px;height:20px;color:var(--muted);background:#eee;border-radius:10px;place-items:center;margin-left:auto;padding:0 5px;font-size:9px;display:grid}.finding-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.finding{background:var(--surface-soft);border-radius:5px;align-items:flex-start;gap:8px;padding:8px;display:flex}.finding>svg{flex:none;margin-top:1px}.finding.ok>svg{color:var(--green)}.finding.info>svg{color:var(--blue)}.finding.warning>svg,.finding.critical>svg{color:var(--accent)}.finding strong,.finding span,.finding small{display:block}.finding strong{font-size:10px}.finding span{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.35}.finding small{color:#a1a3a6;margin-top:4px;font-family:monospace;font-size:8px}.open-list{color:var(--muted);margin:10px 0 0;padding-left:16px;font-size:10px;line-height:1.55}.empty-state{color:var(--green);gap:6px;margin:10px 0 0;font-size:10px;display:flex}.source-stamp{color:var(--muted);background:#f2f2f2;align-items:center;gap:8px;padding:12px 16px;font-size:9px;display:flex}.source-stamp strong{color:var(--ink)}.source-stamp.review_due{color:var(--accent-dark);background:var(--red-soft)}.draft-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.draft-actions{gap:8px;display:flex}.document-page{background:#fff;border:1px solid #d5d6d8;width:min(100%,820px);margin:24px auto 0;padding:40px 54px 64px;box-shadow:0 8px 24px #0000000f}.document-header{width:100%;height:auto;margin-bottom:34px;display:block}.document-meta{text-align:right;border-bottom:1px solid #333;margin-bottom:32px;padding-bottom:14px}.document-meta span,.document-meta strong{display:block}.document-meta span{font-size:21px;font-weight:700}.document-meta strong{margin-top:4px;font-size:12px}.draft-section{margin-top:28px}.draft-section h3{gap:15px;margin:0 0 12px;font-size:15px;display:flex}.draft-section h3 span{min-width:38px}.draft-section p{margin:0 0 12px;font-size:12px;line-height:1.55}.review-flag{background:var(--red-soft);border-left:3px solid var(--accent);color:var(--accent-dark);align-items:center;gap:7px;margin-top:10px;padding:8px 10px;font-size:10px;font-weight:700;display:flex}.open-items-section ul{padding-left:18px;font-size:11px;line-height:1.55}.usage-note{color:var(--muted);justify-content:center;gap:7px;margin-top:14px;font-size:10px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1180px){.content-grid{grid-template-columns:minmax(0,1fr) 300px}.save-status span{display:none}.editor-pane{padding:22px}}@media (max-width:960px){.app-shell{display:block}.sidebar{transition:transform .2s;transform:translate(-100%);box-shadow:14px 0 36px #00000038}.sidebar.is-open{transform:translate(0)}.nav-close,.mobile-menu{display:inline-grid}.workspace{min-width:0}.content-grid{grid-template-columns:1fr}.review-pane{position:static}.review-section{padding:12px 16px}.finding-list{grid-template-columns:repeat(2,1fr);display:grid}}@media (max-width:720px){.login-panel{padding:24px 20px}.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:68px;padding:10px 12px}.project-heading{flex:1}.project-heading h1{font-size:16px}.save-status{display:none}.header-actions{order:3;width:100%}.header-actions>:not(.logout-form),.header-actions>:not(.logout-form)>button{flex:1}.logout-form{flex:none}.example-popover{left:0;right:auto}.view-tabs{padding:0 14px}.message-bar{margin:10px 10px 0}.content-grid{gap:10px;padding:10px}.editor-pane{padding:18px 14px}.form-grid{grid-template-columns:1fr;gap:16px}.field-wide{grid-column:auto}.section-intro{gap:14px}.section-intro h2{font-size:19px}.progress-ring{flex-basis:48px;height:48px}.segmented{grid-template-columns:repeat(3,1fr);width:100%}.attachment-controls{grid-template-columns:1fr}.attachment-controls .secondary-button{width:100%}.finding-list{grid-template-columns:1fr}.draft-toolbar{display:block}.draft-actions{grid-template-columns:1fr 1fr;margin-top:14px;display:grid}.draft-actions .primary-button,.draft-actions .secondary-button{width:100%}.document-page{padding:26px 20px 42px}.document-meta span{font-size:17px}.draft-section h3{gap:8px;font-size:14px}.draft-section h3 span{min-width:32px}}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4;margin:14mm 12mm 16mm 18mm}.sidebar,.topbar,.view-tabs,.review-pane,.message-bar,.draft-toolbar,.usage-note{display:none!important}.workspace,.content-grid,.editor-pane{background:#fff;border:0;padding:0;display:block}.document-page{width:100%;box-shadow:none;border:0;margin:0;padding:0}.draft-section,.review-flag{break-inside:avoid}}
