@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.ec5Qua_className{font-family:Inter,Inter Fallback;font-style:normal}.ec5Qua_variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8c352cd2dd0b7ed3-s.0dly_23o54cvg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(../media/38df7484fe560b25-s.p.34k3f59fehpay.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8c352cd2dd0b7ed3-s.0dly_23o54cvg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;font-display:swap;src:url(../media/38df7484fe560b25-s.p.34k3f59fehpay.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville Fallback;src:local(Times New Roman);ascent-override:76.22%;descent-override:21.22%;line-gap-override:0.0%;size-adjust:127.26%}.BiIMea_className{font-family:Libre Baskerville,Libre Baskerville Fallback;font-style:normal}.BiIMea_variable{--font-baskerville:"Libre Baskerville", "Libre Baskerville Fallback"}
:root{--ground:#f1ead9;--panel:#faf5ea;--card:#fffbf3;--brown:#6a4b29;--brown-dark:#3a2a17;--ink:#2e2214;--muted:#5e4e3a;--line:#e6dcc6;--field-border:#cbbc9e;--green:#6b7a3a;--green-ink:#4a5527;--green-soft:#dde2c6;--sand-soft:#ebd8be;--teal-soft:#d3dfdd;--warn-ink:#7a3e12;--warn-soft:#f5d9be;--radius:14px;--radius-sm:10px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-inter), Helvetica, Arial, sans-serif;-webkit-text-size-adjust:100%;font-size:15px;line-height:1.45}a{color:var(--brown)}a:hover{color:var(--brown-dark)}h1,h2,h3,.serif{font-family:var(--font-baskerville), Georgia, serif;color:var(--brown);margin:0;font-weight:400}h1{font-size:24px}h2{font-size:18px}input,textarea,select,button{font:inherit}.app-shell{min-height:100vh}.app-banner{z-index:25;background:var(--brown);align-items:center;height:84px;padding:0 28px;display:flex;position:sticky;top:0}.app-banner a{display:flex}.app-banner img{width:auto;height:48px;display:block}.app-body{align-items:flex-start;display:flex}.app-main{flex:1;min-width:0}.sidebar{background:var(--brown);width:216px;height:calc(100vh - 84px);color:var(--ground);z-index:20;flex-direction:column;flex:0 0 216px;gap:6px;padding:18px 12px;display:flex;position:sticky;top:84px;overflow-y:auto}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-nav a,.sidebar-nav span,.create-menu summary{min-height:42px;color:var(--ground);border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.sidebar-nav a:hover{color:#fff;background:#f1ead91a}.sidebar-nav a[aria-current=page]{background:var(--ground);color:var(--brown-dark);font-weight:700}.sidebar-nav .nav-soon{opacity:.45;cursor:default}.sidebar-foot{flex-direction:column;gap:2px;margin-top:auto;display:flex}.sidebar-foot a{min-height:42px;color:var(--ground);border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.sidebar-foot a[aria-current=page]{background:var(--ground);color:var(--brown-dark);font-weight:700}.sidebar-foot form{padding:0 12px}.link-button{color:inherit;cursor:pointer;background:0 0;border:none;padding:10px 0;font-size:14px;text-decoration:underline}.create-menu{margin-bottom:8px;position:relative}.create-menu summary{cursor:pointer;background:var(--ground);color:var(--brown);font-weight:700;list-style:none}.create-menu summary::-webkit-details-marker{display:none}.create-menu-list{z-index:30;background:var(--card);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #2e221433}.create-menu-list a{color:var(--ink);border-radius:8px;padding:12px;font-weight:600;text-decoration:none}.create-menu-list a:hover{background:var(--ground)}.topbar,.bottomnav{display:none}main.page{max-width:1500px;margin:0 auto;padding:20px 28px 40px}@media (max-width:720px){.sidebar,.app-banner{display:none}.topbar{background:var(--brown);color:var(--ground);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 16px;display:flex}.topbar .brand{display:flex}.topbar .brand img{width:auto;height:30px;display:block}main.page{padding:16px 16px 110px}.bottomnav{z-index:20;background:var(--card);padding:6px 8px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e0d4ba;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav a,.bottomnav span{height:48px;color:var(--muted);border-radius:10px;flex:1;justify-content:center;align-items:center;font-size:14px;text-decoration:none;display:flex}.bottomnav a[aria-current=page]{color:var(--brown);background:var(--ground);font-weight:700}.bottomnav span{opacity:.45}}.page-head{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:18px;display:flex}.page-head .spacer{flex:1}.card{background:var(--card);border-radius:var(--radius);padding:18px}.stack{flex-direction:column;gap:16px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1.5px solid var(--brown);height:44px;color:var(--brown);background:0 0;justify-content:center;align-items:center;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--brown);border-color:var(--brown);color:#fff}.btn-primary:hover{color:#fff;filter:brightness(.95)}.btn-quiet{border-color:var(--field-border)}.btn:disabled{opacity:.6;cursor:wait}.badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-one_off{background:var(--sand-soft);color:#5a3d17}.badge-recurring_residential{background:var(--green-soft);color:var(--green-ink)}.badge-commercial{background:var(--teal-soft);color:#2c4a47}.badge-archived{color:var(--muted);background:#e4ddd0}.form{flex-direction:column;gap:18px;max-width:640px;display:flex}.form fieldset{border:none;flex-direction:column;gap:14px;margin:0;padding:0;display:flex}.form legend{font-family:var(--font-baskerville), Georgia, serif;color:var(--brown);margin-bottom:4px;padding:0;font-size:17px}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:600}.field .hint{color:var(--muted);font-size:13px;font-weight:400}.field input,.field textarea,.field select{border:1.5px solid var(--field-border);min-height:48px;color:var(--ink);background:#fff;border-radius:12px;width:100%;padding:10px 14px;font-size:16px}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field textarea:focus,.field select:focus{outline:2.5px solid var(--brown);outline-offset:1px}.row-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.error{background:var(--warn-soft);color:var(--warn-ink);border-radius:var(--radius-sm);padding:12px 14px;font-weight:600}.filters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.filters input[type=search]{border:1.5px solid var(--field-border);background:#fff;border-radius:12px;flex:260px;height:48px;padding:0 14px;font-size:16px}.filters select{border:1.5px solid var(--field-border);background:#fff;border-radius:12px;height:48px;padding:0 12px;font-size:15px}.client-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.client-list a{background:var(--card);border-radius:var(--radius);color:var(--ink);grid-template-columns:1fr auto;align-items:center;gap:4px 14px;padding:14px 16px;text-decoration:none;display:grid}.client-list a:hover{box-shadow:0 0 0 2px var(--field-border);color:var(--ink)}.client-list .name{font-weight:700}.client-list .sub{color:var(--muted);grid-column:1/-1;font-size:13px}.empty{text-align:center;padding:40px 20px}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;display:grid}dl.facts{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;display:grid}dl.facts dt{color:var(--muted);font-size:14px}dl.facts dd{overflow-wrap:anywhere;margin:0}.property{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:12px;display:flex}.property:first-of-type{border-top:none;padding-top:0}.access{background:var(--ground);border-radius:var(--radius-sm);white-space:pre-wrap;padding:10px 12px;font-size:14px}.notes{white-space:pre-wrap}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.login-card{background:var(--card);border-radius:18px;width:100%;max-width:400px;padding:28px 24px}.login-card .brand{margin-bottom:12px}.login-card .brand img{width:100%;max-width:300px;height:auto;display:block}.field .label{font-size:14px;font-weight:600}.check{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:15px;display:inline-flex}.check input{width:20px;height:20px;accent-color:var(--brown);margin:0}.month-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:2px 10px;display:grid}.segmented{flex-wrap:wrap;gap:4px 20px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.type-maintenance{background:var(--green-soft)}.type-project{background:var(--sand-soft)}.type-commercial{background:var(--teal-soft)}.type-quote{background:var(--card);border:1.5px dashed var(--brown)!important}.is-suggested{opacity:.85;background:var(--card)!important;border:1.5px dotted var(--muted)!important}.is-done{opacity:.6}.tag{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-size:11px;font-weight:700;display:inline-block}.tag-done{color:var(--green-ink)}.cal-toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.cal-toolbar h1{margin-right:6px;font-size:24px}.cal-toolbar .spacer{flex:1}.cal-nav{gap:6px;display:flex}.view-switch{background:var(--card);border:1.5px solid var(--field-border);border-radius:var(--radius-sm);padding:2px;display:flex}.view-switch a{min-height:38px;color:var(--muted);border-radius:8px;align-items:center;padding:0 14px;font-weight:600;text-decoration:none;display:flex}.view-switch a[aria-current=page]{background:var(--brown);color:var(--ground)}.pill{background:var(--brown);min-width:22px;color:var(--ground);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:12px;display:inline-block}.needs-menu,.picker{position:relative}.picker-list{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:280px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #2e221426}.picker-list li{cursor:pointer;border-radius:6px;padding:9px 10px}.picker-list li.is-active{background:var(--green-soft)}.picker-list .picker-empty{cursor:default}.needs-list [data-drag-visit]{cursor:grab;-webkit-user-select:none;user-select:none}.needs-hint{margin:4px 8px 6px}@media (max-width:720px){.needs-hint{display:none}}.needs-menu summary{list-style:none}.needs-menu summary::-webkit-details-marker{display:none}.needs-list{z-index:15;background:var(--card);border-radius:var(--radius);width:min(360px,90vw);max-height:70vh;padding:6px 16px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 10px 30px #2e221438}.list-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.list-row:first-child{border-top:none}.list-row div{flex-direction:column;gap:2px;min-width:0;display:flex}.list-row .sub{color:var(--muted);font-size:12px}.cal-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px 20px;margin-bottom:14px;font-size:14px;display:flex}.suggest-bar{background:var(--card);border:1.5px dotted var(--muted);border-radius:var(--radius-sm);color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px;padding:4px 4px 4px 12px;display:flex}.tgrid-scroll{background:var(--card);border-radius:var(--radius);overflow-x:auto}.tgrid{min-width:calc(56px + var(--cols) * 130px)}.tg-row{grid-template-columns:56px repeat(var(--cols), minmax(0, 1fr));display:grid}.tg-head{z-index:3;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0}.tg-dayhead{color:var(--brown-dark);border-left:1px solid var(--line);flex-direction:column;align-items:center;gap:4px;padding:12px 4px 10px;text-decoration:none;display:flex}.tg-dayhead b{font-size:16px}.tg-dayhead .count{color:var(--muted);border:1px solid var(--field-border);border-radius:6px;padding:0 6px;font-size:12px}.tg-dayhead.is-today b{background:var(--brown);color:var(--ground);border-radius:8px;padding:2px 8px}.tg-anytime{border-bottom:1px solid var(--line);background:var(--panel)}.tg-label{color:var(--muted);text-align:right;padding:8px 6px;font-size:11px}.tg-anycell{border-left:1px solid var(--line);flex-direction:column;gap:4px;min-height:36px;padding:4px;display:flex}.tg-body,.tg-hours{position:relative}.tg-hours span{color:var(--muted);font-size:11px;position:absolute;right:8px;transform:translateY(-7px)}.tg-hours span:first-child{transform:none}.tg-col{border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom, var(--line) 0 1px, transparent 1px 56px);position:relative}.tg-col.is-today{background-color:#f1ead973}.tg-now{z-index:2;background:#b4441c;height:2px;position:absolute;left:0;right:0}.tg-now:before{content:"";background:#b4441c;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.tg-block{z-index:1;color:var(--ink);border:1.5px solid #0000;border-radius:8px;flex-direction:column;gap:1px;padding:5px 7px;font-size:12px;line-height:1.3;text-decoration:none;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px #2e221414}.tg-block:hover{color:var(--ink);box-shadow:0 0 0 2px var(--brown-dark);z-index:2}.tg-block b{font-size:13px}.tg-block span{color:#4d3a22}.tg-block-flat{position:static}.mgrid{background:var(--card);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.mhead{color:var(--muted);border-bottom:1px solid var(--line);padding:10px 8px;font-size:13px;font-weight:700}.mcell{border-left:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:3px;min-width:0;min-height:118px;padding:6px;display:flex}.mcell:nth-child(7n+1){border-left:none}.mcell.is-outside{background:var(--panel)}.mcell.is-outside .mdate{color:var(--muted)}.mdate{color:var(--brown-dark);border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:2px 6px;font-weight:700;text-decoration:none;display:flex}.mcell.is-today .mdate{background:var(--brown);color:var(--ground)}.mcount{font-size:11px;font-weight:600;display:none}.mchip{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-radius:6px;padding:3px 6px;font-size:12px;text-decoration:none;display:block;overflow:hidden}.mchip .t{font-weight:700}.mmore{color:var(--muted);padding:0 6px;font-size:12px;text-decoration:none}.cal-desktop [data-drag-visit]{cursor:grab;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}body.dnd-active,body.dnd-active *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}[data-drag-visit].is-dragging{opacity:.35}.is-moving{opacity:.6;pointer-events:none}.tg-col.is-drop,.tg-anycell.is-drop,.mcell.is-drop{background-color:var(--green-soft)}.dnd-marker{z-index:3;pointer-events:none;border:2px dashed var(--green-ink);color:var(--green-ink);background:#dde2c699;border-radius:8px;padding:3px 7px;font-size:12px;font-weight:700;position:absolute;left:2px;right:2px}.dnd-ghost{z-index:100;pointer-events:none;white-space:nowrap;background:var(--brown-dark);color:var(--ground);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;position:fixed;top:0;left:0;box-shadow:0 4px 14px #2e221440}.cal-phone{display:none}.visit-card{border-radius:var(--radius-sm);color:var(--ink);border:1.5px solid #0000;flex-direction:column;gap:3px;padding:10px 11px;text-decoration:none;display:flex}.visit-card .t{color:#4d3a22;font-size:12px;font-weight:600}.visit-card .c{font-size:14px;font-weight:700}.visit-card .j,.visit-card .a{color:#4d3a22;font-size:12px}.agenda{flex-direction:column;gap:14px;display:flex}.agenda-day{flex-direction:column;gap:6px;display:flex}.agenda-head{color:var(--brown-dark);border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:4px 2px;text-decoration:none;display:flex}.agenda-head span{color:var(--muted);font-size:13px}.agenda-head.is-today b{color:var(--green-ink)}.daystrip{grid-template-columns:repeat(var(--days,7), minmax(0, 1fr));gap:5px;margin-bottom:12px;display:grid}.daystrip a{background:var(--panel);height:52px;color:var(--brown);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;text-decoration:none;display:flex}.daystrip a small{font-size:11px}.daystrip a b{font-size:16px}.daystrip a.is-today{box-shadow:inset 0 0 0 2px var(--field-border)}.daystrip a[aria-current=date]{background:var(--brown);color:var(--ground)}.day-list{flex-direction:column;gap:12px;display:flex}.day-card{border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px;display:flex}.day-card .top{color:#4d3a22;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;display:flex}.day-card .c{font-family:var(--font-baskerville), Georgia, serif;color:var(--ink);font-size:17px;text-decoration:none}.day-card .access{background:#ffffff8c;margin-top:4px}.card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:6px;display:grid}.card-actions form{display:contents}.card-actions .btn{background:#ffffff8c;width:100%}.card-actions .btn-primary{background:var(--brown)}.done-line{color:#3a4219;align-items:center;gap:8px;padding-top:6px;font-size:13px;font-weight:600;display:flex}@media (max-width:720px){.cal-desktop{display:none}.cal-phone{display:block}.cal-toolbar h1{flex-basis:100%;font-size:20px}.cal-toolbar .spacer{display:none}.needs-list{left:0;right:auto}.mcell{align-items:center;min-height:54px;padding:4px 2px}.mchip,.mmore{display:none}.mdate{flex-direction:column;gap:0;padding:2px 4px}.mcount{display:block}.mhead{text-align:center;padding:8px 2px;font-size:12px}}.action-row{flex-wrap:wrap;gap:10px;display:flex}.action-row form{display:contents}.big-actions .btn{flex:160px;height:52px;font-size:16px}.form-wide{max-width:860px}.qlines{flex-direction:column;gap:10px;display:flex}.qline{grid-template-columns:minmax(0,1fr) 80px 110px 90px 44px;align-items:start;gap:8px;display:grid}.qline-head{color:var(--muted);font-size:13px;font-weight:600}.qline input,.qline textarea{border:1.5px solid var(--field-border);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:8px 10px;font-size:16px}.qline textarea{resize:vertical;min-height:40px;margin-top:6px;font-size:14px}.qline-total{text-align:right;padding-top:12px;font-weight:700}.qline-remove{width:44px;padding:0}.qlines-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.qtotal{font-size:18px}.qtotal b{margin-left:10px}.qview{flex-direction:column;display:flex}.qview-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:12px 0;display:flex}.qview-name{flex-direction:column;gap:3px;display:flex}.qview-name span{color:var(--muted);white-space:pre-wrap;font-size:13px}.qview-price{white-space:nowrap}.qview-total{justify-content:space-between;padding:14px 0 0;font-size:18px;display:flex}.qphotos{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.qphotos figure{margin:0}.qphotos img{aspect-ratio:4/3;object-fit:cover;background:var(--panel);border-radius:10px;width:100%;display:block}.qphotos figcaption{color:var(--muted);margin-top:4px;font-size:13px}.photo-caption{gap:6px;display:flex}.photo-caption input{border:1.5px solid var(--field-border);border-radius:10px;flex:1;min-width:0;min-height:40px;padding:6px 10px;font-size:14px}.message{border-top:1px solid var(--line);padding-top:10px}.message:first-of-type{border-top:none;padding-top:0}.btn-big{width:100%;height:52px;font-size:16px}@media (max-width:720px){.qline{grid-template-columns:1fr 1fr 44px}.qline-item{grid-column:1/-1}.qline-head{display:none}.qline-total{text-align:left;grid-column:1/3;padding-top:0}.qline-remove{grid-area:2/3}}.portal{background:var(--ground);min-height:100vh}.portal-head{background:var(--brown);color:var(--ground);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:22px 20px 18px;display:flex}.portal-brand{display:flex}.portal-brand img{width:auto;max-width:calc(100vw - 40px);height:52px;display:block}.portal-brand:hover{color:#fff}.portal-hello{opacity:.85;font-size:13px}.portal-main{flex-direction:column;gap:16px;max-width:640px;margin:0 auto;padding:20px 16px 48px;display:flex}.portal-main h1{font-size:22px}.portal-tabs{background:var(--card);border-radius:12px;padding:4px;display:flex}.portal-tabs a{height:44px;color:var(--muted);border-radius:10px;flex:1;justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:flex}.portal-tabs a[aria-current=page]{background:var(--ground);color:var(--brown);font-weight:700}.portal-card{background:var(--card);border-radius:var(--radius);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.portal-card>div{flex-direction:column;gap:4px;display:flex}a.portal-card:hover{color:var(--ink);box-shadow:0 0 0 2px var(--field-border)}.portal-date{background:var(--brown);width:52px;height:52px;color:var(--ground);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.portal-date b{font-size:18px;line-height:1}.portal-date span{text-transform:uppercase;letter-spacing:.5px;font-size:11px}.portal-done{text-align:center;align-items:center;padding-top:30px}.portal-tick{background:var(--brown);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.preview-banner{z-index:30;color:#4a3a00;background:#fff3c4;border-bottom:1px solid #e6d07a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 16px;font-size:14px;display:flex;position:sticky;top:0}.btn.is-preview{opacity:.55;cursor:not-allowed}.success{background:var(--green-soft);color:var(--green-ink);border-radius:var(--radius-sm);padding:12px 14px;font-weight:600}.money-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.money-tiles .card{flex-direction:column;gap:2px;padding:14px 16px;display:flex}.money-tiles b{font-size:22px}.money-tiles span{color:var(--muted);font-size:13px}.money-tiles .is-overdue{background:var(--warn-soft)}.money-tiles .is-overdue b,.overdue-text{color:var(--warn-ink)}.client-list a.is-overdue{box-shadow:inset 4px 0 0 var(--warn-ink)}.badge-overdue{background:var(--warn-soft);color:var(--warn-ink)}.pay-box .serif{color:var(--ground)}.pay-box{background:var(--brown);color:var(--ground);border-radius:var(--radius);flex-direction:column;gap:6px;padding:16px;font-size:14px;display:flex}.invoice-head{flex-wrap:wrap;justify-content:space-between;gap:12px 24px;display:flex}.qline-sub{grid-template-columns:150px minmax(0,1fr);gap:6px;margin-top:6px;display:grid}.qline-sub input{font-size:14px}.topbar-links{align-items:center;gap:14px;display:flex}.topbar-links a{color:var(--ground)}@media (max-width:720px){.qline-sub{grid-template-columns:1fr}}.fc-rows{flex-direction:column;gap:8px;display:flex}.fc-row{grid-template-columns:96px minmax(0,1fr) 84px;align-items:center;gap:12px;display:grid}.fc-week{color:var(--muted);white-space:nowrap;font-size:13px;text-decoration:none}.fc-week:hover{color:var(--brown);text-decoration:underline}.fc-track{align-items:stretch;gap:2px;height:22px;display:flex}.fc-seg{min-width:3px;display:block}.fc-seg:first-child{border-radius:4px 0 0 4px}.fc-seg:last-child{border-radius:0 4px 4px 0}.fc-seg:only-child{border-radius:4px}.fc-seg{outline-offset:2px;position:relative}.fc-seg:hover,.fc-seg:focus-visible{filter:brightness(1.12)}.fc-tip{z-index:5;white-space:nowrap;pointer-events:none;background:var(--brown-dark);color:var(--ground);border-radius:8px;padding:6px 10px;font-size:13px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #2e221440}.fc-tip:after{content:"";border:5px solid #0000;border-top-color:var(--brown-dark);margin-left:-5px;position:absolute;top:100%;left:50%}.fc-seg:hover .fc-tip,.fc-seg:focus-visible .fc-tip{display:block}.fc-colhead span:last-child{color:var(--muted);text-align:right;font-size:12px}.fc-total{text-align:right;white-space:nowrap;font-size:14px;font-weight:700}.fc-table{border-collapse:collapse;width:100%;margin-top:10px}.fc-table th,.fc-table td{text-align:right;border-bottom:1px solid var(--line);padding:6px 8px}.fc-table th:first-child{text-align:left;font-weight:500}@media (max-width:720px){.fc-row{grid-template-columns:72px minmax(0,1fr) 64px;gap:8px}.fc-total{font-size:13px}}.email-preview{border-radius:var(--radius);background:var(--card);width:min(680px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:0;flex-direction:column;gap:12px;padding:16px;display:none}.email-preview[open]{display:flex}.email-preview::backdrop{background:#2e221473}.email-preview-head{overflow-wrap:anywhere;flex-direction:column;gap:4px;font-size:14px;display:flex}.email-preview-head .muted{min-width:60px;display:inline-block}.email-preview iframe{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f1ead9;flex:1;width:100%;min-height:60dvh}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-hello{font-size:30px}.workflow{background:var(--card);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.stage{border-top:5px solid var(--tone);flex-direction:column;gap:10px;padding:16px 18px 14px;display:flex}.stage+.stage{border-left:1px solid var(--line)}.stage-requests{--tone:#a8642a}.stage-quotes{--tone:#8a4b3a}.stage-visits{--tone:var(--green)}.stage-invoices{--tone:#3f6b68}.stage-main{color:var(--ink);flex-direction:column;gap:2px;text-decoration:none;display:flex}.stage-title{color:var(--tone);font-size:13px;font-weight:600}.stage-figure{align-items:baseline;gap:8px;display:flex}.stage-figure b{font-size:34px;line-height:1.1}.stage-figure span{color:var(--muted);font-size:14px}.stage-label{font-weight:700}.stage-main:hover .stage-label{text-decoration:underline}.stage-rows{flex-direction:column;gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.stage-rows a{color:var(--ink);justify-content:space-between;gap:8px;text-decoration:none;display:flex}.stage-rows a:hover{text-decoration:underline}.stage-rows a.is-urgent{color:var(--warn-ink);font-weight:600}.home-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.today-totals{flex-wrap:wrap;align-items:flex-end;gap:12px 28px;display:flex}.today-totals>div{flex-direction:column;display:flex}.today-totals span{color:var(--muted);font-size:13px}.today-totals b{font-size:20px}.today-totals .btn{margin-left:auto}.big{line-height:1.1;font-size:28px!important}.alert-list{margin:0;padding:4px 16px;list-style:none}.alert-list li+li{border-top:1px solid var(--line)}.alert-list a{color:var(--ink);align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.alert-list a>span:nth-child(2){flex:1}.alert-list a:hover>span:nth-child(2){text-decoration:underline}.alert-dot{background:var(--field-border);border-radius:50%;flex:none;width:8px;height:8px}.alert-dot.is-urgent{background:#b4442c}a.receivables{color:var(--ink);gap:4px;text-decoration:none}a.receivables:hover{box-shadow:0 0 0 2px var(--field-border)}.owed{border-collapse:collapse;width:100%;margin-top:8px;font-size:14px}.owed th{text-align:left;color:var(--muted);padding:4px 0;font-size:12px;font-weight:500}.owed th:not(:first-child),.owed td:not(:first-child){text-align:right}.owed td{padding:3px 0}@media (max-width:1100px){.workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.stage:nth-child(3){border-left:0}}@media (max-width:900px){.home-grid{grid-template-columns:1fr}}@media (max-width:560px){.workflow{grid-template-columns:1fr}.stage+.stage{border-left:0}.home-hello{font-size:24px}}.template-summary{cursor:pointer;justify-content:space-between;gap:12px;list-style:none;display:flex}.template-summary::-webkit-details-marker{display:none}.template-summary:after{content:"Edit ›";color:var(--brown);white-space:nowrap;font-size:14px;font-weight:600}details[open]>.template-summary:after{content:"Close"}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:inherit;border:1px solid var(--field-border);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:13px}.chip:hover{border-color:var(--brown)}.chip .muted{font-size:12px}.datejump{position:relative}.datejump-title{cursor:pointer;color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;margin:-4px -6px;padding:4px 6px;display:flex}.datejump-title:hover{background:#6a4b2914}.datejump-caret{color:var(--brown);font-size:14px}.datejump-pop{z-index:40;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;width:300px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 30px #2e22142e}.datejump-head{justify-content:space-between;align-items:center;display:flex}.datejump-label{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 8px;font-weight:700}.datejump-label:hover,.datejump-arrow:hover{background:var(--ground)}.datejump-arrow{cursor:pointer;width:36px;height:36px;color:var(--brown);background:0 0;border:0;border-radius:8px;font-size:20px}.datejump-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datejump-dow{color:var(--muted);text-align:center;padding:4px 0;font-size:12px}.datejump-grid button{height:36px;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:50%;font-size:14px}.datejump-grid button:hover{background:var(--ground)}.datejump-grid button.is-outside{color:var(--muted);opacity:.6}.datejump-grid button.is-today{box-shadow:inset 0 0 0 2px var(--brown);font-weight:700}.datejump-grid button.is-picked{background:var(--brown);color:#fff;font-weight:700}.datejump-months{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.datejump-months button{border:1px solid var(--line);border-radius:var(--radius-sm);height:44px;font:inherit;cursor:pointer;color:var(--ink);background:0 0}.datejump-months button:hover{border-color:var(--brown)}.datejump-months button.is-picked{background:var(--brown);color:#fff;border-color:var(--brown)}.datejump-today{color:var(--brown);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:4px 8px;font-weight:600;text-decoration:underline}.jobs-overview{grid-template-columns:1.4fr 1fr 1fr;gap:12px;display:grid}.jobs-overview .card{flex-direction:column;gap:4px;display:flex}.dot-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.dot-list li{align-items:center;gap:8px;display:flex}.alert-dot.is-action{background:#c9a227}.jobs-search input{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--card);min-width:220px;height:40px;padding:0 12px}.jobs-table{border-collapse:collapse;width:100%;font-size:14px}.jobs-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 14px;font-size:13px;font-weight:600}.jobs-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.jobs-table tr:last-child td{border-bottom:0}.jobs-table tbody tr:hover{background:var(--panel)}.jobs-table .num{text-align:right;white-space:nowrap}.row-link{color:var(--ink);text-decoration:none}.row-link:hover{text-decoration:underline}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.tone-warn{background:var(--warn-soft);color:#9c3a22}.tone-action{color:#7a5c0f;background:#f4e9c3}.tone-good{background:var(--green-soft);color:var(--green-ink)}.tone-quiet{color:var(--muted);background:#e4ddd0}.job-top{grid-template-columns:1fr 1.3fr;align-items:start;gap:12px;display:grid}.job-facts{margin:0}@media (max-width:900px){.jobs-overview,.job-top{grid-template-columns:1fr}.hide-narrow{display:none}.jobs-search input{width:100%;min-width:0}}.product-list li{grid-template-columns:1fr auto;gap:2px 12px;display:grid}.product-name{font-weight:600}.product-price{white-space:nowrap;font-weight:600}.product-desc{color:var(--muted);grid-column:1/-1;font-size:13px}.product-list{min-width:min(420px,85vw)}.products-search{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--card);height:44px;font:inherit;padding:0 14px}.product-rows{margin:0;padding:0;list-style:none}.product-rows>li+li{border-top:1px solid var(--line)}.product-rows>li.is-archived{opacity:.6}.product-row{all:unset;box-sizing:border-box;cursor:pointer;grid-template-columns:1fr auto;gap:2px 16px;width:100%;padding:12px 16px;display:grid}.product-row:hover{background:var(--panel)}.product-row:focus-visible{outline:2px solid var(--brown);outline-offset:-2px}.product-edit{background:var(--panel);padding:0 16px 16px}.receipt-preview{border-radius:var(--radius-sm);border:1px solid var(--line);align-self:flex-start;max-width:100%;max-height:360px}.cat-totals{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.cat-totals li{justify-content:space-between;gap:12px;display:flex}.cat-totals li.total{border-top:1px solid var(--line);padding-top:6px;font-weight:700}.expenses-month{text-align:center;min-width:130px;font-weight:700}.team-shell{min-height:100vh}.team-bar{background:var(--brown);color:var(--ground);justify-content:space-between;align-items:center;min-height:60px;padding:0 16px;display:flex}.team-bar .brand{display:flex}.team-bar img{width:auto;height:32px}.team-nav{background:var(--card);border-bottom:1px solid var(--line);gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.team-nav a{color:var(--ink);white-space:nowrap;border-radius:10px;padding:10px 12px;font-weight:600;text-decoration:none}.team-nav a:hover{background:var(--ground)}.team-main{max-width:680px;margin:0 auto;padding:16px 16px 48px}.clock-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.clock-card.is-in{box-shadow:inset 4px 0 0 var(--green)}.team-visit.is-done{opacity:.75}.role-pick{flex-direction:column;gap:10px;display:flex}.role-pick .check{align-items:flex-start}.role-pick .check input{flex:none;margin-top:2px}.chip-check{border:1px solid var(--field-border);background:var(--card);border-radius:999px;padding:6px 12px}.timesheet-row{padding:10px 14px}.timesheet-row summary{cursor:pointer;justify-content:space-between;gap:12px;list-style:none;display:flex}.timesheet-row summary::-webkit-details-marker{display:none}.history-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.history-list>li{border-left:3px solid var(--line);padding-left:10px}.history-lines{color:var(--muted);margin:2px 0 0;padding-left:16px;font-size:13px}.template-summary .small{font-weight:400}.checklist-edit{margin:0;padding:0;list-style:none}.checklist-edit li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.btn-small{height:32px;padding:0 10px}.checklist{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.checklist li{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.tick{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:15px;display:flex}.tick:focus-visible{outline:2px solid var(--brown);outline-offset:2px;border-radius:6px}.tick-box{border:2px solid var(--field-border);color:#fff;background:var(--card);border-radius:7px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-weight:700;display:inline-flex}.tick.is-done .tick-box{background:var(--green);border-color:var(--green)}.tick.is-done>span:last-child{color:var(--muted);text-decoration:line-through}.period-pick{align-items:flex-end}.period-pick label{flex-direction:column;gap:4px;display:flex}.total-row td{border-top:2px solid var(--line)}.reports-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.report-links{margin:0;padding:0;list-style:none}.report-links li+li{border-top:1px solid var(--line)}.report-links a{color:var(--ink);flex-direction:column;gap:2px;padding:12px 18px;text-decoration:none;display:flex}.report-links a:hover{background:var(--panel)}.report-links a span{color:var(--muted);font-size:13px}@media (max-width:1000px){.reports-grid{grid-template-columns:1fr}}.range-label{font-family:var(--font-baskerville), Georgia, serif;color:var(--brown);font-size:20px}.range-pop{width:auto}.range-body{gap:16px;display:flex}.range-body>.stack{width:284px}.range-presets{border-left:1px solid var(--line);flex-direction:column;gap:4px;margin:0;padding:0 0 0 16px;list-style:none;display:flex}.range-presets button{all:unset;box-sizing:border-box;cursor:pointer;white-space:nowrap;border-radius:8px;width:100%;padding:8px 12px;font-weight:600;display:block}.range-presets button:hover{background:var(--ground)}.range-presets button.is-picked{background:var(--brown);color:#fff}.datejump-grid button.in-range{background:var(--sand-soft);border-radius:0}.datejump-grid button.range-start{border-radius:50% 0 0 50%}.datejump-grid button.range-end{border-radius:0 50% 50% 0}.datejump-grid button.range-start.range-end{border-radius:50%}.datejump-grid button.range-start,.datejump-grid button.range-end{background:var(--brown);color:#fff;font-weight:700}.period-bar{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}@media (max-width:640px){.range-body{flex-direction:column}.range-presets{border-left:0;border-top:1px solid var(--line);flex-flow:wrap;padding:10px 0 0}.range-presets button{border:1px solid var(--line);width:auto}.range-pop{max-width:calc(100vw - 16px);left:-8px}}.flash{color:#5c4508;border-radius:var(--radius-sm);background:#f4e9c3;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;font-weight:600;display:flex}.flash .link-button{color:inherit;padding:0}.deletion-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.btn-danger{color:#9c3a22;border-color:#e3b7a8}.list-search{margin-bottom:16px}.list-search input{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--card);width:100%;max-width:520px;height:44px;font:inherit;padding:0 14px}.follow-up-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.follow-up-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}:root{--series-1:#8f5410;--series-2:#6f9a3c}.series-1{background:var(--series-1)}.series-2{background:var(--series-2)}.chart-legend{color:var(--muted);gap:14px;font-size:13px;display:inline-flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.vbars{border-bottom:1px solid var(--line);grid-template-columns:repeat(12,1fr);align-items:end;gap:6px;height:200px;display:grid}.vbars-month{flex-direction:column;justify-content:flex-end;gap:4px;height:100%;display:flex}.vbars-pair{flex:1;justify-content:center;align-items:flex-end;gap:2px;display:flex}.vbars-bar{border-radius:4px 4px 0 0;flex:1;max-width:18px;min-height:0}.vbars-bar:hover{filter:brightness(1.15)}.vbars-label{color:var(--muted);text-align:center;margin-bottom:-20px;padding-top:4px;font-size:11px}.vbars{margin-bottom:20px}.hbars{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hbars li{grid-template-columns:minmax(90px,30%) 1fr auto;align-items:center;gap:10px;display:grid}.hbars-label{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.hbars-track{background:var(--panel);border-radius:4px;height:12px;overflow:hidden}.hbars-bar{background:var(--brown);border-radius:0 4px 4px 0;height:100%;display:block}.hbars-value{white-space:nowrap;flex-direction:column;align-items:flex-end;font-size:14px;display:flex}@media (max-width:600px){.hbars li{grid-template-columns:1fr auto}.hbars-track{grid-area:2/1/auto/-1}}fieldset.field{border:0;min-width:0;margin:0;padding:0}fieldset.field legend{margin-bottom:6px;padding:0;font-weight:600}.choice-row{flex-wrap:wrap;gap:8px;display:flex}.choice{border:1px solid var(--field-border);border-radius:var(--radius-sm);cursor:pointer;background:#fff;align-items:center;gap:8px;min-height:44px;padding:0 14px;display:inline-flex}.choice:has(input:checked){border-color:var(--brown);box-shadow:inset 0 0 0 1px var(--brown)}.route-map{border-radius:var(--radius);background:var(--panel);z-index:0;height:360px;overflow:hidden}.route-pin{justify-content:center;align-items:center;display:flex}.route-pin span{background:var(--brown);color:#fff;width:28px;height:28px;font:700 13px/28px var(--font-inter), sans-serif;text-align:center;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0000004d}.route-pin.is-home span{background:var(--green-ink)}.route-stops{margin:0;padding:0;list-style:none}.route-stops>li{border-top:1px solid var(--line);grid-template-columns:32px 1fr auto;align-items:start;gap:10px;padding:12px 0;display:grid}.route-stops>li:first-child{border-top:0}.route-n{background:var(--brown);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.route-leg{color:var(--muted);grid-column:2/-1;font-size:13px}.wx{color:var(--muted);white-space:nowrap;border-radius:6px;align-items:center;gap:2px;padding:0 4px;font-size:12px;font-weight:500;display:inline-flex}.wx.is-warning{background:var(--warn-soft);color:var(--warn-ink);font-weight:700}.wx-dot{font-size:11px;line-height:1}.wx-dot.is-warning{outline:2px solid var(--warn-soft);border-radius:4px}.wx-strip{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.wx-day{background:var(--card);border-radius:var(--radius-sm);color:var(--ink);text-align:center;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;text-decoration:none;display:flex}.wx-day.is-warning{background:var(--warn-soft);color:var(--warn-ink)}.wx-icon{font-size:22px;line-height:1.2}@media (max-width:600px){.wx-strip{grid-template-columns:repeat(4,1fr)}}.campaign-people{border:1px solid var(--line);border-radius:var(--radius-sm);max-height:420px;margin:0;padding:0;list-style:none;overflow:auto}.campaign-people li{border-top:1px solid var(--line);padding:8px 12px}.campaign-people li:first-child{border-top:0}.campaign-people label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.campaign-people input{margin-top:3px}.mileage-map{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.is-muted td{color:var(--muted)}.chat-log{flex-direction:column;gap:6px;margin-top:12px;display:flex}.chat-msg{white-space:pre-wrap;border-radius:12px;max-width:85%;padding:8px 12px;font-size:14px}.chat-msg.is-bot{background:var(--panel);align-self:flex-start}.chat-msg.is-them{background:var(--brown);color:#fff;align-self:flex-end}
