.content{max-width:1600px}.filterbar{display:flex;align-items:center;gap:18px;background:#edf3eb;border:1px solid #dfe8dc;padding:15px 20px;border-radius:9px;margin-bottom:24px}.filterbar label{font-size:10px;font-weight:700;letter-spacing:.5px;color:#607b60}.filterbar select{display:block;background:#fff;border:1px solid #d8e1d4;border-radius:5px;padding:9px 30px 9px 12px;margin-top:6px;min-width:170px;color:#20352c;font:12px 'DM Sans',sans-serif}.filterbar>span{margin-left:auto;color:#6d8069;font-size:11px}.wide{width:min(920px,94vw);max-height:90vh;overflow:auto}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid label{margin-top:4px}.linecard{display:grid;grid-template-columns:minmax(150px,1fr) 85px 115px 115px 30px;gap:10px;align-items:center;border:1px solid #e2e8dd;background:#fafbf8;padding:12px;border-radius:7px;margin:10px 0}.linecard b{font-size:12px}.linecard label{font-size:10px;margin:0}.linecard input{width:100%;padding:9px 7px}.linecard button{padding:3px;border:0;background:none;font-size:22px}.marginbox{background:#edf3e9;border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:20px;margin-top:22px;font-size:10px;color:#70816d}.marginbox strong{display:block;font:800 17px Manrope;margin-top:8px;color:#20352c}.negative,.negative strong{color:#b64b3f!important}.positive strong{color:#39785b}.help{font-size:11px;line-height:1.7;color:#859080}.buttonrow{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.buttonrow button{font-size:11px}.detailmeta{background:#f8faf5;padding:18px;border-radius:8px;font-size:12px;line-height:1.7}.locationchip{display:inline-block;background:#ecf2e6;border-radius:5px;padding:8px 14px;margin:4px;font-size:11px}.articlepick{padding:0 15px 15px;border:1px solid #dce5d6;border-radius:8px;margin:20px 0;background:#f8faf5}#articleResults button{display:block;width:100%;text-align:left;font-size:12px;margin:5px 0;background:white}#articleResults p{font-size:11px;color:#7c8c74}.saving{cursor:progress}.saving button[type=submit]{opacity:.5;pointer-events:none}dialog h2{font-size:18px}.panelhead p{line-height:1.7;max-width:650px}nav button{padding-top:10px;padding-bottom:10px}aside .company{margin-top:24px;margin-bottom:22px}.ledger a{color:#22694f}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #478367;outline-offset:3px}.value{font-size:24px}.profile{overflow-wrap:anywhere}#toast{max-width:90vw;z-index:999}.stats{gap:14px}.stat{padding:20px}.heading p{line-height:1.7}@media(max-width:720px){.filterbar{gap:10px;padding:12px;align-items:flex-start;flex-wrap:wrap}.filterbar label{flex:1}.filterbar select{min-width:0;width:100%;padding:9px}.filterbar>span{display:none}.marginbox{grid-template-columns:1fr 1fr}.linecard{grid-template-columns:1fr 1fr 1fr}.linecard>div{grid-column:1/-1}.linecard>button{grid-column:3}.formgrid{gap:10px}.wide{padding:16px}.stats .value{font-size:21px}.heading{gap:10px}.heading h1{font-size:23px}.headerRight .demo{display:none}}
.weekbar{display:flex;align-items:center;gap:12px;margin:18px 0}.weekbar h2{font:700 15px Manrope;margin:0 auto 0 0}.weekbar button{font-size:11px}.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));overflow:auto;gap:9px;margin-bottom:25px}.daycolumn{background:#f0f4ed;min-height:240px;border:1px solid #e3eadd;border-radius:8px;padding:10px}.daycolumn h3{font-size:11px;text-transform:capitalize;margin:3px 0 15px}.daycolumn.istoday{border-color:#568765}.calendarjob{display:block;text-align:left;padding:10px;margin:8px 0;width:100%;border-left:3px solid #73956b}.calendarjob strong,.calendarjob span,.calendarjob small{display:block;font-size:10px;margin:6px 0;white-space:normal}.calendarjob strong{font-size:12px}.calendarjob.jour{border-left-color:#b55545;background:#fff8f1}.urgentbadge{font-size:8px;color:#a44738;background:#fbebe3;margin-left:8px;border-radius:4px;padding:4px 6px}.checklabel{display:flex!important;gap:10px;align-items:center;font-size:12px}.checklabel input{display:inline!important;width:auto!important;margin:0!important;accent-color:#22694f}.help a{color:#22694f}textarea{width:100%;margin-top:8px;padding:12px;border:1px solid #dce4db;border-radius:6px;font:inherit}.documentdialog{width:min(1450px,97vw)}.documentframe{display:block;width:100%;height:65vh;border:1px solid #dce4d5;background:#eff2eb;border-radius:7px}.drawingimage{overflow:auto;max-height:70vh;background:#f2f4ef}.drawingimage img{display:block;width:auto;max-width:100%;height:auto;margin:auto}.buttonlink{display:inline-block;border:1px solid #dce4d5;background:#fff;border-radius:6px;padding:10px 15px;text-decoration:none;color:#22694f;font-size:11px}.doorlayout.withdrawing{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr);gap:20px}.drawingpane>a{font-size:11px;color:#22694f;display:block;margin:12px 0}.drawingpane .documentframe{height:61vh}.mountrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #e5ebdf;font-size:12px}.mountrow strong{display:block}.mountrow p{font-size:11px;color:#7c8974}.mountrow button{font-size:10px;white-space:nowrap}.mountrow.mounted{background:#f5f9f0}.speccard{background:#f8faf5;border:1px solid #dfe8d6;border-radius:8px;padding:16px;margin:15px 0}.speccard button{font-size:10px}#doorArticleResults button{display:block;width:100%;text-align:left;margin:5px 0}.doorprogress{display:inline-block;font-size:11px;min-width:90px}.doorprogress>span{display:block;margin-top:6px;width:90px;height:5px;background:linear-gradient(to right,#4f855c var(--progress),#e1e9db var(--progress));border-radius:5px}aside{overflow-y:auto}nav button{padding-top:8px;padding-bottom:8px;margin:3px 0}.company{margin-bottom:15px!important}.sidebottom{padding-top:15px}.support{display:none}.stat .value{font-size:22px}@media(max-width:900px){.doorlayout.withdrawing{grid-template-columns:1fr}.weekgrid{grid-template-columns:repeat(7,160px)}}@media(max-width:720px){.weekbar{flex-wrap:wrap}.weekbar h2{font-size:12px;order:-1;width:100%}.mountrow{flex-wrap:wrap}.documentdialog{padding:12px}nav button{padding:9px}.heading p{max-width:250px}}
.plandialog{width:97vw;max-width:1800px;height:95vh;max-height:95vh;padding:18px}.plandialog .modalhead{margin-bottom:0}.plandialog .actions{position:sticky;bottom:-18px;background:white;padding:12px;border-top:1px solid #e5eadf;z-index:3}.plantools,.plancommands{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.plantools button,.plancommands button{font-size:10px;padding:8px}.plantools button.active{background:#22694f;color:white}.plancommands span{font-size:11px;padding:8px}.planworkspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:15px}.planproperties{position:static;width:auto;height:65vh;border:1px solid #dce5d6;border-radius:6px;padding:12px;overflow:auto;background:#f7faf4;display:block}.planproperties label{font-size:10px;margin:9px 0}.planproperties input,.planproperties select,.planproperties textarea{font-size:11px;padding:8px}.planproperties p{font-size:11px;line-height:1.7}.planproperties h3{font:700 14px Manrope;margin-top:3px}.planproperties button{font-size:10px;padding:8px;margin:4px 0}.planproperties #planArticleResults button{display:block;width:100%;text-align:left}.planbom{padding:12px 0;font-size:12px}#planScroll{overflow:auto;height:65vh;background:#e8ede5;border:1px solid #dce5d6;border-radius:7px;padding:8px}#planStage{position:relative;width:100%;min-height:100px;background:#fff;line-height:0}#planCanvas{width:100%;height:auto;display:block}#planSvg{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.plansymbol{cursor:grab}#planSvg [data-cable]{cursor:pointer}#planLoading{font-size:12px;padding:20px;line-height:1.7}.planworkspace #planProperties>button{display:block;width:100%}.plancommands button:disabled{opacity:.4}details summary{cursor:pointer;padding:10px;color:#22694f}#dialog input:disabled{background:#f0f3ec;color:#899382}@media(max-width:850px){.planworkspace{grid-template-columns:1fr}.planproperties{height:auto;max-height:320px}#planScroll{height:50vh}.plandialog{padding:12px}.plantools{max-height:110px;overflow:auto}.plancommands button{font-size:9px}.plandialog .actions{bottom:-12px}}
.pdfviewer{overflow:auto;max-height:65vh;border:1px solid #e1e8da;background:#e9eee5;padding:8px;min-height:120px;font-size:12px}.pdfviewer canvas{display:block;width:100%;height:auto;background:white}.pdfcontrols{display:flex;align-items:center;justify-content:center;gap:15px;padding:7px;margin-bottom:8px;background:#fff;position:sticky;top:0;z-index:1}.pdfcontrols button{padding:7px 12px}.pdfcontrols button:disabled{opacity:.4}.drawingpane .pdfviewer{max-height:61vh}
.signout{color:#647e64;font-size:10px;text-decoration:none;white-space:nowrap}.signout:hover{text-decoration:underline}

.planToolPicker{display:flex;align-items:center;gap:8px;font-size:12px;margin:0}.planToolPicker select{max-width:320px;padding:8px;border:1px solid #dce4de;border-radius:6px;background:white;color:#234d40}#planSvg:focus-visible{outline:2px solid #286956;outline-offset:-2px}

.planMountItem{padding:12px 0;border-bottom:1px solid #dce4de}.planMountItem small{display:block;margin:5px 0;color:#658071}.planMountItem p{font-size:12px;margin:5px 0}.planMountItem.mounted{background:#edf5ec}.planMountItem button{margin-top:8px;width:100%}

.doorMontageOverlay{z-index:20;width:min(880px,88vw);max-height:82vh}.doorMontageOverlay::backdrop{background:#12291d35;backdrop-filter:none}.doorMontageOverlay form{margin:0}.doorMontageOverlay .mountrow small{display:block}.doorMontageOverlay h3{font-size:15px}

.plandialog .planworkspace{grid-template-columns:minmax(0,1fr)}.plandialog .planworkspace>aside.planproperties{display:none}.componentOverlay{width:min(860px,90vw);max-height:86vh}.componentOverlay::backdrop{background:#12291d35;backdrop-filter:none}.componentOverlay form{margin:0}.componentCardBody{padding:8px 0}.componentCardBody #planProperties>h3{display:none}.componentCardBody #planProperties>label{margin:14px 0}.componentCardBody input,.componentCardBody select,.componentCardBody textarea{width:100%;padding:11px;border:1px solid #dce4db;border-radius:6px;font-size:13px}.componentCardBody #planArticleResults button{display:block;margin:7px 0}.componentCardActions{display:flex;justify-content:space-between;gap:10px;position:sticky;bottom:-25px;padding:15px 0;background:white}.componentCardBody #deletePlanItem,.componentCardBody #markerDelete{color:#a44538}.componentCardBody .help{line-height:1.6}
.plandialog[open]{box-sizing:border-box;height:96dvh;max-height:96dvh;overflow:hidden;margin:2dvh auto;padding:16px}.plandialog #form{height:100%;min-height:0;display:flex;flex-direction:column}.plandialog .modalhead,.plandialog .actions{flex:none}.plandialog #fields{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.plandialog #fields>.help,.plandialog .plantools,.plandialog .plancommands{flex:none;margin:6px 0}.plandialog .planworkspace{flex:1;min-height:0;overflow:hidden}.plandialog #planScroll{height:100%;min-height:0;box-sizing:border-box;overscroll-behavior:contain}.plandialog .planbom{flex:none;padding:0;max-height:22dvh;overflow:auto}.plandialog .actions{position:static;margin:0;padding:10px 0 0}.plandialog #planSaveState{font-size:10px;margin:3px 0}.plandialog .plantools{max-height:120px;overflow:auto}.plandialog .modalhead h2{margin:5px 0}html:has(.plandialog[open]),body:has(.plandialog[open]){overflow:hidden}@media(max-width:720px){.plandialog[open]{width:98vw;padding:10px}.plandialog #fields>.help:first-child{display:none}.plandialog .plantools{max-height:100px}.plandialog .plancommands{max-height:80px;overflow:auto}}
.companynav{display:block;border:0;background:transparent;padding:0;font-size:12px;font-weight:700;text-align:left;color:var(--ink)}.companynav.active{color:var(--green)}.navdivider{border:0;border-top:1px solid var(--line);margin:15px 10px}body>aside .company:has(.companynav){display:block}@media(max-width:720px){body>aside .company:has(.companynav){margin:10px 0!important;padding:0;border:0}nav .navdivider{flex:none;width:1px;height:26px;background:var(--line);border:0;margin:8px}}
.companyoverview{display:block;background:transparent;border:0;padding:7px 0 0;font-size:12px;font-weight:400;text-align:left;color:#728078}.companyoverview.active{color:var(--green);font-weight:700}
.company:has(.companynav){margin:24px 0 15px!important;padding-bottom:16px}.company:has(.companynav) strong{display:block;font-weight:400}.company .companynav,.company .companyoverview{display:flex;align-items:center;gap:13px;width:100%;margin:3px 0;padding:8px 15px;border:0;border-radius:7px;background:transparent;color:#728078;font-size:14px;font-weight:400;text-align:left}.company .companynav em,.company .companyoverview em{flex:0 0 20px;width:20px;font-size:17px;font-style:normal}.company .companynav.active,.company .companyoverview.active{background:#edf4ed;color:var(--green);font-weight:700}.company:has(.companynav)>small{margin:8px 15px 0}@media(max-width:720px){.company .companynav,.company .companyoverview{font-size:11px;padding:10px;gap:6px}}
.ordercustomer{font-size:15px;font-weight:700;color:var(--green)}.orderwork{color:var(--ink);font-size:12px}.linecard.quoteLine{grid-template-columns:minmax(160px,1.5fr) 75px 95px 100px 75px 95px 25px}.documentnotes{white-space:pre-wrap}@media(max-width:1000px){.linecard.quoteLine{grid-template-columns:repeat(3,minmax(0,1fr))}.linecard.quoteLine>div:first-child{grid-column:1/-1}}@media(max-width:600px){.linecard.quoteLine{grid-template-columns:repeat(2,minmax(0,1fr))}.linecard.quoteLine>button{grid-column:auto}}
.brandtagline{margin:9px 12px 0;max-width:195px;font-size:11px;line-height:1.55;color:#728078}.brandtagline+.company:has(.companynav){margin-top:20px!important}
main button,dialog button{border-color:#c7ddcf;background:#edf5ef;color:#22694f;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s}main button:hover,dialog button:hover{background:#e0eee4;border-color:#8fb79c;filter:none}main .primary,dialog .primary,main .buttonrow>button:not(.link),dialog .buttonrow>button:not(.link){background:#22694f;border-color:#22694f;color:#fff}main .primary:hover,dialog .primary:hover,main .buttonrow>button:not(.link):hover,dialog .buttonrow>button:not(.link):hover{background:#19563f}main .link,dialog .link{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d4e5d9;background:#edf5ef;color:#22694f;border-radius:6px;padding:6px 10px;font-weight:600}.modalhead button{border:0;background:transparent;color:#22694f}.modalhead button:hover{background:#edf5ef}button:disabled{cursor:default;opacity:.45}main .ordercustomer{font-size:15px}main .drawingBrowserTop{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px 20px}.drawingbreadcrumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#7b8c80}.drawingbreadcrumbs button{border:0;background:transparent;padding:5px 0;font-size:12px;color:#22694f}.drawingbreadcrumbs button:hover{background:transparent;text-decoration:underline}.drawingbreadcrumbs strong{font-weight:600;color:#20352c}.drawingProjectGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding:0 24px 24px}main .drawingProjectCard{display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:left;background:#fff;border:1px solid #d9e6dc;border-radius:12px;padding:20px;min-height:185px;box-shadow:0 2px 8px #20352c05}main .drawingProjectCard:hover{background:#f5faf6;border-color:#7cac8b;box-shadow:0 6px 18px #20352c0d}.drawingProjectCardTop{display:flex;justify-content:space-between;align-items:center;gap:12px}.drawingProjectIcon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#edf5ef;color:#22694f;font-size:22px}.drawingProjectCount{font-size:11px;color:#4a7358;background:#edf5ef;padding:6px 10px;border-radius:20px}.drawingProjectCard>strong{font:700 17px Manrope;color:#20352c}.drawingProjectAddress{font-size:12px;color:#819087;font-weight:400}.drawingProjectOpen{font-size:12px;font-weight:700;color:#22694f;margin-top:auto}.drawingBrowserActions{display:flex;gap:8px;flex-wrap:wrap}.drawingBrowserAddress{padding:0 24px 16px;font-size:12px;color:#819087;margin:0}@media(max-width:720px){.brandtagline{margin-left:12px;font-size:10px;max-width:none}.drawingBrowserTop{align-items:flex-start;flex-direction:column;padding:0 18px 18px}.drawingProjectGrid{padding:0 18px 18px;grid-template-columns:1fr}.drawingBrowserActions{width:100%}}
.drawingFloorFilters{display:flex;gap:8px;flex-wrap:wrap;padding:0 24px 18px}.drawingFloorFilters button{font-size:12px;padding:7px 12px}.drawingFloorBadge{display:inline-block;background:#edf5ef;color:#22694f;font-size:11px;font-weight:700;border-radius:5px;padding:5px 8px;margin-bottom:8px}
.planfinder{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:none;margin:5px 0}.planfinder label{display:flex;align-items:center;gap:10px;margin:0;font-size:11px}.planfinder input{width:240px;margin:0;padding:8px 10px;font-size:12px}#planFindResults{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;max-height:80px;overflow:auto}#planFindResults button{padding:7px 10px;font-size:11px}.planDeleteOverlay{max-width:90vw}.planDeleteOverlay p{font-size:13px;line-height:1.7}@media(max-width:720px){.planfinder label{width:100%}.planfinder input{width:100%}}
/* Consistent drawing actions and controls. */
.plandialog .plantools,.plandialog .plancommands{align-items:center;gap:8px}
.plandialog .plantools button,.plandialog .plancommands button,.plandialog #planFindResults button{box-sizing:border-box;height:40px;min-height:40px;padding:0 14px;font-size:12px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.plandialog .plantools button,.plandialog .plancommands button{min-width:100px}
.plandialog #planZoomIn,.plandialog #planZoomOut{width:40px;min-width:40px;padding:0;font-size:16px}
.plandialog .planToolPicker{align-items:center;white-space:nowrap;font-size:12px}
.plandialog .planToolPicker select,.plandialog .planfinder input{box-sizing:border-box;height:40px;min-height:40px;margin:0;font-size:12px}
.plandialog .actions button,.planDeleteOverlay .actions button,.componentOverlay .actions button,.doorOverlay .actions button{height:42px;min-width:120px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center}
/* Quiet drawing browser: one primary action per row. */
main .drawingCustomerLink{background:transparent!important;border:0!important;padding:0!important;font-size:13px;font-weight:700;min-height:0;border-radius:0}
.drawingCleanTop{padding:0 24px;margin:8px 0 18px}.drawingCleanList{border-top:1px solid #e8eee9}.drawingCleanRow{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;border-bottom:1px solid #e8eee9}.drawingCleanRow:last-child{border-bottom:0}.drawingCleanInfo{min-width:0}.drawingCleanInfo h3{font-size:15px;margin:0 0 5px;color:#234d40}.drawingCleanInfo p{font-size:12px;color:#6d8075;margin:0 0 4px}.drawingCleanInfo small{display:block;font-size:11px;color:#8b9890;overflow-wrap:anywhere}.drawingCleanRow .drawingBrowserActions{flex-wrap:nowrap}.drawingMenu{position:relative}.drawingMenu summary{list-style:none;padding:9px 12px;font-size:13px;border:1px solid #d6e1da;border-radius:6px;line-height:20px;white-space:nowrap}.drawingMenu summary::-webkit-details-marker{display:none}.drawingMenu[open]{z-index:20}.drawingMenu>div{position:absolute;right:0;top:calc(100% + 6px);width:230px;background:white;border:1px solid #d6e1da;border-radius:8px;padding:5px;box-shadow:0 8px 28px #183e2820}main .drawingMenu>div>button{display:block;width:100%;text-align:left;background:white;border:0;border-radius:4px;padding:10px 12px;color:#234d40;font-size:12px;min-height:36px}main .drawingMenu>div>button:hover{background:#eef5ef}.panel:has(.drawingCleanList){overflow:visible}.drawingProjectCardTop{position:relative}.drawingProjectStatus{margin-left:auto}.drawingProjectStatus:empty:not(.started){display:none}.drawingProjectStatus.complete{display:inline-flex;align-items:center;justify-content:center;background:#28844b;color:white;width:25px;height:25px;border-radius:50%;font-size:18px}.drawingProjectStatus.started{display:inline-block;width:22px;height:22px;border:3px solid #e9a027;border-radius:50%;box-sizing:border-box}.drawingProjectCount{margin-left:auto}@media(max-width:650px){.drawingCleanRow{align-items:flex-start;gap:12px;flex-direction:column}.drawingCleanTop{gap:12px}.drawingCleanRow .drawingBrowserActions{align-self:flex-end}.drawingMenu>div{right:0}}
.drawingCleanRow .drawingMenu>div{top:auto;bottom:calc(100% + 6px)}.drawingCleanInfo h3{display:flex;align-items:center;gap:8px}.drawingCleanInfo h3 .drawingProjectStatus{margin-left:0;flex:none}
.pdfpages{display:flex;flex-direction:column;gap:16px}.pdfpage{position:relative;background:white;box-shadow:0 1px 5px #183e2818;width:100%;flex:none;overflow:hidden}.pdfpage canvas{position:absolute;inset:0;width:100%;height:100%}.pdfpageNumber{position:absolute;bottom:6px;right:10px;font-size:10px;background:#ffffffe6;padding:3px 6px;border-radius:3px;color:#65776a}.pdfcontrols{gap:10px;box-shadow:0 2px 5px #183e2810}.pdfcontrols label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}.pdfcontrols select{width:80px;margin:0;padding:8px;font-size:12px}.pdfcontrols span{font-size:12px}.pdfcontrols button{min-width:38px;height:36px;padding:0 10px}
.manufacturerPicker{margin:8px 0}.manufacturerInput{display:flex;gap:0}.manufacturerInput input{flex:1;min-width:0;margin:0;border-radius:6px 0 0 6px}.manufacturerInput button{margin:0!important;min-width:40px;border-radius:0 6px 6px 0;padding:0 10px!important}#manufacturerResults{max-height:180px;overflow-y:auto;border:1px solid #dce4db;border-radius:6px;background:white;margin-top:5px;padding:4px}#manufacturerResults[hidden]{display:none}#manufacturerResults button{display:block;width:100%;text-align:left;border:0;background:white;font-size:12px;margin:0;padding:8px 10px;border-radius:4px}#manufacturerResults button:hover,#manufacturerResults button.active{background:#e9f3ed;color:#22694f}#manufacturerResults p{padding:8px;font-size:12px}
.doorArticlePicker{margin:18px 0;border:1px solid #dce6de;border-radius:7px;padding:4px 12px;background:#f8fbf8}.doorArticlePicker summary{font-weight:600;font-size:13px}.doorArticlePicker label{font-size:12px}.doorArticlePicker [data-overlay-article-quantity]{max-width:120px}.doorArticlePicker [data-overlay-article-results]{max-height:220px;overflow:auto}.doorArticlePicker [data-overlay-add-article]{display:flex;width:100%;justify-content:space-between;gap:12px;text-align:left;font-size:12px;margin:5px 0;padding:10px}.doorArticlePicker [data-overlay-add-article] span{white-space:nowrap;font-weight:600}
.componentChecklist{background:#f5f9f5;border:1px solid #dce8df;border-radius:8px;padding:16px;margin:16px 0}.componentChecklist h3{font-size:14px;margin:0 0 14px}.componentChecklistRow{display:flex;align-items:center;justify-content:space-between;gap:18px}.componentChecklistRow strong,.componentChecklistRow small{display:block}.componentChecklistRow strong{font-size:13px}.componentChecklistRow small{font-size:11px;color:#718277;margin-top:6px}.componentChecklistRow .checklabel{white-space:nowrap;color:#22694f;font-weight:600;margin:0!important}.componentChecklistRow input[type=checkbox]{width:20px!important;height:20px;accent-color:#22694f}.componentChecklist .help{margin-bottom:0}
main button.quoteCustomer{font-size:15px;font-weight:700;color:#22694f;background:transparent;border:0;padding:0;min-height:0;text-align:left}.quoteSubject{font-size:12px;margin-top:5px;color:#40574a}
.timeOverview{padding:0 24px 18px}.timePeriod{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap}.timePresets{display:flex;gap:6px;flex-wrap:wrap}.timePresets button{font-size:12px;padding:8px 12px}.timeDates{display:flex;gap:12px;flex-wrap:wrap}.timeDates label{font-size:11px;margin:0}.timeDates input,.timeDates select{padding:8px;margin-top:5px;font-size:12px}.timeTotals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.timeTotals>div{border:1px solid #dfe9e1;background:#f5f9f5;padding:16px;border-radius:8px}.timeTotals small{display:block;color:#728276;font-size:11px}.timeTotals strong{display:block;color:#234d40;font-size:24px;margin-top:8px}.timeGuide{line-height:1.7}.timeRange{font-size:12px;color:#667e6c;margin-bottom:0}.timeCustomer{color:#22694f;display:block;font-size:14px;margin-bottom:4px}.timeStatus{display:inline-block;border-radius:5px;padding:5px 8px;font-size:11px;background:#edf5ee;color:#22694f}.timeStatus.locked{background:#f0f2f0;color:#6b786e}@media(max-width:700px){.timeOverview{padding:0 14px 14px}.timeTotals{gap:7px}.timeTotals>div{padding:10px}.timeTotals strong{font-size:19px}.timeDates{width:100%}}
.drawingRemaining{margin-top:8px;font-size:12px}.drawingRemaining summary{padding:4px 0;color:#9a651c;font-size:12px}.drawingRemaining ul{padding-left:18px;margin:6px 0;line-height:1.8}
.accountTabs{display:flex;flex-wrap:wrap;gap:8px}.accountTabs button{font-size:12px}.panel #ledgerAccount{max-width:340px}.panel:has(.accountTabs) .tablewrap{overflow-x:auto}#fields [data-journal-account]{min-width:110px}#fields [data-journal-debit],#fields [data-journal-credit]{min-width:110px}

.accountTabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.accountTabs button{min-height:42px;height:auto;white-space:normal;margin:0}.accountTabs+ .ledger{padding-top:10px}.timeClock{padding:14px 0}.timeClock summary{cursor:pointer;color:var(--green,#236b53);font-weight:600}

.accountTabs button{height:44px;min-height:44px;padding:6px 10px;line-height:15px;font-size:12px}.actionbutton{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;background:#edf5ef;border:1px solid #c5dfcf;border-radius:6px;color:#236b53;font-weight:600;text-decoration:none}

[hidden]{display:none!important}
.permissionChoices{border:1px solid #d5e4db;border-radius:10px;padding:16px;margin:16px 0}.permissionChoices legend{font-weight:600;padding:0 6px}

.permissionMatrix table{min-width:0;width:100%;table-layout:fixed}.permissionMatrix th,.permissionMatrix td{white-space:normal!important;overflow-wrap:anywhere}.permissionMatrix th:first-child,.permissionMatrix td:first-child{width:30%}
/* Montörens arbetsdag */
.dayHero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid #cce0d2;border-radius:14px;background:linear-gradient(115deg,#e7f1e9,#f5f8f3);margin-bottom:20px}.dayHero h2{font-size:28px;margin:6px 0 10px;color:#214c3b}.dayHero p{margin:0;color:#61766b}.dayEyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#56806b}.dayMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.dayMetrics>div{background:#fff;border:1px solid #dbe6df;border-radius:10px;padding:19px 22px}.dayMetrics small{display:block;color:#708578;font-size:12px}.dayMetrics strong{display:block;font-size:25px;line-height:1.3;margin-top:7px;color:#244e3d}.dayNotice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;border:1px solid #edd3a1;border-radius:9px;background:#fff9ee;margin-bottom:20px;color:#815d23}.dayNotice p{margin:0;font-size:13px}.dayTools{padding:20px 24px;border-bottom:1px solid #e5ece7}.dayFilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.dayFilters button,.dayActions button,.dayContact a{min-height:40px;font-size:12px}.daySearch{display:block;max-width:480px;color:#718378;font-size:11px}.daySearch input{margin-top:7px;width:100%}.dayJobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}.dayJob{padding:22px;border:1px solid #d8e5dc;border-radius:12px;background:#fff;min-width:0}.dayJobTop{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}.dayJobTop>small{margin-left:auto;color:#738579;font-size:11px}.dayStatus{font-size:11px;font-weight:600;padding:5px 9px;border-radius:30px;background:#f0f3f1;color:#65776c}.dayStatus.ongoing{background:#fff2d9;color:#9a661a}.dayStatus.done{background:#e5f4e9;color:#24704b}.dayUrgent{color:#a4432c;background:#fff0e8;border-radius:5px;font-size:10px;font-weight:700;padding:4px 7px}.dayCustomer{border:0;background:transparent;color:#216b50;font-size:20px;font-weight:650;padding:0;text-align:left;min-height:0}.dayCustomer:hover{text-decoration:underline}.dayJob h3{margin:7px 0;font-size:15px;font-weight:500;line-height:1.5}.dayJob p{font-size:12px;color:#728277;margin:8px 0;overflow-wrap:anywhere}.dayJob .dayOrderNumber{font-size:10px;color:#87958c}.dayContact,.dayActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.dayProgress{display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid #e6ece8;border-bottom:1px solid #e6ece8;margin-top:18px;padding:13px 0;color:#627e6d;font-size:11px}.dayWarning{color:#92651d!important;background:#fff8e8;padding:10px;border-radius:6px}.jobHistory{padding:16px 0 0;font-size:12px;color:#547a64}.jobHistory summary{cursor:pointer}.jobHistory>div{padding:12px 0;border-bottom:1px solid #e6ece8}.jobHistory small{display:block;color:#88958d;font-size:10px;margin-top:5px}.jobHistory p{white-space:pre-wrap}.dayEmpty{grid-column:1/-1;text-align:center;padding:40px 20px;color:#77877c}.dayEmpty h3{font-size:17px;color:#41624f}.dayEmpty p{font-size:13px}
@media(max-width:1050px){.dayJobs{grid-template-columns:1fr}.dayMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dayHero{align-items:flex-start;flex-direction:column;padding:22px}.dayJobTop>small{margin-left:0}}
@media(max-width:600px){.dayJobs{padding:14px}.dayJob{padding:17px}.dayMetrics{gap:10px}.dayMetrics>div{padding:15px}.dayFilters button{flex:1 1 40%}.dayTools{padding:16px}.dayHero h2{font-size:24px}}
.dayReport{margin-top:15px;font-size:12px;min-height:40px}
.dayDocuments{margin-top:15px;min-height:40px;font-size:12px}.dayDocumentGroup{border:1px solid #dce7df;border-radius:10px;padding:18px;margin:16px 0}.dayDocumentGroup>div{padding:12px 0;border-top:1px solid #e7ece8}.dayDocumentGroup strong{display:block;overflow-wrap:anywhere;font-size:13px}
.daySearch input{height:44px;min-height:44px;padding:10px 12px;border:1px solid #d4e0d7;border-radius:6px;background:#fff;font:inherit;color:#28493b;box-sizing:border-box}.daySearch input:focus{outline:2px solid #347e5c;outline-offset:2px}
.photoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.photoCard{border:1px solid #d9e6dd;border-radius:10px;overflow:hidden}.photoCard img{display:block;width:100%;height:220px;object-fit:contain;background:#f2f5f1}.photoCard>div{padding:16px}.photoCard p{white-space:pre-wrap;font-size:13px;overflow-wrap:anywhere}.photoCard small,.photoRemoved small{display:block;color:#829084;font-size:10px}.photoTag{display:inline-block;background:#f1f3f1;padding:5px 8px;border-radius:5px;font-size:10px;color:#60766a}.photoTag.customer{background:#e6f4e8;color:#27714d}.photoRemoved{display:flex;gap:15px;align-items:center;justify-content:space-between;border-bottom:1px solid #e3eae4;padding:15px 0}.dayJob [data-job-photos]{margin-top:12px;min-height:40px;font-size:12px}@media(max-width:650px){.photoGrid{grid-template-columns:1fr}.photoCard img{height:200px}}

.company-button-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.company-button-group > button {
  margin: 0;
}

:root {
  --action-gap: 8px;
  --section-gap: 16px;
}

.buttonrow, .company-button-group, .accountTabs, .actions,
.dayFilters, .dayContact, .dayResources, .dayActions {
  gap: var(--action-gap);
}

.dayJob {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: var(--section-gap);
}

.dayJobTop, .dayProgress, .dayJobText {
  width: 100%;
  box-sizing: border-box;
}

.dayJobText {
  display: grid;
  justify-items: start;
  gap: 6px;
}

.dayResources {
  display: flex;
  flex-wrap: wrap;
}

.dayContact:empty, .dayResources:empty {
  display: none;
}

.dayJob :is(.dayJobTop, .dayContact, .dayActions, .dayProgress, .dayReport,
.dayDocuments, [data-job-photos], h3, p) {
  margin: 0;
}


 /* Shared dimensions for green action groups. */
 :is(.buttonrow, .company-button-group, .accountTabs, .actions, .weekbar,
     .timePresets, .dayFilters, .dayContact, .dayResources, .dayActions)
     > :is(button, a.actionbutton):not(.link, [aria-label]),
 button:is(.primary, [data-time-review-history], [data-time-review-detail],
           [data-time-review-export], [data-time-review-approve],
           [data-time-review-return], [data-time-review-reopen]):not(.link, [aria-label]) {
   box-sizing: border-box;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   vertical-align: middle;
   width: 152px;
   max-width: 100%;
   min-height: 40px;
   padding: 4px 8px;
   font-size: 12px;
   line-height: 15px;
   text-align: center;
   white-space: normal;
 }

 .accountTabs {
   display: flex;
   flex-wrap: wrap;
 }
