:root{--bg:#fbf6fa;--card:#fff;--ink:#2a1a27;--muted:#84707f;--line:#f0e3ec;--accent:#a83e86;--accent-dark:#6e2459;--accent-soft:#fbe6f6;--brand-pink:#fcc6fc;--good:#1f9d63;--bad:#d64545;--wa:#25d366;--radius:14px;color:var(--ink);background:var(--bg);-webkit-tap-highlight-color:transparent;font-family:Segoe UI,Roboto,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:var(--bg);overscroll-behavior:none;font-size:15px}h1,h2,h3,h4{margin:0}h2{font-size:22px}h3{font-size:16px}h4{margin:12px 0 6px;font-size:14px}p{margin:6px 0}small,.muted{color:var(--muted)}.small{font-size:13px}.grow{flex:1;min-width:0}.pos{color:var(--good);font-weight:600}.neg{color:var(--bad);font-weight:600}button,.btn{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 14px;text-decoration:none;display:inline-flex}button:active,.btn:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:default;transform:none}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary.big{min-height:52px;padding:0 26px;font-size:16px}button.danger{color:var(--bad);border-color:#f1caca}button.ghost{color:var(--accent-dark);background:0 0;border-color:#0000}button.small,.btn.small{min-height:34px;padding:0 10px;font-size:13px}button.link{min-height:0;color:var(--accent);background:0 0;border:0;padding:0;font-weight:600}.btn.wa{background:var(--wa);border-color:var(--wa);color:#fff;font-weight:600}.icon-btn{min-width:42px;padding:0}.icon-btn.small{border:0;min-width:28px;min-height:28px}input,select,textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;min-height:42px;padding:8px 12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input[type=range]{accent-color:var(--accent);padding:0}input.num{width:90px;min-height:36px}.inline-select{width:auto}.check{align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:20px;height:20px;min-height:20px;accent-color:var(--accent);flex:none}.shell{height:100%;display:flex}.side{width:220px;color:var(--accent-dark);background:linear-gradient(#fdd3fc,#f7b8f1);flex-direction:column;flex:none;gap:16px;padding:16px 12px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand b{font-size:18px;display:block}.brand small{color:inherit;opacity:.7}.logo{color:#fff;background:linear-gradient(135deg,#2bc4b6,#0f7c80);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:20px;font-weight:800;display:grid}.logo.big{border-radius:18px;width:64px;height:64px;font-size:32px}.side nav{flex-direction:column;flex:1;gap:4px;display:flex}.side nav button{color:#5a2a4f;background:0 0;border:0;justify-content:flex-start;gap:12px;min-height:46px}.side nav button.on{color:var(--accent-dark);background:#ffffffa6;font-weight:700}.nav-ico{text-align:center;width:22px;font-size:17px}.me{border-top:1px solid #6e245926;flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.me-txt b{font-size:14px;display:block}.me-txt small,.me .ghost{color:#7a4a6f}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.avatar.soft{background:var(--accent-soft);color:var(--accent-dark)}.main{flex:1;overflow-y:auto}.page{flex-direction:column;gap:16px;max-width:1400px;padding:20px 24px 40px;display:flex}.page-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.page-head.wrap{flex-wrap:wrap;justify-content:flex-start}.page-head.wrap>div:first-child{margin-right:auto}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);min-width:0;padding:16px}.card.empty{text-align:center;color:var(--muted);padding:40px}.card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat-label{color:var(--muted);font-size:13px}.stat-value{margin:4px 0 2px;font-size:26px;font-weight:700}.stat-sub{color:var(--muted);font-size:12.5px}.stat.good .stat-sub{color:var(--good)}.stat.bad .stat-sub{color:var(--bad)}.big-number{color:var(--accent-dark);margin-bottom:8px;font-size:40px;font-weight:800}.search{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:200px;margin-bottom:10px;padding:0 10px;display:flex}.search input{border:0;outline:0;padding-left:0}.search span{color:var(--muted);font-size:18px}.toolbar{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.list{flex-direction:column;max-height:62vh;display:flex;overflow-y:auto}.list.compact{max-height:320px}.row{border:0;border-bottom:1px solid var(--line);text-align:left;white-space:normal;background:0 0;border-radius:0;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 6px;display:flex}.row b{display:block}.row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.row.static{cursor:default}.time{font-variant-numeric:tabular-nums;color:var(--accent-dark);flex:none;width:50px;font-weight:700}.right-meta{text-align:right}.right-meta b,.right-meta small{display:block}.list-total{text-align:right;padding-top:10px;font-weight:700}.badge{color:var(--muted);white-space:nowrap;background:#f5ecf2;border-radius:99px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.badge.pkg{color:#9a6b00;background:#fff4d6}.st-booked{color:#5d4a58;background:#f5ecf2}.st-confirmed{color:#137a4c;background:#dff4ec}.st-arrived{color:#2753b8;background:#e3edff}.st-done{background:var(--accent-soft);color:var(--accent-dark)}.st-no-show{color:var(--bad);background:#fde6e6}.st-cancelled{color:#999;background:#f3f3f3;text-decoration:line-through}.tabs{background:#f3e4ef;border-radius:12px;gap:4px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.tabs button{background:0 0;border:0;min-height:38px}.tabs button.on{background:#fff;font-weight:600;box-shadow:0 1px 3px #00000014}.seg{border:1px solid var(--line);border-radius:10px;display:flex;overflow:hidden}.seg button{border:0;border-right:1px solid var(--line);border-radius:0}.seg button:last-child{border-right:0}.seg button.on{background:var(--accent);color:#fff;font-weight:600}.date-nav{align-items:center;gap:8px;display:flex}.date-title{text-align:center;min-width:130px}.date-title b,.date-title small{display:block}.bars{flex-direction:column;gap:8px;display:flex}.bar-row{grid-template-columns:minmax(120px,40%) 1fr 70px;align-items:center;gap:10px;font-size:13.5px;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:#f6ebf3;border-radius:6px;height:12px;overflow:hidden}.bar-fill{border-radius:6px;height:100%}.bar-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.colchart{align-items:flex-end;gap:10px;height:170px;display:flex}.colchart-col{flex-direction:column;flex:1;align-items:center;gap:2px;height:100%;display:flex}.colchart-bars{flex:1;justify-content:center;align-items:flex-end;gap:3px;width:100%;display:flex}.cb{border-radius:4px 4px 0 0;width:40%;min-height:2px}.cb.rev{background:#f3b3e0}.cb.pro{background:var(--accent)}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px;font-size:12.5px;font-weight:600}.tbl td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:middle;padding:9px 8px}.tbl tr.sum td{background:#fcf5fa;font-weight:700}.tbl tr.click{cursor:pointer}.tbl tr.click:active{background:var(--accent-soft)}.tbl td.indent{color:#5d4a58;padding-left:22px}.dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.sched{min-height:34px;padding:0 8px;font-size:12.5px}.sched.badaro{background:#e3edff;border-color:#c8d9ff}.sched.kaslik{background:#fde8f1;border-color:#f7cde0}.sched.off{color:#aaa}.cal{padding:0;overflow:hidden}.cal-head{border-bottom:1px solid var(--line);background:#fdf6fb;display:grid}.cal-col-head{border-left:1px solid var(--line);padding:10px;font-size:14px;font-weight:600}.cal-body{display:grid;position:relative;overflow:hidden}.cal-scroll{max-height:70vh;overflow-y:auto}.cal-times{position:relative}.cal-times div{color:var(--muted);font-size:12px;position:absolute;right:8px;transform:translateY(-1px)}.cal-col{border-left:1px solid var(--line);position:relative}.cal-cell{background:0 0;border:0;border-radius:0;min-height:0;padding:0;position:absolute;left:0;right:0}.cal-cell.hour{border-top:1px solid var(--line)}.cal-cell:not(:disabled):active{background:var(--accent-soft)}.cal-cell.past{background:repeating-linear-gradient(135deg,#0000 0 6px,#f7eef4 6px 8px)}.appt{text-align:left;white-space:nowrap;z-index:1;background:#fdeefa;border:0;border-left:4px solid;border-radius:8px;min-height:0;padding:3px 8px;display:block;position:absolute;left:3px;right:3px;overflow:hidden;box-shadow:0 1px 2px #0000000f}.appt b{text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.appt small{text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.appt.st-done{opacity:.75;background:#f6ebf3}.appt.st-no-show{background:#fdeaea}.appt.st-arrived{background:#e3edff}.appt.st-confirmed{background:#dff4ec}.now-line{border-top:2px solid var(--bad);z-index:2;pointer-events:none;position:absolute;left:0;right:0}.modal-back{z-index:50;background:#2a142673;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;flex-direction:column;width:min(560px,100%);max-height:92vh;display:flex;box-shadow:0 20px 60px #00000040}.modal.wide{width:min(880px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head .icon-btn{border:0}.modal-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:600}.row-fields{flex-wrap:wrap;gap:12px;display:flex}.row-fields>.field{min-width:160px}.form-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.form-foot>.muted{margin-right:auto}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kv{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.kv>span{color:var(--muted);font-size:14px}.kv>b{text-align:right}.kv-list{flex-direction:column;margin:8px 0;display:flex}.picked-client{background:var(--accent-soft);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 12px;display:flex}.new-client{flex-direction:column;gap:8px;display:flex}.report{white-space:pre-wrap;background:#fcf5fa;border-radius:10px;margin:0;padding:14px;font-size:13px}.slot-picker{flex-direction:column;gap:10px;display:flex}.smart{background:linear-gradient(135deg,#fdeefa,#fff7fd);border:1px solid #f6cdea;border-radius:12px;padding:10px 12px}.smart-title{color:var(--accent-dark);margin-bottom:8px;font-size:14px;font-weight:700}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:99px;min-height:40px;padding:0 14px}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip.on small{color:#fde3f6}.smart-chip{border-radius:12px;flex-direction:column;align-items:flex-start;gap:0;min-height:52px;padding:6px 12px}.smart-chip b{font-size:14px}.smart-chip small{font-size:12px}.times{max-height:190px;overflow-y:auto}.day-strip{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.day{flex-direction:column;gap:0;min-width:54px;min-height:58px;padding:0 6px}.day b{font-size:18px}.day.on{background:var(--accent);color:#fff;border-color:var(--accent)}.day.on small{color:#fde3f6}.timeline{flex-direction:column;max-height:60vh;display:flex;overflow-y:auto}.tl-item{border-bottom:1px solid var(--line);gap:16px;padding:12px 0;display:flex}.tl-date{flex:none;width:140px}.tl-date b,.tl-date small{display:block}.tl-body p{margin:3px 0;font-size:14px}.tl-body .ex{color:var(--accent-dark)}.pain{background:hsl(calc(130 - var(--p) * 13), 60%, 90%);color:hsl(calc(130 - var(--p) * 13), 60%, 28%);border-radius:99px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.spark{max-width:100%;margin:6px 0 10px;display:block}.msg{border-bottom:1px solid var(--line);padding:12px 4px}.msg-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.msg p{color:#4d3a49;margin:6px 0 10px;font-size:14px}.chat{background:#efeae2;border-radius:12px;flex-direction:column;gap:8px;margin:10px 0;padding:12px;display:flex}.bubble{border-radius:10px;max-width:85%;padding:8px 12px;font-size:14px}.bubble.in{background:#fff;align-self:flex-start}.bubble.out{background:#d9fdd3;align-self:flex-end}.login{min-height:100%;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));background:var(--brand-pink);flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex}.login-hero{text-align:center;color:var(--accent-dark);flex-direction:column;align-items:center;gap:14px;display:flex}.login-hero p{letter-spacing:.02em;margin:6px 0 0;font-size:15px;font-weight:500}.login-card{background:#fff;border-radius:22px;flex-direction:column;gap:16px;width:min(620px,100%);padding:28px;display:flex;box-shadow:0 2px 4px #6e245914,0 8px 24px #6e24591f}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:12px 0 4px;display:flex}.login-brand h1{font-size:30px}.login-brand p{color:var(--muted);margin:2px 0 0}.demo-note{color:#7a5a00;background:#fff7e0;border-radius:10px;padding:10px 12px;font-size:14px}.roles{flex-direction:column;gap:10px;display:flex}.role{text-align:left;white-space:normal;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;min-height:76px;padding:12px 16px}.role b{color:var(--accent-dark);font-size:18px}.role span{color:var(--muted);font-size:14px}.pick-list{flex-direction:column;gap:8px;display:flex}.scroll-list{flex-direction:column;gap:6px;max-height:46vh;display:flex;overflow-y:auto}.pick{justify-content:flex-start;gap:12px;min-height:56px}.pick small{margin-left:auto}.portal{flex-direction:column;gap:14px;max-width:900px;min-height:100%;margin:0 auto;padding:16px;display:flex}.portal-head{justify-content:space-between;align-items:center;display:flex}.portal-body{flex-direction:column;gap:14px;display:flex}.portal h3{margin:10px 0 8px}.steps{flex-direction:column;gap:18px;display:flex}.steps section{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.step-n{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;margin-right:4px;font-size:14px;display:inline-grid}.cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.choice{white-space:normal;text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;min-height:66px;padding:10px 14px}.choice.on{border:2px solid var(--accent);background:var(--accent-soft)}.confirm-box{flex-wrap:wrap;justify-content:space-between;align-items:center;border:2px solid var(--accent)!important;flex-direction:row!important}.upcoming{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.upcoming b,.upcoming small{display:block}.move-box{width:100%}.ex-list{padding-left:20px;line-height:1.8}.toast{left:50%;top:calc(56px + env(safe-area-inset-top));pointer-events:none;color:#fff;z-index:100;background:#2a1a27;border-radius:12px;max-width:90vw;padding:12px 18px;font-size:14px;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}@media (width<=860px){.shell{flex-direction:column-reverse}.side{flex-direction:row;gap:0;width:100%;padding:6px}.side .brand,.side .me .me-txt,.side .me .avatar{display:none}.side nav{flex-direction:row;overflow-x:auto}.side nav button{flex-direction:column;justify-content:center;gap:2px;min-width:64px;min-height:52px;font-size:11px}.me{border:0;padding:0}.page{padding:14px 12px 30px}.grid2{grid-template-columns:1fr}.stat-value{font-size:21px}.tl-item{flex-direction:column;gap:4px}}.help-btn{width:34px;min-width:34px;height:34px;min-height:34px;color:var(--accent-dark);border:2px solid var(--accent);background:#fff;border-radius:50%;padding:0;font-size:16px;font-weight:800}.side .help-btn{color:var(--accent-dark);border-color:var(--accent);background:#fff}.modal-head h3{flex:1}.modal-head{gap:8px}.tour-offer{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;color:#fff;background:#2a1a27;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 24px);padding:10px 12px 10px 16px;font-size:14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 30px #0000004d}.tour-offer .ghost{color:#7a4a6f}.driver-popover.bm-tour{max-width:320px;color:var(--ink);border-radius:14px;padding:16px 18px;font-family:inherit}.driver-popover.bm-tour .driver-popover-title{color:var(--accent-dark);font-size:17px;font-weight:700}.driver-popover.bm-tour .driver-popover-description{color:#4d3a49;font-size:14.5px;line-height:1.45}.driver-popover.bm-tour .driver-popover-progress-text{color:var(--muted);font-size:12.5px}.driver-popover.bm-tour .driver-popover-footer button{font:inherit;min-height:38px;text-shadow:none;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:0 14px;font-size:14px}.driver-popover.bm-tour .driver-popover-footer .driver-popover-next-btn{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.driver-popover.bm-tour .driver-popover-close-btn{min-height:0;color:var(--muted)}.setup{background:linear-gradient(135deg,#fff4fc,#fff);border:2px solid #f6cdea}.setup-bar{background:#f4e1ee;border-radius:4px;height:8px;margin-bottom:10px;overflow:hidden}.setup-bar div{background:var(--accent);border-radius:4px;height:100%;transition:width .4s}.setup-items{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:6px;display:grid}.setup-item{text-align:left;white-space:normal;justify-content:flex-start;gap:10px;min-height:46px}.setup-item .tick{border:2px solid var(--line);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:13px;display:grid}.setup-item.ok{color:var(--muted);text-decoration:line-through}.setup-item.ok .tick{background:var(--good);border-color:var(--good)}.setup-item .go{color:var(--accent);margin-left:auto;font-size:20px}.empty-hint{color:var(--muted);padding:20px 4px}.stack{flex-direction:column;gap:16px;display:flex}.side{padding-bottom:max(16px, env(safe-area-inset-bottom))}.portal{padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom))}@media (width<=860px){.side{padding-bottom:max(6px, env(safe-area-inset-bottom))}.main{padding-top:env(safe-area-inset-top)}.side .me{flex-wrap:nowrap}.tour-offer{bottom:calc(76px + env(safe-area-inset-bottom))}}@font-face{font-family:Italiana;src:url(../fonts/italiana.woff2)format("woff2");font-display:swap}.wordmark{color:var(--accent-dark);letter-spacing:.02em;border-bottom:.06em solid;padding-bottom:.32em;font-family:Italiana,Didot,"Bodoni 72",Georgia,serif;line-height:1;display:inline-block;position:relative}.wordmark i{border-bottom:.3em solid;border-left:.16em solid #0000;border-right:.16em solid #0000;width:0;height:0;position:absolute;bottom:-.36em;left:50%;transform:translate(-50%)}.wordmark.light{color:#fff}.side .brand{flex-direction:column;align-items:flex-start;gap:10px;padding:6px 4px 8px}.side .brand small{color:var(--accent-dark);opacity:.75}.portal-head .brand{flex-direction:column;align-items:flex-start;gap:10px}.measure-chip{background:var(--accent-soft);color:var(--accent-dark);border-radius:99px;margin-bottom:4px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-block}.measures .field{min-width:110px}.wordmark{margin-bottom:.42em}@media (width<=860px){.side nav button{min-width:58px;padding:0 4px}.side [data-tour=switch-user]{min-width:40px;padding:0;font-size:0}.side [data-tour=switch-user]:before{content:"⇄";font-size:20px}}.hint{color:#7a5a00;background:#fff7e0;border-radius:10px;padding:10px 12px;font-size:13.5px}.account-box{border:1px solid var(--line);background:#fffafd;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.driver-popover.bm-tour .driver-popover-footer{flex-wrap:wrap;gap:8px}.driver-popover.bm-tour .driver-popover-footer button.bm-skip{color:var(--muted);background:0 0;border:0;min-height:38px;margin-right:auto;padding:0 4px;text-decoration:underline}.loc{border-bottom:1px dashed var(--line);padding:8px 0 10px}.loc .row-fields .field:last-child{min-width:100px;max-width:120px}.danger-link{color:var(--bad)}.quote{text-align:center;max-width:420px;min-height:64px;color:var(--accent-dark);opacity:0;transition:opacity .45s,transform .45s;transform:translateY(6px)}.quote.on{opacity:1;transform:none}.quote p{margin:0;font-family:Italiana,Georgia,serif;font-size:22px;line-height:1.3}.quote small{color:var(--accent-dark);opacity:.7;letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:12.5px;display:block}.login-card{max-width:440px}.login-card h2{color:var(--accent-dark);font-size:22px}.login-err{color:var(--bad);background:#fdeaea;border-radius:10px;padding:9px 12px;font-size:14px}.login-links{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.pw-wrap{align-items:center;gap:6px;display:flex}.pw-wrap input{flex:1}@font-face{font-family:Jost;src:url(../fonts/jost.woff2)format("woff2");font-weight:300 600;font-display:swap}:root{font-family:Jost,Segoe UI,system-ui,sans-serif}button,input,select,textarea{font-family:inherit}h2{letter-spacing:.01em;color:var(--accent-dark);font-family:Italiana,Georgia,serif;font-size:28px;font-weight:400}.login{background:linear-gradient(#fcc6fc 0%,#fbd3f8 55%,#f8c0f2 100%);gap:22px}.login-card{-webkit-backdrop-filter:blur(14px)saturate(1.2);background:#ffffff61;border:1px solid #ffffffbf;border-radius:28px;max-width:420px;padding:30px 28px 26px;box-shadow:inset 0 1px #fff9,0 12px 40px #6e24591a}.login-card h2{color:var(--accent-dark);text-align:center;margin:0;font-family:Italiana,Georgia,serif;font-size:34px;font-weight:400}.login-sub{text-align:center;color:#7a4a6f;margin:-2px 0 6px;font-size:15px;font-weight:300;line-height:1.45}.login-card .form{gap:14px}.login-card .field>span{letter-spacing:.14em;text-transform:uppercase;color:#8a5a7f;padding-left:18px;font-size:11.5px;font-weight:500}.login-card input:not([type=checkbox]){height:52px;color:var(--ink);background:#ffffffd1;border:1px solid #6e24591a;border-radius:999px;padding:0 20px;font-size:16px;font-weight:400;transition:border-color .2s,background .2s,box-shadow .2s}.login-card input:not([type=checkbox]):focus{border-color:var(--accent);background:#fff;outline:none;box-shadow:0 0 0 4px #a83e8624}.login-card .pw-wrap{display:block;position:relative}.login-card .pw-wrap input{width:100%;padding-right:72px}.pw-eye{min-height:36px;color:var(--accent);letter-spacing:.04em;background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:500;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-card button[type=submit]{color:#fff;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(135deg,#8a2f6f,#6e2459);border:0;border-radius:999px;height:54px;margin-top:6px;font-size:14px;font-weight:500;box-shadow:0 8px 22px #6e245947}.login-card button[type=submit]:active{transform:translateY(1px)}.login-card .check{color:#6e4a66;font-size:14px;font-weight:300}.login-links{flex-direction:column;justify-content:center;align-items:center;gap:10px;margin-top:4px}.login-links .link{color:var(--accent-dark);text-underline-offset:4px;font-size:15px;font-weight:400;-webkit-text-decoration:underline #6e245959;text-decoration:underline #6e245959}.login-err{text-align:center;color:var(--bad);background:#ffffffd9;border-radius:999px}.demo-note{text-align:center;border-radius:999px}.quote p{font-size:24px}body:has(.modal-back) .tour-offer{display:none}.bm-wrap{grid-template-columns:minmax(170px,230px) 1fr;align-items:start;gap:18px;display:grid}.bm-left{flex-direction:column;align-items:center;gap:6px;display:flex}.bm-figure{touch-action:manipulation;width:100%;max-width:230px;height:auto;display:block}.bm-zone{stroke:#fff;stroke-width:.9px;cursor:pointer;transition:fill .15s}.bm-zone:hover{filter:brightness(.94)}.bm-zone.on{stroke:#fff;stroke-width:1.4px}.bm-outline path,.bm-outline ellipse{fill:none;stroke:#c48fb2;stroke-width:2.4px;pointer-events:none}.bm-decor path,.bm-decor circle{fill:none;stroke:var(--accent-dark);stroke-opacity:.28;stroke-width:.9px;pointer-events:none}.bm-legend{color:var(--muted);gap:12px;font-size:12px;display:flex}.bm-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.bm-shape{text-align:center;margin:0}.bm-title{margin:0;font-size:17px}.bm-panel{min-width:0}.bm-panel .primary.small{margin:4px 0 10px}.bm-history{flex-direction:column;gap:10px;max-height:420px;display:flex;overflow:auto}.bm-entry{border-left:3px solid var(--accent-soft);padding:4px 0 4px 10px}.bm-entry p{margin:4px 0}.bm-entry-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.bm-entry-head small{color:var(--muted)}.bm-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bm-tags .measure-chip{margin:0}.danger-text{color:#c0392b}.bm-picker{border:1px dashed var(--line);border-radius:14px;padding:10px}.bm-pick-row{grid-template-columns:150px 1fr;align-items:start;gap:12px;display:grid}.bm-pick-row .bm-figure{max-width:150px}.bm-pick-row .chip{min-height:34px;font-size:13px}@media (width<=640px){.bm-wrap{grid-template-columns:1fr}.bm-figure{max-width:210px}.bm-pick-row{grid-template-columns:120px 1fr}.bm-pick-row .bm-figure{max-width:120px}}.grid2>.bodymap{grid-column:1/-1}.modal-back{justify-content:center;align-items:center;display:flex}.modal{min-width:0;max-width:100%}.modal-body{min-width:0}.modal-body>*{min-width:0;max-width:100%}.modal-body .form-foot{padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:2;background:#fff;flex-wrap:wrap;margin:0 -18px -16px;position:sticky;bottom:-16px}.modal-body .form-foot .primary{flex:140px}.modal-body .row-fields{flex-wrap:wrap}.modal-body select,.modal-body input:not([type=checkbox]):not([type=range]){min-width:0;max-width:100%}@media (width<=860px){.modal-back{align-items:flex-end;padding:0}.modal,.modal.wide{border-radius:18px 18px 0 0;width:100%;max-height:92dvh}.side .me{z-index:40;height:calc(44px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0;background:var(--brand-pink,#fdf0fa);border-bottom:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;position:fixed;top:0;left:0;right:0}.side .me .ghost.small{min-height:32px;padding:0 10px;font-size:12.5px}.main{padding-top:calc(44px + env(safe-area-inset-top))}.portal{padding-top:max(16px, env(safe-area-inset-top))}}.btn-mini{border:1px solid var(--accent);min-height:32px;color:var(--accent-dark);background:#fff;border-radius:8px;align-items:center;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.appt b,.appt small{line-height:1.2}@media (width<=860px){.side nav{flex:1;overflow-x:visible}.side nav button{flex:1 1 0;min-width:0;padding:0 2px;font-size:10.5px}}.sync-pill{z-index:90;color:#7a5a00;background:#fff7e0;border:1px solid #f0d890;border-radius:999px;max-width:70vw;padding:6px 10px;font-size:12px;position:fixed;top:8px;right:8px;box-shadow:0 4px 14px #0000001f}.loading{min-height:100vh;color:var(--muted,#6b5a66);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.login-card .btn-link{text-align:center;text-decoration:none;display:block}.wait-btn{box-sizing:border-box;white-space:normal;text-align:center;border:2px solid var(--brand,#b0447a);width:100%;max-width:100%;color:var(--brand,#b0447a);background:#fff;border-radius:12px;margin-top:12px;padding:14px 16px;font-weight:600;display:block}.wait-btn.ghost{color:inherit;border-width:1px}.wait-box{background:#f6eef2;border-radius:12px;margin-top:12px;padding:12px}.booked{text-align:center;gap:12px;max-width:480px;margin:0 auto;padding:8px 0 24px;display:grid}.booked-tick{color:#fff;background:#2e9e6a;border-radius:50%;width:64px;height:64px;margin:8px auto 0;font-size:36px;line-height:64px}.booked-card{text-align:left}.booked-card p{margin:6px 0}.upcoming .grow{flex:100%;min-width:0}.upcoming .actions{flex:100%;gap:8px;display:flex}.upcoming .actions button{flex:1}.confirm-box .actions{flex-wrap:wrap;gap:8px;display:flex}.pay-part,.note-part{border:1px solid var(--line,#e6dde4);border-radius:12px;gap:10px;margin-top:10px;padding:12px;display:grid}.pay-h{margin:0;font-size:15px}.pay-note{background:#a83e8614;border-radius:10px;padding:8px 10px;font-size:14px}.pay-note.warn{background:#f0994a2e}.badge.warn{color:#8a4b00;background:#f0994a38}.row.expired,.row.expired *{opacity:.55}.pay-part .check{align-items:flex-start}.sun-hint{color:#5a4300;background:#fff7e0;border:1px solid #f0d890;border-radius:10px;margin-top:8px;padding:8px 10px}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:.2s ease-in-out animate-fade-in}.driver-fade .driver-popover{animation:.2s animate-fade-in}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;z-index:1000000000;background-color:#fff;border-radius:5px;min-width:250px;max-width:300px;margin:0;padding:15px;position:fixed;top:0;right:0;box-shadow:0 1px 10px #0006}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,Apple Color Emoji,Helvetica,Arial,sans-serif}.driver-popover-title{zoom:1;margin:0;font:700 19px/1.5 sans-serif;display:block;position:relative}.driver-popover-close-btn{all:unset;cursor:pointer;color:#d2d2d2;z-index:1;text-align:center;width:32px;height:28px;font-size:18px;font-weight:500;transition:color .2s;position:absolute;top:0;right:0}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;margin-bottom:0;font:400 14px/1.5 sans-serif}.driver-popover-footer{text-align:right;zoom:1;justify-content:space-between;align-items:center;margin-top:15px;display:flex}.driver-popover-progress-text{color:#727272;zoom:1;font-size:13px;font-weight:400}.driver-popover-footer button{all:unset;box-sizing:border-box;text-shadow:1px 1px #fff;color:#2d2d2d;cursor:pointer;zoom:1;background-color:#fff;border:1px solid #ccc;border-radius:3px;outline:0;padding:3px 7px;font:12px/1.3 sans-serif;text-decoration:none;display:inline-block}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{flex-grow:1;justify-content:flex-end;display:flex}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";border:5px solid #fff;position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000;left:100%}.driver-popover-arrow-side-right{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000;bottom:100%}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{margin-top:-5px;top:50%}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{margin-left:-5px;left:50%}.driver-popover-arrow-none{display:none}.hours-list{gap:6px;display:grid}.hours-row{grid-template-columns:38px 76px 1fr auto 1fr;align-items:center;gap:8px;display:grid}.hours-row .muted{grid-column:3/6}.hours-row input[type=time]{min-width:0}.safety-q{border-bottom:1px solid #e6e2ea;gap:6px;padding:8px 0;display:grid}.safety-q textarea{width:100%}.safety-box{background:#faf7fc;border:1px solid #e6e2ea;border-radius:12px;gap:8px;padding:12px;display:grid}.safety-ask{gap:6px;font-size:14px;display:grid}.yn{gap:8px;display:flex}.chip.on.red{background:#c0392b;border-color:#c0392b}.red-stop{color:#7b1f14;background:#fdecea;border:2px solid #c0392b;border-radius:10px;padding:10px}.red-stop input{width:100%}.day-notes{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.sig{justify-items:start;gap:4px;display:grid}.sig canvas{aspect-ratio:640/240;touch-action:none;background:#fff;border:2px dashed #b9a5c8;border-radius:10px;width:100%;max-width:100%}.consent-text{font-size:14px;line-height:1.5}.consent-notice{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.consent-img{background:#fff;border:1px solid #ddd;border-radius:8px;width:100%}.care-row{align-items:center}.cam{aspect-ratio:3/4;background:#1b1620;border-radius:12px;width:100%;max-width:300px;max-height:50vh;margin:0 auto;position:relative;overflow:hidden}.cam video{object-fit:cover;width:100%;height:100%}.cam .guide{width:100%;height:100%;position:absolute;inset:0}.guide *{stroke:#ffffffd9;stroke-width:.8px;fill:none}.cam-off{color:#fff;text-align:center;font-size:13px;position:absolute;bottom:8px;left:8px;right:8px}.ba-pair{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.ba-side{align-content:start;gap:6px;min-width:0;display:grid}.ba-side select{width:100%;min-width:0}.ba-img{aspect-ratio:3/4;object-fit:cover;background:#eee;border-radius:10px;width:100%;display:block}.ba-thumbs{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.ba-thumbs figure{margin:0}.ba-thumbs figcaption{color:#666;font-size:12px}.happy-btns{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.rep-box{border:1px solid #e6e2ea;border-radius:12px;gap:6px;padding:10px;display:grid}.rep-box .bad{color:#a33}.q-tr{color:var(--muted,#7a6a78);margin-top:2px;font-size:12px;display:block}.day-notes .st-cancelled{color:#5a3a55;background:#efe6ee;text-decoration:none}.red-stop .wa-ask{text-align:center;color:#fff;background:#1f8f4e;border-radius:10px;margin:4px 0;padding:10px 12px;font-weight:600;text-decoration:none;display:block}.imp{flex-direction:column;gap:12px;min-width:0;display:flex}.imp h4{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 4px;font-size:17px;display:flex}.imp-lead{color:var(--muted);margin:0}.imp-doors{flex-direction:column;gap:10px;display:flex}.imp-door{text-align:left;background:var(--accent-soft);border:1px solid var(--line);white-space:normal;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:72px;padding:14px 16px;display:flex}.imp-door b{color:var(--accent-dark);font-size:16px}.imp-door span{color:#5d4a58;font-size:14px;font-weight:400}.imp-door.check{background:#fff}.imp-door.check.has{background:#fff4e5;border-color:#f2c27a}.imp-back{align-self:flex-start}.imp-file{cursor:pointer;text-align:center;justify-content:center;min-height:54px}.imp-file.small-file{min-height:44px;font-weight:400}button.big,.btn.big{justify-content:center;width:100%;min-height:54px;font-size:16px}.imp-map{flex-direction:column;gap:8px;display:flex}.imp-map-row{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex}.imp-col{flex-direction:column;min-width:0;display:flex}.imp-col small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.imp-map-row select{width:100%;min-height:44px}.imp-prev{flex-direction:column;gap:8px;display:flex}.imp-card{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}.imp-lines{color:#4b3a47;flex-direction:column;gap:2px;font-size:13.5px;display:flex}.imp-warn{color:#a05a00;font-size:13.5px}.imp-reason{color:#a05a00;margin-top:2px;font-size:13.5px}.imp-report{grid-template-columns:repeat(2,1fr);gap:8px;margin:6px 0;display:grid}.imp-num{background:var(--accent-soft);text-align:center;border-radius:14px;padding:12px}.imp-num b{color:var(--accent-dark);font-size:28px;display:block}.imp-num small{color:#5d4a58}.imp-steps{flex-direction:column;gap:10px;margin:0;padding-left:20px;display:flex}.imp-who{align-items:center;gap:10px;font-size:17px;display:flex}.imp-saved{flex-direction:column;gap:10px;display:flex}.imp-pages{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.imp-page{border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:6px;display:flex}.imp-page img{object-fit:cover;border-radius:8px;width:100%;height:130px}.imp-page-btns{gap:6px;display:flex}.imp-page-btns button{min-width:44px;min-height:44px;padding:0}.imp-inline{border-top:1px dashed var(--line);flex-direction:column;gap:8px;padding-top:8px;display:flex}.imp-ph{background:#f3e8f0;border-radius:8px;min-height:80px}.chk .actions{flex-wrap:wrap}.tl-text{white-space:pre-wrap;margin:4px 0}.import-banner{text-align:left;color:#7a4a00;white-space:normal;background:#fff4e5;border:1px solid #f2c27a;width:100%;min-height:48px;margin-bottom:10px;display:flex}.chips.cl-filters{margin:6px 0 2px}.pc-thumbs{gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.pc-thumb{flex-direction:column;flex:none;align-items:center;gap:2px;width:92px;min-height:0;padding:4px;display:flex}.pc-thumb img,.pc-thumb .imp-ph{object-fit:cover;border-radius:6px;width:82px;height:106px}.pc-typed{flex-direction:column;gap:6px;margin-top:8px;display:flex}.pc-typed-row{border-top:1px solid var(--line);white-space:pre-wrap;flex-direction:column;padding-top:6px;font-size:14px;display:flex}.pv{z-index:80;color:#fff;background:#1b1219;flex-direction:column;display:flex;position:fixed;inset:0}.pv-bar{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));align-items:center;gap:10px;display:flex}.pv-bar b{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.pv-tools{justify-content:center;gap:6px;padding:0 12px 8px;display:flex}.pv-tools button,.pv-bar .pv-close{color:#fff;background:#3a2733;border-color:#4d3645;min-height:44px}.pv-stage{-webkit-overflow-scrolling:touch;background:#000;flex:1;min-height:120px;overflow:auto}.pv-img{max-width:none;height:auto;margin:0 auto;display:block}.pv-type{color:var(--ink);max-height:50%;padding:8px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;overflow-y:auto}.pv-type-head{background:0 0;border:0;justify-content:flex-start;width:100%;min-height:44px;font-weight:600}
