:root{color-scheme:light;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--bg: #f5f6f4;--surface: #ffffff;--surface-2: #f3f4f2;--surface-3: #eaece8;--border: #e1e4de;--border-strong: #ccd1c8;--text: #151915;--text-2: #475047;--text-3: #626b62;--accent: #38761d;--accent-hover: #2e6317;--accent-contrast: #ffffff;--accent-soft: #e7f1e1;--accent-text: #2f6619;--focus: #38761d;--sidebar-bg: #f3f7f0;--sidebar-hover: #e8efe3;--sidebar-border: #dde6d6;--ok-fg: #1d6b1d;--ok-bg: #e7f5e8;--ok-icon: #0ca30c;--warn-fg: #8a5300;--warn-bg: #fff3db;--warn-icon: #c98500;--bad-fg: #b42318;--bad-bg: #fdecea;--bad-icon: #d03b3b;--info-fg: #1c5cab;--info-bg: #e8f1fd;--info-icon: #2a78d6;--neutral-fg: #475047;--neutral-bg: #eef0ec;--overlay: rgba(15, 18, 15, .45);--shadow-sm: 0 1px 2px rgba(16, 24, 16, .06);--shadow-md: 0 4px 16px rgba(16, 24, 16, .08);--shadow-lg: 0 16px 40px rgba(16, 24, 16, .16);--topbar-bg: rgba(255, 255, 255, .88);--photo-bg: #dfe2dc;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--sidebar-w: 248px;--sidebar-rail: 72px;--topbar-h: 60px;--bottomnav-h: 64px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0e110e;--surface: #161a16;--surface-2: #1c211c;--surface-3: #242a23;--border: #2a3129;--border-strong: #3a4239;--text: #ebeee9;--text-2: #b5bdb3;--text-3: #8d978b;--accent: #3d8221;--accent-hover: #4a952b;--accent-contrast: #ffffff;--accent-soft: rgba(84, 160, 52, .18);--accent-text: #93d273;--focus: #93d273;--sidebar-bg: #141a13;--sidebar-hover: #1d251b;--sidebar-border: #273024;--ok-fg: #7fd67f;--ok-bg: rgba(12, 163, 12, .16);--ok-icon: #0ca30c;--warn-fg: #f6c661;--warn-bg: rgba(250, 178, 25, .14);--warn-icon: #fab219;--bad-fg: #ff9d9d;--bad-bg: rgba(208, 59, 59, .18);--bad-icon: #e66767;--info-fg: #9cc3f5;--info-bg: rgba(57, 135, 229, .18);--info-icon: #3987e5;--neutral-fg: #b5bdb3;--neutral-bg: #242a23;--overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);--topbar-bg: rgba(22, 26, 22, .88);--photo-bg: #262c25}}:root[data-theme=dark]{color-scheme:dark;--bg: #0e110e;--surface: #161a16;--surface-2: #1c211c;--surface-3: #242a23;--border: #2a3129;--border-strong: #3a4239;--text: #ebeee9;--text-2: #b5bdb3;--text-3: #8d978b;--accent: #3d8221;--accent-hover: #4a952b;--accent-contrast: #ffffff;--accent-soft: rgba(84, 160, 52, .18);--accent-text: #93d273;--focus: #93d273;--sidebar-bg: #141a13;--sidebar-hover: #1d251b;--sidebar-border: #273024;--ok-fg: #7fd67f;--ok-bg: rgba(12, 163, 12, .16);--ok-icon: #0ca30c;--warn-fg: #f6c661;--warn-bg: rgba(250, 178, 25, .14);--warn-icon: #fab219;--bad-fg: #ff9d9d;--bad-bg: rgba(208, 59, 59, .18);--bad-icon: #e66767;--info-fg: #9cc3f5;--info-bg: rgba(57, 135, 229, .18);--info-icon: #3987e5;--neutral-fg: #b5bdb3;--neutral-bg: #242a23;--overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);--topbar-bg: rgba(22, 26, 22, .88);--photo-bg: #262c25}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100dvh;font:14px/1.5 var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1{font-size:22px;line-height:1.25;font-weight:650;letter-spacing:-.01em;margin:0 0 16px}h2{font-size:16px;line-height:1.35;font-weight:620;margin:0 0 8px}h3{font-size:14px;line-height:1.4;font-weight:620;margin:12px 0 6px}h4{font-size:13px;font-weight:620;margin:8px 0 4px}p{line-height:1.55;margin:6px 0}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img,svg{display:block}code{font-family:var(--font-mono);font-size:.92em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mono{font-family:var(--font-mono);font-size:.92em}.nums{font-variant-numeric:tabular-nums}.muted{color:var(--text-3)}.small{font-size:13px}.nowrap{white-space:nowrap}.right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wrap-anywhere{overflow-wrap:anywhere}.error{color:var(--bad-fg);margin:0}.ok{color:var(--ok-fg)}button,a.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);font-size:14px;font-weight:560;line-height:1.1;white-space:nowrap;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,a.button:hover{background:var(--accent-hover);text-decoration:none}button:disabled{opacity:.55}button.secondary,a.button.secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}button.secondary:hover,a.button.secondary:hover{background:var(--surface-2)}button.ghost{background:transparent;color:var(--text-2)}button.ghost:hover{background:var(--surface-2);color:var(--text)}button.danger{background:transparent;border-color:var(--border-strong);color:var(--bad-fg)}button.danger:hover{background:var(--bad-bg)}button.link{min-height:0;padding:2px 4px;border:0;background:none;color:var(--text-2);font-weight:500;text-decoration:underline;text-underline-offset:2px}button.link:hover{background:none;color:var(--text)}button.small,a.button.small{min-height:30px;padding:0 10px;font-size:13px}button.large,a.button.large{min-height:46px;padding:0 18px;font-size:15px}.block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;min-height:0;padding:0;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-2)}.icon-btn:hover{background:var(--surface-2);color:var(--text)}@media(pointer:coarse){button,a.button{min-height:44px}button.small,a.button.small{min-height:38px}button.link{min-height:0}.icon-btn{width:44px;height:44px}}label{font-size:13px;color:var(--text-2)}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:13px;font-weight:560;color:var(--text-2)}.field small{font-size:12px;color:var(--text-3)}.field.wide,.form .actions,.form .error,.form>button.link{grid-column:1 / -1}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;min-width:0;min-height:38px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--text-3)}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:var(--text-3)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--text-3)}textarea{resize:vertical;line-height:1.5}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent)}@media(max-width:767px){input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:16px;min-height:44px}}.checkbox{display:inline-flex;flex-direction:row;align-items:center;gap:8px;color:var(--text);font-size:14px}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.inline-form input:not([type=checkbox]){flex:1 1 180px;width:auto}.actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.savebar{position:sticky;bottom:0;z-index:4;display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:12px 0;background:linear-gradient(transparent,var(--bg) 30%)}.search{width:100%;max-width:420px;margin:4px 0 16px}.card{min-width:0;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.center{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px}.narrow{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px}.stack{display:flex;flex-direction:column;gap:16px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.title-row h1,.title-row h2,.title-row h3{margin:0}.card .title-row{margin-bottom:8px}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.group{border-top:1px solid var(--border);margin-top:10px;padding-top:6px}.row-item{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--border)}.row-item:last-child{border-bottom:none}.empty{padding:32px 20px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-3);text-align:center}.notice{margin:0 0 12px;padding:10px 14px;border-radius:var(--radius);background:var(--warn-bg);color:var(--warn-fg)}.callout{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-radius:var(--radius);font-size:14px}.callout svg{flex:none;margin-top:2px}.callout.ok{background:var(--ok-bg);color:var(--ok-fg)}.callout.warn{background:var(--warn-bg);color:var(--warn-fg)}.callout.bad{background:var(--bad-bg);color:var(--bad-fg)}.callout.info{background:var(--info-bg);color:var(--info-fg)}table.list{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}table.list th,table.list td{padding:11px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}table.list tbody tr:last-child td{border-bottom:0}table.list th{background:var(--surface-2);color:var(--text-3);font-size:12px;font-weight:620;white-space:nowrap}table.list tbody tr:hover td{background:var(--surface-2)}table.list.compact th,table.list.compact td{padding:7px 10px}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text-2);font-size:13px;font-weight:540}.chip span{color:var(--text-3)}button.chip:hover{background:var(--surface-2);color:var(--text)}.chip.active{background:var(--accent-soft);border-color:transparent;color:var(--accent-text)}.chip.active span{color:var(--accent-text)}.chip button.link{padding:0 2px}.badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 9px;border-radius:999px;background:var(--neutral-bg);color:var(--neutral-fg);font-size:12px;font-weight:560;white-space:nowrap}.badge.ok,.state-approved,.state-sent,.version-approved,.version-sent{background:var(--ok-bg);color:var(--ok-fg)}.badge.warn,.state-followup,.state-capturing{background:var(--warn-bg);color:var(--warn-fg)}.badge.bad{background:var(--bad-bg);color:var(--bad-fg)}.badge.info,.state-inreview,.state-revising,.state-drafted,.state-submitted,.version-draft{background:var(--info-bg);color:var(--info-fg)}.badge.accent,.state-assigned{background:var(--accent-soft);color:var(--accent-text)}.tag{font-size:11px;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:4px;background:var(--neutral-bg);color:var(--neutral-fg)}.tag.damage{background:var(--bad-bg);color:var(--bad-fg)}.tag.preexisting{background:var(--warn-bg);color:var(--warn-fg)}.tabs{display:flex;gap:4px;margin:14px 0 18px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 12px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--text-3);font-weight:560;white-space:nowrap;text-decoration:none}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--accent-text);border-bottom-color:var(--accent)}.tabs .count{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--surface-3);color:var(--text-2)}.tabs .count.attention{background:var(--warn-bg);color:var(--warn-fg)}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:200px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.menu-label{padding:6px 10px;font-size:12px;color:var(--text-3)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font-weight:500;text-align:left;text-decoration:none}.menu-item:hover{background:var(--surface-2);text-decoration:none}.menu-item .check{margin-left:auto;color:var(--accent-text)}.modal-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow:auto;background:var(--overlay)}.modal{width:100%;max-width:620px;padding:18px 22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.modal.wide{max-width:940px}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal header h2{margin:0}.qr{align-self:center;width:200px;height:200px;border-radius:var(--radius);background:#fff;padding:6px}.codes{columns:2;font-family:var(--font-mono);padding-left:18px}.avatar{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:700}.brand-mark{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent);color:var(--accent-contrast)}.progress{height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress>span{display:block;height:100%;border-radius:999px;background:var(--accent)}.app{--sb: var(--sidebar-w);display:grid;grid-template-columns:var(--sb) minmax(0,1fr);min-height:100dvh}.app[data-collapsed=true]{--sb: var(--sidebar-rail)}.sidebar{grid-column:1;grid-row:1;position:sticky;top:0;z-index:40;display:flex;flex-direction:column;width:var(--sb);height:100dvh;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);transition:width .2s ease,transform .25s ease,box-shadow .2s ease}.sidebar-brand{display:flex;align-items:center;gap:12px;min-height:var(--topbar-h);padding:0 16px;border-bottom:1px solid var(--sidebar-border);color:var(--text);text-decoration:none}.sidebar-brand:hover{text-decoration:none}.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.brand-text strong{font-size:14px;font-weight:650}.brand-text span{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 10px}.nav-section+.nav-section{margin-top:18px}.nav-heading{padding:0 10px 6px;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.nav-link{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:var(--radius);background:none;color:var(--text-2);font-size:14px;font-weight:520;text-align:left;text-decoration:none}.nav-link:hover{background:var(--sidebar-hover);color:var(--text);text-decoration:none}.nav-link svg{flex:none}.nav-link.active{background:var(--accent-soft);color:var(--accent-text)}.nav-link.active:before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-badge{margin-left:auto;display:grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:var(--warn-bg);color:var(--warn-fg);font-size:11px;font-weight:650}.sidebar-footer{display:flex;flex-direction:column;gap:2px;padding:10px;border-top:1px solid var(--sidebar-border)}.user-card{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-radius:var(--radius);color:var(--text);text-decoration:none}.user-card:hover{background:var(--sidebar-hover);text-decoration:none}.user-meta{display:flex;flex-direction:column;min-width:0;line-height:1.25}.user-meta strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta span{font-size:12px;color:var(--text-3)}.sidebar[data-compact=true] .nav-label,.sidebar[data-compact=true] .nav-heading,.sidebar[data-compact=true] .brand-text,.sidebar[data-compact=true] .user-meta,.sidebar[data-compact=true] .nav-badge{display:none}.sidebar[data-compact=true] .sidebar-brand,.sidebar[data-compact=true] .nav-link,.sidebar[data-compact=true] .user-card{justify-content:center;padding:0}.sidebar[data-compact=true] .nav-section+.nav-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--sidebar-border)}.sidebar[data-compact=true],.sidebar[data-compact=true] .sidebar-nav{overflow:visible}.sidebar[data-compact=true] .nav-link[data-count]:after{content:"";position:absolute;top:8px;right:14px;width:8px;height:8px;border-radius:50%;background:var(--warn-icon);box-shadow:0 0 0 2px var(--sidebar-bg)}.sidebar[data-compact=true] [data-tip]:hover:after,.sidebar[data-compact=true] [data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);z-index:70;padding:5px 9px;border-radius:6px;background:var(--text);color:var(--surface);font-size:12px;font-weight:550;white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none}.main{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:100dvh}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;min-height:var(--topbar-h);padding:env(safe-area-inset-top) max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));background:var(--topbar-bg);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.topbar-brand{display:none;align-items:center;gap:10px;color:var(--text);font-weight:650;text-decoration:none}.topbar-brand .brand-mark{width:30px;height:30px;border-radius:8px}.topbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.menu-button{display:none}.topbar-search{position:relative;flex:1;max-width:460px}.topbar-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.topbar .topbar-search input[type=search]{padding-left:36px;background:var(--surface-2);border-color:var(--border)}.content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:24px max(24px,env(safe-area-inset-right)) 56px max(24px,env(safe-area-inset-left))}.backdrop{display:none;position:fixed;inset:0;z-index:35;min-height:0;padding:0;border:0;border-radius:0;background:var(--overlay)}.backdrop:hover{background:var(--overlay)}.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;grid-template-columns:repeat(4,1fr);height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--topbar-bg);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--border)}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:none;color:var(--text-3);font-size:11px;font-weight:560;text-decoration:none}.bottom-nav button:hover{background:none}.bottom-nav .active{color:var(--accent-text)}@media(max-width:1023px){.app,.app[data-collapsed=true]{--sb: var(--sidebar-rail)}.sidebar{position:fixed;left:0;top:0;bottom:0}.app[data-nav-open=true] .sidebar{width:var(--sidebar-w);box-shadow:var(--shadow-lg)}.app[data-nav-open=true] .backdrop{display:block}.collapse-toggle{display:none}.menu-button{display:inline-grid}.topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.content{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}@media(max-width:767px){.app,.app[data-collapsed=true]{--sb: 0px;grid-template-columns:minmax(0,1fr)}.main{grid-column:1}.sidebar{width:min(86vw,300px);transform:translate(-102%)}.app[data-nav-open=true] .sidebar{width:min(86vw,300px);transform:none}.topbar-brand{display:flex;min-height:44px}.topbar-search{display:none}.nav-link{min-height:44px}.hide-phone{display:none!important}.bottom-nav{display:grid}.content{padding:16px max(16px,env(safe-area-inset-right)) calc(var(--bottomnav-h) + 28px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}}@media(min-width:768px){.show-phone{display:none!important}}@media(pointer:coarse){.nav-link{min-height:44px}}.auth{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100dvh}.auth-art{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:40px 48px;background:#24521a;color:#f2f7ef}.auth-art .brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:650}.auth-art .brand-mark{background:#ffffff29}.auth-art h1{margin:0 0 10px;font-size:30px;line-height:1.2;color:#fff;max-width:520px}.auth-art p{margin:0;max-width:480px;color:#cfe3c6;font-size:15px}.auth-art svg.roofline{width:100%;height:auto;opacity:.9}.auth-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:48px 24px;background:var(--bg)}.auth-top{position:absolute;top:16px;right:16px}.auth-card{display:flex;flex-direction:column;gap:14px;width:100%;max-width:380px}.auth-card h2{margin:0;font-size:22px}.auth-card form{display:flex;flex-direction:column;gap:12px}.auth-phone-brand{display:none;align-items:center;gap:10px;font-weight:650}@media(max-width:860px){.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-phone-brand{display:flex}}.page-header{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-header .titles{flex:1 1 320px;min-width:0}.page-header h1{margin:0}.page-header p{margin:4px 0 0;color:var(--text-3)}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.case-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.case-head h1{margin:0}.case-head p{margin:4px 0 0}.head-side{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.checks{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:560;text-decoration:none}.checks:hover{text-decoration:none}.checks.ok{background:var(--ok-bg);color:var(--ok-fg)}.checks.bad{background:var(--bad-bg);color:var(--bad-fg)}.finding-text{margin:4px 0}.thumbs{display:flex;gap:6px;flex-wrap:wrap}.thumbs img{width:64px;height:48px;object-fit:cover;border-radius:4px;border:1px solid var(--border);background:var(--photo-bg)}.steps{margin:4px 0;padding-left:20px;font-size:14px}.ai-drafting{display:grid;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.panel-draft{display:grid;gap:6px;padding:12px 14px;border-radius:var(--radius);background:var(--info-bg);color:var(--text)}.panel-draft h4{margin:8px 0 0}.whatsapp{display:grid;gap:8px;margin-top:10px}.job-message{margin:0;padding:8px 10px;max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:12px;white-space:pre-wrap}.dropzones{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}.dropzone{display:flex;flex-direction:column;gap:4px;padding:14px 10px;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);text-align:center;cursor:pointer}.dropzone small{color:var(--text-3);font-size:12px}.dropzone.hover{border-color:var(--accent);background:var(--accent-soft)}.uploads{margin-top:10px;font-size:13px}.uploads ul{max-height:200px;overflow:auto;padding-left:18px}.upload.done{color:var(--ok-fg)}.upload.error,.upload.skipped{color:var(--bad-fg)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.photo{margin:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.photo.excluded{opacity:.55}.photo .thumb{position:relative;display:block;width:100%;min-height:0;padding:0;border:none;border-radius:0;background:var(--photo-bg)}.photo .thumb:hover{background:var(--photo-bg)}.photo .thumb img{display:block;width:100%;height:150px;object-fit:cover}.photo .number{position:absolute;left:6px;top:6px;padding:2px 6px;border-radius:4px;background:#000000a6;color:#fff;font-size:12px}.photo .flag{position:absolute;right:6px;top:6px;padding:1px 6px;border-radius:4px;background:var(--warn-bg);color:var(--warn-fg);font-size:13px}.photo .source-badge{position:absolute;left:6px;bottom:6px;padding:1px 6px;border-radius:4px;background:#0009;color:#fff;font-size:11px}.photo figcaption{display:flex;flex-direction:column;gap:4px;padding:8px}.photo figcaption input:not([type=checkbox]){min-height:32px;padding:5px 7px;font-size:13px}.photo-meta{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}.viewer img{width:100%;max-height:60vh;object-fit:contain;border-radius:var(--radius);background:#111}.viewer dl{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;font-size:14px}.viewer dt{color:var(--text-3)}.viewer dd{margin:0}.photo-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;max-height:300px;overflow:auto}.pick{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:0;padding:4px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);white-space:normal}.pick:hover{background:var(--surface-2)}.pick img{width:100%;height:70px;object-fit:cover;border-radius:4px}.pick small{font-size:11px;color:var(--text-3)}.pick.on{border-color:var(--accent);background:var(--accent-soft)}.library{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}.library-item{display:block;min-height:0;padding:10px 12px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;white-space:normal}.library-item:hover{border-color:var(--accent);background:var(--surface-2)}.review{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.report{font-size:15px;line-height:1.6}.report .report-title{margin:0;font-size:26px;font-weight:700;color:var(--accent-text)}.report .report-address{margin:4px 0 12px;font-size:18px;color:var(--accent-text)}.report section h3{margin-top:18px}.cover{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0 0 8px;font-size:13px}.cover dt{font-weight:700;text-transform:uppercase;font-size:12px}.cover dd{margin:0}.source{display:inline-block;min-height:0;margin:0 2px;padding:0 6px;border:none;border-radius:999px;background:var(--info-bg);color:var(--info-fg);font-size:11px;font-weight:500;line-height:1.5;text-decoration:none;vertical-align:1px;cursor:pointer}.source:hover{background:var(--info-bg);filter:brightness(.96)}.appendix{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.appendix figure{margin:0}.appendix img{width:100%;height:130px;object-fit:cover;border-radius:6px;background:var(--photo-bg);cursor:zoom-in}.appendix figcaption{font-size:12px;color:var(--text-3)}.checks-panel{position:sticky;top:calc(var(--topbar-h) + 12px);display:flex;flex-direction:column;gap:8px;max-height:calc(100dvh - var(--topbar-h) - 24px);overflow:auto}.checks-panel hr{width:100%;border:none;border-top:1px solid var(--border)}.finding{padding:8px 10px;border-radius:var(--radius);font-size:13px}.finding.block{background:var(--bad-bg)}.finding.warn{background:var(--warn-bg)}img.full{width:100%}.banner-preview{display:block;max-width:100%;max-height:120px;margin:8px 0}.version-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.answers{display:grid;grid-template-columns:minmax(140px,40%) minmax(0,1fr);gap:6px 14px;margin:0;font-size:14px}.answers dt{color:var(--text-3)}.answers dd{margin:0}.answers .unknown{color:var(--warn-fg);font-style:italic}.diff{width:100%;border-collapse:collapse;font-size:14px}.diff td,.diff th{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.diff th{color:var(--text-3);font-size:12px;font-weight:620}.diff .was{color:var(--text-3);text-decoration:line-through}.crew-item{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.crew-item.accepted{border-color:var(--ok-icon)}.crew-item.rejected{opacity:.6}.progress-cell{display:grid;gap:4px;min-width:110px}@media(max-width:900px){.review{grid-template-columns:1fr}.checks-panel{position:static;max-height:none}.form,.cover{grid-template-columns:1fr}}.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}@media(max-width:1100px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.kpi-row{gap:10px}}.stat-tile{display:flex;flex-direction:column;gap:6px;padding:16px 18px;color:var(--text);text-decoration:none}a.stat-tile:hover{text-decoration:none;border-color:var(--border-strong)}.stat-tile .label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:560;color:var(--text-2)}.stat-tile .label svg{color:var(--text-3)}.stat-tile .value{font-size:28px;font-weight:650;line-height:1.1;letter-spacing:-.01em}.stat-tile .sub{font-size:12px;color:var(--text-3)}.stat-tile.attention{border-color:var(--warn-icon)}.stat-tile.attention .value{color:var(--warn-fg)}@media(max-width:420px){.stat-tile{padding:14px}.stat-tile .value{font-size:24px}}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.dash-grid .wide{grid-column:1 / -1}@media(max-width:1023px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.dash-list{list-style:none;margin:0;padding:0}.dash-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.dash-list li:first-child{border-top:0;padding-top:4px}.dash-list .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.dash-title{font-weight:600;color:var(--text)}.chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip-row:empty{display:none}.progress-inline{display:inline-flex;align-items:center;gap:8px}.progress-inline .progress{width:110px}.inline-icon{display:inline;vertical-align:-1px}.activity{list-style:none;margin:0;padding:0;display:grid;gap:8px}.activity li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;font-size:14px}@media(max-width:600px){.activity li{grid-template-columns:1fr;gap:0}}.card.flush{padding:0;margin-bottom:16px;overflow:hidden}.card-head{padding:16px 18px 12px}.card-head h2{margin:0}.card-head p{margin:4px 0 0;max-width:72ch}.card-body{margin:0;padding:12px 18px 16px}.user-list,.role-list{list-style:none;margin:0;padding:0}.user-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:64px;padding:10px 18px;border:0;border-top:1px solid var(--border);border-radius:0;background:none;color:var(--text);font-weight:400;line-height:1.35;text-align:left;white-space:normal;cursor:pointer}.user-row:hover{background:var(--surface-2)}.user-row .grow,.role-list .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.user-meta{font-size:12px;color:var(--text-3);overflow-wrap:anywhere}.user-meta.warn-text{color:var(--warn-fg)}.user-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.user-chevron{flex:none;color:var(--text-3);transition:transform .15s}.user-row[aria-expanded=true] .user-chevron{transform:rotate(180deg)}.user-panel{padding-bottom:6px}.user-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:2px 18px 12px 62px}.user-actions .error{flex-basis:100%;margin:0}.sign-ins{padding:2px 18px 14px 62px}.sign-ins-title{margin:0 0 4px;font-size:13px;color:var(--text-2)}.sign-in-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;font-size:13px}.sign-in-list li{display:grid;grid-template-columns:minmax(170px,max-content) minmax(220px,max-content) minmax(0,1fr);gap:4px 16px;align-items:center;padding:6px 0;border-top:1px solid var(--border)}.sign-in-list li:first-child{border-top:0}.sign-in-when{font-variant-numeric:tabular-nums}.sign-in-how{display:inline-flex;align-items:center;gap:6px;color:var(--text-2)}.sign-in-list li.bad .sign-in-how{color:var(--bad-fg)}.sign-in-device{color:var(--text-3);overflow-wrap:anywhere}.sign-in-ip{font-variant-numeric:tabular-nums}table.rights th:not(:first-child),table.rights td:not(:first-child){width:90px;text-align:center}table.rights svg{display:block;margin:0 auto}.allowed{color:var(--ok-icon)}.role-list li{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--border)}@media(max-width:767px){.user-row{flex-wrap:wrap;padding:10px 14px}.user-chevron{order:2}.user-chips{order:3;flex-basis:100%;justify-content:flex-start;padding-left:44px}.user-actions,.sign-ins{padding-left:14px;padding-right:14px}.sign-in-list li{grid-template-columns:minmax(0,1fr);gap:2px}.card-head{padding:14px 14px 10px}.role-list li{padding:12px 14px}}.ai-audit{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.ai-audit h3{margin:0;font-size:15px}.ai-audit p{margin:0}.ai-audit button{align-self:flex-start}.audit-finding{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--warn-icon);border-radius:var(--radius);background:var(--surface)}.audit-finding.kept{border-left-color:var(--border-strong)}.audit-finding p{margin:0}.audit-sentence{font-size:13px;color:var(--text-2);overflow-wrap:anywhere}.stack-tight{display:flex;flex-direction:column;gap:6px}.sentence.flagged{background:var(--warn-bg);color:var(--warn-fg);border-bottom:2px solid var(--warn-icon);border-radius:2px}.task-list{list-style:none;margin:0;padding:0}.task-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-top:1px solid var(--border)}.task-list li:first-child{border-top:0}.task-list .grow{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px}.task-list li.done .grow>span:first-child,.task-list li.dismissed .grow>span:first-child{color:var(--text-3);text-decoration:line-through}.task-list form{flex-basis:100%}.caption-bar p{margin:6px 0 0}.suggestion{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2)}.suggestion .small{overflow-wrap:anywhere}.suggestion button.link{align-self:flex-start;text-align:left;white-space:normal}.price-hint{display:block;margin-top:4px;color:var(--text-3);overflow-wrap:anywhere}.library-item .price-hint{display:inline;margin:0 0 0 8px;color:var(--accent-text)}
