:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;color:#192c3e;background:#e8edf2;--ink:#142636;--orange:#f89935;--border:#cfd9e3;--muted:#526a80;--green:#118b3b;--blue:#1565d8;--red:#d62828}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{min-height:46px;padding:11px 14px;border:1px solid #c7d3de;border-radius:7px;background:white;color:var(--ink);font-weight:650;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}button:hover{background:#f0f5fa;border-color:#8298ad}button:disabled{opacity:.38;cursor:default}button.primary{background:var(--orange);border-color:var(--orange);color:#142636;box-shadow:0 2px 0 #b46a1c}button.primary:hover{background:#ffae58}button:focus-visible,input:focus,textarea:focus,select:focus,summary:focus-visible{outline:3px solid #f8993570;outline-offset:2px}header{background:#142636;border-bottom:3px solid var(--orange);color:white;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{display:flex;gap:22px;align-items:center}.company-logo{background:white;display:flex;align-items:center;padding:10px 14px;border-radius:5px;width:228px;flex-shrink:0}.company-logo img{display:block;width:100%;height:auto}.brand strong{display:block;font-size:17px;letter-spacing:.09em}.brand small{display:block;font-size:14px;color:#bacbdd;margin-top:7px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}header button{font-size:14px}header button:not(.primary){background:#24394c;border-color:#465d72;color:#eef4fa}header button:not(.primary):hover{background:#344d64}main{max-width:1720px;padding:22px;margin:auto}.card{background:white;border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:18px;box-shadow:0 3px 12px #14263608}.job{border-left:4px solid var(--orange);padding:17px 20px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}h1{margin:4px 0 0;font-size:24px;font-weight:750;letter-spacing:-.025em}h2{font-size:17px;font-weight:750;margin:0}.eyebrow,.grouplabel{font-size:12px;font-weight:750;letter-spacing:.09em;color:#60748a}.jobfields{display:grid;grid-template-columns:2fr 1fr 2fr 1.2fr 1fr;gap:14px}label{display:block;font-size:14px;font-weight:650;color:#40576c}input,select,textarea{width:100%;min-height:46px;display:block;padding:11px 12px;border:1px solid #bacada;border-radius:6px;background:#f8fafc;color:#142636;margin-top:7px}input:hover,select:hover,textarea:hover{border-color:#8ca3b9}input:focus,select:focus,textarea:focus{background:white}textarea{resize:vertical;line-height:1.5}.savehint{font-size:14px;color:#587087;margin:12px 0 0}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}aside .card{padding:17px}.badge{background:#ecf2f7;color:#405d76;border:1px solid #d8e3ed;border-radius:5px;font-size:12px;padding:6px 9px;font-weight:750;letter-spacing:.05em;white-space:nowrap}.sheetbutton{display:block;text-align:left;width:100%;margin-bottom:8px;padding:13px 12px;border-left:4px solid transparent;background:#f8fafc}.sheetbutton.active{background:#fff1df;border-color:#f0c08a;border-left-color:#ef932e;box-shadow:0 2px 7px #e7942920}.sheetbutton small{display:block;font-size:13px;line-height:1.4;color:#536e86;font-weight:400;margin-top:6px}.add{width:100%;margin-top:6px;border-style:dashed;color:#365d7f;font-size:14px}.active-sheet .sheetfields{display:grid;gap:14px}.active-sheet .danger{font-size:13px;min-height:36px;padding:8px 11px}.details summary{font-size:16px;font-weight:750;cursor:pointer;min-height:30px;line-height:1.5}.details[open] summary{border-bottom:1px solid #e3eaf1;padding-bottom:14px;margin-bottom:16px}.measurement-body .measurements{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:18px}.measurevalue{display:block;font-size:12px;min-height:15px;color:#597791;margin-top:4px}.error,.measurevalue.error{color:#b82e2e}.hint{background:#dae4ed;border-color:#c9d6e2;box-shadow:none}.hint h2{font-size:15px}.hint p{font-size:14px;line-height:1.6;margin-bottom:0;color:#3e5b73}.sketch{padding:0;overflow:hidden;border-color:#b9c9d8;box-shadow:0 6px 22px #1426360c}.sketch>.sectionhead{margin:0;padding:17px 20px;border-bottom:1px solid #d5e0ea;background:#f9fbfd}.drawing-toolbar{display:flex;flex-wrap:wrap;gap:15px 22px;padding:16px 20px 12px}.toolgroup{display:flex;flex-direction:column;gap:8px}.toolgroup.wide{flex-basis:100%;padding-top:12px;border-top:1px solid #e5edf4}.toolbar{display:flex;flex-wrap:wrap;gap:7px}.toolbar button{font-size:14px;min-height:44px;padding:9px 12px}.toolbar .selected{background:#163952;border-color:#163952;color:white;box-shadow:inset 0 -3px 0 var(--orange)}.danger{color:#a63838}button.danger:hover{background:#fff0ef;border-color:#cf9393}#clear{margin-left:auto;border-color:transparent;background:transparent;color:#7c4e4e}#undo,#redo{border-color:transparent;background:#edf2f6}.scalecontrols{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;background:#edf3f8;border-block:1px solid #dce6ef}.scalecontrols label{display:flex;gap:12px;align-items:center;font-size:14px;white-space:nowrap}.scalecontrols select{width:100px;min-height:40px;margin:0;background:white;padding:8px 10px}.scalecontrols span{font-size:13px;color:#526d83}#symbolpanel{margin:0;padding:0 20px;border-bottom:1px solid #dce6ef;background:#fafcfe}#symbolpanel summary{display:flex;align-items:center;gap:12px;padding:14px 0;font-size:15px;font-weight:750;cursor:pointer;list-style:none}#symbolpanel summary::before{content:"+";display:grid;place-items:center;width:22px;height:22px;font-size:19px;color:#42607b;background:#e6eef6;border-radius:4px}#symbolpanel[open] summary::before{content:"−"}#symbolpanel summary::-webkit-details-marker{display:none}#symbolpanel summary small{font-weight:400;color:#5c7388;font-size:13px;margin-left:auto}#symbolpalette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 0 16px}#symbolpalette button{display:flex;align-items:center;gap:10px;text-align:left;background:white;border-color:#d8e2eb;font-size:14px;font-weight:600;min-height:62px}#symbolpalette button.selected{background:#fff1dd;border-color:#d9903b;color:#713d10;box-shadow:none}#symbolpalette svg{width:38px;height:38px;flex-shrink:0}#symbolpalette button[hidden]{display:none}.symbolcontrols{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:13px 20px;background:#f4f7fa;border-bottom:1px solid #dce6ef}.symbolcontrols.has-selection{background:#fff6e9;border-bottom-color:#ead4b5}.symbolcontrols span{flex-basis:100%;font-size:14px;font-weight:650;color:#49667f;margin-bottom:3px}.symbolcontrols.has-selection span{color:#82501b}.symbolcontrols button{font-size:14px;min-height:42px;padding:9px 12px}.symbolcontrols button[hidden]{display:none}#toolhint{padding:0 20px;margin:12px 0;font-size:14px;color:#4f6b83}.drawing{position:relative;background:white;margin:0 20px 20px;border:1px solid #b7c9da;border-radius:4px;box-shadow:inset 0 0 0 4px #f5f8fc}#canvas{display:block;width:100%;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.canvasnote{position:absolute;right:9px;bottom:8px;pointer-events:none;font-size:10px;letter-spacing:.06em;color:#5b7891;background:#ffffffd9;padding:3px 6px;border-radius:3px}#art .picked{filter:drop-shadow(0 0 5px #f89935)}#art [data-symbol]{cursor:move}#gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photocard{overflow:hidden;border:1px solid #d2dfe9;border-radius:8px;background:#f7fafc}.photocard img{display:block;width:100%;height:190px;object-fit:contain;background:#e7eef5}.photocard input{margin:10px;width:calc(100% - 20px);background:white}.photocard button{margin:0 10px 10px;font-size:14px;min-height:38px}.muted{font-size:14px;color:#587187}dialog{color:#142636;background:white;border:1px solid #c9d7e4;border-top:4px solid var(--orange);border-radius:12px;width:min(490px,92vw);padding:26px;box-shadow:0 20px 80px #0c21385c}dialog::backdrop{background:#10283e9e}dialog h2{font-size:22px;letter-spacing:-.02em;margin-bottom:23px}dialog .actions{justify-content:flex-end;margin-top:24px}dialog .actions button{min-width:90px}#entryvalue{min-height:64px;font-size:24px;background:#f7fafc}#entryerror{font-size:14px}.error{font-size:14px}#toast{display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 20px;border:1px solid #405e77;border-radius:9px;background:#142636;color:white;box-shadow:0 8px 28px #10283e30;max-width:90vw;z-index:20;font-size:15px}#report{display:none}
button[data-tool="line:wall"]::before,button[data-tool="line:pilaster"]::before,button[data-tool="line:panel"]::before,button[data-tool="line:pilasterExisting"]::before,button[data-tool="line:panelExisting"]::before{content:"";display:inline-block;width:22px;height:5px;vertical-align:middle;margin-right:8px;background:#000}button[data-tool="line:wall"]::before{height:9px}button[data-tool="line:pilaster"]::before{background:var(--green)}button[data-tool="line:panel"]::before{background:var(--blue)}button[data-tool="line:pilasterExisting"]::before,button[data-tool="line:panelExisting"]::before{background:var(--red)}
@media(min-width:1200px){.measurement-body{max-height:580px;overflow:auto;padding-right:4px;scrollbar-width:thin}}@media(max-width:1200px){header .actions{flex:1;justify-content:flex-end}main{padding:18px}.workspace{grid-template-columns:255px minmax(0,1fr);gap:16px}.jobfields{grid-template-columns:repeat(3,minmax(0,1fr))}#symbolpalette{grid-template-columns:repeat(3,minmax(0,1fr))}.brand{gap:16px}.company-logo{width:195px}.brand strong{font-size:16px}}@media(max-width:1024px){header .actions{flex-basis:100%;justify-content:flex-start}.company-logo{width:215px}.drawing-toolbar{gap:12px;padding:15px}.toolgroup.wide{flex-basis:100%}.sketch>.sectionhead{padding:16px}.scalecontrols{padding:12px 15px;flex-wrap:wrap}#symbolpanel{padding-inline:15px}.symbolcontrols{padding:12px 15px}.drawing{margin:0 15px 15px}#toolhint{padding-inline:15px}#symbolpalette{grid-template-columns:repeat(2,minmax(0,1fr))}#symbolpanel summary small{display:none}}@media(max-width:760px){header{padding:14px 16px;gap:14px}.brand{gap:14px}.company-logo{width:180px;padding:8px 10px}.brand strong{font-size:14px;letter-spacing:.045em}.brand small{font-size:13px;margin-top:5px}header button{padding:10px 12px}main{padding:12px}.jobfields{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:minmax(0,1fr)}aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}aside>.card{margin:0}aside .details{grid-column:1/-1}aside .hint{display:none}#sheets{max-height:195px;overflow:auto}.sheetbutton{padding:10px;font-size:14px}.sheetbutton small{font-size:12px}.add{font-size:13px}.measurement-body .measurements{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace .editor{min-width:0}.sectionhead h1{font-size:22px}#gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.brand{flex-wrap:wrap}.company-logo{width:190px}.brand strong{font-size:15px}.brand small{font-size:14px}.jobfields{grid-template-columns:minmax(0,1fr)}aside{grid-template-columns:minmax(0,1fr)}.measurement-body .measurements{grid-template-columns:minmax(0,1fr)}#symbolpalette{grid-template-columns:minmax(0,1fr)}.sketch>.sectionhead{flex-wrap:wrap}.symbolcontrols button{font-size:13px}.toolgroup{max-width:100%}.scalecontrols label{white-space:normal}#gallery{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){button{transition:none}}
@media print{@page{size:letter;margin:.5in}body{background:white;color:black}header,main,dialog,#toast{display:none!important}#report{display:block;-webkit-print-color-adjust:exact;print-color-adjust:exact}.reportsheet{break-before:page}.reportsheet:first-child{break-before:auto}.reporthead{border-bottom:3px solid #142636;padding-bottom:12px;margin-bottom:16px}.reportlogo{display:block;width:230px;height:auto;margin-bottom:12px}.reporthead h2{font-size:18px}.reporthead p{margin:6px 0;font-size:13px}.reportgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px}.reportsketch{width:100%;border:1px solid #bbb;margin-top:12px;break-inside:avoid}.reportnotes{white-space:pre-wrap;font-size:13px}.reportphotos{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reportphotos figure{margin:0;break-inside:avoid}.reportphotos img{max-width:100%;max-height:260px}.reportphotos figcaption{font-size:12px}.reportfooter{font-size:11px;color:#555;margin-top:10px}}
.job-details summary{font-size:14px;font-weight:650;color:#3c5c77;cursor:pointer;min-height:32px}.job-details[open] summary{margin-bottom:13px}.symbolcontrols span{flex:1 1 160px;margin-bottom:0}.company-logo{width:200px}header button{padding-inline:11px}@media(min-width:901px) and (max-width:1024px){header{flex-wrap:nowrap;padding-inline:16px}.company-logo{width:180px}.brand{gap:13px}.brand strong{font-size:14px}.brand small{font-size:13px}header .actions{flex-basis:auto;justify-content:flex-end;gap:6px}header button{font-size:13px;padding-inline:9px}}@media(min-width:761px) and (max-width:900px){.workspace{grid-template-columns:minmax(0,1fr)}aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}aside>.card{margin:0}aside .details{grid-column:1/-1}aside .hint{display:none}.measurement-body .measurements{grid-template-columns:repeat(2,minmax(0,1fr))}#sheets{max-height:190px;overflow:auto}}
.sectionhead>div{min-width:0}h1{overflow-wrap:anywhere}
/* Field instrument finish */
@media screen{
:root{--orange:#ff9b35;background:#101d2a}
body{background:radial-gradient(ellipse at 85% 0%,#254762 0,transparent 48%),linear-gradient(135deg,#111d28,#1b3043 55%,#102334);min-height:100vh}
header{background:linear-gradient(115deg,#09131e,#192e41 65%,#102536);border-bottom:1px solid #ff9b3580;box-shadow:0 8px 28px #020a1640;position:relative;isolation:isolate}
header::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#ff9b35 15%,#ffd18c 45%,#ff9b35 80%,transparent);pointer-events:none}
.company-logo{border:1px solid #e9f0f7;background:#fff;box-shadow:0 1px 0 #fff,0 5px 20px #01071350;border-radius:7px}
.brand strong{color:#fff;letter-spacing:.08em;text-shadow:0 2px 8px #0008}
.brand small{color:#b5cada}
header button:not(.primary){background:linear-gradient(#29445d,#1b3247);border-color:#4b657c;box-shadow:inset 0 1px 0 #ffffff16,0 3px 7px #020a1420}
button.primary{background:linear-gradient(135deg,#ffb557,#ff9226);border-color:#ffb460;box-shadow:inset 0 1px 0 #ffe7ba,0 3px 0 #ba6316,0 5px 16px #ef89152b}
button.primary:hover{background:linear-gradient(135deg,#ffc779,#ffa13d);box-shadow:inset 0 1px 0 #fff0d0,0 3px 0 #ba6316,0 6px 22px #ef89154a}
.card{border-radius:12px;box-shadow:0 7px 20px #020c1926}
.job{background:linear-gradient(105deg,#1d3347,#142839 72%,#233c51);border:1px solid #496075;border-left:4px solid #ff9b35;box-shadow:inset 0 1px 0 #8ca9c926,0 7px 24px #0003;color:#fff}
.job h1{color:#f6faff;font-weight:750}
.job .eyebrow{color:#ffc079;letter-spacing:.14em}
.job .savehint{color:#c2d3e2;font-size:14px}
.job .job-details summary{color:#f2c997}
.job label{color:#e0eaf3}
.job input{background:#f7fafc;border-color:#9eb6ca}
.job #newjob{background:#314b63;border-color:#59728a;color:#edf5fc}
.job #newjob:hover{background:#405d76}
aside>.card{background:linear-gradient(145deg,#263e53,#192d40);border-color:#475e73;box-shadow:inset 0 1px 0 #a1b9d21c,0 7px 20px #020c1926;color:#f2f6fa}
aside h2,aside summary{color:#f3f8fc}
aside .sectionhead{padding-bottom:12px;border-bottom:1px solid #506a813d}
aside .badge{background:#36516b;border-color:#6d859b;color:#ffe1ba}
aside label{color:#d6e4ef}
aside input,aside select,aside textarea{background:#f7faff;border-color:#b1c6d8}
.sheetbutton{background:#20394f;border-color:#4a647d;color:#e8f2fb;box-shadow:inset 0 1px 0 #a8c1d70a}
.sheetbutton small{color:#bfd1e0}
.sheetbutton:hover{background:#2f4c65;border-color:#809bb4}
.sheetbutton.active{background:linear-gradient(115deg,#ffc576,#ffa13a);border-color:#ffd18c;border-left-color:#ffe7b8;color:#212c35;box-shadow:0 3px 10px #ff9b3525,inset 0 1px 0 #ffdfb4}
.sheetbutton.active small{color:#454b4c}
aside .add{color:#ffe0b6;background:#2c465e;border-color:#a67c50}
aside .add:hover{background:#3b5770}
aside .active-sheet .danger{background:#352f39;border-color:#765a64;color:#ffbdbb}
aside .hint{background:linear-gradient(135deg,#21394f,#172b3d);border-color:#415c75;border-top:3px solid #7598b8}
aside .hint p{color:#cfdeea}
aside .measurevalue{color:#b9d6ee}
aside .measurevalue.error{color:#ffb5ae}
.details[open] summary{border-bottom-color:#56728b70}
.sketch{border-color:#617a92;box-shadow:0 12px 35px #020d1b4d}
.sketch>.sectionhead{background:linear-gradient(110deg,#263d53,#1c3145);border-bottom:3px solid #ffa43e;color:#fff}
.sketch>.sectionhead h2{font-size:18px;font-weight:750;letter-spacing:.01em}
.sketch>.sectionhead .badge{background:#314c63;border-color:#73899b;color:#ffdfb0}
.drawing-toolbar{background:linear-gradient(180deg,#f7fbff,#edf3f9)}
.grouplabel{color:#4c6680;letter-spacing:.1em}
.toolgroup .toolbar button{background:linear-gradient(#fff,#eaf1f7);border-color:#b3c5d6;box-shadow:inset 0 1px 0 #fff,0 2px 3px #243e5610}
.toolgroup .toolbar button.selected{background:linear-gradient(135deg,#ffc270,#ffa13a);color:#1b2b37;border-color:#df8c2c;box-shadow:inset 0 1px 0 #ffe2af,0 2px 0 #b66b1c,0 3px 9px #cb8c3520}
.toolgroup button[data-tool="line:wall"]::before{box-shadow:0 0 0 1px #0002}
#undo,#redo{border-color:#ccd9e5;background:#e5edf5;color:#335471}
#clear{box-shadow:none;background:transparent;border-color:transparent;color:#85453e}
.scalecontrols{background:linear-gradient(90deg,#e0eaf4,#f3f7fb);border-color:#cad9e7}
.scalecontrols select{border-color:#a1b8cd;box-shadow:0 2px 4px #203c5410}
#symbolpanel{background:#eff5fa}
#symbolpanel summary{color:#214766}
#symbolpanel summary::before{background:#294c6a;color:#ffd5a0;box-shadow:inset 0 1px 0 #5f7a90}
#symbolpalette button{background:linear-gradient(135deg,#fff,#eef4fa);box-shadow:0 2px 4px #1a395310;border-color:#bdcedd}
#symbolpalette button.selected{background:linear-gradient(135deg,#ffddb1,#ffc476);border-color:#d88b30;color:#663c11}
.symbolcontrols{background:#e1eaf3;border-color:#b8ccdc;box-shadow:inset 0 1px 0 #fff8}
.symbolcontrols.has-selection{background:linear-gradient(110deg,#ffe2b8,#fff0d9);border-bottom-color:#d89e59}
.symbolcontrols.has-selection span{color:#784109}
.symbolcontrols button:not(:disabled){box-shadow:0 2px 3px #223d5312}
.drawing{border:2px solid #7894ae;box-shadow:0 2px 10px #142f4520;border-radius:7px}
#toolhint{color:#355773;font-weight:500}
.editor>.card:not(.sketch)>.sectionhead{padding-bottom:14px;border-bottom:1px solid #dce6ef}
.photocard{border-color:#adc2d5;box-shadow:0 4px 12px #1c3c5712}
dialog{border-color:#6e889f;border-top-color:#ff9b35;box-shadow:0 25px 100px #01091480}
dialog::backdrop{background:#081725bd;backdrop-filter:blur(3px)}
#toast{background:linear-gradient(110deg,#233f58,#152d43);border-color:#b58249;border-left:4px solid #ff9b35;box-shadow:0 9px 32px #01081266}
@media(hover:hover) and (pointer:fine){button:not(:disabled):hover{transform:translateY(-1px);transition:transform .12s,background .12s,box-shadow .12s}button:active{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){button:not(:disabled):hover{transform:none;transition:none}}
}
.palette-heading{grid-column:1/-1;font-size:14px;font-weight:750;color:#41637d;letter-spacing:.025em;padding:9px 2px 3px;border-top:1px solid #ccdae7;margin-top:5px}.palette-heading:first-child{border-top:0;margin-top:0}.palette-heading[hidden]{display:none}#mirrorviewlabel{margin-top:16px}#mirrorviewlabel[hidden]{display:none}
/* Electric accents around the working surface; drawing and print colors stay exact. */
@media screen{
body{background:radial-gradient(ellipse at 95% 0%,#007cac38,transparent 45%),radial-gradient(ellipse at 0% 55%,#baff0010,transparent 42%),linear-gradient(135deg,#101b28,#1b3043 55%,#102334)}
header{background:repeating-linear-gradient(125deg,transparent 0 58px,#00bfff08 59px 60px),linear-gradient(110deg,#09131e,#192e41 65%,#102536);box-shadow:0 8px 28px #020a1640,0 2px 16px #00bfff22}
header::after{height:3px;background:linear-gradient(90deg,#c2ff00,#00bfff 35%,#00d5ff 55%,#ff9b35 82%,#ffd18c);box-shadow:0 0 12px #00bfff66;transform-origin:left;animation:fieldbook-light 800ms ease-out both}
.brand strong{color:#e4faff;text-shadow:0 0 16px #00bfff40,0 2px 8px #0008}
.brand small{color:#ceee76}
.company-logo{box-shadow:0 1px 0 #fff,0 0 0 3px #00bfff20,0 5px 22px #00bfff24}
header button:not(.primary){border-color:#3b7a99;box-shadow:inset 0 1px 0 #7ae8ff25,0 3px 7px #020a1420}
.job{border-left-color:#c2ff00;background:radial-gradient(ellipse at 95% 0%,#00bfff1a,transparent 65%),linear-gradient(105deg,#1d3347,#142839 72%,#233c51);box-shadow:inset 0 1px 0 #7ae8ff28,0 7px 24px #0003}
.job .eyebrow{color:#c2ff00}
aside>.card{border-top:2px solid #00bfff;border-color:#43748b;border-top-color:#00bfff;box-shadow:inset 0 1px 0 #a1b9d21c,0 0 16px #00bfff0d,0 7px 20px #020c1926}
aside .badge{background:#193f52;color:#c2ff00;border-color:#478694}
.sheetbutton.active{border-left-color:#c2ff00;box-shadow:0 0 0 1px #c2ff0030,0 3px 14px #ff9b3525,inset 0 1px 0 #ffdfb4}
aside .add{border-color:#91b84c;color:#ddff9b;background:linear-gradient(110deg,#2b4654,#223d50)}
aside .hint{border-top-color:#c2ff00}
.sketch{border-color:#4799bb;box-shadow:0 0 0 1px #00bfff25,0 12px 35px #020d1b4d}
.sketch>.sectionhead{background:linear-gradient(110deg,#263d53,#153b50);border-bottom:3px solid #00bfff;box-shadow:inset 0 1px 0 #82e7ff25}
.sketch>.sectionhead .badge{color:#dbff7a;border-color:#6d9e70;background:#284b43}
.toolgroup .toolbar button.selected{box-shadow:inset 0 1px 0 #ffe2af,0 2px 0 #b66b1c,0 0 0 2px #c2ff0050,0 3px 12px #cb8c3520}
#symbolpanel summary::before{color:#c2ff00;background:#173f54;box-shadow:inset 0 1px 0 #6fe3ff55,0 0 8px #00bfff20}
#symbolpalette button.selected{border-color:#008ab8;box-shadow:inset 3px 0 0 #00bfff,0 0 0 2px #c2ff0050}
.palette-heading{color:#1c536d;border-top-color:#aad7e6}
.symbolcontrols.has-selection{box-shadow:inset 4px 0 0 #00bfff,inset 0 1px 0 #fff8}
.editor>.card:not(.sketch){border-top:3px solid #00bfff}
.drawing{border-color:#4f8eaa;box-shadow:0 2px 10px #142f4520}
button:focus-visible,summary:focus-visible{outline-color:#00a6d9}
input:focus,textarea:focus,select:focus{outline-color:#00a6d966}
@keyframes fieldbook-light{from{transform:scaleX(.15);opacity:.35}to{transform:scaleX(1);opacity:1}}
:root{--orange:#ff7900}
header::after{background:linear-gradient(90deg,#c2ff00,#00bfff 35%,#00d5ff 55%,#ff7900 82%,#ffb229)}
button.primary,.sheetbutton.active,.toolgroup .toolbar button.selected{background:linear-gradient(135deg,#ffab28,#ff7900 70%);border-color:#ff9b25;color:#172432;box-shadow:inset 0 1px 0 #ffd990,0 3px 0 #bf5400,0 5px 16px #ff790035}
button.primary:hover{background:linear-gradient(135deg,#ffbc45,#ff890f);box-shadow:inset 0 1px 0 #ffe6b7,0 3px 0 #bf5400,0 6px 22px #ff790055}
.sheetbutton.active{border-left-color:#c2ff00;box-shadow:inset 0 1px 0 #ffd990,0 0 0 1px #c2ff0040,0 3px 14px #ff790035}
.toolgroup .toolbar button.selected{box-shadow:inset 0 1px 0 #ffd990,0 2px 0 #bf5400,0 0 0 2px #c2ff0050,0 3px 12px #ff790035}
#symbolpalette button.selected{background:linear-gradient(135deg,#ffb649,#ff8b18);color:#29313a;border-color:#008ab8}
.job .job-details summary{color:#ffb447}
dialog{border-top-color:#ff7900}
#toast{border-left-color:#ff7900}
@media(hover:hover) and (pointer:fine){header button:not(.primary):hover{border-color:#00caff;box-shadow:inset 0 1px 0 #7ae8ff25,0 0 12px #00bfff35}#symbolpalette button:not(.selected):hover{border-color:#0089bc;box-shadow:0 3px 10px #00bfff25}}
@media(prefers-reduced-motion:reduce){header::after{animation:none}}
}

button[data-tool="line:measurement"]::before{content:"";display:inline-block;width:24px;height:10px;margin-right:8px;vertical-align:middle;border-inline:2px solid #ae5c12;background:repeating-linear-gradient(90deg,#ae5c12 0 5px,transparent 5px 8px) center / 100% 2px no-repeat}

.pencilshortcuts{margin:14px 20px 0;padding:14px;background:linear-gradient(115deg,#15354a,#24475c);border:1px solid #4392af;border-top:3px solid #00bfff;border-radius:9px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;box-shadow:0 4px 14px #10253624}.quicktools{flex:1 1 350px}.pencilshortcuts .grouplabel{display:block;color:#d5ff73;margin-bottom:9px}.pencilshortcuts .toolbar button{min-height:48px}.pencilshortcuts .toolbar button.selected{background:linear-gradient(135deg,#ffab28,#ff7900);border-color:#ffac3c;box-shadow:0 0 0 2px #c2ff0040}.nudges{display:flex;align-items:center;gap:14px}.nudges label{color:#e1f1f8;font-size:14px}.nudges select{width:110px;background:#fff;min-height:48px}.nudgepad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:5px}.nudgepad button{font-size:25px;padding:0;min-height:48px;color:#164760;background:#edfaff;border-color:#66bbd9;touch-action:manipulation}.nudgepad #nudgeup{grid-column:2;grid-row:1}.nudgepad #nudgeleft{grid-column:1;grid-row:2}.nudgepad #nudgedown{grid-column:2;grid-row:2}.nudgepad #nudgeright{grid-column:3;grid-row:2}.pencilshortcuts p{flex-basis:100%;margin:0;color:#d1e5f1;font-size:14px;line-height:1.5}.pencilshortcuts button{touch-action:manipulation}@media(max-width:1024px){.pencilshortcuts{margin-inline:15px}}@media(max-width:460px){.nudges{width:100%;justify-content:space-between}.pencilshortcuts{padding:12px}.pencilshortcuts .toolbar button{padding-inline:10px}}

.lasso-icon{display:inline-block;width:22px;height:22px;vertical-align:middle;margin-right:7px}#ungroup[hidden]{display:none}

#annotationpanel{padding:0 20px;background:#f0f6fb;border-bottom:1px solid #c1d9e6}#annotationpanel summary{padding:15px 0;font-size:16px;font-weight:750;color:#214766;cursor:pointer}#shapepalette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:16px}#shapepalette button{display:flex;gap:8px;align-items:center;text-align:left;font-size:14px;min-height:52px}#shapepalette svg{width:42px;height:34px;flex-shrink:0}#shapepalette button.selected{background:#ff9b22;color:#182e40;border-color:#cd7600;box-shadow:0 0 0 2px #00bfff40}.annotationstyles{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.annotationstyles>div{flex:1 1 360px}.annotationstyles label{flex:0 1 150px}#colorpalette{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}#colorpalette .swatch{width:44px;height:44px;min-height:44px;padding:0;border:2px solid #8ca6b9;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff90}#colorpalette .swatch.selected{outline:3px solid #183c56;outline-offset:2px;border-color:#fff}#colorhint{font-size:14px;line-height:1.5;color:#49667b;margin:15px 0}#annotationpanel[open] summary{border-bottom:1px solid #c3dbe7;margin-bottom:14px}@media(max-width:1024px){#annotationpanel{padding-inline:15px}#shapepalette{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){#shapepalette{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Side palettes keep the drawing surface in place when choosing a tool. */
.drawing-stage{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:0 16px 16px;align-items:start}.canvas-column{min-width:0}.drawing-stage .drawing{margin:0}.toolrail{display:flex;flex-direction:column;gap:6px;padding:6px;background:linear-gradient(155deg,#183f55,#142b40);border:1px solid #4897b6;border-radius:10px;box-shadow:0 4px 12px #10253630;position:sticky;top:12px}.rail-icon{width:44px;min-height:46px;padding:9px;border-color:#477187;background:#25495f;color:#dff6ff;border-radius:7px;display:grid;place-items:center}.rail-icon svg{width:25px;height:25px}.rail-icon:hover{background:#365e75;border-color:#00bfff}.rail-icon.active,.rail-icon.selected{background:linear-gradient(135deg,#ffab28,#ff7900);color:#172c3a;border-color:#ffb24f;box-shadow:0 0 0 1px #c2ff0066}.rail-divider{height:1px;background:#7194a55c;margin:2px 0}.tool-panel{position:absolute;z-index:5;top:0;left:86px;width:340px;max-width:calc(100% - 102px);max-height:min(650px,72vh);overflow:auto;overscroll-behavior:contain;background:#f4f9fc;border:1px solid #4091ae;border-top:3px solid #00bfff;border-radius:10px;box-shadow:0 10px 32px #07172555;padding:14px;scrollbar-width:thin}.tool-panel[hidden]{display:none!important}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #c5dbe7}.panelhead h2{font-size:17px;color:#214763}.panelclose{width:44px;min-height:44px;padding:0;font-size:27px;background:#e1edf5;color:#214763}.tool-panel .drawing-toolbar{padding:0;background:transparent;gap:16px;display:flex;flex-direction:column}.tool-panel .toolgroup.wide{padding-top:12px}.tool-panel .toolbar button{min-height:48px}.tool-panel .toolbar .selected{background:#ff9720;color:#172d43;border-color:#c47419}.tool-panel #clear{margin-left:0;background:#fff0ee;border-color:#e0b1aa;color:#8a3831}#symbolpanel.tool-panel,#annotationpanel.tool-panel{margin:0;padding:14px;background:#f4f9fc;border:1px solid #4091ae;border-top:3px solid #00bfff}#symbolpanel.tool-panel #symbolpalette,#annotationpanel.tool-panel #shapepalette{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}#symbolpalette button{padding:9px;font-size:14px;gap:7px}#symbolpalette svg{width:32px;height:32px}#annotationpanel.tool-panel #shapepalette button{flex-direction:column;text-align:center;gap:3px;padding:8px;min-height:64px}#annotationpanel.tool-panel .annotationstyles{display:grid;grid-template-columns:1fr 1fr;gap:12px}#annotationpanel.tool-panel .annotationstyles>div{grid-column:1/-1}#annotationpanel.tool-panel #colorpalette{gap:8px}#annotationpanel.tool-panel #colorpalette .swatch{width:40px;height:40px;min-height:40px}#editpanel .symbolcontrols{padding:0;background:transparent;border:0;box-shadow:none;gap:8px;margin-bottom:16px}#editpanel .symbolcontrols span{flex-basis:100%;font-size:15px}#editpanel .symbolcontrols button{flex:1 1 130px;min-height:48px;padding:10px}#editpanel .nudges{justify-content:space-between;padding-top:14px;border-top:1px solid #c5dbe7}#editpanel .nudges label{color:#214763}.scalecontrols{padding-block:10px}#toolhint{margin-block:10px;line-height:1.4;font-size:14px}@media(max-width:760px){.drawing-stage{padding-inline:10px;grid-template-columns:54px minmax(0,1fr);gap:8px}.toolrail{padding:4px}.tool-panel{left:72px;max-width:calc(100% - 82px)}.rail-icon{min-height:46px}}@media(max-width:460px){.drawing-stage{grid-template-columns:48px minmax(0,1fr);gap:6px;padding-inline:8px}.toolrail{padding:3px}.rail-icon{width:40px;padding:7px}.tool-panel{left:62px;width:320px;max-width:calc(100% - 70px);padding:10px}#symbolpanel.tool-panel,#annotationpanel.tool-panel{padding:10px}#editpanel .nudges{flex-wrap:wrap}.tool-panel .toolbar button{font-size:13px}}@media(prefers-reduced-motion:reduce){.rail-icon{transition:none}}

#emailchoices{display:grid;gap:16px}#emailstatus,#emailready p{font-size:14px;line-height:1.5;color:#405e74}#emailready[hidden],#emailshare[hidden],#emailprepare[hidden]{display:none}#emailready{padding:14px;background:#eff7fc;border:1px solid #b5d2e2;border-radius:8px}.emailfallback{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.emailfallback button,.emailfallback a{font-size:14px}.emailfallback a{color:#075c85;text-decoration:underline}

.offlinebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:14px;color:#cfdfeb}.offlinebar button{min-height:40px;font-size:14px;background:#294a5e;color:#e6f7ff;border-color:#5085a0}.offlinebadge{padding:7px 10px;border:1px solid #b78b56;border-radius:6px;color:#ffe1b6;background:#382d25;font-weight:700}.offlinebadge.ready{color:#d7ff84;border-color:#82b354;background:#263e32}.offlinehelp{color:#bfd5e5;font-size:14px;line-height:1.4;margin:10px 0 0}#localstatus.error{color:#ffb5ae}

/* Field controls stay beside the active drawing on touch screens. */
.scalecontrols{flex-wrap:wrap;align-items:end;gap:12px}.scalecontrols label{max-width:240px}.scalecontrols #gridhint{font-size:13px}
.selectiondock{position:sticky;bottom:8px;z-index:4;margin-top:10px;padding:10px;background:#173b50f5;color:#e7f8ff;border:1px solid #00bfff;border-top:3px solid #c2ff00;border-radius:9px;box-shadow:0 4px 18px #10253635;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#selectiondock[hidden],#roomstatus[hidden],#traceroom[hidden],.dockactions button[hidden]{display:none!important}
#docklabel{flex-basis:100%;font-size:13px;font-weight:650}.dockactions{display:flex;gap:6px;flex-wrap:wrap}.selectiondock button{min-height:44px;padding:8px 11px;font-size:14px;background:#eff8ff;color:#173b50}.selectiondock .danger{color:#a92323;background:#fff0ee}.selectiondock .nudges{margin:0;padding:0;gap:8px;display:flex;align-items:center;flex-wrap:wrap}.selectiondock .nudges label{color:#e7f8ff;font-size:12px}.selectiondock select{margin-top:3px;min-height:44px;padding:6px;width:95px}.selectiondock .nudgepad{display:flex;gap:5px}.selectiondock .nudgepad button{width:44px;font-size:21px;margin:0}.roomstatus{padding:10px 12px;border-left:4px solid #ff7900;background:#fff3e3;font-size:14px;line-height:1.4;color:#6d4017}.linked{filter:drop-shadow(0 0 2px #00bfff)}
@media(max-width:760px){.scalecontrols label{flex:1 1 180px;max-width:none}.selectiondock{bottom:4px}.selectiondock .nudges{width:100%}.selectiondock .nudgepad button{width:46px;min-height:46px}}
@media print{.selectiondock,.roomstatus{display:none!important}}

/* Scoped Fieldbook integration additions */
.ipad-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 16px;border:1px solid #4383b4;border-left:5px solid #ff9a3c;border-radius:10px;background:#e9f4fc;color:#162331;font-size:14px;line-height:1.45}
.ipad-notice strong{white-space:nowrap}
.standalone-download{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border:1px solid #ff9a3c;border-radius:8px;color:inherit;text-decoration:none;font-weight:700;font-size:13px}
.standalone-download:hover,.standalone-download:focus-visible{outline:2px solid #ff9a3c;outline-offset:2px}
@media(max-width:700px){.ipad-notice{align-items:flex-start;flex-direction:column;gap:3px}}


/* iPad portrait: keep the floating drawing palette inside the visible screen.
   The palette scrolls independently; the drawing canvas does not move. */
@media screen and (orientation:portrait) and (pointer:coarse) {
  .drawing-stage .tool-panel {
    position:fixed;
    top:max(12px, env(safe-area-inset-top));
    bottom:max(12px, env(safe-area-inset-bottom));
    left:clamp(64px, 9vw, 100px);
    width:min(360px, calc(100vw - 84px));
    max-width:calc(100vw - 84px);
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    z-index:100;
  }
  .drawing-stage .tool-panel .panelhead {
    position:sticky;
    top:-14px;
    z-index:1;
    background:#f4f9fc;
  }
}
