@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap";:root{--font:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--ink:#0b0b0f;--ink-2:#16161d;--ink-3:#23232d;--drive:#e11d48;--drive-600:#be123c;--drive-50:#fff1f2;--drive-100:#ffe4e6;--bg:#f5f5f7;--card:#fff;--line:#e7e7ec;--line-2:#f0f0f3;--text:#111118;--text-2:#4b4b57;--muted:#8a8a96;--ok:#059669;--ok-50:#ecfdf5;--warn:#d97706;--warn-50:#fffbeb;--info:#2563eb;--info-50:#eff6ff;--danger:#dc2626;--danger-50:#fef2f2;--violet:#7c3aed;--violet-50:#f5f3ff;--wa:#25d366;--wa-dark:#128c7e;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #1010180a, 0 4px 16px #1010180d;--shadow-lg:0 24px 64px #1010182e}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.small{font-size:12px}.strong{font-weight:700}.right{text-align:right}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1;min-width:0}.stack{flex-direction:column;gap:12px;display:flex}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shell{min-height:100vh;display:flex}.side{background:var(--ink);color:#c9c9d4;flex-direction:column;flex-shrink:0;width:248px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.side .brand{padding:4px 10px 22px}.side nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.side .group{text-transform:uppercase;letter-spacing:.14em;color:#5d5d6b;margin:16px 10px 6px;font-size:10.5px;font-weight:700}.nav-item{color:#b4b4c0;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:9px 11px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--ink-2);color:#fff}.nav-item.active{background:var(--ink-3);color:#fff;box-shadow:inset 3px 0 0 var(--drive)}.nav-item .count{background:var(--drive);color:#fff;border-radius:99px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.side .me{border-top:1px solid var(--ink-3);align-items:center;gap:10px;padding:14px 8px 0;display:flex}.avatar{background:var(--drive);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;border-bottom:1px solid var(--line);background:#f5f5f7d9;align-items:center;gap:12px;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.02em;font-size:19px;font-weight:800}.content{width:100%;max-width:1480px;padding:24px 28px 48px}.btn.burger{display:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px 20px}.card-head{justify-content:space-between;align-items:center;gap:10px;padding:16px 20px 12px;display:flex}.card-head h3{letter-spacing:-.01em;font-size:14.5px;font-weight:800}.grid{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{padding:18px 20px;position:relative;overflow:hidden}.kpi .label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.kpi .value{letter-spacing:-.03em;margin-top:6px;font-size:27px;font-weight:800}.kpi .sub{color:var(--text-2);margin-top:2px;font-size:12.5px}.kpi.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.kpi.dark .label{color:#8a8a96}.kpi.dark .sub{color:#b4b4c0}.bar{background:var(--line-2);border-radius:99px;height:7px;margin-top:12px;overflow:hidden}.bar>span{background:var(--drive);border-radius:99px;height:100%;display:block}.kpi.dark .bar{background:var(--ink-3)}.btn{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 15px;font-size:13.5px;font-weight:700;transition:all .15s;display:inline-flex}.btn:hover{background:#fafafa;border-color:#cfcfd8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--drive);border-color:var(--drive);color:#fff}.btn.primary:hover{background:var(--drive-600)}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn.dark:hover{background:var(--ink-3)}.btn.wa{background:var(--wa);border-color:var(--wa);color:#fff}.btn.wa:hover{background:var(--wa-dark);border-color:var(--wa-dark)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--line-2)}.btn.danger{color:var(--danger)}.btn.sm{border-radius:8px;height:31px;padding:0 11px;font-size:12.5px}.btn.lg{border-radius:12px;height:46px;padding:0 22px;font-size:15px}.btn.icon{width:38px;padding:0}.btn.icon.sm{width:31px}.badge{white-space:nowrap;background:var(--line-2);color:var(--text-2);border-radius:99px;align-items:center;gap:5px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.ok{background:var(--ok-50);color:var(--ok)}.badge.warn{background:var(--warn-50);color:var(--warn)}.badge.danger{background:var(--danger-50);color:var(--danger)}.badge.info{background:var(--info-50);color:var(--info)}.badge.drive{background:var(--drive-50);color:var(--drive-600)}.badge.violet{background:var(--violet-50);color:var(--violet)}.badge.dark{background:var(--ink);color:#fff}.plate{font-family:var(--mono);white-space:nowrap;background:#fff;border:1.5px solid #1d1d24;border-radius:5px;align-items:stretch;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.plate span{align-items:center;padding:4px 6px;display:flex}.plate span+span{border-left:1.5px solid #1d1d24}.plate.ww{background:#fff7d6}.table-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%}table.t th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#fcfcfd;padding:10px 14px;font-size:11px;font-weight:700}table.t td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:12px 14px}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:#fafafb}table.t tr:last-child td{border-bottom:0}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{color:var(--text-2);font-size:12px;font-weight:700}.input,select.input,textarea.input{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;width:100%;height:40px;padding:0 12px;transition:border .15s,box-shadow .15s}textarea.input{resize:vertical;height:auto;min-height:80px;padding:10px 12px}.input:focus{border-color:var(--drive);box-shadow:0 0 0 3px var(--drive-100)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.form-grid .full{grid-column:1/-1}.check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-weight:600;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--drive)}.search{position:relative}.search svg{color:var(--muted);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search .input{padding-left:36px}.seg{background:#ececf0;border-radius:11px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.seg button.on{color:var(--text);background:#fff;box-shadow:0 1px 3px #00000014}.seg button .n{color:var(--muted);font-size:11px}.error-box{background:var(--danger-50);color:var(--danger);border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600}.warn-box{background:var(--warn-50);color:#92400e;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;font-size:13px}.info-box{background:var(--info-50);color:#1e40af;border:1px solid #bfdbfe;border-radius:10px;padding:10px 12px;font-size:13px}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#0b0b0f73;justify-content:center;align-items:flex-start;padding:5vh 16px;animation:.15s fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{width:100%;max-width:560px;box-shadow:var(--shadow-lg);background:#fff;border-radius:18px;animation:.18s ease-out pop}.modal.wide{max-width:860px}.modal-head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-head h2{letter-spacing:-.02em;font-size:17px;font-weight:800}.modal-body{padding:20px 22px}.modal-foot{border-top:1px solid var(--line-2);background:#fcfcfd;border-radius:0 0 18px 18px;justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.toast-wrap{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:22px;right:22px}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:10px;max-width:380px;padding:12px 16px;font-weight:600;animation:.2s pop;display:flex}.toast.err{background:var(--danger)}.list-item{border-top:1px solid var(--line-2);cursor:pointer;align-items:center;gap:12px;padding:12px 20px;display:flex}.list-item:hover{background:#fafafb}.time-chip{font-family:var(--mono);background:var(--line-2);border-radius:8px;flex-shrink:0;padding:5px 8px;font-size:12.5px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:28px 20px;font-size:13px;font-weight:600}.alert-row{border-top:1px solid var(--line-2);align-items:center;gap:12px;padding:11px 20px;display:flex}.alert-ico{border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.car-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.car-card{cursor:pointer;flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.car-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #1010181a}.car-visual{background:linear-gradient(135deg,#f4f4f7,#e9e9ef);place-items:center;height:140px;display:grid;position:relative;overflow:hidden}.car-visual img{object-fit:cover;width:100%;height:100%}.car-visual .tag{position:absolute;top:10px;left:10px}.car-visual .tag-r{position:absolute;top:10px;right:10px}.specs{color:var(--text-2);flex-wrap:wrap;gap:12px;font-size:12px;font-weight:600;display:flex}.specs span{align-items:center;gap:4px;display:inline-flex}.fuel{gap:2px;display:inline-flex}.fuel i{background:var(--line);border-radius:2px;width:9px;height:14px;display:block}.fuel i.on{background:var(--drive)}.fuel.pick i{cursor:pointer;border-radius:6px;width:26px;height:30px}.fuel.pick i:hover{outline:2px solid var(--drive-100)}.gantt{max-height:calc(100vh - 210px);overflow:auto}.gantt-grid{min-width:max-content;display:grid;position:relative}.g-head{z-index:3;border-bottom:1px solid var(--line);color:var(--muted);text-align:center;background:#fcfcfd;padding:6px 0;font-size:11px;font-weight:700;position:sticky;top:0}.g-head.today{color:var(--drive)}.g-head .d{color:var(--text);font-size:14px;font-weight:800}.g-head.today .d{color:var(--drive)}.g-head.we{background:#f6f6f9}.g-car{z-index:2;border-right:1px solid var(--line);border-bottom:1px solid var(--line-2);background:#fff;flex-direction:column;justify-content:center;gap:3px;padding:8px 12px;display:flex;position:sticky;left:0}.g-corner{z-index:4;border-bottom:1px solid var(--line);border-right:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#fcfcfd;align-items:flex-end;padding:8px 12px;font-size:11px;font-weight:700;display:flex;position:sticky;top:0;left:0}.g-cell{border-bottom:1px solid var(--line-2);border-right:1px solid var(--line-2);cursor:copy}.g-cell.we{background:#fafafc}.g-cell:hover{background:var(--drive-50)}.g-bar{color:#fff;cursor:pointer;white-space:nowrap;z-index:1;border-radius:9px;align-items:center;gap:6px;height:34px;padding:0 10px;font-size:12px;font-weight:700;transition:filter .15s;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 6px #0000001f}.g-bar:hover{filter:brightness(1.08);z-index:2}.g-bar.confirmed{background:var(--info)}.g-bar.ongoing{background:var(--drive)}.g-bar.completed{background:#9ca3af}.g-bar.pending{color:#422006;background:repeating-linear-gradient(45deg,#f59e0b,#f59e0b 8px,#fbbf24 8px 16px)}.g-bar.maint{background:#3f3f46}.g-now{background:var(--drive);z-index:2;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.legend{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:12px;font-weight:600;display:flex}.legend i{vertical-align:-2px;border-radius:4px;width:12px;height:12px;margin-right:5px;display:inline-block}.timeline{gap:0;display:flex}.step{text-align:center;color:var(--muted);flex:1;padding-top:26px;font-size:11.5px;font-weight:700;position:relative}.step:before{content:"";background:var(--line);height:3px;position:absolute;top:9px;left:0;right:0}.step:first-child:before{left:50%}.step:last-child:before{right:50%}.step .pt{border:3px solid var(--line);z-index:1;background:#fff;border-radius:50%;width:17px;height:17px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.step.done{color:var(--text)}.step.done:before,.step.cur:before{background:var(--drive)}.step.done .pt{background:var(--drive);border-color:var(--drive)}.step.cur{color:var(--drive)}.step.cur .pt{border-color:var(--drive);box-shadow:0 0 0 4px var(--drive-100)}.kv{grid-template-columns:140px 1fr;gap:7px 12px;font-size:13.5px;display:grid}.kv dt{color:var(--muted);font-weight:600}.kv dd{min-width:0;font-weight:600}.money-line{justify-content:space-between;padding:6px 0;font-size:13.5px;display:flex}.money-line.total{border-top:2px solid var(--ink);margin-top:6px;padding-top:10px;font-size:16px;font-weight:800}.car-diagram{width:100%;max-width:300px;margin:0 auto;display:block}.car-diagram .zone{fill:#f4f4f7;stroke:#c9c9d4;stroke-width:1.5px;cursor:pointer;transition:fill .15s}.car-diagram .zone:hover{fill:var(--drive-100)}.car-diagram .zone.hit{fill:#fecdd3;stroke:var(--drive)}.car-diagram .zone.old{fill:#e4e4e7;stroke:#71717a}.car-diagram text{fill:#71717a;pointer-events:none;text-anchor:middle;font-size:9px;font-weight:700}.wa-bubble{white-space:pre-wrap;background:#dcf8c6;border-radius:12px 12px 2px;padding:12px 14px;font-size:13.5px;box-shadow:0 1px 1px #00000014}.wa-bg{background:#efeae2;border-radius:14px;padding:16px}.qr-box{border:1px solid var(--line);background:#fff;border-radius:16px;place-items:center;width:260px;height:260px;margin:0 auto;display:grid}.login{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-art{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.login-art .road{background:radial-gradient(at 50% 100%,#e11d4859,#0000 60%);height:70%;position:absolute;inset:auto -10% -30%}.login-form{justify-content:center;align-items:center;padding:32px;display:flex}.login-form form{flex-direction:column;gap:14px;width:100%;max-width:380px;display:flex}@media (width<=1100px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.side{z-index:90;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.side.open{box-shadow:var(--shadow-lg);transform:none}.btn.burger{display:inline-flex}.topbar{padding:0 16px}.content{padding:16px 16px 40px}.g2,.g3,.g4,.form-grid{grid-template-columns:minmax(0,1fr)}.login{grid-template-columns:1fr}.login-art{display:none}.hide-sm{display:none!important}.kv{grid-template-columns:110px 1fr}}@keyframes spin{to{transform:rotate(360deg)}}.g-head,.g-corner{box-sizing:border-box;height:50px}.cd-svg{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.cd-zone{fill:#0000;stroke:none;transition:fill .12s}.cd-zone.on{fill:#e11d4824}.cd-hint{color:var(--text-2);border:1px solid var(--line);pointer-events:none;background:#ffffffe6;border-radius:8px;padding:3px 9px;font-size:12px;font-weight:700;position:absolute;bottom:10px;left:12px}.input.sel{text-align:left;cursor:pointer;align-items:center;gap:8px;min-width:0;display:flex}.input.sel:disabled{opacity:.55;cursor:not-allowed;background:#fafafa}.input.sel.focus{border-color:var(--drive);box-shadow:0 0 0 3px var(--drive-100)}.sel-value{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.sel-hint{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.sel-chev{color:var(--muted);flex-shrink:0;transition:transform .15s}.input.sel.focus .sel-chev{transform:rotate(180deg)}.pop-catcher{z-index:300;position:fixed;inset:0}.pop{z-index:301;border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;animation:.14s ease-out pop;display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 50px #1010182e}.pop-foot{border-top:1px solid var(--line-2);background:#fcfcfd;align-items:center;gap:10px;padding:10px 14px;display:flex}.sel-panel{min-height:0;max-height:inherit;flex-direction:column;display:flex}.sel-search{border-bottom:1px solid var(--line-2);color:var(--muted);align-items:center;gap:8px;padding:10px 12px;display:flex}.sel-search input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-weight:600}.sel-list{outline:none;max-height:300px;padding:6px;overflow-y:auto}.sel-opt{cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-weight:600;display:flex}.sel-opt.active{background:var(--line-2)}.sel-opt.selected{background:var(--drive-50);color:var(--drive-600)}.sel-opt-label{display:block}.sel-opt-hint{color:var(--muted);font-size:12px;font-weight:500;display:block}.sel-group{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:10px 10px 4px;font-size:10.5px;font-weight:800}.sel-empty{text-align:center;color:var(--muted);padding:18px;font-weight:600}.pop-sheet-backdrop{z-index:400;background:#0b0b0f73;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.pop-sheet{width:100%;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-radius:24px 24px 0 0;flex-direction:column;animation:.24s cubic-bezier(.16,1,.3,1) sheetUp;display:flex}.pop-sheet-grip{background:#d4d4d8;border-radius:9px;width:42px;height:5px;margin:8px auto 2px}.pop-sheet-head{justify-content:space-between;align-items:center;padding:6px 12px 8px 20px;font-size:16px;display:flex}.pop-sheet-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.pop-sheet-body .sel-list{max-height:none;padding:6px 12px 12px}.pop-sheet-body .sel-opt{padding:13px 12px;font-size:15px}.pop-sheet-body .sel-search{border:1px solid var(--line);border-radius:12px;margin:0 16px 6px}.pop-sheet-foot{border-top:1px solid var(--line-2);align-items:center;gap:10px;padding:12px 16px;display:flex}.pop-sheet-foot .btn{height:46px}@keyframes sheetUp{0%{transform:translateY(100%)}}.cal{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.cal-steps{gap:8px;display:flex}.cal-steps span{background:var(--line-2);color:var(--muted);border-radius:10px;flex:1;padding:8px 10px;font-size:12px;font-weight:600}.cal-steps span b{color:var(--text);text-transform:capitalize}.cal-steps span.on{background:var(--drive-50);color:var(--drive-600);box-shadow:inset 0 0 0 1.5px var(--drive)}.cal-nav{align-items:center;gap:6px;display:flex}.cal-titles{flex:1;justify-content:space-around;gap:10px;font-size:14.5px;display:flex}.cal-months{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;display:grid}.cal-week,.cal-grid{grid-template-columns:repeat(7,1fr);display:grid}.cal-week span{text-align:center;color:var(--muted);text-transform:uppercase;padding:4px 0;font-size:11px;font-weight:800}.cal-day{cursor:pointer;background:0 0;border:0;height:40px;padding:2px 0;font-size:13.5px;font-weight:600;position:relative}.cal-day span{z-index:1;border-radius:50%;place-items:center;width:36px;height:36px;margin:0 auto;transition:background .1s;display:grid;position:relative}.cal-day:hover:not(:disabled) span{background:var(--line-2)}.cal-day:disabled{color:#c9c9d1;cursor:not-allowed;text-decoration:line-through}.cal-day.today span{box-shadow:inset 0 0 0 1.5px var(--ink)}.cal-day.in{background:var(--drive-50)}.cal-day.start span,.cal-day.end span{color:#fff;background:var(--drive)!important}.cal-day.start.has-end{background:linear-gradient(90deg, transparent 50%, var(--drive-50) 50%)}.cal-day.end{background:linear-gradient(90deg, var(--drive-50) 50%, transparent 50%)}.cal-times{border-top:1px solid var(--line-2);grid-template-columns:1fr 1fr;gap:10px;padding-top:10px;display:grid}.cal-times.one{grid-template-columns:1fr}.cal-times label{flex-direction:column;gap:5px;display:flex}.cal-times label>span{color:var(--text-2);align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.drf{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:stretch;width:100%;padding:0;transition:border .15s,box-shadow .15s;display:flex;overflow:hidden}.drf:hover{border-color:#cfcfd8}.drf.focus{border-color:var(--drive);box-shadow:0 0 0 3px var(--drive-100)}.drf-part{flex-direction:column;flex:1;min-width:0;padding:8px 12px;display:flex}.drf-k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.drf-v{text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;overflow:hidden}.drf-t{font-family:var(--mono);color:var(--text-2);font-size:12.5px;font-weight:700}.drf-mid{border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);color:var(--muted);background:#fafafb;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 10px;font-size:11.5px;font-weight:800;display:flex}.drf.hero{background:#f6f6f8;border:0;border-radius:12px}.drf.hero .drf-mid{background:0 0;border-color:#e7e7ec}.price-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.price-mode{text-align:left;border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:3px;padding:12px 14px;transition:all .15s;display:flex}.price-mode span{color:var(--muted);font-size:12.5px;font-weight:500}.price-mode.on{border-color:var(--drive);background:var(--drive-50);box-shadow:0 0 0 3px var(--drive-100)}.price-mode.on b{color:var(--drive-600)}@media (width<=860px){.price-modes{grid-template-columns:1fr}}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}.bottom-nav,.app-back,.checkout-bar{display:none}@media (display-mode:standalone){body{overscroll-behavior-y:none}.bottom-nav,.side,.topbar{-webkit-user-select:none;user-select:none}}@media (width<=860px){.btn.burger{display:none}.app-back{margin-left:-8px;display:inline-flex}.topbar{height:auto;min-height:56px;padding-top:env(safe-area-inset-top);background:#f5f5f7f5}.topbar h1{font-size:18px}.side{height:100dvh;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}.content{padding-bottom:calc(100px + env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}input,select,textarea,.input{font-size:16px!important}.bottom-nav{z-index:70;padding:6px max(6px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));border-top:1px solid var(--line);background:#fff;justify-content:space-around;align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #1010180f}.bottom-nav-item{min-width:0;min-height:54px;color:var(--muted);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:2px;display:flex}.bottom-nav-icon{border-radius:999px;justify-content:center;align-items:center;width:56px;height:30px;transition:background .15s,transform .1s;display:flex;position:relative}.bottom-nav-item:active .bottom-nav-icon{transform:scale(.92)}.bottom-nav-item.active{color:var(--drive)}.bottom-nav-item.active .bottom-nav-icon{background:var(--drive-50)}.bottom-nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;font-weight:700;line-height:1.15;overflow:hidden}.bottom-nav-item.fab .bottom-nav-icon{background:var(--drive);color:#fff;border:4px solid #fff;width:52px;height:52px;margin-top:-24px;box-shadow:0 8px 20px #e11d4866}.bottom-nav-item.fab{color:var(--text)}.bottom-nav-badge{background:var(--drive);color:#fff;border:2px solid #fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;font-style:normal;font-weight:800;display:grid;position:absolute;top:-3px;right:8px}.toast-wrap{top:calc(12px + env(safe-area-inset-top));bottom:auto;left:16px;right:16px}.toast{max-width:none}.detail-actions{scrollbar-width:none;width:100%;margin:0 -2px;padding-bottom:2px;overflow-x:auto;flex-wrap:nowrap!important}.detail-actions::-webkit-scrollbar{display:none}.detail-actions .btn{flex-shrink:0}[data-wizard]>aside{display:none}.checkout-bar{z-index:65;left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom));background:var(--ink);color:#fff;border-radius:18px;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;position:fixed;box-shadow:0 12px 32px #0b0b0f59}.checkout-bar .muted{color:#a1a1aa}[data-wizard]{padding-bottom:80px}}@media (width<=640px){.overlay{padding:env(safe-area-inset-top) 0 0;align-items:flex-end}.modal,.modal.wide{overscroll-behavior:contain;border-radius:24px 24px 0 0;max-width:none;max-height:94dvh;animation:.24s cubic-bezier(.16,1,.3,1) sheetUp;overflow-y:auto}.modal-head{z-index:3;background:#fff;border-radius:24px 24px 0 0;padding:14px 18px;position:sticky;top:0}.modal-head:before{content:"";background:#d4d4d8;border-radius:4px;width:40px;height:4px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.modal-body{padding:16px 18px}.modal-foot{z-index:3;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-radius:0;flex-wrap:wrap;position:sticky;bottom:0}.modal-foot>.btn,.modal-foot>a.btn{flex:calc(50% - 4px);height:46px}.modal-foot>.grow{flex-basis:100%}table.t thead{display:none}table.t,table.t tbody,table.t tr,table.t td{width:100%;display:block}table.t tr{border-bottom:1px solid var(--line-2);padding:12px 14px;position:relative}table.t tr:last-child{border-bottom:0}table.t td{text-align:right;border:0;justify-content:space-between;align-items:center;gap:12px;padding:3px 0;display:flex}table.t td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;flex-shrink:0;font-size:11px;font-weight:700}table.t td[data-label=""]:before{content:none}table.t td:first-child{padding-bottom:6px;font-size:15px}table.t td.right{text-align:right}table.t tr.click:hover td{background:0 0}table.t tr.click:active{background:#fafafb}.seg{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{flex-shrink:0}.search .input{width:100%!important}.row.between.wrap>.row{width:100%}.row.between.wrap>.row>.search{flex:1}.kpi .value{font-size:23px}.grid.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid.g4>.kpi{padding:14px}.grid.g4 .kpi .value{font-size:19px}.grid.g4 .kpi .label{letter-spacing:.03em;font-size:10.5px}.grid.g4 .kpi .sub{font-size:11.5px}}.vc-months{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.vc-title{text-transform:capitalize;margin-bottom:6px;font-weight:800}.vc-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.vc-day{cursor:pointer;border:0;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:46px;font-size:13px;font-weight:700;transition:transform .1s;display:flex;position:relative;overflow:hidden}.vc-day:hover{z-index:1;transform:scale(1.06)}.vc-who{white-space:nowrap;text-overflow:ellipsis;opacity:.9;max-width:100%;padding:0 2px;font-size:9px;font-style:normal;font-weight:700;overflow:hidden}.vc-day.free{color:#166534;background:#f0fdf4;box-shadow:inset 0 0 0 1px #bbf7d0}.vc-day.past{color:#c4c4cc;cursor:default;background:#fafafa}.vc-day.past:hover,.vc-day.blocked:hover{transform:none}.vc-day.blocked{color:#fca5a5;cursor:not-allowed;background:#fef2f2}.vc-day.ongoing{background:var(--drive);color:#fff}.vc-day.confirmed{background:var(--info);color:#fff}.vc-day.pending{color:#422006;background:repeating-linear-gradient(45deg,#f59e0b,#f59e0b 6px,#fbbf24 6px 12px)}.vc-day.completed{color:#52525b;background:#e4e4e7}.vc-day.maint{color:#fff;background:#3f3f46}.vc-day.today{box-shadow:inset 0 0 0 2px var(--ink)}.tl{max-height:560px;padding:4px 20px 16px;position:relative;overflow-y:auto}.tl-month{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:12px 0 6px 44px;font-size:11px;font-weight:800}.tl-item{border-radius:10px;align-items:flex-start;gap:12px;padding:8px 10px 8px 0;display:flex;position:relative}.tl-item:before{content:"";background:var(--line-2);width:2px;position:absolute;top:34px;bottom:-8px;left:15px}.tl-item.click{cursor:pointer}.tl-item.click:hover{background:#fafafb}.tl-dot{z-index:1;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;position:relative}.tl-dot.drive{background:var(--drive-50);color:var(--drive)}.tl-dot.ok{background:var(--ok-50);color:var(--ok)}.tl-dot.danger{background:var(--danger-50);color:var(--danger)}.tl-dot.warn{background:var(--warn-50);color:var(--warn)}.tl-dot.info{background:var(--info-50);color:var(--info)}.tl-dot.violet{background:var(--violet-50);color:var(--violet)}.tl-dot.muted{background:var(--line-2);color:var(--muted)}@media (width<=640px){.vc-day{height:42px}.tl{max-height:none;padding:4px 12px 12px}}
