:root[data-theme=light]{color-scheme:light;--page:#F3F6F5;--card:#FFFFFF;--input:#F9FBFA;--ink:#172A2B;--muted:#536962;--green:#126A58;--accent:#126A58;--accent-ink:#FFFFFF;--line:#71857E;--pale:#E8EFEC;--placeholder:#596F68;--error:#9A2929;--error-bg:#FFF1ED;--warning:#674716;--warning-bg:#FFF6DD;--paper-surround:#DAE2DF;--hover:#DEE9E4}
:root[data-theme=dark]{color-scheme:dark;--page:#121B20;--card:#202E35;--input:#293B43;--ink:#F5F7F8;--muted:#B8C8CF;--green:#147A64;--accent:#65D7B0;--accent-ink:#121B20;--line:#728E99;--pale:#293B43;--placeholder:#ADC0C8;--error:#FFB4A5;--error-bg:#422C2D;--warning:#FFE2AA;--warning-bg:#493B22;--paper-surround:#384B54;--hover:#344C56}
body{background:var(--page);color:var(--ink)}header{height:auto;min-height:90px;flex-wrap:wrap;gap:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:16px}.brand,.brand small{color:var(--ink)}.brand small{color:var(--muted)}.mark{background:var(--green);color:#FFF}.badge{border-color:var(--line);color:var(--muted)}.badge:before{color:var(--accent)}
section,dialog{background:var(--card);color:var(--ink);border-color:var(--line);border-radius:12px}h2,h3,.easy-photo-guide strong{color:var(--ink)}h2 span,.eyebrow{color:var(--accent)}p,label,.hint,.help,.table-label,.show-card small,.unit-head p,footer,.toolbar #saved,.actionbar small{color:var(--muted)}label{font-size:13px}.help,.hint,.table-label,.dim span{font-size:13px}.circuit label>span{font-size:13px}.dim strong{font-size:15px}.section-head{gap:12px;flex-wrap:wrap}
input,textarea,select{background:var(--input);color:var(--ink);border:1px solid var(--line);font-size:16px;min-height:44px}input::placeholder,textarea::placeholder{color:var(--placeholder);opacity:1}input[data-filled=true]:not(:disabled),textarea[data-filled=true]{border-bottom-width:2px}input:focus,textarea:focus,select:focus{outline:3px solid var(--accent);outline-offset:2px;border-color:var(--accent)}input:disabled{background:var(--pale);color:var(--muted);border-style:dashed;opacity:1}input[aria-invalid=true]{border:2px solid var(--error);background:var(--error-bg)}
button,.button{background:var(--green);color:#FFF;min-height:44px;border:1px solid transparent}button:hover,.button:hover{filter:none;background:var(--green)}button:active,.button:active{transform:translateY(1px)}button:focus-visible,.button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.secondary,.toolbar button,.toolbar .button{background:var(--card);color:var(--ink);border:1px solid var(--line)}.secondary:hover,.toolbar button:hover,.toolbar .button:hover{background:var(--hover)}button:disabled,.button:disabled{opacity:1;color:var(--muted);background:var(--pale);border:1px dashed var(--line);cursor:default;transform:none}
#nextDIM,#download,#mobileExport,#exportA4{background:var(--green);color:#FFF;border-color:transparent}#nextDIM:disabled{background:var(--pale);color:var(--muted);border-color:var(--line)}.text-button,.show-card button:last-child{color:var(--error);border:1px solid var(--error);background:var(--error-bg)}.text-button:hover,.show-card button:last-child:hover{background:var(--error-bg)}
#units button{background:var(--pale);color:var(--ink);border:1px solid var(--line);min-height:46px}#units button:hover{background:var(--hover)}#units button[aria-selected=true]{background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent)}#units button[aria-selected=true]:before{content:'✓';margin-right:2px}#units button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}#units button:disabled{background:var(--pale);color:var(--muted);border-style:dashed}
.theme-control{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.theme-control button{background:transparent;color:var(--ink);font-size:13px;padding:8px 10px;border:1px solid transparent}.theme-control button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.theme-control button[aria-pressed=true]:before{content:'✓';margin-right:3px}.theme-control button:hover{background:var(--hover)}.theme-control button[aria-pressed=true]:hover{background:var(--accent)}
.photo-guide,.table-label,.dim span,.totals>div{background:var(--pale);color:var(--ink);border-color:var(--line)}.totals>div:last-child{background:var(--green);color:#FFF}.circuit,.photo-review-row,.show-card,footer,#units{border-color:var(--line)}.photo-warning,#notice,.photo-uncertain{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}#notice p,.photo-warning p{color:inherit}#fieldError,#jumpError,#batchMessage{color:var(--error)}#sourceSummary .help{color:var(--muted)!important}.search-result{color:var(--ink)}.photo-review-actions{border-color:var(--line)}#photoDialog .dialog-head{background:var(--card)}.photo-buttons button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}
.actionbar,#mobileNav{background:var(--card);border-color:var(--line)}#mobileNav button{background:var(--card);color:var(--muted);border:1px solid var(--line)}#mobileNav button[aria-current=page]{background:var(--accent);color:var(--accent-ink);font-weight:700}#mobileNav button[aria-current=page]:before{content:'✓'}#currentShow{color:var(--muted)}#saved[data-save-state=saved]:before{content:'✓ ';color:var(--accent)}#saved[data-save-state=saving]:before{content:'… '}
#saved[data-save-state=error]{color:var(--error)}#saved[data-save-state=error]:before{content:'! '}.photo-corner-wrap,.photo-image-scroll,#canvasWrap{background:var(--paper-surround)}#pdfCanvas{background:#FFF;color:#000;filter:none}.photo-row-crop{background:#FFF}.found{animation:none;outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:640px){header{gap:12px;padding-left:16px;padding-right:16px}.theme-control{flex:1 1 100%;justify-content:stretch}.theme-control button{flex:1}.toolbar .button,.toolbar button{padding:11px 10px;font-size:13px}.badge{font-size:12px}.hint{font-size:12px}.actionbar button{font-size:14px}.section-head h2{font-size:18px}#mobileNav{gap:6px}.photo-buttons button{font-size:13px}#photoDialog .dialog-head{flex-wrap:wrap}#photoDialog .dialog-head h2{flex-basis:100%}}
button,.button{border-color:var(--accent)}.secondary,.toolbar button,.toolbar .button{border-color:var(--line)}#nextDIM,#download,#mobileExport,#exportA4{border-color:var(--accent)}.photo-review-row input:disabled{color:var(--muted);background:var(--pale)}
.meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.meta-grid>label,.batch-grid>label{min-width:0}.batch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:640px){.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

:root[data-theme=dark]{--primary-hover:#116653}:root[data-theme=light]{--primary-hover:#0D5648}button:not(.secondary):not(:disabled):hover,#download:hover,#nextDIM:not(:disabled):hover,#mobileExport:hover,#exportA4:hover{background:var(--primary-hover)}.theme-control button:hover{background:var(--hover)}.theme-control button[aria-pressed=true]:hover{background:var(--accent)}
