:root{--ink:#183b34;--green:#24594b;--paper:#f5f5ef;--line:#dddfd6;--muted:#6c776f;--gold:#c2a577}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;min-height:46px;border:0;border-radius:7px;padding:11px 18px;font-weight:650}button:hover{filter:brightness(.95)}button:focus-visible{outline:3px solid #cb9a45;outline-offset:3px}.primary{background:var(--ink);color:#fff}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.text-btn{background:transparent;color:var(--green);padding:8px 3px}.icon-btn{font-size:30px;background:#eff1eb;padding:0 15px}.danger{color:#ac432e}header{height:96px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:36px;padding:0 5vw;background:#fafaf6}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;font-family:Georgia,serif;letter-spacing:2px;font-size:17px}.mark{font-size:18px;border:1px solid var(--gold);padding:13px 8px;letter-spacing:0}.brand-sub{display:block;font:9px system-ui;letter-spacing:2px}.field-tag{border-left:1px solid var(--line);padding-left:30px;font-size:10px;letter-spacing:2px}.status{margin-left:auto;font-size:12px;color:var(--muted)}main{max-width:1440px;margin:auto;padding:42px 5vw 0}.intro{display:flex;align-items:center;justify-content:space-between;padding:0 0 35px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--muted);margin:0 0 12px}h1{font:46px/1.08 Georgia,serif;margin:0;letter-spacing:-1px}h1 em{font-weight:normal;color:#557367}h2{font:30px/1.2 Georgia,serif;margin:0 0 8px}h3{font-size:17px;margin:0}.sub{color:var(--muted);margin-bottom:0}.intro-actions{display:flex;gap:10px;align-self:flex-end}.workspace{border:1px solid var(--line);background:#fff;border-radius:12px;display:grid;grid-template-columns:230px 1fr;overflow:hidden;min-height:490px}aside{background:#eff1e9;border-right:1px solid var(--line);padding:26px 18px;display:flex;flex-direction:column}#projects{display:grid;gap:8px}.project-item{text-align:left;background:transparent;border:1px solid transparent;padding:13px}.project-item.selected{background:#fff;border-color:var(--line)}.project-item span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.aside-note{margin-top:auto;padding-top:45px;color:#7c8d80;font-size:12px}.aside-note>span{font:45px Georgia;color:var(--gold)}.work{padding:28px;min-width:0}#empty{text-align:center;padding:65px 15px}.empty-symbol{font:60px Georgia;color:var(--gold)}#empty p{color:var(--muted)}#empty .text-btn{display:block;margin:8px auto}.project-head{display:flex;justify-content:space-between;gap:12px}.project-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px}.project-head button{align-self:flex-start}.steps{display:flex;gap:22px;font-size:12px;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:20px;color:var(--muted)}.steps span{display:flex;gap:8px}.steps .active{color:var(--green)}.toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tabs button{background:var(--paper);color:var(--muted);font-size:13px;padding:9px 16px}.tabs button.active{background:var(--ink);color:white}.photo-empty{text-align:center;padding:60px 10px;background:#f3f5ef;border:1px dashed #a8b8a7;border-radius:8px}.photo-empty p{color:var(--muted)}.photo-tip{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px}#photo-stage{position:relative;background:#e7e8e0;line-height:0;cursor:crosshair;border-radius:8px;overflow:hidden}#wall-photo{width:100%;max-height:630px;object-fit:contain;display:block}#pins{position:absolute;inset:0;pointer-events:none}.pin{position:absolute;transform:translate(-50%,-50%);background:var(--ink);border:2px solid white;color:white;box-shadow:0 2px 8px #0005;min-height:38px;padding:6px 10px;border-radius:6px;pointer-events:auto;font-size:12px;line-height:1.35;white-space:nowrap}.pin span{display:block;font-size:10px;font-weight:400}.pin.unchecked{background:#966320}.photo-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:8px 0}.measurement-head{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.measurement-head h3 span{font-size:12px;color:var(--muted)}.schedule-row{display:grid;grid-template-columns:45px 1fr auto 24px;gap:12px;align-items:center;text-align:left;width:100%;background:white;border-bottom:1px solid var(--line);border-radius:0;padding:15px 0}.window-number{background:#eef1e9;padding:8px 4px;text-align:center;border-radius:5px}.schedule-row small{display:block;font-size:11px;color:var(--muted);font-weight:400}.schedule-dim{font-weight:650;font-size:14px}.report-bar{display:flex;justify-content:space-between;align-items:center;background:#f0f3eb;padding:18px;margin-top:24px;border-radius:8px;gap:10px}.report-bar small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.local-note{font-size:11px;color:var(--muted);text-align:center}.backup-actions{display:flex;justify-content:center;gap:20px;font-size:11px}footer{padding:26px 0;font-size:9px;letter-spacing:1.5px;color:var(--muted);display:flex;justify-content:space-between}footer span{font-family:Georgia;font-style:italic;letter-spacing:0;font-size:13px}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;max-width:500px;width:calc(100% - 24px);max-height:94dvh;color:var(--ink)}dialog::backdrop{background:#11291fd0;backdrop-filter:blur(3px)}label{display:block;font-size:12px;font-weight:650;margin-top:15px}input,select{display:block;width:100%;border:1px solid #cad1c8;border-radius:6px;background:#fff;color:var(--ink);padding:12px;margin-top:6px;min-height:46px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.measure-top{display:flex;justify-content:space-between}.mode{display:flex;background:#eff1eb;padding:4px;border-radius:7px;margin:15px 0}.mode button{width:50%;background:transparent;font-size:13px;padding:9px}.mode button.active{background:white;box-shadow:0 1px 4px #0002}#measure-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#measure-fields button{background:#f5f6f0;border:1px solid var(--line);font-size:15px;padding:9px 3px;color:var(--ink)}#measure-fields button small{display:block;font-size:9px;font-weight:500;margin-bottom:4px}#measure-fields button.active{background:#e9f0e5;border:2px solid var(--green);padding:8px 2px}.entry-head{display:flex;justify-content:space-between;margin-top:18px;font-size:13px}.entry-head small{font-size:10px;color:var(--muted)}.value-display{background:#f3f5ee;border:1px solid var(--line);border-radius:7px;text-align:center;font-size:32px;padding:10px;margin:8px 0 12px;min-height:68px}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.numpad button{font-size:24px;background:#f0f1ec;color:var(--ink);min-height:52px}.fraction-label{font-size:9px;letter-spacing:1px;color:var(--muted);margin:14px 0 6px}.fractions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.fractions button{background:#eef0e8;color:var(--ink);font-size:18px;padding:9px 4px}.fractions button.active{background:var(--ink);color:#fff}.entry-actions{margin-top:10px;display:flex;justify-content:flex-end}.entry-actions button{width:100%}.note-label input{font-size:13px}.check{display:flex;align-items:center;gap:10px;font-weight:500}.check input{width:24px;min-height:24px;margin:0;accent-color:var(--green)}#measure-warning{color:#926020;font-size:12px}#measure-error{color:#b13628;font-size:12px}#report-dialog{max-width:980px}.report-controls{display:flex;gap:8px;justify-content:space-between;margin-bottom:25px}.report-heading{border-bottom:2px solid var(--ink);padding-bottom:18px}.report-heading p{font-size:12px;margin:4px 0}.report-table{width:100%;border-collapse:collapse;font-size:11px;margin:20px 0}.report-table th,.report-table td{border:1px solid var(--line);padding:8px;text-align:left}.report-photo{position:relative;line-height:0;margin:15px 0}.report-photo img{width:100%;max-height:700px;object-fit:contain}.report-wall{break-before:page}.report-disclaimer{font-size:11px;border-left:3px solid var(--gold);padding:10px;background:var(--paper)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 22px;border-radius:8px;display:none;z-index:100} [hidden]{display:none!important}
@media(max-width:800px){header{height:76px;padding:0 20px;gap:12px}.brand{font-size:13px}.mark{font-size:14px;padding:9px 6px}.field-tag{display:none}main{padding:27px 16px 0}.intro{display:block;padding-bottom:23px}h1{font-size:37px}.intro-actions{margin-top:22px}.sub{font-size:13px}.workspace{display:block}aside{padding:14px;border-right:0;border-bottom:1px solid var(--line)}aside>.eyebrow,.aside-note{display:none}#projects{display:flex;overflow:auto}.project-item{min-width:140px;padding:8px}.work{padding:16px}.project-head h2{font-size:26px}.project-head button{font-size:11px;padding:9px}.steps{gap:14px;font-size:10px}.toolbar{align-items:flex-start}.toolbar>.secondary{font-size:11px;white-space:nowrap;padding:9px}.tabs button{font-size:11px;padding:8px 12px}.photo-tip{font-size:10px}.photo-tip button{font-size:10px}.photo-caption{font-size:9px;gap:10px}.schedule-row{gap:8px;grid-template-columns:38px 1fr auto 10px}.schedule-dim{font-size:12px}.report-bar{padding:13px}.report-bar strong{font-size:12px}.report-bar button{font-size:12px;padding:12px}.report-bar small{max-width:150px}.report-controls{flex-wrap:wrap}.report-table{font-size:9px}.report-table th,.report-table td{padding:4px}dialog{padding:20px}footer{font-size:8px}footer span{font-size:11px}}@media print{body{background:white}body>header,body>main,body>dialog:not(#report-dialog),#toast{display:none!important}#report-dialog{position:static;display:block!important;border:0;width:100%;max-width:none;max-height:none;overflow:visible;padding:0}.report-controls{display:none}.report-wall{page-break-before:always}.report-table tr{break-inside:avoid}.report-photo img{max-height:220mm}.report-disclaimer{background:white}dialog::backdrop{display:none}.pin{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{size:A4;margin:14mm}}

#wall-photo{max-height:none;height:auto}.report-photo{max-width:110mm;margin:15px auto}.report-photo img{max-height:none;height:auto}
.language-switch{display:flex;border:1px solid var(--line);border-radius:6px;margin-left:auto;padding:3px;gap:3px}.language-switch button{min-height:34px;padding:4px 11px;font-size:12px;background:transparent;color:var(--ink)}.language-switch button[aria-pressed=true]{background:var(--ink);color:#fff}.status{margin-left:0}.account-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:12px;margin:-20px 0 16px}.account-bar button{min-height:36px;font-size:12px;padding:6px 10px}.access-banner{padding:10px 14px;background:#faf3df;font-size:12px;border-radius:6px;margin:14px 0}.auth-section{max-width:440px;margin:35px auto;padding:28px;background:white;border:1px solid var(--line);border-radius:12px}.auth-section button.primary{width:100%;margin-top:20px}.auth-section .eyebrow{margin-top:10px}.auth-error{color:#a13728;font-size:13px}.auth-section p{font-size:13px}.auth-section h1{font-size:32px}.team-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.team-row small{display:block;color:var(--muted)}.team-row button,.team-row select{font-size:12px;padding:6px;min-height:36px}.team-row select{width:auto}.sync-banner{padding:10px 14px;background:#f5ebdd;font-size:12px}.auth-submit-row{display:flex;gap:8px}.project-status-control{display:flex;gap:12px;align-items:center;margin-top:14px;font-size:12px}.project-status-control select{width:auto;margin:0;min-height:38px;padding:6px 12px}#print-root{display:none}
@media(max-width:800px){header{gap:8px}.status{display:none}.language-switch button{padding:5px 8px}.account-bar{margin:0 0 14px;flex-wrap:wrap;justify-content:flex-start}.auth-section{padding:20px}.team-row{flex-wrap:wrap}.project-status-control{flex-wrap:wrap}}
@media print{html,body{display:block!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important}body>*{display:none!important}body>#print-root{display:block!important;position:static!important;width:auto!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important}body>#report-dialog{display:none!important}#print-root .report-heading{break-before:auto!important;page-break-before:auto!important}#print-root>.report-wall{break-before:page;page-break-before:always}#print-root .report-photo{max-width:100mm}#print-root .report-photo img{height:auto;max-height:none}#print-root .pin{min-height:25px;font-size:9px;padding:4px 6px}#print-root .pin span{font-size:8px}#print-root .report-table thead{display:table-header-group}}

.report-photo .pin{display:block;width:max-content;max-width:95%;height:auto;line-height:1.4}.report-photo .pin span{line-height:1.4}
/* Precision Light: shared data, purpose-built field and office layouts. */
:root{--ink:#2D3436;--green:#5E5443;--paper:#E8E3D9;--line:#c5c6bf;--muted:#50584e;--gold:#9BA888}body{background:#f5f4f0;color:var(--ink)}h1,h2{color:#5E5443}header{height:84px;background:white;gap:20px;padding:10px 28px;border-bottom:3px solid #5E5443}.brand{padding:5px 12px;background:white}.brand img{width:210px;height:56px;display:block;object-fit:contain}.field-tag{color:#5E5443;padding-left:20px;font-weight:750}#view-mode{width:auto;margin:0;margin-left:auto;min-height:44px;font-size:12px;padding:8px;background:#fff}.language-switch{margin-left:0}.language-switch button{min-height:38px}.primary{background:#28653a;color:#fff}.secondary{border-color:#89917f}.text-btn{color:#5E5443}.intro{padding-bottom:20px}main{max-width:1800px;padding:28px 28px 0}h1{font-size:32px}.intro-actions{align-self:center}.workspace{grid-template-columns:220px 1fr;border-radius:6px}aside{background:#e8ecdf}.project-item.selected{border:2px solid #5E5443}.work{padding:22px}.steps{padding:12px 0;margin-bottom:14px}#photo-stage{background:#e8e3d9;border-radius:3px}#wall-photo{max-height:65vh;object-fit:contain}.pin{background:#5E5443;box-shadow:none;border:2px solid white;border-radius:4px}.pin.unchecked{background:#81440f}.pin:focus-visible{outline:4px solid #e99623}.schedule-row{min-height:64px}.window-number{background:#e8ecdf}.report-bar{background:#e8ecdf;border:1px solid #9ba888}.report-logo{width:220px;max-width:60%;display:block;margin:0 0 18px;background:white}#report-dialog{background:#fff}.report-table th{background:#e8e3d9;color:#2d3436}.report-table td{color:#111}.account-bar{margin:0 0 16px;flex-wrap:wrap}.account-bar button{min-height:44px}.project-status-control{margin-bottom:12px}.project-status-control label{margin:0}.project-head h2{font-size:28px}.local-note{color:#50584e}
#measure{padding:16px;width:min(1180px,96vw);max-width:none;max-height:94dvh;background:#fff;grid-template-columns:minmax(0,1.3fr) minmax(340px,1fr);gap:12px 20px;border-radius:8px;overflow:auto}#measure[open]{display:grid}.measure-top{grid-column:1/-1;align-items:center;gap:8px;min-height:44px}.measure-top>div{flex:1}.measure-top h2{font:700 20px/1.1 system-ui;margin:0}.measure-top small{font-size:11px;color:#50584e}.measure-top button{min-height:44px}.measure-top .icon-btn{font-size:26px}.measure-photo{position:relative;align-self:start;background:#e8e3d9;line-height:0;overflow:hidden}.measure-photo>img{display:block;width:100%;height:auto}.measure-photo>button{position:absolute;bottom:8px;right:8px;min-height:44px;font-size:12px;line-height:1.2}#measure-marker{position:absolute;transform:translate(-50%,-50%);padding:8px;background:#81440f;border:2px solid #fff;color:white;font:700 14px/1 system-ui}.measure-editor{min-width:0}.opening-type{display:flex;gap:4px;margin-bottom:8px;background:#e8e3d9;padding:3px;border-radius:5px}.opening-type button{width:50%;min-height:44px;background:transparent;color:#2d3436;padding:8px;font-size:14px}.opening-type button[aria-pressed=true]{background:#5E5443;color:#fff}#measure-fields{gap:5px}#measure-fields button{min-height:48px;padding:4px 2px;background:white;border:1px solid #89917f;font-size:18px;font-variant-numeric:tabular-nums;line-height:1.15}#measure-fields button small{font-size:11px;margin:0 0 3px}#measure-fields button.active{border:2px solid #5e5443;padding:3px 1px;background:#f1f4eb;box-shadow:inset 0 -3px #9ba888}.entry-head{margin-top:8px;font-size:12px}.value-display{font-variant-numeric:tabular-nums;font-size:28px;min-height:48px;padding:3px;margin:5px 0 8px;background:white}.keypad-block{display:grid;grid-template-columns:3fr 2fr;gap:8px}.numpad{gap:5px;grid-template-columns:repeat(3,minmax(0,1fr))}.numpad button{height:48px;min-height:44px;padding:0;font-size:24px;background:#e8e3d9;color:#101510;border:1px solid #b3b2a9;border-radius:5px}.numpad [data-digit=Clear]{background:#ad3427;color:#fff;font-size:14px}.numpad [data-digit="⌫"]{background:#ffad3e;color:#30220c}.fractions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.fractions button{min-height:44px;height:48px;padding:0;font-size:17px;background:#f3f4ee;color:#20281c;border:1px solid #a8ae9e;border-radius:5px}.fractions button.active{background:#5e5443;color:white}.fractions [data-fraction="0"]{font-size:12px}#measure-warning{font-size:11px;line-height:1.3;margin:7px 0;color:#653c12}#measure-warning:empty,#measure-error:empty{display:none}#measure-error{font-size:12px;margin:4px 0;line-height:1.25}.check{margin:6px 0;min-height:44px;font-size:12px;line-height:1.25;gap:8px}.check input{width:26px;height:26px;flex:none;accent-color:#28653a}.capture-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.capture-actions button{min-height:46px;padding:8px;font-size:14px}#photo-preview{width:min(1100px,96vw);max-width:none}#photo-preview img{display:block;max-width:100%;max-height:75dvh;margin:8px auto}#measurement-options{z-index:2}.mode{margin:14px 0}.mode button.active{box-shadow:none;border:2px solid #5e5443}.report-controls{position:sticky;top:-28px;background:white;padding:8px 0;z-index:1}
body[data-layout=field] main{max-width:660px}body[data-layout=field] .workspace{display:block}body[data-layout=field] aside{border-right:0;border-bottom:1px solid var(--line);padding:10px}body[data-layout=field] .aside-note,body[data-layout=field] aside>.eyebrow{display:none}body[data-layout=field] #projects{display:flex;overflow:auto}body[data-layout=field] .project-item{min-width:150px}body[data-layout=field] .intro h1,body[data-layout=field] .intro .sub{display:none}body[data-layout=field] .intro{padding-bottom:12px}body[data-layout=office] main{max-width:1800px}
@media(min-width:1100px){body:not([data-layout=field]) #project{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:0 24px}body:not([data-layout=field]) #project>.project-head,body:not([data-layout=field]) #project>.steps,body:not([data-layout=field]) #project>.toolbar,body:not([data-layout=field]) #project>.project-status-control,body:not([data-layout=field]) #project>.access-banner{grid-column:1/-1}body:not([data-layout=field]) #photo-panel,body:not([data-layout=field]) #photo-empty{grid-column:1;grid-row:5/12;align-self:start}body:not([data-layout=field]) .measurement-head,body:not([data-layout=field]) #schedule,body:not([data-layout=field]) .report-bar,body:not([data-layout=field]) .local-note,body:not([data-layout=field]) .backup-actions{grid-column:2}body:not([data-layout=field]) .measurement-head{margin-top:0}body:not([data-layout=field]) #schedule{max-height:55vh;overflow:auto}}
@media(max-width:800px){header{height:76px;padding:6px 10px;gap:6px}.brand{padding:4px}.brand img{width:140px;height:44px}#view-mode{max-width:110px;font-size:11px;padding:4px}.language-switch button{padding:5px 7px;min-height:38px}main{padding:14px 10px 0}.intro h1,.intro .sub{display:none}.intro{padding-bottom:12px}.intro-actions{margin:0}.intro-actions button{min-height:44px}.workspace{border-radius:4px}.work{padding:12px}aside{padding:10px}.project-head h2{font-size:23px}.steps{gap:10px}.project-status-control{flex-wrap:wrap}.account-bar{gap:6px;margin-bottom:10px;justify-content:flex-start}.account-bar #account-name{width:100%;font-size:11px}.account-bar button{font-size:11px;padding:5px 8px}.photo-caption{font-size:10px}.photo-tip{font-size:12px}.tabs button{min-height:44px}.project-item{min-height:44px}footer span{display:none}#wall-photo{max-height:none}#measure[open]{display:flex;flex-direction:column;gap:6px;position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-height:100dvh;padding:8px 10px max(8px,env(safe-area-inset-bottom));border:0;border-radius:0;overflow:hidden}#measure .measure-top{flex:none;height:44px;min-height:44px}#measure .measure-top h2{font-size:18px}#measure .measure-top small{font-size:10px}#measure .measure-top button{font-size:12px;padding:4px 10px}#measure .measure-photo{flex:1;min-height:0;max-height:140px;width:100%;display:flex;align-items:center;justify-content:center}#measure .measure-photo img{width:auto;height:100%;max-width:100%;object-fit:contain}#measure-marker{display:none}#measure .measure-photo button{bottom:4px;right:4px;min-height:44px;padding:6px 10px}#measure .measure-editor{flex:none;display:flex;flex-direction:column;gap:6px}#measure .opening-type{margin:0;padding:2px}#measure .opening-type button{min-height:40px;height:40px;font-size:13px}#measure-fields button{height:46px;min-height:44px;font-size:17px}#measure-fields button small{font-size:10px}#measure .entry-head,#measure .value-display{display:none}.keypad-block{gap:7px}.numpad button,.fractions button{height:44px;min-height:44px}.numpad{gap:4px}.fractions{gap:4px}.numpad button{font-size:23px}.fractions button{font-size:16px}#measure-warning{margin:0;font-size:10px;max-height:28px;overflow:auto}.check{margin:0;min-height:40px;font-size:11px}#measure-error{margin:0;font-size:11px;max-height:28px;overflow:auto}.capture-actions button{min-height:44px;height:44px;font-size:13px;padding:4px}.capture-actions{gap:6px}#measurement-options{max-height:90dvh}#photo-preview{padding:10px}#measure .measure-photo:has(img:not([src])){display:none}}
@media(max-width:800px) and (max-height:580px){#measure .measure-photo{display:none}#measure .measure-editor{gap:4px}#measure[open]{gap:4px;padding-top:4px}#measure .measure-top{height:40px;min-height:40px}#measure .measure-top button{min-height:40px}#measure .check{min-height:36px}#measure-warning{max-height:22px}}
@media print{.report-logo{width:190px}body>header,body>main,body>dialog,#toast{display:none!important}#print-root{display:block!important}.report-table th{background:#eee!important}.report-wall{break-before:page}.report-heading{break-before:auto}.report-photo{max-width:110mm}.pin{print-color-adjust:exact}}

body[data-layout=field] #measure[open]{display:flex;flex-direction:column;gap:6px;position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-height:100dvh;padding:8px 10px max(8px,env(safe-area-inset-bottom));border:0;border-radius:0;overflow:hidden}
body[data-layout=field] #measure .measure-top{flex:none;height:44px;min-height:44px}
body[data-layout=field] #measure .measure-top h2{font-size:18px}
body[data-layout=field] #measure .measure-top small{font-size:10px}
body[data-layout=field] #measure .measure-top button{font-size:12px;padding:4px 10px}
body[data-layout=field] #measure .measure-photo{flex:1;min-height:0;max-height:140px;width:100%;display:flex;align-items:center;justify-content:center}
body[data-layout=field] #measure .measure-photo img{width:auto;height:100%;max-width:100%;object-fit:contain}
body[data-layout=field] #measure-marker{display:none}
body[data-layout=field] #measure .measure-photo button{bottom:4px;right:4px;min-height:44px;padding:6px 10px}
body[data-layout=field] #measure .measure-editor{flex:none;display:flex;flex-direction:column;gap:6px}
body[data-layout=field] #measure .opening-type{margin:0;padding:2px}
body[data-layout=field] #measure .opening-type button{min-height:40px;height:40px;font-size:13px}
body[data-layout=field] #measure-fields button{height:46px;min-height:44px;font-size:17px}
body[data-layout=field] #measure-fields button small{font-size:10px}
body[data-layout=field] #measure .entry-head,body[data-layout=field] #measure .value-display{display:none}
body[data-layout=field] .keypad-block{gap:7px}
body[data-layout=field] .numpad button,body[data-layout=field] .fractions button{height:44px;min-height:44px}
body[data-layout=field] .numpad{gap:4px}
body[data-layout=field] .fractions{gap:4px}
body[data-layout=field] .numpad button{font-size:23px}
body[data-layout=field] .fractions button{font-size:16px}
body[data-layout=field] #measure-warning{margin:0;font-size:10px;max-height:28px;overflow:auto}
body[data-layout=field] .check{margin:0;min-height:40px;font-size:11px}
body[data-layout=field] #measure-error{margin:0;font-size:11px;max-height:28px;overflow:auto}
body[data-layout=field] .capture-actions button{min-height:44px;height:44px;font-size:13px;padding:4px}
body[data-layout=field] .capture-actions{gap:6px}
body[data-layout=field] #measurement-options{max-height:90dvh}
body[data-layout=field] #photo-preview{padding:10px}
body[data-layout=field] #measure .measure-photo:has(img:not([src])){display:none}
body[data-layout=field] #measure[open]{max-width:430px;margin:auto}
@media(min-width:801px){body:not([data-layout=field]) .measure-photo{width:min(100%,calc((88dvh - 80px)*var(--photo-ratio,1)));justify-self:center}}
#measure:has(#measure-error:not(:empty)) #measure-warning{display:none}
@media(max-width:800px){.schedule-six{display:none!important}}
@media(max-width:800px) and (max-height:510px){#measure .measure-editor{gap:3px}#measure-warning{display:none}#measure .check{min-height:32px;font-size:10px}#measure .opening-type button{min-height:36px;height:36px}}
@media(max-width:800px) and (max-height:510px){#measure .measure-editor{gap:2px}#measure-fields{gap:4px}#measure-fields button{height:44px;min-height:44px}#measure .opening-type{padding:0}#measure:has(#measure-error:not(:empty)) .check{display:none}}
/* Shaped openings use an explicit dimensioned sheet; rectangular entry stays unchanged. */
#irregular-capture{background:#f3f4ee;border:1px solid #9ba888;padding:12px;border-radius:5px}#irregular-capture p,.shape-help{font-size:12px;line-height:1.4}#measurement-thumbnail{display:block;max-width:100%;max-height:180px;object-fit:contain;margin:8px auto}#measurement-upload-status{font-weight:650}#measure.irregular .keypad-block,#measure.irregular #measure-fields,#measure.irregular .entry-head,#measure.irregular .value-display,#measure.irregular #measure-warning,#measure.irregular #next-measure{display:none!important}#measure.irregular .capture-actions{grid-template-columns:1fr}.sheet-image{display:block;max-width:100%;max-height:190mm;object-fit:contain;margin:12px auto}.measurement-sheet p{font-size:12px}.measurement-sheet{break-inside:avoid}#details select[name=system]{font-size:13px}
@media(max-width:800px){#measure.irregular .measure-photo{display:none}#measure.irregular .measure-editor{flex:1;min-height:0}#irregular-capture{flex:1;min-height:0;overflow:auto;padding:10px}#irregular-capture h3{font-size:16px}#measurement-thumbnail{max-height:110px}#measure.irregular .opening-type,#measure.irregular .check,#measure.irregular .capture-actions{flex:none}}
body[data-layout=field] #measure.irregular .measure-photo{display:none}body[data-layout=field] #measure.irregular .measure-editor{flex:1;min-height:0}
@media print{.measurement-sheet{break-before:page}.sheet-image{max-height:185mm}}
.photo-source-actions{display:grid;gap:10px;margin-top:16px}.photo-source-actions button{min-height:48px}#wall-dialog .dialog-actions{flex-wrap:wrap}#camera-dialog{max-width:640px}#camera-video{width:100%;max-height:48dvh;background:#222;object-fit:contain;border-radius:4px}#camera-message{font-size:13px}#camera-dialog h2{font-size:24px}#camera-dialog button:disabled{opacity:.5;cursor:wait}
