:root{--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--color-bg:#f5f3eb;--color-surface:#fffdf8;--color-surface-2:#f1eee4;--color-border:#d8d1be;--color-text:#1b2924;--color-muted:#5e6963;--green:#103c32;--green-hover:#0a2d25;--gold:#dab05b;--danger:#8d3329;--success:#3d7031;--shadow:0 8px 25px rgba(20,42,34,.1);--font-body:"Satoshi","Helvetica Neue",sans-serif;--font-display:"Cabinet Grotesk","Helvetica Neue",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:none;text-size-adjust:none;background:var(--color-bg)}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--color-text);background:var(--color-bg)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}img,video{display:block;max-width:100%;height:auto}input,textarea,select{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--color-surface);min-height:44px}textarea{min-height:110px;resize:vertical}label{display:grid;gap:var(--space-2);font-size:var(--text-sm);font-weight:700}h1{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.08}h2{font-size:var(--text-lg);line-height:1.15}h3{font-size:var(--text-base)}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:var(--space-4);top:var(--space-4);z-index:10;background:#fff;padding:var(--space-3)}.app-shell{min-height:100dvh}.topbar{min-height:64px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) max(var(--space-4),env(safe-area-inset-right));gap:var(--space-3)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-size:1.2rem;font-weight:900;letter-spacing:.06em}.brand span span{color:var(--gold)}.brand svg{height:32px;width:32px;color:var(--gold)}.logo-link{text-decoration:none}.topbar-actions{display:flex;gap:var(--space-3);align-items:center}.user-name{font-size:var(--text-sm)}.navigation{display:flex;background:#0b2e26;padding:0 var(--space-3);overflow:auto;position:sticky;top:0;z-index:2}.navigation a{color:#dbe5df;text-decoration:none;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}.navigation a.active{color:#fff;border-color:var(--gold)}.content{max-width:1080px;margin:auto;padding:var(--space-6) var(--space-4) calc(var(--space-16) + env(safe-area-inset-bottom))}.page-heading,.detail-head,.section-heading,.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.eyebrow{font-size:var(--text-xs);font-weight:900;letter-spacing:.12em;color:#8a6b29;margin-bottom:var(--space-1)}.primary-button,.secondary-button,.danger-button,.quiet-button,.back-button,.upload-button{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary-button{background:var(--green);color:#fff}.primary-button:hover{background:var(--green-hover)}.secondary-button{background:var(--color-surface-2);border:1px solid var(--color-border)}.danger-button{background:var(--danger);color:#fff}.quiet-button,.back-button{background:transparent;text-decoration:underline;text-underline-offset:3px}.job-list,.task-list,.activity-list{display:grid;gap:var(--space-3)}.job-card,.task-card,.clock-card,.estimate-card,.video-slot{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow)}.job-card{padding:var(--space-5);display:flex;justify-content:space-between;gap:var(--space-4);cursor:pointer}.job-card h2{margin:var(--space-1) 0}.job-card p:not(.job-meta){color:var(--color-muted);font-size:var(--text-sm)}.job-meta{color:#80652a;font-size:var(--text-xs);font-weight:700}.status{height:max-content;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:700;border-radius:99px;background:#e8ddbf}.status.completed{background:#d9ead0;color:#1d5720}.detail-section{margin-top:var(--space-10)}.section-heading p,.section-copy{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.task-card{padding:var(--space-4)}.task-top{display:flex;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.check-label{display:flex;grid-template-columns:auto 1fr;align-items:center;font-size:var(--text-sm)}.check-label input{width:22px;height:22px;min-height:22px;accent-color:var(--green)}.subtasks{margin:var(--space-3) 0;padding-left:var(--space-4);color:var(--color-muted);font-size:var(--text-sm)}.proof-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-4);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.proof-row>div{display:grid;gap:var(--space-2);font-size:var(--text-xs)}.proof-row img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-surface-2)}.upload-button{background:#e8e0cd;color:var(--green);width:max-content;font-size:var(--text-xs);position:relative}.inline-error,.form-error{color:var(--danger);font-size:var(--text-sm)}.add-task{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.add-task input{min-width:0}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.video-slot{padding:var(--space-3);display:grid;gap:var(--space-3);font-size:var(--text-sm)}.video-slot video{aspect-ratio:1.5;object-fit:cover;width:100%;background:#18201d}.grade-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.estimate-card{padding:var(--space-4)}.estimate-lines{display:grid;gap:var(--space-2);margin-bottom:var(--space-4)}.estimate-lines>div,.total-row{display:flex;justify-content:space-between;gap:var(--space-3)}.estimate-lines span{font-size:var(--text-sm);color:var(--color-muted)}.total-row{border-top:1px solid var(--color-border);padding:var(--space-4) 0;margin-bottom:var(--space-4);font-size:var(--text-lg)}.clock-card{display:grid;gap:var(--space-4);padding:var(--space-5);max-width:570px}.clock-card select{margin-top:var(--space-2)}.table-wrap{overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}table{border-collapse:collapse;min-width:640px;width:100%;font-size:var(--text-sm)}th,td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}th{background:var(--color-surface-2)}.activity-row{padding:var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm)}.activity-row p,.activity-row time{font-size:var(--text-xs);color:var(--color-muted)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10221b8c;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-3)}.sheet{background:var(--color-surface);width:min(680px,100%);max-height:92dvh;overflow:auto;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-sm);padding:var(--space-6);box-shadow:var(--shadow)}.sheet>p{margin:var(--space-2) 0 var(--space-5);color:var(--color-muted)}.form-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.wide{grid-column:1/-1}.login-page{min-height:100dvh;background:linear-gradient(160deg,#103c32,#0a2922 66%,#6d5221 160%);display:grid;place-items:center;padding:var(--space-4)}.login-card{width:min(470px,100%);padding:var(--space-8);background:#fffdf8;border-radius:var(--radius-xl);box-shadow:0 20px 60px #00000047}.login-card>.brand{color:var(--green);margin-bottom:var(--space-8)}.login-card h1{margin:var(--space-2) 0}.login-copy,.login-help{color:var(--color-muted);font-size:var(--text-sm);margin-bottom:var(--space-6)}.login-card form{display:grid;gap:var(--space-4)}.login-help{margin:var(--space-5) 0 0}.notice{padding:var(--space-3);background:#e6eedf;color:#225321;border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--text-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-16) var(--space-6);color:var(--color-muted)}.empty-state h2{color:var(--color-text);margin-bottom:var(--space-2)}.empty-state p{margin-bottom:var(--space-6);max-width:34ch}.empty-state-icon{font-family:var(--font-display);font-size:3rem;color:var(--gold);margin-bottom:var(--space-3)}.skeleton{background:linear-gradient(90deg,#e7e4d9 25%,#f5f3eb,#e7e4d9 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-stack{display:grid;gap:var(--space-3)}.skeleton-heading{height:38px;width:40%}.skeleton-card{height:105px}@keyframes shimmer{to{background-position:-200% 0}}.push-gate{position:fixed;z-index:5;right:var(--space-3);bottom:var(--space-3);display:grid;justify-items:end;gap:var(--space-2);max-width:min(300px,calc(100vw - 2rem))}.push-gate button{background:var(--green);color:#fff;padding:var(--space-2) var(--space-3);border-radius:99px;box-shadow:var(--shadow);font-size:var(--text-xs);font-weight:700}.push-gate span{background:var(--color-surface);box-shadow:var(--shadow);padding:var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-sm)}.image-fallback{min-height:82px;padding:var(--space-2);background:var(--color-surface-2);display:grid;place-items:center;color:var(--color-muted);font-size:var(--text-xs);text-align:center}@media(min-width:700px){.content{padding:var(--space-10) var(--space-6)}.form-grid{grid-template-columns:1fr 1fr}.proof-row{grid-template-columns:repeat(2,minmax(0,280px))}.sheet-backdrop{align-items:center}.sheet{border-radius:var(--radius-xl)}.job-card{padding:var(--space-6)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.subtask-control{display:grid;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--color-border)}.subtask-control .quiet-button{justify-self:start;min-height:32px;padding:0;font-size:var(--text-xs)}.subtask-detail{display:grid;gap:var(--space-3);padding:var(--space-2) 0}.subtask-detail textarea{min-height:70px}.pw-field{position:relative;display:block}.pw-field input{width:100%;padding-right:4.75rem}.pw-toggle{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);background:transparent;border:0;padding:.35rem .5rem;cursor:pointer;font:inherit;font-size:.8125rem;font-weight:600;color:#1d5b4c;min-height:2rem;border-radius:.375rem}.pw-toggle:hover{background:#1d5b4c14}.pw-toggle:focus-visible{outline:2px solid #1d5b4c;outline-offset:1px}.pw-count{margin:.375rem 0 0;font-size:.75rem;color:#6b7280;letter-spacing:.01em}@media(display-mode:standalone){.topbar{padding-top:calc(var(--space-3) + env(safe-area-inset-top))}.navigation{padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right))}.content{padding-bottom:calc(var(--space-16) + env(safe-area-inset-bottom))}.push-gate{bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}body{overscroll-behavior-y:contain}}.install-banner{position:fixed;z-index:6;left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));max-width:520px;margin-inline:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 12px 40px #102a2238;padding:var(--space-3);animation:install-in .25s ease-out}@keyframes install-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.install-row{display:flex;align-items:center;gap:var(--space-3)}.install-icon{flex:0 0 auto;width:38px;height:38px;background:var(--green);border-radius:var(--radius-sm);display:grid;place-items:center}.install-icon svg{width:26px;height:26px}.install-copy{flex:1 1 auto;min-width:0}.install-copy strong{display:block;font-size:var(--text-sm);line-height:1.25}.install-copy p{font-size:var(--text-xs);color:var(--color-muted);margin-top:2px}.install-actions{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-1)}.install-cta{background:var(--green);color:#fff;border-radius:99px;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:900;min-height:38px}.install-cta:hover{background:var(--green-hover)}.install-x{background:transparent;color:var(--color-muted);font-size:1rem;min-height:38px;min-width:38px;border-radius:var(--radius-sm)}.install-x:hover{background:var(--color-surface-2)}.install-steps{margin:var(--space-3) 0 0;padding-left:1.35rem;display:grid;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.install-steps li{line-height:1.45}.offline-bar{position:sticky;top:0;z-index:7;display:flex;align-items:center;gap:var(--space-2);background:#5c2f0e;color:#ffe9cf;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:700;padding-top:calc(var(--space-2) + env(safe-area-inset-top))}.offline-dot{width:8px;height:8px;border-radius:50%;background:#ffb35c;flex:0 0 auto;animation:offline-pulse 1.6s ease-in-out infinite}@keyframes offline-pulse{0%,to{opacity:1}50%{opacity:.35}}.camera-button{background:var(--green);color:#fff;margin-left:var(--space-2)}.camera-button:hover{background:var(--green-hover)}.biometric-button{background:var(--color-surface-2);border:1px solid var(--color-border);width:100%;min-height:48px;border-radius:var(--radius-sm);font-weight:900;display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.filter-chips,.contact-actions,.photo-actions,.diagnosis-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.filter-chips button{min-height:38px;padding:var(--space-2) var(--space-3);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:99px;font-size:var(--text-xs);font-weight:800;text-transform:capitalize}.filter-chips button.active{background:var(--green);color:#fff}.ahs-card{text-decoration:none}.ahs-sheet{display:grid;gap:var(--space-4)}.low-confidence input{border-color:#b77721;background:#fff6df}.shot-list{display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}.shot-card{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid #b77721;border-radius:var(--radius-md)}.shot-card.complete{border-left-color:var(--success)}.shot-card>div:first-child{display:flex;justify-content:space-between;gap:var(--space-2)}.shot-card img{width:150px;aspect-ratio:1.2;object-fit:cover;border-radius:var(--radius-sm)}.required-tag{font-size:var(--text-xs);font-weight:800;color:#8d3329}.ahs-diagnosis{display:grid;gap:var(--space-5);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow)}.dictation-field{display:grid;gap:var(--space-2)}.mic-button{justify-self:start;min-height:32px;padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.parts-editor{display:grid;gap:var(--space-2)}.parts-editor .section-heading{margin:0}.part-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 92px auto auto;gap:var(--space-2);align-items:center}.part-row input{min-width:0;padding:var(--space-2);min-height:38px}.tiny-check{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs)}.tiny-check input{width:18px;min-height:18px}.composed-box{display:grid;gap:var(--space-3);padding:var(--space-4);background:#f4f0e4;border-radius:var(--radius-sm)}.composed-box .section-heading{margin:0}.composed-box textarea{background:#fff;min-height:170px}@media(max-width:520px){.part-row{grid-template-columns:1fr 58px 78px}.part-row .tiny-check,.part-row button{grid-column:auto}.contact-actions{width:100%}}
