:root{--color-bg: #efeee9;--color-surface: #fffdf8;--color-border: #151515;--color-border-strong: #151515;--color-text: #111111;--color-muted: #64625d;--color-accent: #171715;--color-accent-contrast: #ffffff;--color-cyan: #9eb5ba;--color-danger: #d40000;--color-danger-bg: #ff4b3e;--color-status-draft-bg: #e7d8a9;--color-status-draft-text: #111111;--color-status-final-bg: #22d866;--color-status-final-text: #071d0f;--color-topbar: #242421;--color-topbar-text: #ffffff;--font-body: Arial, Helvetica, sans-serif;--radius: 2px;--radius-sm: 2px;--shadow: 5px 5px 0 #151515;--shadow-small: 3px 3px 0 #151515;--touch: 48px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-width:320px;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%}button,input,textarea,select{font-family:inherit}#root{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--color-topbar);color:var(--color-topbar-text);min-height:76px;padding:calc(env(safe-area-inset-top,0px) + 12px) 22px 12px;border-bottom:5px solid var(--color-accent);display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:20}.topbar h1{flex:1;min-width:0;margin:0;font-size:clamp(18px,2vw,24px);font-weight:900;letter-spacing:-.035em;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar img.logo{height:39px;width:auto;display:block;border:2px solid #ffffff}.topbar button{min-height:40px;background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:none}.topbar button:hover{background:var(--color-cyan)}.report-topbar{display:grid;grid-template-columns:auto 1fr auto auto auto;grid-template-areas:"logo spacer sync nav account" "title title title title title";row-gap:10px}.report-topbar .logo{grid-area:logo}.report-topbar h1{grid-area:title;width:100%;padding-top:10px;border-top:1px solid rgba(255,255,255,.22);font-size:clamp(16px,1.7vw,20px);font-weight:700;letter-spacing:-.01em;text-transform:none}.report-topbar .sync-status{grid-area:sync}.report-topbar .topbar-nav{grid-area:nav}.report-topbar .account-menu{grid-area:account;width:auto}.page{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:34px 22px 138px}.section{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(18px,3vw,28px);margin-bottom:28px}.section>h2{display:block;width:100%;font-size:16px;line-height:1.1;text-transform:uppercase;letter-spacing:.075em;color:var(--color-text);background:transparent;border:0;border-bottom:3px solid var(--color-border);margin:0 0 24px;padding:0 0 10px;box-shadow:none}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.eyebrow{margin:0 0 5px;font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field>span{font-size:12px;font-weight:900;color:var(--color-text);letter-spacing:.055em;text-transform:uppercase}input[type=text],input[type=email],input[type=password],input[type=date],textarea,select{font:inherit;color:var(--color-text);background:#fff;border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:11px 13px;min-height:var(--touch);width:100%;box-shadow:inset 0 -2px #00000014}textarea{min-height:108px;resize:vertical;line-height:1.5}textarea.tall{min-height:230px}input:hover,textarea:hover,select:hover{background:#fffef4}input:focus,textarea:focus,select:focus{outline:4px solid var(--color-cyan);outline-offset:1px;border-color:var(--color-border)}button{font:inherit;font-weight:900;min-height:var(--touch);padding:0 17px;border-radius:var(--radius-sm);border:2px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-shadow:none;cursor:pointer;touch-action:manipulation;transition:background-color 90ms ease}button:hover{background:var(--color-cyan)}button:active{transform:none;box-shadow:none}button:focus-visible{outline:4px solid var(--color-cyan);outline-offset:3px}button.primary{background:var(--color-accent);border-color:var(--color-border);color:var(--color-accent-contrast)}button.primary:hover{background:#383834}button.danger{color:var(--color-text);border-color:var(--color-border);background:var(--color-danger-bg)}button.danger:hover{background:#f02f24}button.small{min-height:40px;padding:0 12px;font-size:13px;font-weight:900}button:disabled{opacity:.42;cursor:default;transform:none;box-shadow:none}.chips{display:flex;flex-wrap:wrap;gap:11px}.chip{min-height:var(--touch);padding:0 18px;border-radius:999px;border:2px solid var(--color-border-strong);background:#fff;font-weight:900;color:var(--color-text);box-shadow:none}.chip:hover{background:#e3e8e9}.chip.on{background:var(--color-accent);border-color:var(--color-border);color:var(--color-accent-contrast);box-shadow:none}.chiprow{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}.chiprow>.chiprow-label{min-width:94px;padding-top:15px;font-size:12px;font-weight:900;color:var(--color-text);text-transform:uppercase;letter-spacing:.07em}.chiprow:not(.compliance-row){flex-direction:column;align-items:stretch;gap:9px}.chiprow:not(.compliance-row)>.chiprow-label{width:100%;min-width:0;padding-top:0}.compliance-row{align-items:flex-end;gap:12px}.compliance-row .chip,.compliance-row .compliance-pct input{height:var(--touch);min-height:var(--touch)}.compliance-row .compliance-pct{flex:0 1 200px;width:200px;max-width:100%;margin:0}.library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;padding-bottom:20px;border-bottom:3px solid var(--color-border)}.library-head h2{margin:0;font-size:clamp(32px,6vw,58px);line-height:.95;font-weight:900;letter-spacing:-.065em;text-transform:uppercase}.new-report{flex:0 0 auto;min-height:56px;font-size:16px;text-transform:uppercase}.breadcrumbs{display:flex;align-items:center;gap:9px;margin-bottom:20px;color:var(--color-muted);font-size:13px;font-weight:700;overflow-x:auto;white-space:nowrap}.breadcrumbs button{min-height:34px;padding:0;border:0;background:transparent;color:var(--color-text);box-shadow:none;text-decoration:underline}.breadcrumbs button:hover{background:transparent;color:var(--color-muted)}.breadcrumbs strong{color:var(--color-text)}.folder-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.folder-card{width:100%;min-height:108px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;text-align:left;background:var(--color-surface);border:2px solid var(--color-border);box-shadow:none}.folder-card:hover{background:#f1f0eb}.folder-card-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px}.folder-card strong{max-width:100%;font-size:20px;line-height:1.2;overflow-wrap:anywhere}.folder-level{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.folder-count{color:var(--color-muted);font-size:13px;font-weight:700}.folder-arrow{font-size:28px;line-height:1}.report-card{position:relative;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 20px 18px;margin-bottom:18px;display:block;transition:transform .1s ease,box-shadow .1s ease}.report-card:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--color-border)}.report-card .info{width:100%;cursor:pointer}.report-card .title{font-weight:900;font-size:18px;line-height:1.3}.report-card .actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-start;margin-top:16px;padding:14px 0 0;border-top:1px solid #b9b6ad}.report-card .actions button{box-shadow:none}.report-level-list .report-card{border-width:1px 1px 1px 4px;box-shadow:none;padding:16px;margin-bottom:12px;transition:background-color 90ms ease}.report-level-list .report-card:hover{transform:none;box-shadow:none;background:#f8f7f3}.report-level-list .report-card .title{font-size:17px}.report-level-list .report-card .actions{margin-top:12px;padding-top:10px}.empty{text-align:center;color:var(--color-text);padding:64px 24px;background:var(--color-surface);border:2px dashed var(--color-border)}.empty strong{font-size:22px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.toolbar .spring{flex:1}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}.photo-item{border:2px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:#fff;box-shadow:var(--shadow-small)}.photo-item img{width:100%;height:190px;object-fit:cover;display:block;border-bottom:2px solid var(--color-border)}.photo-item .photo-tools{display:flex;align-items:center;gap:9px;padding:10px}.photo-item textarea{border-width:2px 0 0;border-radius:0;min-height:82px;font-size:14px;box-shadow:none}.sigpad{border:2px dashed var(--color-border-strong);border-radius:var(--radius-sm);background:#fff;position:relative}.sigpad canvas{width:100%;height:160px;display:block;touch-action:none}.sigpad .hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-muted);pointer-events:none;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.actionbar{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:3px solid var(--color-border);box-shadow:0 -5px 0 var(--color-accent);padding:13px 22px calc(env(safe-area-inset-bottom,0px) + 13px);display:flex;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap;z-index:30}.actionbar .savestate{align-self:center;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);min-width:82px}.notice{background:var(--color-status-draft-bg);color:var(--color-status-draft-text);border:2px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-small);padding:12px 15px;font-size:14px;font-weight:700;margin-bottom:22px}.auth-page,.loading-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--color-accent)}.auth-card{position:relative;width:100%;max-width:450px;padding:36px;border:3px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:10px 10px 0 var(--color-border)}.auth-card:before{content:"SECURE ACCESS";position:absolute;top:-16px;left:20px;padding:5px 9px;border:2px solid var(--color-border);background:var(--color-cyan);font-size:11px;font-weight:900;letter-spacing:.12em}.auth-logo{display:block;max-width:190px;max-height:70px;margin:0 auto 26px;border:2px solid var(--color-border)}.auth-card h1{margin:0 0 10px;text-align:center;font-size:30px;line-height:1;font-weight:900;letter-spacing:-.04em;text-transform:uppercase}.auth-intro{margin:0 0 26px;color:var(--color-muted);line-height:1.5;text-align:center}.auth-submit{width:100%;margin-top:6px;text-transform:uppercase}.auth-link{width:100%;margin-top:14px;border:0;box-shadow:none;color:var(--color-text);background:transparent;text-decoration:underline}.auth-link:hover{background:transparent;color:var(--color-danger)}.error-notice{background:#ffd2d9;color:var(--color-text)}.success-notice{background:var(--color-status-final-bg);color:var(--color-status-final-text)}.sync-status{min-height:40px!important;padding:0 12px!important;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.sync-status.synced{background:var(--color-status-final-bg)}.sync-status.offline,.sync-status.error{background:var(--color-danger-bg)}.account-menu{display:flex;align-items:center;gap:10px;padding-left:4px}.account-menu>span{max-width:190px;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:700;color:var(--color-topbar-text)}.account-menu button{min-height:40px;padding:0 12px;font-size:11px;text-transform:uppercase}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#111111ad;display:grid;place-items:center;padding:22px;z-index:50}.modal-card{width:100%;max-width:500px;max-height:calc(100vh - 44px);overflow-y:auto;background:var(--color-surface);border:3px solid var(--color-border);border-radius:var(--radius);box-shadow:10px 10px 0 var(--color-accent);padding:28px}.modal-card>h2{margin:0 0 24px;font-size:28px;line-height:1;font-weight:900;letter-spacing:-.045em;text-transform:uppercase}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:24px;padding-top:18px;border-top:2px solid var(--color-border)}.finding-group{margin:30px 0 22px;padding-top:20px;border-top:2px solid var(--color-border)}.finding-group>h3{display:block;width:fit-content;font-size:14px;margin:0 0 16px;padding:0 0 7px;border:0;border-bottom:2px solid var(--color-border);background:transparent;text-transform:uppercase;letter-spacing:.06em}.finding-block{margin-bottom:22px}.finding-item{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:11px;row-gap:9px;align-items:start;margin-bottom:12px}.finding-item .num{grid-column:1;grid-row:1;font-weight:900;min-width:28px;text-align:right;padding-top:13px;color:var(--color-text)}.finding-item textarea{grid-column:2;grid-row:1;width:100%;min-height:72px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.finding-item textarea:focus{outline:none;border-color:var(--color-border);box-shadow:inset 0 0 0 3px var(--color-cyan)}.finding-tools{grid-column:2;grid-row:2;display:flex;flex-direction:row;justify-content:flex-start;align-items:stretch;gap:0;width:fit-content;max-width:100%;margin-top:-9px;border:2px solid var(--color-border);border-top:0;background:var(--color-bg)}.finding-tools .finding-action{min-height:36px;padding:0 12px;border:0;border-right:1px solid var(--color-border);border-radius:0;background:transparent;box-shadow:none;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.finding-tools .finding-action:last-child{border-right:0}.finding-tools .finding-action:hover{background:var(--color-cyan)}.finding-tools .finding-action.remove{color:var(--color-danger)}.finding-tools .finding-action.remove:hover{color:var(--color-text);background:var(--color-danger-bg)}.finding-tools .finding-action:active{transform:none}.finding-tools .finding-action:disabled{background:transparent;color:var(--color-muted);opacity:.35}.finding-subs{margin-left:39px;padding-left:13px;border-left:3px solid var(--color-accent)}.finding-subs>button{margin:4px 0 8px}@media (max-width: 760px){.topbar{min-height:auto;padding-inline:14px;gap:10px;flex-wrap:wrap}.topbar h1{min-width:150px}.topbar img.logo{height:34px}.account-menu{width:100%;padding:2px 0 0;justify-content:flex-end}.report-topbar .account-menu{width:auto;padding-top:0}.account-menu>span{margin-right:auto;max-width:calc(100vw - 115px)}.page{padding:28px 14px 150px}.library-head{align-items:stretch;flex-direction:column;gap:18px}.library-head h2{font-size:clamp(30px,8vw,42px)}.new-report{width:100%}.grid2{grid-template-columns:1fr}.report-card{padding:18px 16px 17px}.report-card .actions{justify-content:stretch}.report-card .actions button{flex:1 1 auto}.section{margin-bottom:26px;padding:20px 16px;box-shadow:4px 4px 0 var(--color-border)}.section>h2{margin-left:0}.chiprow{gap:8px}.chiprow>.chiprow-label{width:100%;min-width:0;padding-top:0;margin-top:5px}.compliance-row{align-items:flex-end}.modal-card{padding:24px 18px}.modal-actions{align-items:stretch;flex-direction:column-reverse}.modal-actions button{width:100%}.finding-item{column-gap:7px;row-gap:8px}.finding-tools{max-width:100%;overflow-x:auto}.finding-subs{margin-left:20px}.actionbar{justify-content:stretch;gap:10px;padding-inline:14px}.actionbar .savestate{width:100%;min-width:0;text-align:center}.actionbar button{flex:1 1 140px}}@media (max-width: 600px){.folder-list{grid-template-columns:1fr}.folder-card{min-height:96px;padding:16px}.report-topbar{grid-template-columns:auto 1fr auto auto;grid-template-areas:"logo spacer sync nav" "account account account account" "title title title title"}.report-topbar .account-menu{width:100%;padding-top:2px}}@media (max-width: 430px){.topbar h1{order:2;width:calc(100% - 58px);font-size:17px}.report-topbar h1{width:100%}.topbar .sync-status{margin-left:auto}.library-head h2{font-size:36px}.report-card .actions button{flex-basis:calc(50% - 5px)}.report-card .actions .danger{flex-basis:100%}.chips{gap:9px}.chip{flex:1 1 auto;padding-inline:13px}.compliance-row .chip,.compliance-row .compliance-pct{flex:1 1 100%;width:100%}.photo-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.photo-pending{height:180px;display:grid;place-items:center;padding:12px;text-align:center;color:var(--color-muted);font-weight:700;background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(0,0,0,.04) 12px,rgba(0,0,0,.04) 24px)}
