:root{--nav:#20302e;--nav2:#29433f;--ink:#24322f;--muted:#6b7772;--paper:#f6f4ef;--white:#fffefa;--line:#e5e6dc;--gold:#b58c4a;--gold-light:#f5e9d5;--green:#2f7c5b;--green-light:#e5f5e9;--red:#ac493e;--red-light:#fff0eb;--shadow:0 14px 44px rgba(28,45,36,.07);font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;background:var(--paper);font-size:16px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(27px,3vw,38px);line-height:1.13}h2{font-size:22px}h3{font-size:17px}p{line-height:1.55}small{font-size:13px}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.eyebrow{text-transform:uppercase;font-weight:750;letter-spacing:.12em;font-size:11px;color:var(--gold)}.loading{text-align:center;padding:80px 20px;color:var(--muted)}
.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#faf8f3;padding:27px 17px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:11px;padding:0 10px}.logo{height:44px;width:44px;border-radius:14px;background:#344a42;display:grid;place-items:center;font-size:23px;color:#dfbb7d;font-weight:900;border:1px solid #4d6458}.brand b{display:block;font-size:20px;letter-spacing:-.04em}.brand small{display:block;color:#b9c5bc;font-size:11px;letter-spacing:.075em;text-transform:uppercase;margin-top:2px}.nav{display:grid;gap:7px}.nav button{width:100%;background:transparent;color:#c2d0c7;border:0;display:flex;align-items:center;text-align:left;gap:12px;padding:14px 15px;border-radius:13px;font-size:15px;font-weight:650}.nav button:hover,.nav button.active{color:white;background:#39544a}.nav .ico{font-size:20px;width:24px;text-align:center}.side-bottom{margin-top:auto;padding:13px 10px;border-top:1px solid #496057}.side-bottom p{font-size:13px;color:#c4d2ca;word-break:break-word}.side-bottom small{display:block;color:#a9bdaf;padding-top:5px}.side-bottom button{color:#e7c88f;padding:10px 0;border:0;background:none;font-size:14px}
.main{min-width:0;padding:0 0 45px}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,52px);border-bottom:1px solid var(--line);background:#fffcf7}.topbar .topbrand{font-weight:740;font-size:14px;letter-spacing:.07em;color:#364943}.topbar .topbrand em{font-style:normal;color:var(--gold)}.user-circle{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14px}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e9e9dc;font-weight:750;color:var(--nav)}.content{max-width:1420px;margin:0 auto;padding:38px clamp(18px,4vw,52px)}.page-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:26px}.page-head .eyebrow{margin-bottom:10px}.page-sub{margin-top:11px;color:var(--muted);font-size:15px}.page-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:10px 16px;border-radius:11px;background:#fffefa;border:1px solid #d9ddd3;color:var(--ink);font-size:14px;font-weight:750;white-space:nowrap;transition:background .12s}.btn:hover{background:#f1f1e9}.btn.primary{background:var(--nav);color:#fff;border-color:var(--nav)}.btn.primary:hover{background:#385249}.btn.gold{background:var(--gold);color:white;border-color:var(--gold)}.btn.success{background:var(--green);border-color:var(--green);color:white}.btn.danger{color:var(--red)}.btn.small{font-size:13px;padding:7px 10px;min-height:34px;border-radius:8px}.btn.ghost{background:transparent;border:0}.btn.fill{width:100%}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.stat,.panel{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.stat{padding:21px;min-width:0}.stat .stat-label{font-size:14px;color:var(--muted);margin-bottom:15px;display:flex;justify-content:space-between;gap:8px}.stat .stat-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#f2ecdc;color:#886d39;font-size:18px}.stat strong{font-size:clamp(24px,2.7vw,34px);letter-spacing:-.035em}.stat-foot{font-size:12px;color:var(--muted);margin-top:7px}.columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,1fr);gap:18px}.panel{padding:23px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.panel-head h2{font-size:19px}.list{display:grid;gap:11px}.job{border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff;display:flex;gap:12px;align-items:center;justify-content:space-between}.job.completed{background:#fbfdfb}.job-main{display:flex;align-items:center;gap:13px;min-width:0}.job-avatar{flex:none;display:grid;place-items:center;height:45px;width:45px;border-radius:13px;background:#eaf1eb;color:#365a47;font-weight:700}.job.completed .job-avatar{background:var(--green-light);color:var(--green)}.job h3{font-size:15px;white-space:normal}.job p{font-size:13px;color:var(--muted);margin-top:5px}.job-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.job-price{font-weight:750;white-space:nowrap}.tag{padding:5px 8px;font-size:11px;font-weight:750;border-radius:8px;color:#906b2b;background:#f9efd8;display:inline-flex;align-items:center;gap:5px}.tag.green{background:#e6f4e9;color:#2b7655}.tag.red{background:#fff0eb;color:#a4493f}.tag.gray{background:#eeeeea;color:#63716b}.simple-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:13px 0}.simple-row:last-child{border:0}.simple-row b{font-size:14px}.simple-row p{font-size:13px;color:var(--muted)}.empty{padding:50px 14px;text-align:center;color:var(--muted);background:#fcfcf8;border:1px dashed #dedfd6;border-radius:13px}.empty .big{display:block;font-size:30px;margin-bottom:12px}.callout{padding:16px;border-radius:13px;background:var(--gold-light);font-size:14px;line-height:1.6}.callout strong{color:#7b612d}.date-row{display:flex;align-items:center;gap:9px}.date-row input{width:162px}
.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:630px}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.065em;color:#77827c;border-bottom:1px solid var(--line);font-weight:750;padding:13px 10px}.table td{border-bottom:1px solid #edece6;padding:14px 10px;font-size:14px;vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table .actions{display:flex;gap:6px}.input,select.input,textarea.input{width:100%;border:1px solid #cfd7cd;border-radius:11px;background:white;min-height:45px;padding:10px 12px;font-size:16px;color:#273831;outline:none}.input:focus{border-color:#b08d56;box-shadow:0 0 0 3px #efd8ae80}.search{max-width:370px}.field{display:grid;gap:7px}.field label{font-size:14px;font-weight:700}.field .help{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.span2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.mini-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mini-form .input{width:auto;max-width:205px}.progress{height:10px;border-radius:20px;background:#eeeee7;overflow:hidden;margin:15px 0 10px}.progress-bar{height:100%;background:var(--green);transition:width .25s}.footnote{font-size:12px;color:#7b817b;line-height:1.6;margin-top:18px}
.overlay{position:fixed;inset:0;background:#14251f8f;z-index:100;display:flex;justify-content:center;align-items:center;padding:20px;overflow-y:auto}.dialog{background:var(--white);width:min(580px,100%);max-height:min(92vh,900px);overflow-y:auto;border-radius:19px;padding:24px;box-shadow:0 20px 80px #14251f44}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head button{border:none;background:#f2f0e9;border-radius:9px;width:34px;height:34px;font-size:19px}.toast{position:fixed;right:25px;bottom:25px;z-index:200;border-radius:12px;background:var(--nav);color:white;max-width:390px;padding:15px 19px;box-shadow:0 9px 50px #22322f44;font-weight:650;font-size:14px}.toast.error{background:#933e31}
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-aside{background:var(--nav);padding:clamp(30px,6vw,100px);display:flex;flex-direction:column;justify-content:space-between;color:white}.login-aside .login-brand{letter-spacing:.06em;font-size:15px;font-weight:750;color:#e2c79d}.login-aside h1{font-size:clamp(40px,5vw,70px);line-height:1.1;letter-spacing:-.05em;max-width:560px}.login-aside h1 span{color:#ddbf83}.login-aside p{margin-top:20px;max-width:480px;color:#d4ddd5}.login-aside .tiny{font-size:13px;color:#aabfb1}.login-content{display:grid;place-items:center;padding:30px}.login-card{width:min(430px,100%)}.login-card h2{font-size:31px;margin-bottom:9px}.login-card p{color:var(--muted);margin-bottom:27px}.login-card form{display:grid;gap:17px}.login-card .btn{margin-top:7px;min-height:51px}.login-error{background:var(--red-light);color:var(--red);border-radius:9px;padding:10px;font-size:14px}
.tracking-page{display:grid;place-items:center;min-height:100vh;padding:25px}.track-wrap{width:min(450px,100%);text-align:center}.brand-badge{letter-spacing:.15em;font-size:13px;font-weight:800;margin-bottom:25px;color:var(--nav)}.brand-badge span{color:var(--gold)}.tracking-card{background:var(--white);border:1px solid var(--line);padding:35px 25px;border-radius:22px;box-shadow:var(--shadow)}.track-illustration{font-size:48px;margin-bottom:14px}.tracking-card h1{font-size:28px}.tracking-card .big-status{font-size:clamp(35px,9vw,56px);font-weight:850;letter-spacing:-.055em;color:var(--green);margin:23px 0 10px}.tracking-card .big-status.gold{color:#aa8344}.tracking-card .note{font-size:14px;color:var(--muted);line-height:1.65}.track-credit{font-size:12px;color:var(--muted);margin-top:20px}.tracking-card .subheading{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#9a7a47;font-weight:750;margin:13px 0}
@media (max-width:1080px){.cards{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.sidebar{width:215px}.app-shell{grid-template-columns:215px minmax(0,1fr)}}
@media (max-width:720px){.app-shell{display:block;padding-bottom:73px}.sidebar{padding:10px 10px;position:fixed;bottom:0;left:0;right:0;z-index:30;height:70px;box-shadow:0 -6px 22px #1c352a22}.sidebar>.brand,.sidebar>.side-bottom{display:none}.sidebar .nav{display:grid;grid-template-columns:repeat(5,1fr);gap:1px}.sidebar .nav button{display:flex;flex-direction:column;padding:8px 0;gap:2px;font-size:10px;text-align:center;border-radius:8px}.nav .ico{font-size:20px}.topbar{height:64px;padding:0 18px}.topbar .user-circle{font-size:12px}.content{padding:23px 15px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:21px}.cards{gap:10px}.stat{padding:15px}.stat strong{font-size:26px}.panel{padding:16px}.job{align-items:flex-start;flex-direction:column}.job-actions{width:100%;justify-content:flex-start;padding-left:58px}.job-price{margin-left:auto}.login-page{display:block}.login-aside{min-height:225px;padding:28px}.login-aside h1{font-size:33px;margin-top:25px}.login-aside .tiny{display:none}.login-aside p{font-size:14px}.login-content{padding:30px 22px}.form-grid{grid-template-columns:1fr}.span2{grid-column:1}.date-row{flex-wrap:wrap}.mini-form .input{max-width:145px}.dialog{padding:19px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Banks & Beckett approved ivory / charcoal / antique-gold commercial visual system */
:root{--nav:#202625;--nav2:#2d3431;--ink:#252825;--muted:#77766f;--paper:#f7f3eb;--white:#fffdf8;--line:#e7dfd3;--gold:#b1843d;--gold-light:#f6ebd8;--green:#2e7658;--green-light:#eaf6eb;--shadow:0 16px 45px rgba(35,27,15,.07)}
.sidebar{background:#202625}.sidebar .nav button:hover,.sidebar .nav button.active{background:#3b3e35}.topbar{background:#fffaf1}
.sidebar-bb-mark{width:55px;height:45px;object-fit:contain;flex:none}.brand{padding:0 4px;gap:7px}.brand b{font-family:Georgia,Times,serif;font-size:19px;letter-spacing:-.035em}.brand small{color:#d4b77d}
.topbar .topbrand{display:flex;align-items:center;gap:8px;font-size:15px}.bb-full-logo{display:block;width:230px;height:auto;max-height:54px;object-fit:contain;object-position:left center}.topbar .bb-full-logo{width:220px}
.login-aside{background:linear-gradient(145deg,#1c2422 10%,#30392f 70%,#54432c 125%)}
.login-aside .login-brand{display:flex;align-items:center;gap:14px;font-family:Georgia,Times,serif;color:#e3c083;font-size:18px;letter-spacing:.04em}
.login-bb{width:90px;height:72px;object-fit:contain}.login-aside h1{font-family:Georgia,Times,serif;letter-spacing:-.03em}.login-aside h1 span{color:#e9ce94}.login-bullets{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.login-bullets span{border:1px solid #7b6b4f;border-radius:30px;font-size:12px;color:#eee0c9;padding:8px 13px}
.login-content{background:radial-gradient(circle at 70% 0,#fffdfa,#f6f1e7 85%)}.login-card{width:min(455px,100%)}.login-card h2{font-family:Georgia,Times,serif;letter-spacing:-.04em}
.signup-cta{margin-top:26px;border-top:1px solid var(--line);padding-top:22px;text-align:center;font-size:15px;font-weight:600}.signup-cta small{display:block;color:var(--muted);font-size:12px;margin-top:11px;font-weight:400}.login-footer{font-size:12px;margin-top:25px;text-align:center;color:#999082}
.btn.gold{background:var(--gold);color:#fff;border:1px solid var(--gold)}.btn.gold:hover{background:#926c35}.checkrow{display:flex;flex-direction:column;gap:12px;padding:12px 15px;background:#fbf6ec;border-radius:10px}.checkrow label{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:500}.checkrow input{height:18px;width:18px;margin:0;accent-color:var(--gold)}
.trial-banner{background:#fbedd0;border:1px solid #ebd09c;color:#6b4d20;border-radius:12px;margin-bottom:22px;padding:13px 17px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:12px}.trial-banner button{border:0;background:transparent;color:#66440d;text-decoration:underline;font-weight:700}
.subscription-info{background:linear-gradient(95deg,#fbf2dd,#fffdf8);border:1px solid #e9d7ae;padding:20px;border-radius:16px;display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:25px}.subscription-info strong{display:block;font-family:Georgia,Times,serif;font-size:22px;margin:8px 0 4px}.subscription-info .subdesc{color:var(--muted);font-size:13px;line-height:1.5}.subscription-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end;min-width:245px}
.expired-page{min-height:100vh;display:grid;place-items:center;background:#f6f0e4;padding:25px}.expired-card{width:min(650px,100%);padding:45px;background:var(--white);border-radius:20px;border:1px solid #ede2cd;box-shadow:0 24px 80px #34281714}.expired-card h1{font-family:Georgia,Times,serif;margin:20px 0 15px}.expired-card>p{color:var(--muted);line-height:1.7;margin-bottom:25px}.expired-card .subscription-info{display:block}.expired-card .subscription-actions{margin-top:20px;justify-content:flex-start}
.tracking-page{background:radial-gradient(circle at 50% 0,#faf6e9,#f1ebdf)}.brand-badge{font-family:Georgia,Times,serif}.tracking-card{border-color:#e7dccb}
@media (max-width:800px){.subscription-info{display:block}.subscription-actions{justify-content:flex-start;min-width:0;margin-top:15px}.topbar .bb-full-logo{width:160px}.topbar .topbrand .muted{display:none}.brand .sidebar-bb-mark{display:none}}
@media (max-width:720px){.login-aside{min-height:275px}.login-aside .login-brand{font-size:13px}.login-bb{width:64px;height:45px}.login-bullets{margin-top:12px}.login-bullets span{padding:5px 9px;font-size:11px}.expired-card{padding:24px}.topbar .topbrand .bb-full-logo{width:156px}}


/* v1.0.2 responsive acceptance: no page-wide horizontal scrolling, accessible sizing. */
html,body{max-width:100%;overflow-x:clip}
img,svg,video,canvas{max-width:100%}
.app-shell,.main,.content,.login-page,.login-aside,.login-content,.expired-page,.expired-card{min-width:0}
.page-head > *, .panel-head > *, .job > *{min-width:0}
.form-grid > *{min-width:0}
.topbar .topbrand{min-width:0;max-width:65%}
.topbar .bb-full-logo{max-width:100%;height:auto;min-width:0}
.brand b,.brand small,.side-bottom p{overflow-wrap:anywhere}
.btn{max-width:100%;white-space:normal;text-align:center;line-height:1.35;overflow-wrap:anywhere}
.table-wrap{max-width:100%;overscroll-behavior-x:contain}
.table .actions{flex-wrap:wrap}
.toast{max-width:min(390px,calc(100vw - 30px));right:15px;bottom:90px;overflow-wrap:anywhere}
.overlay{max-width:100%;overscroll-behavior:contain}
.dialog{max-width:100%;overflow-wrap:anywhere}
.trial-banner{flex-wrap:wrap;line-height:1.5}
.subscription-info{min-width:0;flex-wrap:wrap}
.subscription-actions{max-width:100%;min-width:0}
.login-aside,.login-content{overflow-wrap:anywhere}

/* Customer visit page: a compact brand header deliberately replaces the old
   oversized full-width brand image. Keep the user's supplied source artwork. */
.tracking-page{display:block;min-height:100svh;padding:0 20px;background:radial-gradient(ellipse at 50% 0,#fffcf5 0%,#f7f3eb 60%,#f1eadd 100%);overflow-x:clip}
.track-wrap{width:100%;max-width:470px;margin:0 auto;padding:35px 0 30px;min-width:0;text-align:center}
.track-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin:0 auto 22px;width:100%;max-width:100%;min-width:0}
.tracking-page .track-header .track-logo{display:block!important;width:clamp(180px,65vw,266px)!important;max-width:min(100%,266px)!important;min-width:0!important;height:auto!important;max-height:66px!important;object-fit:contain!important;margin:0 auto!important;flex:none!important}
.track-product{color:#7a6c56;font-weight:700;font-size:11px;letter-spacing:.13em;line-height:1.5;overflow-wrap:anywhere}
.tracking-card{width:100%;max-width:100%;min-width:0;background:#fffdf8;border:1px solid #e7dfd3;padding:28px 26px;border-radius:20px;box-shadow:0 14px 38px rgba(53,39,18,.07);overflow-wrap:anywhere}
.tracking-card h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(23px,5vw,29px);letter-spacing:-.025em;line-height:1.23;color:#272d29;margin:8px 0 0}
.track-state{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;line-height:1.35;color:#8a6731;background:#f8efdF;border:1px solid #ebdcc2;padding:6px 12px;border-radius:100px;font-weight:700}
.track-state.success{background:#eaf6eb;color:#2e7658;border-color:#cbe5d2}
.track-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.track-symbol{width:66px;height:66px;border-radius:50%;border:1px solid #e8d8b9;background:#f7ebd6;color:#ad8240;display:grid;place-items:center;font-size:30px;font-weight:700;margin:20px auto 15px}
.track-symbol.success{background:#eaf6eb;color:#2e7658;border-color:#cbe5d2}
.track-business{font-weight:750;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:#a07534;line-height:1.6;overflow-wrap:anywhere}
.track-headline{font-weight:850;color:#aa8344;line-height:1.07;letter-spacing:-.05em;font-size:clamp(34px,8vw,48px);overflow-wrap:anywhere;margin:22px 0 9px}
.track-headline.success{color:#2e7658}
.track-service{font-size:16px;font-weight:650;line-height:1.55;color:#29342e;overflow-wrap:anywhere}
.track-date{margin-top:5px;color:#6f746f;font-size:14px}
.track-description{font-size:15px;color:#6e756f;line-height:1.65;margin:16px auto 0;max-width:36ch}
.track-progress{height:8px;background:#ede9df;border-radius:100px;overflow:hidden;margin:24px 0 12px}
.track-progress span{display:block;height:100%;background:#b1843d;border-radius:100px;transition:width .2s}
.track-state.success~.track-progress span{background:#2e7658}
.track-updated{font-size:12px;line-height:1.6;color:#77766f;overflow-wrap:anywhere}
.track-credit{font-size:12px;line-height:1.5;color:#888077;margin:19px auto 0;max-width:100%;overflow-wrap:anywhere}
@media (max-width:720px){
 .sidebar{padding-bottom:max(10px,env(safe-area-inset-bottom));height:calc(70px + env(safe-area-inset-bottom))}
 .app-shell{padding-bottom:calc(73px + env(safe-area-inset-bottom))}
 .nav button{min-width:0;font-size:11px;line-height:1.25;padding:6px 1px}
 .topbar .topbrand{max-width:68%}
 .topbar .bb-full-logo{max-width:100%;width:148px}
 .user-circle{min-width:0}
 .user-circle>span{max-width:85px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .page-actions{max-width:100%}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .job{gap:10px}
 .job-main{width:100%;overflow-wrap:anywhere}
 .job-actions{padding-left:0;width:100%;display:flex;align-items:center;justify-content:flex-start}
 .job-actions .btn{min-height:42px;font-size:13px}
 .columns{grid-template-columns:minmax(0,1fr)}
 .date-row input{width:100%;max-width:200px}
 .panel-head{flex-wrap:wrap}
 .panel-head .date-row{max-width:100%}
 .form-actions{flex-wrap:wrap}
 .form-actions .btn{flex:1 1 auto}
 .subscription-actions{width:100%}
 .tracking-page{padding:0 14px}
 .track-wrap{padding:24px 0 22px}
 .tracking-card{padding:26px 17px;border-radius:18px}
 .track-header{margin-bottom:17px}
 .track-symbol{width:58px;height:58px;font-size:27px;margin:16px auto 13px}
 .track-headline{margin:18px 0 8px}
 .track-description{font-size:15px}
}
@media (max-width:360px){.stat{padding:12px}.stat strong{font-size:24px}.sidebar .nav button{font-size:10px}.topbar{padding:0 12px}.user-circle>span{display:none}.tracking-card{padding:23px 14px}.track-product{font-size:10px;letter-spacing:.08em}}

/* Verified mobile-navigation corrections from the 320px/390px visual review. */
@media(max-width:720px){
 .sidebar{width:100%!important;max-width:100vw!important;right:0;left:0;box-sizing:border-box}
 .sidebar .nav{width:100%;grid-template-columns:repeat(5,minmax(0,1fr))}
 .sidebar .nav button{width:100%;min-width:0;white-space:normal;overflow-wrap:normal;font-size:11px}
 .sidebar .nav .ico{font-size:20px;line-height:1.2}
 .panel-head>.date-row{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}
 .panel-head>.date-row .btn{width:44px;min-height:44px;padding:7px 5px}
 .panel-head>.date-row input{width:100%;min-width:0;max-width:none}
}
@media(max-width:360px){.sidebar .nav button{font-size:10px}}


/* v1.0.3 calendar: ivory/gold month, week and day views */
.calendar-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:17px}
.calendar-summary>div{display:flex;gap:7px;flex-wrap:wrap}
.calendar-summary .tag{font-size:12px}
.calendar-panel{padding:22px;margin-bottom:24px;min-width:0}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-bottom:22px}
.calendar-toolbar h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.4vw,29px);font-weight:600;color:#262b28;text-align:center}
.calendar-movement{display:flex;gap:6px}
.calendar-movement .btn{min-width:42px;padding:8px 11px}
.calendar-modes{display:flex;gap:3px;padding:4px;border:1px solid #e8dece;background:#f8f3eb;border-radius:12px}
.calendar-modes button{border:0;border-radius:8px;padding:9px 14px;min-height:38px;font-weight:750;font-size:13px;color:#5b615b;background:transparent;cursor:pointer}
.calendar-modes button.chosen{background:#202625;color:#fffdf8;box-shadow:0 2px 6px #25201c20}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays{border:1px solid #e6dece;border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden;background:#eee6d8}
.calendar-weekdays span{text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#776851;padding:10px 2px}
.calendar-grid{border-top:1px solid #e7dfd3;border-left:1px solid #e7dfd3;background:#e7dfd3;gap:1px}
.calendar-cell{min-width:0;min-height:105px;padding:10px 9px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;background:#fffdfa;color:#24302b;border:0;text-align:left;cursor:pointer;border-right:1px solid #e7dfd3;border-bottom:1px solid #e7dfd3;position:relative}
.calendar-cell:hover{background:#fdf2df}
.calendar-cell.selected{background:#f9ecd5;box-shadow:inset 0 0 0 2px #b1843d;z-index:1}
.calendar-cell.other-month{background:#f5f2ec;color:#8e8c86}
.calendar-day{display:flex;justify-content:space-between;align-items:center;gap:3px;width:100%}
.calendar-day b{font-size:15px;line-height:1;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;flex:none}
.calendar-cell.today .calendar-day b{background:#202625;color:#fff}
.calendar-today{font-size:10px;color:#8f632f;font-weight:750}
.calendar-count{font-size:12px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.calendar-dots{display:flex;gap:5px;margin-top:auto;min-height:8px}
.calendar-dots i,.calendar-legend i{display:inline-block;width:8px;height:8px;min-width:8px;min-height:8px;border-radius:50%}
.dot-scheduled{background:#bd8d40}.dot-completed{background:#319366}.dot-skipped{background:#a0a4a0}
.calendar-job-names{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0}
.calendar-job-names small{background:#f2ebe0;border-radius:5px;padding:5px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.calendar-legend{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:15px;padding-top:16px;color:#68665f;font-size:12px}
.calendar-legend span{display:flex;align-items:center;gap:5px}
.calendar-agenda{padding:22px;min-width:0}
.calendar-agenda .panel-head{gap:12px}
.calendar-agenda .panel-head p{font-size:13px;margin-top:5px}
.calendar-agenda .list{margin-top:20px}
.calendar-move{display:flex;justify-content:flex-end;margin:-2px 0 13px;gap:7px}
.calendar-grid-week .calendar-cell{min-height:150px}
@media(max-width:1080px){.calendar-toolbar h2{order:-1;flex:1 1 100%;text-align:left}}
@media(max-width:720px){
 .sidebar .nav{grid-template-columns:repeat(6,minmax(0,1fr))}
 .sidebar .nav button{font-size:10px;padding:6px 0;gap:2px}
 .sidebar .nav .ico{font-size:19px}
 .calendar-panel,.calendar-agenda{padding:12px}
 .calendar-toolbar{gap:8px;padding-bottom:15px}
 .calendar-toolbar h2{font-size:23px;margin:0 0 3px}
 .calendar-movement{flex:1 1 auto}
 .calendar-modes{flex:0 1 auto}
 .calendar-modes button{font-size:12px;padding:7px 9px;min-height:36px}
 .calendar-weekdays span{font-size:10px;padding:9px 0}
 .calendar-cell{padding:7px 3px;min-height:70px;gap:3px}
 .calendar-day b{width:23px;height:23px;font-size:13px}
 .calendar-today{display:none}
 .calendar-count{font-size:10px;text-align:center;width:100%}
 .calendar-cell .calendar-dots{justify-content:center;width:100%;gap:3px}
 .calendar-grid-week .calendar-cell{min-height:93px}
 .calendar-job-names{display:none}
 .calendar-legend{justify-content:flex-start;gap:12px}
 .calendar-summary{font-size:12px}
 .calendar-agenda .job{overflow-wrap:anywhere}
 .calendar-move{justify-content:flex-start}
}
@media(max-width:360px){.calendar-modes button{font-size:11px;padding:7px 6px}.calendar-movement .btn{min-width:37px;padding:8px 6px}.calendar-cell{padding:5px 2px}.calendar-count{font-size:9px}.sidebar .nav button{font-size:9px}.calendar-agenda,.calendar-panel{padding:9px}}

/* v1.1: advanced tools live under More; daily actions remain uncluttered. */
@media(max-width:720px){
 .sidebar .nav{grid-template-columns:repeat(5,minmax(0,1fr))}
 .sidebar .nav button{font-size:11px;min-height:54px}
 .sidebar .nav .ico{font-size:20px}
}
.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.tool-card{display:flex;align-items:center;gap:15px;text-align:left;background:#fffdf8;border:1px solid #e7dfd3;border-radius:16px;padding:21px;color:#252b27;min-width:0;cursor:pointer;box-shadow:0 3px 14px #422f1010;transition:background .15s,border-color .15s}
.tool-card:hover{background:#fbf2e4;border-color:#c6a974}
.tool-card>span:nth-child(2){flex:1;min-width:0}
.tool-card b{display:block;font-size:16px;line-height:1.3}
.tool-card small{display:block;color:#69716c;font-size:13px;line-height:1.55;margin-top:5px}
.tool-icon{display:grid;place-items:center;border-radius:12px;color:#a07739;background:#f8edd9;min-width:46px;height:46px;font-size:22px}
.team-list,.quote-stack{display:grid;gap:11px;margin-top:15px}
.team-row{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #e9e1d3;border-radius:12px;background:#fffefa;min-width:0}
.team-row>div:nth-child(2){min-width:0;flex:1}
.team-row p{margin:3px 0 0;font-size:13px}
.quote-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#fffdfa;border:1px solid #e8dfd1;border-radius:13px;padding:17px;min-width:0}
.quote-card>div:first-child{min-width:0;flex:1}
.quote-card p{margin:6px 0 0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.quote-end{display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:130px}
.quote-end .actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.job-time{font-size:13px!important;color:#98703d!important;margin-top:5px!important;font-weight:700}
.invoice-paper{background:#fffefa;color:#242a26;padding:20px;border:1px solid #e8dec9;border-radius:10px}
.invoice-brand{height:40px;width:170px;object-fit:contain;object-position:left center;margin-bottom:24px}
.invoice-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.invoice-head>div{flex:1 1 140px;min-width:0}
.invoice-head h2{font-family:Georgia,serif;font-size:22px;margin:6px 0}
.invoice-head small{font-size:11px;letter-spacing:.15em;color:#977139;font-weight:800;display:block}
.invoice-head p{margin:5px 0;overflow-wrap:anywhere}
.invoice-line{display:flex;justify-content:space-between;gap:15px;border-block:1px solid #e6ddcd;padding:18px 0;margin-top:12px}
.invoice-totals{text-align:right;font-size:16px;line-height:1.7;margin-top:20px}
.invoice-paper .help{font-size:11px;margin-top:22px}
@media(max-width:720px){.tool-grid{grid-template-columns:minmax(0,1fr)}.tool-card{padding:17px}.quote-card{flex-direction:column}.quote-end{width:100%;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}.quote-end .actions{justify-content:flex-start;width:100%}}
@media print{
 body{background:white!important}
 #app,#toast-root{display:none!important}
 #modal-root .overlay{position:static!important;display:block!important;background:white!important;padding:0!important;overflow:visible!important}
 #modal-root .dialog{position:static!important;max-height:none!important;max-width:none!important;width:100%!important;box-shadow:none!important;border:0!important;overflow:visible!important}
 #modal-root .dialog-head,.print-controls{display:none!important}
 #modal-root .invoice-paper{border:0!important;padding:0!important}
}
.quote-line-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(70px,.7fr) minmax(115px,1fr) auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #e9e0d4;min-width:0}
.quote-line-row .field{min-width:0}
.quote-line-row .field label{font-size:13px}
.quote-line-row .btn{min-height:44px}
@media(max-width:580px){.quote-line-row{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-line-row .field:first-child{grid-column:1/-1}.quote-line-row [data-removeitem]{grid-column:1/-1;justify-self:end}}
/* v1.2: deliberately simple customer bank-transfer information, not online checkout */
.pay-bank{margin:18px 0;text-align:left;border:1px solid #e7dfd3;border-radius:13px;overflow:hidden}
.pay-bank div{padding:12px 15px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee6da;flex-wrap:wrap}
.pay-bank div:last-child{border-bottom:0}.pay-bank dt{color:#696f69;font-size:14px}.pay-bank dd{font-size:16px;font-weight:750;overflow-wrap:anywhere;margin:0}
.pay-warning{background:#fbf2e4;color:#624b30;border-radius:11px;padding:12px 13px;font-size:13px;line-height:1.6;text-align:left}
.fieldwork-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px;margin:16px 0}
.fieldwork-photo{border:1px solid #e5dccd;border-radius:12px;background:#fff;padding:7px;display:flex;flex-direction:column;gap:5px}
.fieldwork-photo img{height:105px;width:100%;object-fit:cover;border-radius:7px}
.fieldwork-photo small{font-size:12px;color:#736f66;overflow-wrap:anywhere}
.carpet-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;align-items:end;margin:9px 0;border-bottom:1px solid #e7dfd3;padding-bottom:11px}
.carpet-row .field{margin:0}.carpet-row .field label{font-size:12px}.carpet-row .input{width:100%;min-width:0}
@media(max-width:680px){.carpet-row{grid-template-columns:1fr 1fr}.carpet-row .field:first-child{grid-column:1/-1}.carpet-row button{grid-column:1/-1}}

/* Marbelio v1.3 — refined, responsive, trade-aware workspace.
   Keep established ivory, antique gold, charcoal and the original artwork. */
:root{
 --paper:#f7f3eb;--white:#fffdf9;--nav:#202927;--nav2:#303a36;
 --ink:#282e2a;--muted:#6e736e;--line:#e7ddce;--gold:#b1843d;
 --gold-light:#f7eddb;--green:#31745a;
 --shadow:0 9px 32px rgba(44,37,22,.045);
}
body{background:var(--paper)}
.sidebar{background:linear-gradient(170deg,#25302d 0%,#1d2523 100%);border-right:1px solid #37403a}
.sidebar .brand b{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:600;letter-spacing:-.035em}
.sidebar .brand small{letter-spacing:.045em;font-size:11px;color:#d6c19a}
.nav button{font-weight:600;transition:background .16s,color .16s}
.nav button:hover{background:#36483f}
.nav button.active{background:#3b483e;color:#ffe7b6;box-shadow:inset 3px 0 0 #bd9653}
.main .topbar{background:#fcf9f2;border-color:#e9dfd0}
.topbar .topbrand{letter-spacing:.02em}
.content{padding-top:30px}
.page-head h1,.welcome-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:600;letter-spacing:-.045em}
.page-head h1{font-size:clamp(30px,3vw,40px)}
.page-sub{font-size:16px;line-height:1.55;max-width:720px}
.eyebrow{font-size:12px;letter-spacing:.13em;color:#9a7139}
.btn{border-radius:10px;font-weight:700;font-size:15px}
.btn.small{font-size:13px}
.btn:focus-visible,.nav button:focus-visible,.quick-link:focus-visible,.tool-card:focus-visible,.job-more summary:focus-visible{outline:3px solid #caa360;outline-offset:3px}
.panel,.stat{border-color:#e9dfd1;box-shadow:var(--shadow)}
.panel{border-radius:18px}.stat{border-radius:15px}
.stat .stat-icon{background:#f7edde;color:#927344}
.stat strong{font-family:Georgia,'Times New Roman',serif;font-weight:600}
.job{background:#fffefa;border:1px solid #e8e0d4;border-radius:13px;box-shadow:0 2px 10px rgba(40,35,20,.025)}
.job-main>div:last-child{min-width:0}.job h3{line-height:1.5}
.job-avatar{background:#f2eddf;color:#806438}.job-price{font-size:16px}
.tag{font-size:12px}.field label{font-size:15px}
.field .help,.help{font-size:13px;line-height:1.55}
.footnote{border-top:1px solid #e9dfd2;padding-top:17px;margin-top:34px}

.welcome-hero{display:flex;align-items:stretch;justify-content:space-between;min-height:252px;border:1px solid #e4d7c2;border-radius:22px;background:linear-gradient(112deg,#fffdf8 0%,#fcf6ea 72%,#f0e1c6 100%);overflow:hidden;margin-bottom:17px;box-shadow:0 12px 35px #4e3c1b0b}
.welcome-copy{padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-width:0;flex:1}
.welcome-copy .eyebrow{font-size:12px}
.welcome-hero h1{font-size:clamp(32px,3.2vw,49px);line-height:1.12;color:#2a302d}
.hero-dot{color:#b1843d}
.welcome-copy>p{color:#6c6b63;font-size:16px;line-height:1.5;max-width:52ch}
.hero-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:8px}
.hero-actions .btn{min-height:46px}
.hero-secondary{border-color:#dbccaf;background:#fff9ed}
.hero-art{flex:0 0 31%;min-width:210px;background:radial-gradient(circle at 55% 40%,#bfa57420,transparent 53%),linear-gradient(150deg,#343b32,#1e2825);padding:24px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#e8d6af;position:relative;text-align:center;overflow:hidden}
.hero-art:before,.hero-art:after{content:'';position:absolute;border:1px solid #c5aa7333;border-radius:50%;width:205px;height:205px}.hero-art:after{width:280px;height:280px}
.hero-art-icon{font-size:74px;font-family:Georgia,serif;line-height:1;color:#d1b574;text-shadow:0 5px 25px #f5e0a222;z-index:1}
.hero-art-label{font-size:14px;font-weight:650;z-index:1;letter-spacing:.035em}
.hero-art-small{font-size:11px;letter-spacing:.08em;color:#aebcb0;z-index:1;text-transform:uppercase}
.quick-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 24px;background:#fffdf8;border:1px solid #ebe0ce;border-radius:15px;padding:12px 15px}
.quick-label{font-size:11px;letter-spacing:.12em;color:#99713d;font-weight:800;margin-right:8px}
.quick-link{background:#faf7f0;color:#41463f;border:1px solid #e8dfd2;padding:10px 13px;border-radius:9px;font-size:14px;font-weight:700;min-height:42px;transition:background .15s}
.quick-link:hover{background:#f5e6c9;border-color:#c4a36e}
.workspace-tip{border-left:3px solid #b1843d;background:#f6ecda}
.job-more{position:relative;min-width:105px}
.job-more summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d7d4c9;background:#fffefa;border-radius:9px;padding:8px 11px;min-height:36px;color:#38443c;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap}
.job-more summary::-webkit-details-marker{display:none}
.job-more[open] summary{background:#f7efdf;border-color:#c7ab7b}
.job-more-menu{position:absolute;right:0;top:calc(100% + 6px);width:min(230px,74vw);padding:9px;background:#fffefa;display:grid;gap:6px;border:1px solid #d8cab7;border-radius:13px;box-shadow:0 15px 40px #25221c26;z-index:40}
.job-more-menu>.btn{width:100%;justify-content:flex-start;white-space:normal;text-align:left;min-height:40px;font-size:14px}
.job-more-menu .btn:hover{background:#f4ead8}
.job-primary{min-height:40px!important;font-size:14px!important}
.job-actions{position:relative}
.checklist-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.checklist-intro>p{font-size:15px;color:#656a64;line-height:1.55;flex:1 1 260px}
.checklist-items{display:grid;gap:10px;margin-bottom:14px}
.checklist-row{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:7px;padding:8px;border:1px solid #e7ddcf;border-radius:11px;background:#fffefa}
.checklist-tick{position:relative;width:42px;height:42px;display:grid;place-items:center;cursor:pointer}
.checklist-tick input{position:absolute;inset:0;opacity:0;cursor:pointer}
.checklist-tick span{width:29px;height:29px;display:grid;place-items:center;background:#fff;border:2px solid #cfc6b7;color:transparent;border-radius:8px;font-weight:900}
.checklist-tick input:checked+span{background:#2e7657;color:white;border-color:#2e7657}
.checklist-tick input:focus-visible+span{outline:3px solid #caa360;outline-offset:2px}
.checklist-text{min-height:43px!important;border-color:transparent!important;background:transparent!important;box-shadow:none!important}
.checklist-text:focus{background:#fff!important;border-color:#bd9b64!important}
.checklist-row .btn{font-size:23px;min-height:36px;padding:3px}
.checklist-add{border-style:dashed;width:100%;color:#806137}
.checklist-note{margin-top:12px;color:#817b70}

@media(max-width:1040px){.hero-art{flex-basis:27%;min-width:185px}.hero-art-icon{font-size:60px}}
@media(max-width:720px){
 .content{padding-top:17px}.welcome-hero{min-height:0;border-radius:18px}.welcome-copy{padding:24px 21px}.welcome-hero h1{font-size:clamp(29px,8vw,38px)}
 .hero-art{display:none}.welcome-copy>p{font-size:15px}.hero-actions{width:100%}.hero-actions .btn{flex:1 1 145px}
 .quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;margin-bottom:17px}
 .quick-label{grid-column:1/-1;font-size:11px}.quick-link{font-size:13px;min-height:43px;padding:9px 6px}
 .job{align-items:flex-start}.job-actions{align-items:flex-start;width:100%;justify-content:flex-start;gap:9px}.job-price{margin-right:auto;padding-top:8px}
 .job-more-menu{right:auto;left:0}.job-more{position:relative}.job-more-menu{width:min(235px,82vw)}
 .stat{padding:15px}.stat .stat-label{font-size:13px}.stat strong{font-size:clamp(23px,5vw,30px)}
 .page-head{align-items:flex-start}.page-head h1{font-size:32px}
 .panel{padding:17px}.content{padding-left:14px;padding-right:14px}
}
@media(max-width:360px){.welcome-copy{padding:19px 16px}.quick-actions{gap:6px;padding:9px}.quick-link{font-size:12px}.job-more-menu{max-width:80vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:720px){
 .job-more[open]{flex-basis:100%;order:10;max-width:100%}
 .job-more[open] .job-more-menu{position:static;width:100%;max-width:100%;box-shadow:none;margin-top:7px;background:#f8f2e8;border-color:#ebdfcc}
 .job-more[open] .job-more-menu>.btn{width:100%}
}

/* v1.4 navigation and financial reporting: mobile-first, visible next stop and no screen overflow. */
.next-stop-card{display:flex;justify-content:space-between;align-items:center;gap:22px;border:1px solid #e3d2b6;background:linear-gradient(110deg,#fffdf8,#f9eedc);border-radius:18px;padding:23px;margin-bottom:21px;min-width:0;box-shadow:var(--shadow)}
.next-stop-card h2{font-family:Georgia,Times,serif;font-size:clamp(20px,2.4vw,29px);margin:7px 0}
.next-stop-card p{color:var(--muted);font-size:15px;overflow-wrap:anywhere}
.next-stop-card small{display:block;margin-top:8px;color:var(--muted)}
.next-stop-copy{min-width:0}
.next-stop-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.next-stop-actions .nav-directions{background:#202625;border-color:#202625;color:#fff;min-height:43px;font-size:14px}
.next-stop-actions .nav-directions:hover{background:#45443d}
.next-stop-card.all-done{background:#f3f5ed;border-color:#dfe6d7}
.job-actions .nav-directions{background:#f6ebd8;color:#785323;border-color:#e1c696}
.finance-preview{margin:0 0 22px}
.finance-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 12px}
.finance-preview-heading h2{font-family:Georgia,Times,serif;font-size:23px;margin:4px 0}
.finance-preview-heading p{font-size:13px}
.finance-preview-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.finance-preview-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fffdf8;padding:17px}
.finance-preview-card span{font-size:13px;color:var(--muted);display:block}
.finance-preview-card strong{display:block;font-size:clamp(20px,2.3vw,28px);letter-spacing:-.05em;margin-top:8px;overflow-wrap:anywhere}
.finance-period-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.finance-period{border:1px solid var(--line);border-radius:17px;padding:20px;background:#fffdf8;min-width:0}
.finance-period h2{font-size:clamp(23px,2.8vw,33px);margin:12px 0 4px;overflow-wrap:anywhere}
.finance-range{font-size:12px;color:var(--muted);margin-bottom:15px}
.finance-period .simple-row{font-size:12px;align-items:start}
.finance-period .simple-row b{font-size:12px;white-space:nowrap}
.finance-date{max-width:198px}
.finance-report-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(235px,1fr);gap:17px}
.finance-balance h2{font-family:Georgia,Times,serif;font-size:35px;margin:16px 0}
.finance-balance p{font-size:14px;margin-bottom:18px}
.finance-notice{background:#f8f1e4}
.finance-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;align-items:end;min-height:230px;margin:18px 0 0}
.finance-bar-col{height:214px;min-width:0;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:7px}
.finance-bar-value{font-size:10px;color:var(--muted);overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}
.finance-bar-bg{flex:1;width:100%;min-height:0;background:#f6f0e4;border-radius:5px 5px 0 0;display:flex;align-items:end;overflow:hidden}
.finance-bar{width:100%;background:linear-gradient(180deg,#cda96e,#9c7438);border-radius:5px 5px 0 0}
.finance-bar-col small{font-size:10px}
@media (max-width:1100px){.finance-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-report-columns{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){.next-stop-card{flex-direction:column;align-items:stretch;padding:18px;gap:15px}.next-stop-actions{justify-content:stretch}.next-stop-actions>*{flex:1}.finance-preview-heading{align-items:flex-start;flex-wrap:wrap}.finance-preview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-preview-card{padding:14px}.finance-preview-card strong{font-size:23px}.finance-period-grid{gap:9px}.finance-period{padding:13px}.finance-period h2{font-size:24px}.finance-period .simple-row{flex-wrap:wrap}.finance-chart{overflow:hidden}.finance-bar-col small{font-size:9px}.finance-bar-value{display:none}.finance-date{max-width:100%}}

/* Percentage bars use CSS classes instead of inline styles to respect our strict CSP. */
.finance-bar-0{height:0%}
.finance-bar-1{height:5%}
.finance-bar-2{height:10%}
.finance-bar-3{height:15%}
.finance-bar-4{height:20%}
.finance-bar-5{height:25%}
.finance-bar-6{height:30%}
.finance-bar-7{height:35%}
.finance-bar-8{height:40%}
.finance-bar-9{height:45%}
.finance-bar-10{height:50%}
.finance-bar-11{height:55%}
.finance-bar-12{height:60%}
.finance-bar-13{height:65%}
.finance-bar-14{height:70%}
.finance-bar-15{height:75%}
.finance-bar-16{height:80%}
.finance-bar-17{height:85%}
.finance-bar-18{height:90%}
.finance-bar-19{height:95%}
.finance-bar-20{height:100%}
/* v1.5 worker-first, ivory & gold UI — independent of the management navigation */
.worker-shell{min-height:100vh;background:var(--paper);color:var(--ink)}
.worker-header{background:#fffdf8;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:16px max(20px,calc((100vw - 1100px)/2));}
.worker-header img{width:180px;max-height:62px;object-fit:contain}
.worker-header strong,.worker-header small{display:block}.worker-header small{color:var(--muted);font-size:13px}.worker-header button{margin-left:auto}
.worker-main{max-width:1100px;margin:auto;padding:38px 20px}.worker-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:20px}
.worker-heading h1{font:500 clamp(27px,4vw,42px) Georgia,serif;letter-spacing:-.035em;margin:8px 0}.worker-heading p,.worker-visit p{color:var(--muted)}
.worker-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.worker-stats>div{padding:19px;background:#fffdf8;border:1px solid var(--line);border-radius:15px;display:flex;gap:8px;align-items:baseline}
.worker-stats strong{font-size:30px}.worker-stats span{color:var(--muted);font-size:14px}
.worker-visits{display:grid;gap:15px}.worker-visit{padding:24px;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.worker-visit-top{display:flex;justify-content:space-between;gap:14px;align-items:start}.worker-visit h2{font-family:Georgia,serif;font-size:26px;margin:8px 0}.worker-controls{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.worker-controls .btn{min-height:46px;display:flex;align-items:center;justify-content:center}.worker-controls .btn.primary{background:var(--nav);color:white}
@media(max-width:650px){.worker-header{padding:12px 16px;gap:10px}.worker-header img{width:95px}.worker-header .eyebrow{display:none}.worker-main{padding:22px 14px}.worker-heading{display:block}.worker-heading .field{margin-top:15px}.worker-visit{padding:18px}.worker-controls .btn{flex:1 1 42%}.worker-stats>div{padding:12px;display:block}.worker-stats strong,.worker-stats span{display:block}.worker-stats strong{font-size:26px}.worker-stats span{font-size:12px}}
/* Customer portal: business-branded, readable and comfortably responsive */
.customer-public{background:radial-gradient(circle at 50% 0,#fffdf8,#f7f3eb);min-height:100vh}
.portal-public-layout{max-width:910px;padding:22px;margin:auto;display:grid;gap:18px}
.portal-public-header{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding-bottom:20px}
.portal-public-header img{width:200px;max-height:74px;object-fit:contain}.portal-public-header strong,.portal-public-header span{display:block}.portal-public-header span{font-size:12px;letter-spacing:.12em;color:#9a783e}.portal-public-header strong{font:600 20px Georgia,serif}
.portal-public-intro{padding:25px 0 10px}.portal-public-intro h1{font:500 clamp(29px,5vw,46px)/1.15 Georgia,serif;margin:10px 0 14px}.portal-public-intro p{color:var(--muted);max-width:570px}
.portal-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.portal-public-layout .panel{margin:0}
.portal-rows{display:grid;gap:4px}.portal-row{display:flex;justify-content:space-between;align-items:start;gap:15px;padding:15px 0;border-top:1px solid var(--line)}.portal-row strong,.portal-row small{display:block}.portal-row small{font-size:13px;color:var(--muted);padding-top:4px}.portal-bank{background:#f7f0e3;border-radius:12px;padding:16px;margin:16px 0}.portal-bank p{margin:6px 0}
.portal-disclaimer{color:var(--muted);font-size:13px;line-height:1.55;margin-top:15px}.portal-messages{display:grid;gap:12px;padding-bottom:22px}.portal-message{background:#f5f0e7;border-radius:12px;padding:13px;max-width:80%}.portal-message.mine{background:#eaf1e6;margin-left:auto}.portal-message span{color:var(--muted);font-size:12px}.portal-message p{margin:6px 0 0}.portal-public-layout form#customer-message{display:grid;gap:10px}.portal-public-layout form#customer-message button{justify-self:start}
.portal-footer{font-size:12px;color:var(--muted);text-align:center;padding:25px 0}
@media(max-width:550px){.portal-public-layout{padding:14px}.portal-public-header{gap:12px}.portal-public-header img{width:115px}.portal-public-header strong{font-size:16px}.portal-summary{gap:8px}.portal-summary .stat{padding:13px}.portal-summary .stat strong{font-size:22px}.portal-row{gap:10px}.portal-row b{white-space:nowrap}.portal-message{max-width:94%}}
/* Customer portal messaging in the business admin workspace */
.portal-manager-msg{display:flex;align-items:start;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:17px 0}
.portal-manager-msg p{margin:8px 0;overflow-wrap:anywhere}.portal-manager-msg strong{font-size:15px}
@media(max-width:580px){.portal-manager-msg{flex-direction:column}.portal-manager-msg .btn{align-self:flex-end}}
/* v1.6 invoices, customer rewards and trade-safe management */
.customer-invoice-link{display:inline-flex;margin-top:8px;color:#90682d;font-size:14px;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.invoice-public-sheet{background:#fffdf8;border:1px solid #e0d6c4;border-radius:20px;box-shadow:0 16px 48px #2c241311;padding:clamp(20px,4vw,46px);color:#292d29;overflow-wrap:anywhere}
.invoice-document-head{display:flex;justify-content:space-between;gap:22px;border-bottom:2px solid #c3a36b;padding-bottom:25px}
.invoice-document-head>div:first-child{max-width:62%}.invoice-document-head h1{font-size:clamp(23px,3vw,35px);line-height:1.2;margin:6px 0 12px}.invoice-document-head h2{font-size:23px;margin:4px 0}.invoice-document-head p,.invoice-public-two p{white-space:pre-line;margin:5px 0;line-height:1.5}
.invoice-big-label{font-size:12px;letter-spacing:2px;color:#91723f;font-weight:800}
.invoice-public-two{display:flex;justify-content:space-between;gap:16px;margin:27px 0 24px}
.invoice-public-two>div{max-width:60%}.invoice-public-total{margin:26px 0 20px auto;max-width:370px}
.invoice-public-total p{display:flex;justify-content:space-between;gap:15px;padding:10px 0;margin:0;border-bottom:1px solid #e4ddcf}
.invoice-public-total .invoice-due{font-size:17px;font-weight:800;border-bottom:2px solid #b1843d}
.invoice-alert{margin-top:24px;border:1px solid #e6d5ac;border-radius:10px;padding:15px;background:#fff6e5;color:#554a35;font-size:14px;line-height:1.55}
.invoice-actions{display:flex;gap:12px;justify-content:flex-end;margin:20px 0 40px}
.loyalty-balance{font-size:20px;font-weight:800;color:#554123}
.loyalty-table td{vertical-align:middle}
.loyalty-settings-note{font-size:14px;line-height:1.5;color:#716958}
@media(max-width:480px){.invoice-document-head{flex-direction:column}.invoice-document-head>div:first-child{max-width:100%}.invoice-public-two{flex-direction:column}.invoice-public-two>div{max-width:100%}.invoice-actions{flex-direction:column}.invoice-actions>.btn{width:100%}}
@media print{.customer-public{background:#fff!important}.portal-public-layout{max-width:none!important;margin:0!important;padding:0!important}.invoice-public-sheet{border:0!important;box-shadow:none!important;padding:15px!important}.invoice-actions{display:none!important}}

/* v1.6.1: never break the product name next to the original BB monogram. */
.sidebar .brand{display:grid;grid-template-columns:52px minmax(0,1fr);gap:9px;align-items:center;padding:0 2px;min-width:0}
.sidebar .brand .sidebar-bb-mark{width:52px;height:46px;object-fit:contain}
.sidebar .brand-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}
.sidebar .brand-copy b{display:block;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.1;letter-spacing:-.045em;white-space:nowrap;overflow-wrap:normal}
.sidebar .brand-copy small{display:block;margin-top:5px;font-size:10px;line-height:1.25;letter-spacing:.045em;white-space:nowrap;overflow-wrap:normal;color:#dbc391}
.customer-directory-head{flex-wrap:wrap;gap:18px}
.customer-directory-head>.search{max-width:320px;min-width:190px;width:100%}
.customer-view-tabs{display:inline-flex;gap:4px;flex-wrap:wrap;padding:4px;background:#f4ece0;border:1px solid #e6dccb;border-radius:12px;margin-top:12px}
.customer-view-tabs button{font-size:14px;font-weight:700;color:#635c50;border:0;background:transparent;padding:9px 14px;border-radius:8px;cursor:pointer;min-height:40px}
.customer-view-tabs button.selected{background:#fffdf8;color:#423823;box-shadow:0 2px 7px #3d302410}
.customer-view-tabs button:focus-visible{outline:3px solid #caa360;outline-offset:2px}
.customer-actions{gap:6px;flex-wrap:wrap}
.customer-actions .btn{white-space:nowrap}
.customer-delete{border-color:#e5c0b8!important;color:#943d32!important;background:#fff9f6!important}
.customer-delete:hover{background:#fae9e3!important}
.customer-archived-label{font-size:12px;color:#8a6b40;font-weight:700}
.customer-safety-note{margin:20px 0 0;padding:13px 16px;background:#f9f2e6;border-radius:10px}
@media(max-width:1080px) and (min-width:801px){.sidebar .brand{grid-template-columns:43px minmax(0,1fr)}.sidebar .brand .sidebar-bb-mark{width:43px}.sidebar .brand-copy b{font-size:15.5px}.sidebar .brand-copy small{font-size:9px}}
@media(max-width:720px){.customer-directory-head>.search{width:100%;max-width:none}.customer-actions .btn{min-height:37px}.customer-view-tabs{width:100%}.customer-view-tabs button{flex:1}}

/* v1.6.2 — mistake-resistant single-customer job workflow.
   A job can ONLY be completed from the dedicated customer screen, after confirmation. */
.visit-list-row{align-items:center;gap:15px}
.visit-list-row .job-actions{align-items:center;gap:13px}
.visit-list-row .open-job-button{min-height:48px;padding:11px 19px;font-size:15px;font-weight:750;background:#f5ecdf;border:1px solid #d9bf94;color:#493921;border-radius:10px;white-space:nowrap}
.visit-list-row .open-job-button:hover,.visit-list-row .open-job-button:focus-visible{background:#efe0c9}
.next-stop-card .open-job-button{min-height:48px;font-size:15px}
.visit-detail-shell{width:min(100%,860px);margin:0 auto 50px;min-width:0}
.visit-back{background:transparent;border:0;color:#6f603f;display:inline-flex;align-items:center;gap:8px;padding:10px 0;min-height:46px;font-weight:750;cursor:pointer;font-size:15px;text-decoration:underline;text-underline-offset:4px}
.visit-back:focus-visible,.visit-complete-button:focus-visible,.confirm-completion:focus-visible{outline:3px solid #bd944d;outline-offset:4px}
.visit-focus-heading{margin:10px 0 22px}
.visit-focus-heading h1{font:600 clamp(32px,5vw,49px)/1.14 Georgia,'Times New Roman',serif;letter-spacing:-.04em;color:#242a26;margin:8px 0}
.visit-focus-heading p{font-size:17px;line-height:1.55;color:#666d67;overflow-wrap:anywhere}
.visit-focus-card{background:#fffdf9;border:1px solid #e5dbc9;border-radius:22px;box-shadow:0 12px 42px #30271a10;padding:clamp(19px,4vw,34px);min-width:0}
.visit-focus-status{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7c7062;font-size:13px;font-weight:700}
.visit-focus-card>h2{font:600 clamp(22px,3.4vw,31px)/1.2 Georgia,serif;margin:18px 0 20px}
.visit-focus-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}
.visit-focus-facts>div{background:#f7f2e9;border:1px solid #ebe2d4;border-radius:12px;padding:13px;min-width:0}
.visit-focus-facts small{display:block;color:#7e7e75;font-size:12px;margin-bottom:7px}
.visit-focus-facts strong{display:block;color:#252a27;font-size:17px;overflow-wrap:anywhere}
.visit-focus-notes{padding:15px 17px;background:#f8f5ed;border-left:4px solid #c2a064;border-radius:8px;margin-bottom:24px;line-height:1.55;overflow-wrap:anywhere}
.visit-focus-notes strong{font-size:14px}.visit-focus-notes p{font-size:15px;margin-top:5px}
.visit-complete-zone{margin-top:26px;border-top:1px solid #e3daca;padding-top:28px;text-align:center}
.visit-complete-zone .eyebrow{display:block;font-size:12px;color:#806535;letter-spacing:.1em;margin-bottom:13px}
.visit-complete-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:72px;max-width:100%;padding:18px 16px;border:none;border-radius:14px;background:linear-gradient(115deg,#a47630,#c09b57);color:#fffdf8;font-size:clamp(19px,3.6vw,25px);font-weight:850;box-shadow:0 7px 19px #99734225;cursor:pointer;white-space:normal;text-align:center;line-height:1.3}
.visit-complete-button:hover{background:#946928}
.visit-complete-zone p{font-size:13px;color:#7a746b;margin:12px auto 0;max-width:440px;line-height:1.55}
.visit-done-zone{border-radius:13px;background:#e8f4ed;border:1px solid #c7e5d4;padding:22px;display:grid;gap:7px;text-align:center;margin-top:24px}
.visit-done-zone strong{font-size:21px;color:#286b4d}.visit-done-zone span{font-size:14px;color:#536b5c;overflow-wrap:anywhere}
.visit-done-zone.skipped{background:#f1eee9;border-color:#e4ded6}.visit-done-zone.skipped strong{color:#655e56}
.visit-secondary{margin-top:24px;border:1px solid #e7dfd3;background:#fffdf9;border-radius:16px;padding:24px;min-width:0}
.visit-secondary h2{font:600 23px Georgia,'Times New Roman',serif;margin:0 0 8px}
.visit-secondary>.muted{font-size:14px;margin:0 0 17px}
.visit-secondary-actions{display:flex;gap:10px;flex-wrap:wrap}
.visit-secondary-actions .btn{min-height:48px;padding:11px 18px;font-size:15px}
.visit-tools{margin-top:17px;border-top:1px solid #e5dfd2;padding-top:16px}
.visit-tools summary{font-size:15px;font-weight:750;min-height:45px;padding:11px 0;color:#5f5546;cursor:pointer}
.visit-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:12px}
.visit-tools-grid .btn{font-size:14px;min-height:44px;white-space:normal;text-align:left;justify-content:flex-start}
.visit-next-button{width:100%;margin-top:22px;min-height:52px;font-size:15px}
.completion-confirm{text-align:center}
.completion-confirm-icon{display:grid;place-items:center;width:65px;height:65px;background:#f7eddd;color:#9b762f;border-radius:50%;font-size:32px;font-weight:800;margin:2px auto 16px}
.completion-confirm h3{font:600 27px Georgia,serif;margin:0 0 11px}
.completion-confirm-name{font-size:21px;font-weight:850;color:#27302b;margin:6px auto}
.completion-confirm>.muted{font-size:15px;line-height:1.5}
.completion-confirm-summary{display:flex;justify-content:space-between;align-items:center;padding:15px;border-radius:10px;background:#f8f2e7;margin:22px 0;font-size:15px}
.completion-confirm-summary strong{font-size:20px}
.completion-confirm-note{line-height:1.6;font-size:14px;color:#655f53;margin:0 0 24px}
.confirmation-actions{display:grid;grid-template-columns:1fr;gap:11px}
.confirmation-actions .btn{width:100%;min-height:53px;font-size:16px}
.confirmation-actions .confirm-completion{background:#277b55;color:white;border:1px solid #277b55;font-weight:850;order:2}
.confirmation-actions .confirm-completion:disabled{opacity:.5;cursor:wait}
.confirmation-actions .confirmation-cancel{background:#fff;border:1px solid #d6cbb8;color:#4b504a;order:1}
.worker-job-row .worker-row-footer{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.worker-row-footer span{font-size:18px;font-weight:800}
.worker-job-row .open-job-button{min-height:48px;min-width:155px}
.worker-main .visit-detail-shell{max-width:720px}
@media(max-width:720px){
 .visit-list-row .job-actions{display:flex;justify-content:space-between;align-items:center;padding-left:0;width:100%;gap:12px}
 .visit-list-row .open-job-button{flex:0 0 auto;min-width:130px;min-height:49px}
 .visit-focus-heading h1{font-size:clamp(28px,8vw,37px)}
 .visit-focus-facts{gap:6px}
 .visit-focus-facts>div{padding:11px 9px}
 .visit-focus-facts strong{font-size:15px}
 .visit-focus-card{padding:20px 17px}
 .visit-secondary{padding:20px 17px}
 .visit-secondary-actions>.btn{flex:1 1 42%;justify-content:center}
 .visit-complete-button{min-height:76px}
 .visit-tools-grid{grid-template-columns:1fr}
 .worker-job-row .worker-row-footer{gap:12px}
}
@media(max-width:360px){
 .visit-focus-facts{grid-template-columns:1fr}
 .visit-focus-facts>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
 .visit-focus-facts small{margin-bottom:0}
 .visit-list-row .job-actions{align-items:center}
}

/* v1.8 — calm scheduling workspace, fully separated from job completion */
.schedule-actions,.planning-mode{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.schedule-order-row{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#fffdf9;min-width:0}
.schedule-order-num{display:grid;place-items:center;width:38px;height:38px;background:#f2ebde;color:#785a2d;border-radius:10px;font-weight:800;flex:none}
.schedule-order-copy{display:grid;gap:4px;flex:1;min-width:0}.schedule-order-copy b,.schedule-order-copy small{overflow-wrap:anywhere}
.schedule-order-copy small{color:var(--muted);font-size:12px}
.schedule-order-arrows{display:flex;gap:7px;flex:none}.schedule-order-arrows .btn{min-height:44px;min-width:44px;font-size:19px}
.planning-panel{margin-bottom:18px}.planning-panel .panel-head{align-items:start}.planning-panel .panel-head .tag{flex:none}
.planning-mode .btn{flex:1 1 auto}.plan-field{margin:18px 0;max-width:520px}.plan-field label{display:block;font-weight:720;margin-bottom:8px}.plan-field .help{display:block;margin-top:9px}
.missed-list{display:grid;gap:9px;margin:15px 0 6px}.missed-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;background:#fffdfa;padding:13px}
.missed-row input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:#b1843d}.missed-copy{display:grid;gap:3px;min-width:0;flex:1}.missed-copy small{color:var(--muted)}.missed-copy span{color:#856d44;font-size:12px}.missed-copy b,.missed-copy small{overflow-wrap:anywhere}
.schedule-preview-list{display:grid;gap:3px;max-height:min(55vh,430px);overflow:auto;margin:14px 0;border:1px solid var(--line);border-radius:12px}
.schedule-preview-list>div{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px}
.schedule-preview-list>div:last-child{border-bottom:0}.schedule-preview-list span{color:var(--muted);text-align:right}
.schedule-attention{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;border:1px solid #e2cfa6;background:#fff7e7}
.schedule-attention p{color:#6a604d;font-size:13px;margin-top:5px}
@media(max-width:560px){.schedule-order-row{padding:11px 9px;gap:8px}.schedule-order-arrows{flex-direction:column}.schedule-preview-list>div{display:grid;gap:3px}.schedule-preview-list span{text-align:left}.missed-row{flex-wrap:wrap}.missed-row .btn{margin-left:34px}.schedule-attention{align-items:stretch;flex-direction:column}.schedule-attention .btn{width:100%}}

/* MARBELIO 1.8.2 — product-first branding, retaining Banks & Beckett credit */
.topbar .topbrand{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;letter-spacing:normal}
.marbelio-top-wordmark{font-family:Georgia,"Times New Roman",serif;font-size:clamp(21px,2.2vw,29px);font-weight:700;letter-spacing:.065em;color:#26382f}
.marbelio-top-credit{font-size:13px;font-weight:500;color:#76694f;letter-spacing:0}
.login-aside .login-brand span{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px;font-size:20px;letter-spacing:.085em}
.login-aside .login-brand small{font-family:system-ui,sans-serif;font-size:12px;font-weight:500;letter-spacing:0;color:#e0d4bb}
@media(max-width:600px){.marbelio-top-wordmark{font-size:21px}.marbelio-top-credit{font-size:12px}.login-aside .login-brand span{font-size:18px}}


/* Mobile acceptance correction — keep the five navigation actions visible.
   Later desktop branding rules must not re-enable the sidebar logo in the fixed mobile bar. */
@media (max-width:720px){
  .app-shell .sidebar>.brand,
  .app-shell .sidebar>.side-bottom{display:none!important}
  .app-shell .sidebar{display:block;min-width:0;height:calc(70px + env(safe-area-inset-bottom));padding:5px 8px max(5px,env(safe-area-inset-bottom));box-sizing:border-box}
  .app-shell .sidebar>.nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:100%;height:100%;align-items:center}
  .app-shell .sidebar>.nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:54px;gap:2px;padding:4px 1px;font-size:12px;line-height:1.15;text-align:center}
  .app-shell .sidebar>.nav button .ico{font-size:20px;line-height:1.15}
  .app-shell .sidebar>.nav button.active{box-shadow:inset 0 3px 0 #bd9653}
  .app-shell{padding-bottom:calc(85px + env(safe-area-inset-bottom))}
}


/* MARBELIO mobile acceptance: a readable, touch-friendly customer directory.
   Desktop keeps the full table and all of its original actions. */
.customer-mobile-list{display:none}
@media(max-width:720px){
 .customer-directory-table{display:none}
 .customer-mobile-list{display:grid;gap:12px}
 .customer-mobile-card{background:#fffefa;border:1px solid #e5d9c7;border-radius:16px;padding:17px 15px;box-shadow:0 5px 18px #35271409;min-width:0}
 .customer-mobile-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
 .customer-mobile-identity{min-width:0;flex:1}
 .customer-mobile-identity strong{display:block;color:#282e29;font-size:18px;line-height:1.35;overflow-wrap:anywhere}
 .customer-mobile-identity p{font-size:14px;line-height:1.5;margin-top:4px;color:#6a706a;overflow-wrap:anywhere}
 .customer-mobile-price{font-size:17px;font-weight:800;color:#805f2c;white-space:nowrap;flex:none}
 .customer-mobile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding:12px;background:#f8f3eb;border-radius:11px}
 .customer-mobile-facts div{min-width:0}
 .customer-mobile-facts span{display:block;color:#74766d;font-size:12px;margin-bottom:4px}
 .customer-mobile-facts b{display:block;font-size:14px;color:#343932;overflow-wrap:anywhere;line-height:1.4}
 .customer-mobile-actions{margin-top:14px}
 .customer-mobile-actions .customer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
 .customer-mobile-actions .customer-actions>.btn{min-width:0;width:100%;min-height:44px;font-size:14px;padding:9px 6px;white-space:normal}
 .customer-mobile-empty{padding:24px 14px;text-align:center;border:1px dashed #d8cbb7;border-radius:12px;color:#71766f}
 .customer-mobile-card:focus-within{border-color:#bc9558}
}
/* No pop-up silently claims a pending write succeeded while disconnected.
   Keep the status visible on every page, including after a SPA re-render. */
.marbelio-connection-notice[hidden]{display:none!important}
.marbelio-connection-notice{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);left:12px;right:12px;z-index:250;max-width:560px;margin:0 auto;padding:13px 16px;border-radius:13px;box-shadow:0 10px 35px #20201730;border:1px solid #dfbe83;background:#fff5df;color:#5b451e;font-size:14px;line-height:1.45;font-weight:680;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px}
.marbelio-connection-notice.is-offline{border-color:#dfb09b;background:#fff0e9;color:#753e34}
.marbelio-connection-notice button{border:1px solid #ac8546;background:#fffdf8;padding:9px 14px;min-height:44px;border-radius:9px;font-weight:750;color:#65451d}
.marbelio-connection-notice button:focus-visible{outline:3px solid #bd944d;outline-offset:2px}
@media(min-width:721px){.marbelio-connection-notice{left:270px;right:20px}}
