:root{--glass-alpha:0.62;--bg-base:#eaf0fb;--text:#0b1020;--muted:#64748b;--line:rgba(15,23,42,0.08);--brand-red:#D80C13;--brand-blue:#08437F;--brand-black:#222221;--brand-gray:#E3E3E2;--brand-gray-2:#A1A09F;--blue:#08437F;--blue-rgb:8 67 127;--blue-2:#0a5299;--green:#16a34a;--orange:#ea580c;--red:#dc2626;--panel-bg:rgb(255 255 255/var(--glass-alpha));--panel-border:rgba(255,255,255,0.7);--tip-bg:#ffffff;--panel-shadow:0 22px 55px rgba(15,23,42,0.13);--panel-highlight:inset 0 1px 0 rgba(255,255,255,0.8);--soft-bg:rgba(255,255,255,0.5);--chip-bg:rgba(255,255,255,0.55);--input-bg:rgba(255,255,255,0.72);--glow-blue:0 12px 34px rgba(8,67,127,0.36);--glow-green:0 12px 34px rgba(22,163,74,0.34);--r-lg:28px;--r-md:18px;--r-sm:13px}[data-theme=dark]{--bg-base:#0b1020;--text:#f6f8fc;--muted:#97a4bd;--line:rgba(255,255,255,0.1);--blue:#4D8EC0;--blue-rgb:77 142 192;--blue-2:#6ca6d8;--green:#22c55e;--orange:#fb923c;--red:#f87171;--panel-bg:rgb(18 24 42/var(--glass-alpha));--panel-border:rgba(255,255,255,0.12);--tip-bg:#1b2540;--panel-shadow:0 26px 60px rgba(0,0,0,0.55);--panel-highlight:inset 0 1px 0 rgba(255,255,255,0.08);--soft-bg:rgba(255,255,255,0.05);--chip-bg:rgba(255,255,255,0.07);--input-bg:rgba(255,255,255,0.06);--glow-blue:0 12px 38px rgba(8,67,127,0.5);--glow-green:0 12px 38px rgba(34,197,94,0.45)}*{box-sizing:border-box}html{color-scheme:light}[data-theme=dark] html,html[data-theme=dark]{color-scheme:dark}body{margin:0;font-family:var(--font-inter),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",sans-serif;color:var(--text);background:var(--bg-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.011em;transition:background .5s ease,color .3s ease}body:before{content:"";position:fixed;inset:-10% -10% -10% -10%;z-index:-1;pointer-events:none;background:radial-gradient(42% 42% at 14% 8%,rgba(96,165,250,.42),transparent 70%),radial-gradient(36% 36% at 86% 12%,rgba(52,211,153,.34),transparent 70%),radial-gradient(46% 46% at 78% 92%,rgba(167,139,250,.34),transparent 70%),radial-gradient(42% 42% at 8% 88%,rgba(56,189,248,.28),transparent 70%);filter:saturate(125%);animation:aurora 22s ease-in-out infinite alternate}[data-theme=dark] body:before{background:radial-gradient(42% 42% at 14% 8%,rgb(var(--blue-rgb)/.4),transparent 70%),radial-gradient(36% 36% at 86% 12%,rgba(16,185,129,.26),transparent 70%),radial-gradient(48% 48% at 80% 94%,rgba(124,58,237,.36),transparent 70%),radial-gradient(42% 42% at 6% 90%,rgba(14,165,233,.24),transparent 70%);filter:saturate(110%)}@keyframes aurora{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,-2%,0) scale(1.06)}}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}.app{max-width:1180px;margin:0 auto;padding:28px 24px 64px}.glass{border:1px solid var(--panel-border)}.glass,.topbar{background:var(--panel-bg);box-shadow:var(--panel-shadow),var(--panel-highlight);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%)}.topbar{position:-webkit-sticky;position:sticky;top:14px;z-index:60;justify-content:space-between;padding:11px 20px;border-radius:18px;margin-bottom:24px;border:1px solid var(--panel-border);animation:fade-down .5s both}.topbar,.topbar-left{display:flex;align-items:center;gap:16px}.topbar-left{min-width:0}.topbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.eyebrow{margin:0;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:800}.brand-logo{display:inline-flex;align-items:center;flex-shrink:0;padding-left:4px}.brand-logo-img{display:block;height:24px;width:auto;aspect-ratio:790/135}.brand-logo-for-dark,[data-theme=dark] .brand-logo-for-light{display:none}[data-theme=dark] .brand-logo-for-dark{display:block}.brand-lockup{display:inline-flex;flex-direction:column;align-items:stretch;gap:9px;flex-shrink:0}.brand-lockup .brand-logo{padding-left:0}.brand-lockup .brand-logo-img{height:27px}.brand-claim-mini{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 78%,var(--muted));text-align:center;white-space:nowrap;line-height:1.1}.brand-claim-mini span{color:inherit}.topnav{display:flex;align-items:center;gap:3px;min-width:0;overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.topnav button{display:inline-flex;align-items:center;gap:7px;border:0;cursor:pointer;padding:8px 13px;border-radius:11px;background:transparent;color:var(--muted);font-weight:700;font-size:14px;white-space:nowrap;transition:color .2s ease,background .25s ease,box-shadow .25s ease,transform .12s ease}.topnav button:hover{color:var(--text);background:var(--soft-bg)}.topnav button:active{transform:scale(.97)}.topnav button.active{color:#fff;background:linear-gradient(140deg,var(--blue),var(--blue-2));box-shadow:var(--glow-blue)}.account{position:relative;flex-shrink:0}.account-btn{display:inline-flex;align-items:center;gap:9px;padding:4px 8px 4px 4px;border-radius:999px;border:1px solid var(--panel-border);background:var(--chip-bg);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .2s ease,border-color .2s ease}.account-btn:hover{background:var(--soft-bg)}.account-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12.5px;color:#fff;flex-shrink:0;background:linear-gradient(140deg,var(--blue),var(--blue-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.account-id{display:flex;flex-direction:column;line-height:1.15;text-align:left}.account-id strong{font-size:13px}.account-id span{font-size:11px;color:var(--muted);font-weight:700}.account-caret{color:var(--muted);display:inline-flex}.account-menu{position:absolute;right:0;top:calc(100% + 10px);width:248px;padding:8px;border-radius:16px;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow),var(--panel-highlight);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);z-index:70;animation:fade-down .16s both}.account-head{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.account-head strong{display:block;font-size:14px}.account-head>span{display:block;font-size:12px;color:var(--muted);margin-top:1px}.account-role{display:inline-flex;margin-top:8px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:800;background:rgb(var(--blue-rgb)/.14);color:var(--blue);border:1px solid rgb(var(--blue-rgb)/.28)}.account-menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:9px 12px;border-radius:10px;cursor:pointer;color:var(--text);font-weight:600;font-size:13.5px;transition:background .18s ease}.account-menu button:hover{background:var(--soft-bg)}.account-signout{color:var(--red)!important}.app-body{animation:fade-up .4s both}.nav-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--panel-border);background:var(--soft-bg);color:var(--text);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast,.15s) ease}.nav-burger:hover{background:rgb(var(--blue-rgb)/.12)}.nav-burger:active{transform:scale(.96)}.mobile-menu-backdrop{position:fixed;inset:0;z-index:70;border:0;background:transparent;cursor:default}.mobile-menu{position:fixed;top:64px;right:14px;z-index:71;display:flex;flex-direction:column;gap:3px;min-width:224px;max-width:calc(100vw - 28px);padding:8px;border-radius:18px;background:#ffffff;border:1px solid var(--panel-border);box-shadow:0 18px 50px rgba(8,12,20,.28),var(--panel-highlight);animation:fade-down .18s both}[data-theme=dark] .mobile-menu{background:rgb(22 29 49)}.mobile-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border:0;border-radius:12px;background:transparent;color:var(--text);font-size:15px;font-weight:600;cursor:pointer;text-align:left}.mobile-menu button:hover{background:rgb(var(--blue-rgb)/.1)}.mobile-menu button.active{background:rgb(var(--blue-rgb)/.16);color:var(--blue)}@media (max-width:860px){.topbar{top:8px;padding:9px 14px}.brand-lockup .brand-logo-img,.brand-logo-img{height:22px}.account-id,.brand-claim-mini{display:none}.topbar-left{gap:10px;min-width:0}.topnav{display:none}.nav-burger{display:inline-flex}}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:400px;padding:34px 30px;border-radius:var(--r-lg);background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow),var(--panel-highlight);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);animation:fade-up .5s both}.login-lockup{display:flex;flex-direction:column;align-items:center;gap:17px;margin-bottom:26px}.login-logo{display:flex;justify-content:center}.login-logo .brand-logo-img{height:32px}.login-claim{position:relative;margin:0;padding-top:14px;font-size:11.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 75%,var(--muted));text-align:center;white-space:nowrap}.login-claim:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:42px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--brand-gray) 0 33.3%,var(--brand-red) 33.3% 66.6%,var(--brand-blue) 66.6% 100%)}.login-claim span{color:inherit}.login-card h1{font-size:23px;letter-spacing:-.03em}.login-card h1,.login-sub{margin:0 0 24px;text-align:center}.login-sub{color:var(--muted);font-size:14px}.login-card label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px}.login-card input{width:100%;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--input-bg);margin-bottom:16px;font-size:15px;color:var(--text)}.login-card input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgb(var(--blue-rgb)/.18)}.login-error{background:rgba(220,38,38,.12);color:var(--red);border:1px solid rgba(220,38,38,.3);border-radius:var(--r-sm);padding:10px 12px;font-size:13.5px;font-weight:600;margin-bottom:14px}.login-card .primary-btn{width:100%;margin-top:6px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:22px;column-gap:22px;grid-row-gap:0;row-gap:0;margin-top:4px}.detail-row{display:grid;grid-template-columns:104px 1fr;grid-gap:10px;gap:10px;padding:7px 4px;border-bottom:1px solid var(--line);align-items:start}.detail-row:last-child{border-bottom:0}@media (max-width:560px){.detail-grid{grid-template-columns:1fr}}.detail-label{font-size:11.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding-top:1px}.detail-value{font-size:14px;font-weight:600;word-break:break-word;overflow-wrap:break-word;min-width:0}.call-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:800}.call-link .call-cta{font-size:11px;padding:2px 9px;border-radius:999px;background:rgb(var(--blue-rgb)/.14);border:1px solid rgb(var(--blue-rgb)/.3)}.call-link:hover .call-cta{background:rgb(var(--blue-rgb)/.22)}.account-pwd{margin-top:20px}.account-pwd .form-section-title{margin-bottom:12px}.account-pwd .field-label{margin-top:12px}.account-pwd input{width:100%;padding:11px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--input-bg);font-size:14px;margin-top:6px;color:var(--text)}.account-pwd input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgb(var(--blue-rgb)/.18)}.account-pwd .primary-btn{margin-top:16px;width:auto}.theme-controls{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:999px;background:var(--chip-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--soft-bg);display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,background .2s ease}.theme-toggle:hover{transform:rotate(-12deg) scale(1.06)}.glass-slider{display:flex;align-items:center;gap:8px}.glass-slider span{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.04em}.glass-slider input[type=range]{width:78px;accent-color:var(--blue);cursor:pointer}.intro{margin:28px 0 22px;animation:fade-up .55s both}.intro h2{margin:0 0 10px;font-size:clamp(27px,3.6vw,42px);line-height:1.04;letter-spacing:-.04em}.intro p{margin:0;max-width:760px;color:var(--muted);font-size:16px;line-height:1.6}.tabs{gap:6px;padding:6px;border-radius:16px;margin-bottom:20px;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-highlight);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}.tabs,.tabs button{display:inline-flex}.tabs button{align-items:center;gap:8px;border:0;cursor:pointer;padding:10px 18px;border-radius:12px;background:transparent;color:var(--muted);font-weight:800;transition:color .25s ease,background .3s ease,box-shadow .3s ease,transform .15s ease}.tabs button:active{transform:scale(.97)}.tabs button.active{background:linear-gradient(140deg,var(--blue),var(--blue-2));color:#fff;box-shadow:var(--glow-blue)}.planner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.recommend-grid{grid-template-columns:1fr}.recommend-grid .search-panel{position:relative;z-index:5}.recommend-grid .result-panel{position:relative;z-index:1}.search-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:6px}.search-addr{flex:1 1 280px;min-width:240px;display:flex;flex-direction:column;gap:6px}.search-addr .field-label{margin:0}.search-fld{flex:0 1 130px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted)}.search-fld input,.search-fld select{width:100%}.search-btn{flex:0 0 auto;width:auto;margin:0;align-self:flex-end;white-space:nowrap}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow),var(--panel-highlight);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);border-radius:var(--r-lg);padding:24px;animation:fade-up .5s both}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.panel h3{margin:4px 0 0;font-size:21px;letter-spacing:-.025em}.head-actions{display:flex;align-items:center;gap:12px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;background:var(--soft-bg);color:var(--muted);font-weight:800;font-size:12px;white-space:nowrap;border:1px solid var(--line)}.badge.ok{background:rgba(34,197,94,.14);color:var(--green);border-color:rgba(34,197,94,.3)}.badge.warn{background:rgba(234,88,12,.14);color:var(--orange);border-color:rgba(234,88,12,.3)}.field-label{display:block;font-size:13px;font-weight:800;color:var(--muted);margin-bottom:8px}.muted-text{color:var(--muted);line-height:1.55;margin:0 0 16px;font-size:14px}.addr-field{display:grid;grid-gap:8px;gap:8px;position:relative}.addr-input-row{display:flex;gap:8px;align-items:center;position:relative}.addr-input-row input{flex:1 1}.addr-spin{position:absolute;right:14px;color:var(--blue);font-weight:800;pointer-events:none;animation:pulse 1s ease-in-out infinite}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 13px;background:var(--input-bg);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgb(var(--blue-rgb)/.18)}.ghost-btn{border:1px solid var(--panel-border);background:var(--soft-bg);border-radius:var(--r-sm);padding:0 16px;height:40px;font-weight:800;cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .15s ease,background .2s ease}.ghost-btn:hover{transform:translateY(-1px)}.ghost-btn:active{transform:scale(.97)}.mini-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--panel-border);background:transparent;border-radius:9px;padding:0 10px;height:30px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .15s ease,border-color .15s ease,background .15s ease}.mini-btn:hover{color:var(--text);border-color:var(--blue);background:var(--soft-bg)}.mini-btn:active{transform:scale(.97)}.mini-btn:disabled{opacity:.5;cursor:default}.link-btn{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer;padding:4px}.addr-error{color:var(--red);margin:2px 0 0}.addr-error,.addr-verify-raw{font-size:13px;font-weight:600}.addr-verify-raw{display:inline-flex;align-items:center;gap:7px;align-self:start;padding:7px 12px;border:1px dashed var(--panel-border);border-radius:var(--r-md);background:rgb(var(--blue-rgb)/.06);color:var(--blue);cursor:pointer}.addr-verify-raw:hover{background:rgb(var(--blue-rgb)/.14)}.addr-candidates .addr-cand-verify{border-top:1px dashed var(--panel-border);color:var(--blue);font-weight:600}.addr-candidates .addr-cand-exact{color:var(--blue);font-weight:700;background:rgb(var(--blue-rgb)/.06)}.addr-candidates .addr-cand-exact:hover{background:rgb(var(--blue-rgb)/.16)}.addr-candidates{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;list-style:none;margin:0;padding:6px;border:1px solid var(--panel-border);border-radius:var(--r-md);background:var(--tip-bg);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);display:grid;grid-gap:4px;gap:4px;box-shadow:var(--panel-shadow);animation:pop-in .18s ease both}.addr-candidates button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:0;background:transparent;border-radius:10px;padding:10px 11px;cursor:pointer;color:var(--text);font-weight:600}.addr-candidates button:hover{background:rgb(var(--blue-rgb)/.14)}.addr-resolved{display:flex;align-items:center;gap:11px;border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.1);border-radius:var(--r-sm);padding:11px 13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:pop-in .22s ease both;min-width:0}.addr-dot{width:10px;height:10px;border-radius:50%;background:var(--green);flex-shrink:0;box-shadow:0 0 0 4px rgba(34,197,94,.2)}.addr-text{flex:1 1;display:grid;grid-gap:2px;gap:2px;min-width:0}.addr-text strong{font-size:14px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.addr-warn{color:var(--orange);font-size:12px;font-style:normal}.addr-resolved .link-btn{flex-shrink:0}.stop-rows{display:grid;grid-gap:18px;gap:18px}.stop-row{display:flex;align-items:flex-start;gap:10px}.stop-index{width:30px;height:42px;flex-shrink:0;display:grid;place-items:center;font-weight:900;color:#fff;background:linear-gradient(140deg,var(--blue),var(--blue-2));border-radius:11px;box-shadow:var(--glow-blue)}.stop-field{flex:1 1}.icon-btn{width:42px;height:42px;flex-shrink:0;border:1px solid var(--line);background:var(--soft-bg);border-radius:11px;font-size:20px;line-height:1;color:var(--muted);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s ease,background .2s ease,color .2s ease}.icon-btn:hover:not(:disabled){background:rgba(220,38,38,.12);color:var(--red);border-color:rgba(220,38,38,.3);transform:scale(1.05)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.add-btn{margin-top:12px;width:100%;border:1.5px dashed var(--line);background:var(--soft-bg);border-radius:var(--r-sm);padding:12px;font-weight:800;color:var(--blue);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s ease,background .2s ease,transform .15s ease}.add-btn:hover{border-color:var(--blue);transform:translateY(-1px)}.warn-note{margin-top:14px;display:flex;gap:9px;align-items:center;border-radius:var(--r-sm);padding:11px 13px;background:rgba(234,88,12,.12);color:var(--orange);font-weight:700;font-size:13px;border:1px solid rgba(234,88,12,.28)}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;margin:20px 0}.options-grid.two{grid-template-columns:1fr}.options-grid label{display:grid;grid-gap:7px;gap:7px;font-size:13px}.opt-tag,.options-grid label{font-weight:700;color:var(--muted)}.opt-tag{font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin-left:4px}.checkbox-label{flex-direction:row;align-items:center;gap:10px!important;display:flex!important}.checkbox-label input{width:19px;height:19px;accent-color:var(--blue)}.primary-btn{width:100%;border:0;border-radius:var(--r-sm);padding:15px;font-weight:800;font-size:15px;cursor:pointer;color:#fff;background:linear-gradient(140deg,var(--blue),var(--blue-2));box-shadow:var(--glow-blue);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,filter .2s ease}.primary-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.primary-btn:active:not(:disabled){transform:scale(.98)}.primary-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.hint{color:var(--muted);font-size:13px;text-align:center;margin:10px 0 0}.result-actions{display:flex;gap:10px;margin-top:16px}.result-actions .primary-btn{flex:1 1}.maps-btn{background:linear-gradient(140deg,#16a34a,#15803d);box-shadow:var(--glow-green)}.copy-btn{flex:0 0 auto;width:auto;padding:15px 18px;background:var(--soft-bg);color:var(--text);border:1px solid var(--panel-border);box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.copy-btn.done{color:var(--green);border-color:rgba(34,197,94,.4)}.result-panel{min-height:220px}.empty-result{display:grid;grid-gap:12px;gap:12px;place-items:center;text-align:center;color:var(--muted);padding:54px 20px}.empty-result svg{opacity:.7}.empty-result p{max-width:340px;margin:0;line-height:1.55}.result-content{animation:fade-up .45s both}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}.result-stats div{background:var(--soft-bg);border:1px solid var(--line);border-radius:var(--r-md);padding:13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pop-in .4s both}.result-stats span{display:block;color:var(--muted);font-size:12px;font-weight:700}.result-stats strong{display:block;font-size:19px;margin-top:4px;letter-spacing:-.025em}.stop-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:9px;gap:9px}.stop-list li{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--soft-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-up .4s both}.stop-list li.start-stop{background:linear-gradient(140deg,var(--blue),var(--blue-2));border-color:transparent;color:#fff;box-shadow:var(--glow-blue)}.stop-list strong{display:block;font-size:14px}.stop-list span{display:block;color:var(--muted);margin-top:3px;font-size:13px}.start-stop span{color:rgba(255,255,255,.85)}.status-pill{align-self:center;border-radius:999px;padding:6px 11px;background:rgb(var(--blue-rgb)/.14);color:var(--blue);font-size:12px;font-weight:800;white-space:nowrap;border:1px solid rgb(var(--blue-rgb)/.25)}.return-box{margin:14px 0;display:flex;gap:10px;align-items:center;border-radius:var(--r-md);padding:12px 14px;background:rgba(234,88,12,.12);color:var(--orange);font-weight:700;font-size:14px;border:1px solid rgba(234,88,12,.25)}.map-wrap{margin-top:16px}.route-map{width:100%;height:380px;border:0;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--panel-border);box-shadow:var(--panel-shadow)}.map-fallback{width:100%;height:380px;position:relative;display:grid;place-items:center;border-radius:var(--r-md);overflow:hidden;background:var(--soft-bg);color:var(--muted);font-weight:700;border:1px solid var(--line)}.map-grid{position:absolute;inset:0;opacity:.4;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px}.map-fallback p{position:relative;z-index:2;max-width:320px;text-align:center;padding:13px 16px}.rec-list{display:grid;grid-gap:22px;gap:22px}.recommendation{position:relative;z-index:0;display:flex;flex-direction:column;gap:0;border-radius:var(--r-md);padding:20px 22px 22px;border:1px solid var(--line);background:var(--soft-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-up .4s backwards;transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease}.recommendation:hover{z-index:5;transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.32)}.recommendation.green{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.1)}.recommendation.orange{border-color:rgba(234,88,12,.4);background:rgba(234,88,12,.1)}.recommendation.red{border-color:rgba(220,38,38,.4);background:rgba(220,38,38,.1)}.recommendation.green:hover{border-color:rgba(34,197,94,.75);box-shadow:0 18px 44px rgba(0,0,0,.32),0 0 0 1px rgba(34,197,94,.25)}.recommendation.orange:hover{border-color:rgba(234,88,12,.75);box-shadow:0 18px 44px rgba(0,0,0,.32),0 0 0 1px rgba(234,88,12,.25)}.recommendation.red:hover{border-color:rgba(220,38,38,.75);box-shadow:0 18px 44px rgba(0,0,0,.32),0 0 0 1px rgba(220,38,38,.25)}.rec-top{gap:14px}.rec-rank,.rec-top{display:flex;align-items:center}.rec-rank{min-width:66px;height:60px;flex-shrink:0;flex-direction:column;justify-content:center;padding:0 8px;text-align:center;border-radius:15px;line-height:1.1;background:var(--panel-bg);box-shadow:var(--panel-shadow);border:1px solid var(--panel-border)}.rec-added{font-weight:900;font-size:19px}.rec-added-unit{font-size:11px;color:var(--muted);margin-top:2px;font-weight:700}.recommendation.green .rec-rank{color:#16a34a}.recommendation.orange .rec-rank{color:#ea580c}.recommendation.red .rec-rank{color:#dc2626}.rec-ident{flex:1 1;min-width:0}.rec-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rec-ident strong{font-size:16px}.rec-date-row{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:4px}.rec-date{color:var(--muted);text-transform:capitalize;font-size:13px;white-space:nowrap}.rec-flag{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:rgba(220,38,38,.16);color:#dc2626;text-transform:uppercase;letter-spacing:.04em}.rec-rel{font-style:normal;color:var(--blue);font-weight:800;margin-left:4px;text-transform:none}.rec-badges{display:inline-flex;flex-wrap:wrap;gap:6px}.rec-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--muted);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:999px;padding:4px 10px;white-space:nowrap}.rec-chip.chip-strong{color:var(--text);border-color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,transparent)}.rec-chip.chip-strong svg{color:var(--blue)}.rec-divider{height:1px;background:color-mix(in srgb,var(--text) 11%,transparent);margin:14px 0 4px}.rec-info{display:flex;flex-wrap:wrap;align-items:center;gap:7px 18px;font-size:13.5px;color:var(--text);font-weight:600;margin:4px 0 0}.rec-info span{display:inline-flex;align-items:center;gap:6px}.rec-info svg{opacity:.7;flex-shrink:0}.rec-cal{margin:6px 0 4px}.rec-cal-stage{position:relative;display:flex;align-items:center;gap:14px;padding:48px 2px 42px}.rec-cal-edge{flex:0 0 auto;font-size:13.5px;font-weight:800;color:var(--text);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rec-cal-track{flex:1 1;position:relative;height:26px;border-radius:8px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid color-mix(in srgb,var(--text) 8%,transparent)}.rec-cal-grid{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--text) 7%,transparent)}.rec-cal-stop-wrap{position:static}.rec-cal-conn{position:absolute;top:13px;height:2px;transform:translateY(-50%);z-index:1;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--text) 32%,transparent) 0 5px,transparent 5px 9px)}.rec-cal-conn-pill{top:13px;transform:translate(-50%,-50%);font-style:normal;font-size:10.5px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:999px;padding:2px 7px;line-height:1.3}.rec-cal-conn-pill,.rec-cal-time{position:absolute;z-index:6;font-weight:800;white-space:nowrap}.rec-cal-time{top:-18px;transform:translateX(-50%);font-size:11.5px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rec-cal-time.is-new-time{color:#16a34a}.rec-cal-time.is-conflict-time{color:#dc2626}.rec-cal-block{position:absolute;top:0;height:26px;border-radius:6px;min-width:5px;cursor:default;z-index:2;background:var(--blue);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.rec-cal-block.is-existing-conflict{box-shadow:0 0 0 2px #dc2626,inset 0 0 0 1px rgba(255,255,255,.12)}.rec-cal-block.is-new{top:-3px;height:32px;background:#16a34a;box-shadow:0 0 0 2px rgba(22,163,74,.35),0 4px 12px rgba(22,163,74,.4);z-index:3}.rec-cal-block.is-new.is-conflict{background:#dc2626;box-shadow:0 0 0 2px rgba(220,38,38,.35),0 4px 12px rgba(220,38,38,.4)}.rec-cal-block.is-return{background:color-mix(in srgb,var(--text) 48%,var(--panel-bg));display:flex;align-items:center;justify-content:center;color:var(--panel-bg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.rec-cal-block.is-return svg{width:12px;height:12px}.rec-cal-cap{display:flex;align-items:center;justify-content:center;min-width:22px;background:color-mix(in srgb,var(--text) 50%,var(--panel-bg));color:var(--panel-bg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);z-index:4}.rec-cal-place{position:absolute;top:calc(100% + 7px);transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;text-align:center;z-index:6}.rec-cal.compact .rec-cal-place.alt{top:calc(100% + 23px)}.rec-cal-tip{position:absolute;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:2px;min-width:200px;max-width:270px;padding:10px 12px;z-index:30;background:var(--tip-bg);border:1px solid var(--panel-border);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.4);font-size:12px;color:var(--text);line-height:1.4;text-align:left;white-space:normal;animation:rec-tip-in .12s both}@keyframes rec-tip-in{0%{opacity:0;transform:translateX(-50%) translateY(3px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.rec-cal-tip.up{bottom:calc(100% + 9px)}.rec-cal-tip.down{top:calc(100% + 9px)}.rec-cal-tip strong{font-size:13px}.rec-cal-tip span{color:var(--muted)}.rec-cal-tip .rec-tip-row{display:inline-flex;align-items:center;gap:4px;color:var(--text);font-weight:600}.rec-cal-tip .rec-tip-warn{color:#dc2626;font-weight:700}.rec-cal-tip:after{content:"";position:absolute;left:50%;transform:translateX(-50%);border:6px solid transparent}.rec-cal-tip.up:after{top:100%;border-top-color:var(--tip-bg)}.rec-cal-tip.down:after{bottom:100%;border-bottom-color:var(--tip-bg)}.rec-cal-axis{display:flex;justify-content:space-between;margin-top:2px;font-size:11px;font-weight:700;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rec-warn{color:#dc2626!important;font-weight:700;line-height:1.4;display:block;margin-top:8px}[data-theme=dark] .rec-warn{color:#f87171!important}.recommendation small{color:var(--muted);line-height:1.45;display:block}.rec-more{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:18px}.rec-more-info{font-size:12.5px;font-weight:600;color:var(--muted)}.rec-more-btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:13.5px;font-weight:800;color:var(--text);padding:10px 18px;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel-bg);transition:background .15s ease,transform .15s ease}.rec-more-btn:hover{background:color-mix(in srgb,var(--blue) 14%,transparent);border-color:var(--blue);transform:translateY(-1px)}.rec-more-btn svg{color:var(--blue)}.rec-more-size{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--muted)}.rec-more-size select{width:auto;padding:7px 10px}.rec-foot{display:flex;align-items:center;gap:24px;margin-top:18px;flex-wrap:wrap}.rec-foot .rec-info{flex:1 1 64%;margin:0}.rec-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}.rec-call{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:800;color:#16a34a;background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.3);border-radius:999px;padding:5px 11px;transition:background .15s ease}.rec-call:hover{background:rgba(22,163,74,.2)}[data-theme=dark] .rec-call{color:#4ade80}.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(8,12,20,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;animation:fade-up .2s both}.modal-panel{width:100%;max-width:720px;margin:0 auto}.modal-panel textarea{min-height:56px;resize:vertical}.from-rec{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--blue);background:rgb(var(--blue-rgb)/.1);border:1px solid rgb(var(--blue-rgb)/.25);border-radius:999px;padding:6px 12px;margin-bottom:14px}.slider{accent-color:var(--blue);cursor:pointer;padding:0;border:none;background:none}.slider:focus{box-shadow:none}.rec-cta{flex:0 1 30%;min-width:230px;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font-size:13.5px;font-weight:800;color:#fff;padding:11px 18px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 70%,#6d28d9));box-shadow:0 6px 18px color-mix(in srgb,var(--blue) 35%,transparent);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.rec-cta:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 9px 26px color-mix(in srgb,var(--blue) 45%,transparent)}.rec-cta:active{transform:translateY(0)}.rec-cta svg{flex-shrink:0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:90;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:14px;background:rgba(22,163,74,.96);color:#fff;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.25);animation:fade-up .25s both}.primary-btn.compact{padding:9px 14px;font-size:13.5px;width:auto}.jobs-days{display:grid;grid-gap:22px;gap:22px}.jobs-day-title{margin:0 0 10px;font-size:14px;text-transform:capitalize;color:var(--muted);font-weight:800}.jobs-list{display:grid;grid-gap:10px;gap:10px}.job-card{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;border:1px solid var(--panel-border);border-radius:var(--r-md);padding:14px 16px;background:var(--soft-bg)}.job-main{min-width:0;flex:1 1}.job-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.job-top strong{font-size:15.5px}.job-when{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-size:13px;font-weight:700;color:var(--blue);white-space:nowrap}.job-addr{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}.job-meta{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:8px;font-weight:600}.job-extra,.job-meta{font-size:12.5px;color:var(--muted)}.job-extra{display:block;margin-top:7px}.job-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.job-actions select{width:auto;min-width:140px;padding:8px 10px;font-size:13px}.copy-job{height:36px;padding:0 12px;font-size:12.5px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.copy-job.done{color:var(--green);border-color:var(--green)}.jobs-search{margin:2px 0 16px}.jobs-filter-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.jobs-filter-row .jobs-search{flex:1 1 320px;min-width:0}.jobs-dead-toggle{display:flex;align-items:center;gap:7px;margin-bottom:14px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}.jobs-dead-toggle input{width:15px;height:15px;cursor:pointer}.jobs-notice{margin:0 0 12px;padding:9px 12px;border-radius:9px;font-size:13px;line-height:1.45;background:rgba(217,119,6,.14);color:#b45309;border:1px solid rgba(217,119,6,.3)}.inline-field{display:flex;gap:8px;align-items:center}.inline-field input{flex:1 1}.inline-field .ghost-btn{height:44px}.vin-row{display:grid;grid-gap:7px;gap:7px;font-size:13px;font-weight:700;color:var(--muted);margin:4px 0 0}select option{color:#0b1020;background:#ffffff}[data-theme=dark] select option{color:#e8eefc;background:#11192f}.status-badge{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;white-space:nowrap}.st-poptavka{background:rgba(120,120,130,.16);color:#6b7280}.st-naplanovano{background:rgb(var(--blue-rgb)/.16);color:var(--blue)}.st-vtrase{background:rgba(234,88,12,.16);color:#ea580c}.st-hotovo{background:rgba(22,163,74,.16);color:#16a34a}.st-zruseno{background:rgba(120,120,130,.16);color:#6b7280;text-decoration:line-through}.st-odlozeno{background:rgba(217,119,6,.16);color:#d97706}.st-konflikt{background:rgba(220,38,38,.16);color:#dc2626}@media (max-width:560px){.job-card{flex-direction:column}.job-actions select{width:100%}}.app-footer{margin-top:36px;text-align:center;color:var(--muted);font-size:13px}.settings{display:grid;grid-gap:18px;gap:18px}.appearance-grid{display:grid;grid-gap:14px;gap:14px;max-width:460px}.appearance-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.appearance-row input[type=range]{width:170px;accent-color:var(--blue);cursor:pointer}.courier-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));grid-gap:16px;gap:16px}.courier-card{border:1px solid var(--panel-border);border-radius:18px;padding:16px;background:var(--soft-bg)}.courier-card.inactive{opacity:.55}.courier-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.courier-card-head strong{font-size:16px}.checkbox-label.compact{font-size:12.5px;font-weight:700;color:var(--muted)}.checkbox-label.compact input{width:16px;height:16px}.courier-card-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.save-ok{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-weight:800;font-size:13px}.overrides{margin-top:16px;border-top:1px solid var(--panel-border);padding-top:12px}.overrides-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.override-list{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.override-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:12px;background:var(--panel-bg);border:1px solid var(--panel-border)}.override-list li div{display:grid;grid-gap:2px;gap:2px;min-width:0}.override-list li strong{font-size:13px}.override-list li span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.override-form{margin-top:12px;padding:14px;border-radius:14px;border:1px dashed var(--panel-border);background:var(--soft-bg);display:grid;grid-gap:4px;gap:4px}.seg{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--panel-bg);border:1px solid var(--panel-border);margin-bottom:10px}.seg button{flex:1 1;border:0;background:transparent;cursor:pointer;padding:7px 12px;border-radius:9px;font-weight:700;font-size:12.5px;color:var(--muted);transition:.15s}.seg button.active{background:linear-gradient(140deg,var(--blue),var(--blue-2));color:#fff}.stop-list li.stop-conflict{box-shadow:inset 3px 0 0 #ef4444}.stop-conflict-flag{display:block;margin-top:4px;color:#ef4444;font-size:12px;font-weight:800}.stop-item{display:grid;grid-gap:12px;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.stop-config{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding-left:40px}.stop-config label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--muted);margin:0}.stop-config label>span{white-space:nowrap}.stop-config input[type=time]{width:112px}.stop-config select{width:104px}.stop-config input,.stop-config select{padding:9px 10px;font-size:13px}.stop-list li{transition:transform .16s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}.stop-list li:not(.start-stop):hover{transform:translateY(-2px);border-color:rgb(var(--blue-rgb)/.45);background:linear-gradient(140deg,rgb(var(--blue-rgb)/.12),rgb(var(--blue-rgb)/.06));box-shadow:0 10px 26px -14px rgb(var(--blue-rgb)/.55)}.planner-grid .panel>.primary-btn{margin-top:18px}.form-section{margin-top:12px;padding:18px 18px 16px;border-radius:var(--r-md);border:1px solid var(--panel-border);background:var(--soft-bg);box-shadow:0 2px 10px rgba(0,0,0,.06)}[data-theme=dark] .form-section{box-shadow:0 2px 12px rgba(0,0,0,.22)}.form-section-title{margin:0 0 14px;padding:4px 10px 4px 11px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);border-left:3px solid var(--blue);line-height:1.3;background:rgb(var(--blue-rgb)/.07);border-radius:0 6px 6px 0;display:inline-block}[data-theme=dark] .form-section-title{background:rgb(var(--blue-rgb)/.12)}.form-section .field-label{margin-top:0}.form-section>.options-grid{margin:10px 0 0}.form-section .vin-row{margin-top:0}.form-section .hint{margin-bottom:0}.form-group-label{display:flex;align-items:center;gap:10px;margin:14px 0 4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.form-group-label:after,.form-group-label:before{content:"";flex:1 1;height:1px;background:var(--line)}.form-group-label:before{max-width:16px}.job-form-modal{max-width:1060px}.job-form-modal .form-section{margin-top:9px;padding:11px 13px 12px}.job-form-modal .form-section-title{margin:0 0 9px}.job-form-modal .options-grid{gap:9px 14px;margin:8px 0 0}.job-form-modal .form-section>.options-grid{margin-top:8px}.job-form-modal .field-label{margin-bottom:5px}.job-form-modal .form-group-label{margin:9px 0 3px}.job-form-modal input,.job-form-modal select,.job-form-modal textarea{padding:8px 11px}.job-form-modal textarea{min-height:44px}.job-form-modal .hint,.job-form-modal .muted-text{margin-bottom:8px;line-height:1.4}@media (min-width:820px){.job-form-modal{column-count:2;column-gap:26px}.job-form-modal>.from-rec,.job-form-modal>.panel-heading,.job-form-modal>.result-actions,.job-form-modal>.warn-note{column-span:all}.job-form-modal>.form-section{page-break-inside:avoid;break-inside:avoid;margin-top:0;margin-bottom:14px}}.seg.end-mode{display:flex;width:100%;margin-top:4px}.seg.end-mode-3 button{padding:8px;font-size:12px;line-height:1.2;text-align:center;display:flex;align-items:center;justify-content:center;min-height:38px}.end-mode-hint{display:flex;gap:7px;align-items:center;margin:2px 0 6px}.stay-field{margin:4px 0 6px;display:grid;grid-gap:7px;gap:7px}.day-end-block{margin:18px 0 4px;display:grid;grid-gap:8px;gap:8px}.day-end-block .field-label{margin:0}.day-end-edit{display:grid;grid-gap:9px;gap:9px}.day-end-edit .ghost-btn{justify-self:start}.day-end-saved{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:var(--r-md);border:1px solid var(--panel-border);background:var(--soft-bg)}.day-end-addr{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.day-end-addr svg{color:var(--blue);flex-shrink:0}.edit-job{height:36px;padding:0 12px;font-size:12.5px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--blue);border-color:rgb(var(--blue-rgb)/.4);background:rgb(var(--blue-rgb)/.08)}.edit-job:hover{background:rgb(var(--blue-rgb)/.16);border-color:var(--blue)}.stop-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}@media (max-width:720px){.stop-config{padding-left:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,body:before{animation:none!important;transition:none!important}}@media (max-width:920px){.planner-grid{grid-template-columns:minmax(0,1fr)}.options-grid{grid-template-columns:1fr}.result-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.app{padding:16px 13px 46px}.topbar{gap:8px;padding:8px}.topnav button{padding:9px}.topbar h1{font-size:18px}.intro{margin:20px 0 16px}.intro h2{font-size:25px}.intro p{font-size:15px}.tabs{display:flex;width:100%}.tabs button{flex:1 1;justify-content:center;padding:11px 6px}.panel{padding:17px;border-radius:22px}.panel-heading{flex-wrap:wrap}.stop-list li{flex-direction:column;align-items:flex-start;gap:6px}.status-pill{align-self:flex-start}.map-fallback,.route-map{height:300px}.result-actions{flex-direction:column}.glass-slider{display:none}}.stop-call{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--green);text-decoration:none;padding:5px 10px;border-radius:999px;background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.32);white-space:nowrap;transition:.15s}.stop-call:hover{background:rgba(22,163,74,.2);border-color:var(--green)}.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;cursor:pointer;padding:12px 18px;border-radius:13px;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(140deg,#ef4444,#dc2626);box-shadow:0 10px 24px -12px rgba(220,38,38,.6);transition:.15s}.danger-btn:hover:not(:disabled){filter:brightness(1.06)}.danger-btn:disabled{opacity:.55;cursor:not-allowed}.ghost-btn.danger-ghost{color:#dc2626;border-color:rgba(220,38,38,.4);background:rgba(220,38,38,.07)}.ghost-btn.danger-ghost:hover{background:rgba(220,38,38,.15);border-color:#dc2626}.confirm-modal{max-width:480px}.confirm-text{font-size:14px;color:var(--text);display:grid;grid-gap:8px;gap:8px;margin:4px 0 14px}.confirm-text p{margin:0;line-height:1.55}.team-list,.team-row{display:grid;grid-gap:10px;gap:10px}.team-row{padding:13px 15px;border-radius:16px;border:1px solid var(--panel-border);background:var(--soft-bg)}.team-row.inactive{opacity:.55}.team-id{display:flex;align-items:center;gap:11px;min-width:0}.team-id>div{display:grid;grid-gap:1px;gap:1px;min-width:0}.team-id strong{font-size:14.5px;display:flex;align-items:center;gap:7px}.team-id span{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.self-tag{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:rgb(var(--blue-rgb)/.12);border:1px solid rgb(var(--blue-rgb)/.35);border-radius:999px;padding:1px 7px}.team-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}.team-controls label{display:grid;grid-gap:4px;gap:4px;font-size:11.5px;font-weight:800;color:var(--muted)}.team-controls select{min-width:150px;padding:8px 10px;font-size:13px}.team-controls .checkbox-label.compact{display:inline-flex;align-items:center;gap:6px;padding-bottom:9px}.compact-btn{height:35px;padding:0 12px;font-size:12.5px;display:inline-flex;align-items:center;gap:6px}.team-pwd{display:flex;gap:8px;align-items:center}.team-pwd input{flex:1 1;max-width:320px;padding:9px 11px;font-size:13px}.team-row-status{display:flex;align-items:center;gap:10px}.team-row-status .addr-error{margin:0}.params-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:13px;gap:13px;margin-top:4px}.param-card{border:1px solid var(--panel-border);border-radius:15px;padding:13px 14px 11px;background:var(--soft-bg);display:grid;grid-gap:6px;gap:6px;align-content:start}.param-card .field-label{margin:0;display:grid;grid-gap:6px;gap:6px}.param-input{display:flex;align-items:center;gap:8px}.param-input input{width:110px;padding:9px 11px;font-size:14px;font-weight:700}.param-unit{font-weight:800}.param-hint,.param-unit{font-size:12px;color:var(--muted)}.param-hint{margin:0;line-height:1.5;font-weight:500}@media (max-width:560px){.team-controls{flex-direction:column;align-items:stretch}.team-controls select{width:100%}}.job-chip,.job-extra,.rec-added,.rec-chip,.result-stats strong,.status-pill,.stop-list span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.job-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.job-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:800;white-space:nowrap;border:1px solid transparent}.job-chip em{font-style:normal;font-weight:700;opacity:.75}.chip-time{background:rgb(var(--blue-rgb)/.1);border-color:rgb(var(--blue-rgb)/.28);color:var(--text)}.chip-courier,.chip-time svg{color:var(--blue)}.chip-courier{background:rgb(var(--blue-rgb)/.14);border-color:rgb(var(--blue-rgb)/.4)}.chip-unassigned{background:rgba(234,88,12,.12);border-color:rgba(234,88,12,.4);color:#ea580c;border-style:dashed}.chip-system{background:rgba(147,51,234,.12);border-color:rgba(147,51,234,.35);color:#9333ea}[data-theme=dark] .chip-system{color:#c084fc}.chip-service{background:var(--soft-bg);border-color:var(--panel-border);color:var(--muted)}.chip-price{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.35);color:var(--green)}.job-tag-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--chip-color,currentColor)}.form-install-addr{display:grid;grid-gap:7px;gap:7px;font-size:13px;font-weight:700;color:var(--muted);margin-top:10px}.phone-prefill-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--blue) 10%,transparent);border:1px solid color-mix(in srgb,var(--blue) 30%,transparent);font-size:13px;flex-wrap:wrap}.phone-prefill-actions{display:flex;gap:8px;flex-shrink:0}.price-currency{display:flex;gap:8px;align-items:stretch}.price-currency input{flex:1 1 auto;min-width:0}.price-currency select{flex:0 0 92px}.job-type-pick{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.job-type-options{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tag-chip{align-items:center;gap:5px;padding:5px 7px 5px 6px;border-radius:11px;border:1px solid var(--panel-border);background:var(--soft-bg);color:var(--text);white-space:nowrap;transition:background-color .15s,border-color .15s}.tag-chip,.tag-color-btn{display:inline-flex;flex-shrink:0}.tag-color-btn{position:relative;width:16px;height:16px;border-radius:5px;overflow:hidden;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.22)}.tag-color-dot{width:100%;height:100%}.tag-color-btn input[type=color]{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;padding:0;border:0;background:none}.tag-name{border:0;background:none;cursor:pointer;font:inherit;font-weight:800;font-size:13px;color:inherit;display:inline-flex;align-items:center;gap:5px;padding:1px 2px}.tag-edit-input{width:116px;padding:3px 7px;font-size:13px;font-weight:700}.tag-mini{border:0;background:none;cursor:pointer;color:var(--muted);opacity:.55;padding:2px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:15px;line-height:1;transition:opacity .15s,color .15s,background .15s}.tag-mini:hover:not(:disabled){opacity:1;color:var(--text);background:color-mix(in srgb,var(--text) 9%,transparent)}.tag-mini.ok{color:var(--green);opacity:.95}.tag-add-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:11px;border:1px dashed var(--panel-border);background:transparent;color:var(--blue);cursor:pointer;transition:background .15s,border-color .15s}.tag-add-btn:hover{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}button.tag-chip{cursor:pointer;font:inherit;font-weight:700;font-size:13px}button.tag-chip:hover{border-color:var(--blue)}.tag-admin-list{display:flex;flex-direction:column;gap:8px;margin:6px 0 14px}.tag-admin-add,.tag-admin-row{display:flex;align-items:center;gap:10px}.tag-admin-add input[type=text],.tag-admin-row input[type=text]{flex:1 1;padding:7px 10px}.tag-admin-add input[type=color],.tag-admin-row input[type=color]{width:34px;height:34px;padding:0;border:1px solid var(--panel-border);border-radius:8px;background:none;cursor:pointer;flex-shrink:0}.tag-admin-add{margin-top:4px;padding-top:12px;border-top:1px solid var(--panel-border)}.courier-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:middle;box-shadow:0 0 0 2px rgba(127,127,127,.25);flex-shrink:0}.color-picker{margin:4px 0 8px}.color-swatches{display:flex;flex-wrap:wrap;gap:8px}.color-swatch{width:30px;height:30px;border-radius:9px;border:2px solid transparent;cursor:pointer;padding:0;position:relative;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);transition:transform .12s,border-color .12s}.color-swatch:hover{transform:scale(1.08)}.color-swatch.on{border-color:var(--text)}.color-custom{background:var(--soft-bg);color:var(--muted);overflow:hidden}.color-custom input[type=color]{position:absolute;inset:0;opacity:0;cursor:pointer}.color-none{background:var(--soft-bg);color:var(--muted);font-size:17px;font-weight:800;line-height:1}.stop-side{flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:52%}.stop-side .ghost-btn{height:32px;padding:0 11px;font-size:12.5px}@media (max-width:560px){.stop-side{max-width:100%;justify-content:flex-start}}.note-field{display:grid;grid-gap:7px;gap:7px}.note-field textarea{width:100%;min-height:110px;resize:vertical}.svc-list{display:grid;grid-gap:8px;gap:8px}.svc-row{grid-template-columns:minmax(0,1fr) 110px 120px 120px auto;align-items:center;padding:9px 12px;border-radius:14px;border:1px solid var(--panel-border);background:var(--soft-bg)}.svc-row.inactive{opacity:.55}.svc-row.svc-head{background:transparent;border:0;padding:0 12px;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.svc-row input[type=text]{width:100%;padding:9px 11px;font-size:13.5px}.svc-unit-field{display:flex;align-items:center;gap:6px}.svc-unit-field input{width:100%;padding:9px 11px;font-size:13.5px;font-weight:700}.svc-unit-field em{font-style:normal;font-size:12px;font-weight:800;color:var(--muted)}.svc-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.override-form .svc-row{background:var(--panel-bg)}@media (max-width:720px){.svc-row{grid-template-columns:1fr 1fr}.svc-row .svc-actions,.svc-row input[type=text]{grid-column:1/-1}.svc-row.svc-head{display:none}}.drafts-box{margin-bottom:16px}.drafts-list{display:flex;flex-direction:column;gap:7px;max-height:220px;overflow-y:auto}.draft-item{display:flex;align-items:stretch;gap:6px}.draft-item .draft-load{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 12px;border-radius:13px;border:1px solid var(--panel-border);background:var(--panel-bg);cursor:pointer;text-align:left;transition:transform .15s ease,border-color .15s ease}.draft-item .draft-load:hover{transform:translateY(-1px);border-color:var(--blue)}.draft-item.active .draft-load{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}.draft-item .draft-load strong{font-size:13.5px}.draft-item .draft-load span{font-size:12px;color:var(--muted)}.draft-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:baseline}.print-sheet{display:none}@media print{body *{visibility:hidden}.print-sheet,.print-sheet *{visibility:visible}.print-sheet{display:block;position:absolute;inset:0;width:100%;color:#111;background:#fff;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-sheet-head{display:flex;align-items:flex-end;justify-content:space-between;gap:6mm;margin:0 0 3mm;padding-bottom:1.6mm;border-bottom:2pt solid #222221}.print-sheet-brand{display:flex;flex-direction:column;gap:1mm}.print-brand-logo-img{height:7.5mm;width:auto;aspect-ratio:790/135;display:block}.print-brand-claim{font-size:7.5pt;color:#444;font-style:italic}.print-sheet-who{text-align:right}.print-sheet-head h1{font-size:13pt;font-weight:800;letter-spacing:.02em;margin:0;text-transform:uppercase}.print-sheet-head p{font-size:9.5pt;margin:0;color:#444;font-weight:600}.print-job{display:flex;gap:4mm;break-inside:avoid;page-break-inside:avoid;margin:0 0 2mm;padding:1.4mm 0 1.6mm;border-bottom:.6pt solid #d0d0d0}.print-job:first-of-type{padding-top:.5mm}.print-job-main{flex:1 1 68%;min-width:0;padding-left:2.6mm;border-left:2.4pt solid #111}.print-job-head{display:flex;align-items:center;gap:2.2mm;margin:0 0 .6mm}.print-job-num{flex:0 0 auto;width:4.8mm;height:4.8mm;border-radius:50%;background:#111;color:#fff;font-size:8.5pt;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.print-job-when{font-size:9pt;font-weight:600;color:#333;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.print-job-tags{display:inline-flex;flex-wrap:wrap;gap:1.4mm;margin-left:auto}.print-job-tag{font-size:7.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#111;border:.7pt solid #111;border-radius:999px;padding:.2mm 1.8mm;white-space:nowrap}.print-job-summary{font-weight:800;font-size:10.5pt;letter-spacing:.01em;margin:0 0 .8mm}.print-job-body{font-family:inherit;font-size:9pt;line-height:1.24;white-space:pre-wrap;margin:0;color:#1a1a1a}.print-job-notes{flex:0 0 26%;display:flex;flex-direction:column;gap:3.2mm;padding:.5mm 0 0 3mm;border-left:.8pt dashed #9a9a9a}.print-job-notes-label{font-size:7pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#888;margin-bottom:.3mm}.print-rule{display:block;border-bottom:.5pt solid #c8c8c8;height:0}@page{margin:10mm 11mm}}.draft-item .draft-load{min-width:0}.draft-item .draft-load strong.draft-name{letter-spacing:.02em}.draft-item .draft-load span,.draft-item .draft-load strong.draft-name{width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-save{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.draft-save input{flex:1 1;min-width:180px}.route-chain-preview{display:flex;align-items:center;gap:6px;margin:8px 2px 0;font-size:12.5px;color:var(--muted);line-height:1.3}.route-chain-preview svg{flex:0 0 auto;opacity:.7}.route-chain-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em}.draft-msg{color:#2e9e5b;font-weight:600}.job-note{display:flex;align-items:flex-start;gap:6px;margin-top:5px;font-size:12.5px;line-height:1.4;color:var(--text);background:color-mix(in srgb,var(--blue) 9%,transparent);border-radius:9px;padding:5px 9px}.job-note svg{flex-shrink:0;margin-top:1px;color:var(--blue)}.job-note.tech{background:color-mix(in srgb,#2e9e5b 12%,transparent)}.job-note.tech svg{color:#2e9e5b}.stop-note{display:flex;align-items:flex-start;gap:6px;margin-top:4px;font-size:12.5px;line-height:1.4;color:var(--text);background:color-mix(in srgb,var(--blue) 9%,transparent);border-radius:9px;padding:4px 8px;width:-moz-fit-content;width:fit-content;max-width:100%}.stop-note svg{flex-shrink:0;margin-top:1px;color:var(--blue)}.stop-note.tech{background:color-mix(in srgb,#2e9e5b 12%,transparent)}.stop-note.tech svg{color:#2e9e5b}.job-handled{margin-top:5px}.job-handled,.stop-handled{display:block;font-size:12px;color:var(--muted)}.stop-handled,.stop-service{margin-top:4px}.stop-service{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--soft-bg);border:1px solid var(--panel-border);color:var(--muted);font-size:12px;font-weight:700}.job-form-modal input.input-error,.job-form-modal select.input-error{border-color:#ef4444;box-shadow:0 0 0 2px color-mix(in srgb,#ef4444 22%,transparent)}.multi-plans{display:flex;flex-direction:column;gap:18px}.multi-plan{border:1px solid var(--panel-border);border-radius:16px;padding:14px 16px;background:var(--panel-bg)}.multi-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.multi-plan-info{min-width:0;flex:1 1 240px}.multi-plan-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.multi-plan h4{margin:3px 0 0;font-size:14.5px;font-weight:800}.multi-plan-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.multi-plan .stop-list{margin-top:6px}.conflict-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--red);background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.3)}.conflict-chip .help-tip-btn{color:var(--red);background:rgba(220,38,38,.18)}.conflict-chip .help-tip-btn:focus-visible,.conflict-chip .help-tip-btn:hover{color:#fff;background:var(--red);box-shadow:0 8px 22px rgba(220,38,38,.4)}.import-route{margin-top:10px}.import-route-btn{display:inline-flex;align-items:center;gap:9px;width:100%;justify-content:center;border:1px dashed var(--blue);background:color-mix(in srgb,var(--blue) 8%,transparent);color:var(--blue);border-radius:var(--r-sm);padding:12px 16px;font-weight:700;font-size:13.5px;cursor:pointer;transition:background .18s ease,transform .12s ease,box-shadow .18s ease}.import-route-btn:hover:not(:disabled){background:color-mix(in srgb,var(--blue) 16%,transparent);transform:translateY(-1px);box-shadow:var(--glow-blue)}.import-route-btn:active:not(:disabled){transform:scale(.98)}.import-route-btn:disabled{opacity:.5;cursor:default;border-style:solid;color:var(--muted);border-color:var(--panel-border);background:transparent}.fld-cap{display:inline-flex;align-items:center;gap:6px;min-height:18px;flex-wrap:wrap}.fld-wd{font-style:normal;font-weight:800;color:var(--blue);text-transform:capitalize}.fld-wd:before{content:"•";margin-right:5px;color:var(--muted);font-weight:700}.result-courier{display:inline-flex;align-items:center;gap:7px;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--blue)}.help-tip{position:relative;display:inline-flex;vertical-align:middle;margin-left:2px}.help-tip-btn{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;border:0;cursor:help;padding:0;font:inherit;font-size:11px;font-weight:800;line-height:1;color:var(--blue);background:color-mix(in srgb,var(--blue) 16%,transparent);transition:transform .15s ease,background .18s ease,box-shadow .18s ease}.help-tip-btn:focus-visible,.help-tip-btn:hover{background:var(--blue);color:#fff;transform:scale(1.18) rotate(8deg);box-shadow:var(--glow-blue);outline:none}.help-tip-bubble{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%) translateY(4px) scale(.96);width:max-content;max-width:250px;padding:9px 12px;border-radius:12px;z-index:80;background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text);box-shadow:var(--panel-shadow),var(--panel-highlight);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);font-size:12.5px;font-weight:500;line-height:1.45;text-transform:none;letter-spacing:normal;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s var(--ease-out,ease)}.help-tip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top:6px solid var(--panel-border)}.help-tip-btn:focus-visible+.help-tip-bubble,.help-tip:hover .help-tip-bubble{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}.help-tip[data-place=bottom] .help-tip-bubble{top:calc(100% + 9px);bottom:auto;transform:translateX(-50%) translateY(-4px) scale(.96)}.help-tip[data-place=bottom] .help-tip-bubble:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--panel-border)}.help-tip[data-place=bottom] .help-tip-btn:focus-visible+.help-tip-bubble,.help-tip[data-place=bottom]:hover .help-tip-bubble{transform:translateX(-50%) translateY(0) scale(1)}@media (max-width:560px){.help-tip-bubble{left:auto;right:-8px;transform:translateY(4px) scale(.96)}.help-tip[data-place=bottom] .help-tip-bubble{transform:translateY(-4px) scale(.96)}.help-tip-bubble:after{left:auto;right:12px;transform:none}.help-tip:hover .help-tip-bubble,.help-tip[data-place=bottom]:hover .help-tip-bubble{transform:translateY(0) scale(1)}}.save-route{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.save-route .field-label{display:flex;align-items:center}.start-stop{align-items:flex-start;gap:10px}.start-main{flex:1 1;min-width:0}.start-edit{margin-top:12px;display:flex;flex-direction:column;gap:8px}.start-edit-actions{display:flex;gap:8px;flex-wrap:wrap}.start-stop .mini-btn{flex-shrink:0;color:#fff;border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.16);font-weight:700}.start-stop .mini-btn:hover:not(:disabled){color:#fff;background:rgba(255,255,255,.3);border-color:#fff}.start-stop .mini-btn:disabled{opacity:.6}.start-edit .addr-input,.start-edit input{background:rgba(255,255,255,.95);color:#0b1020;border-color:transparent}.start-edit input::placeholder{color:#475569;opacity:1}.start-edit .addr-resolved{background:rgba(255,255,255,.95);color:#0b1020}.start-edit .addr-resolved .link-btn{color:var(--blue-2)}.depart-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:20px 0;align-items:start}.depart-grid .fld{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:var(--muted)}.depart-grid .fld>input,.depart-grid .fld>select{width:100%}@media (max-width:720px){.depart-grid{grid-template-columns:1fr}}.reorder-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0 6px}.reorder-hint{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}.reorder-actions{display:flex;align-items:center;gap:8px}.stop-list li.stop-draggable{cursor:-webkit-grab;cursor:grab;justify-content:flex-start}.stop-list li.stop-draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.stop-list li.stop-draggable>div{flex:1 1;min-width:0}.stop-list li.stop-draggable .drag-handle{display:inline-flex;align-items:center;color:var(--muted);flex-shrink:0;margin-right:2px}.stop-list li.stop-draggable:hover{border-color:rgb(var(--blue-rgb)/.5)}.stop-list li.reordering{background:color-mix(in srgb,var(--blue) 8%,var(--panel-bg));border-color:rgb(var(--blue-rgb)/.45);border-style:dashed}.stop-list li.reordering .drag-handle{color:var(--blue)}:root{--kal-cell:#ffffff;--kal-cell-weekend:#eef3fb;--kal-cell-other:#f4f7fc}[data-theme=dark]{--kal-cell:#131a2e;--kal-cell-weekend:#0f1626;--kal-cell-other:#0d1322}.kal-root{display:flex;flex-direction:column;gap:12px}.kal-root:not(.kal-standalone){margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:clamp(10px,1.4vw,22px);padding-right:clamp(10px,1.4vw,22px)}.kal-standalone{min-height:100vh;padding:16px clamp(12px,3vw,28px)}.kal-toolbar{justify-content:space-between;gap:12px 16px;flex-wrap:wrap;padding:10px 14px;position:-webkit-sticky;position:sticky;top:8px;z-index:6;border-radius:var(--r-md)}.kal-nav,.kal-toolbar{display:flex;align-items:center}.kal-nav{gap:8px}.kal-title{font-size:clamp(16px,1rem + .6vw,22px);font-weight:700;margin:0 0 0 6px;white-space:nowrap}.kal-title:first-letter{text-transform:uppercase}.kal-today{padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text);font-weight:600;cursor:pointer}.kal-today:hover{border-color:var(--blue)}.kal-today:active{transform:scale(.97)}.kal-navbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text);cursor:pointer;font-size:18px;line-height:1}.kal-navbtn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.kal-navbtn:active{transform:scale(.96)}.kal-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kal-search{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--muted)}.kal-search input{border:none;background:transparent;outline:none;color:var(--text);min-width:210px;font-size:13px}.kal-views{display:inline-flex;border:1px solid var(--panel-border);border-radius:10px;overflow:hidden}.kal-view-btn{padding:6px 13px;border:none;background:var(--panel-bg);color:var(--muted);font-weight:600;cursor:pointer;font-size:13px}.kal-view-btn:hover{color:var(--text)}.kal-view-btn.on{background:linear-gradient(140deg,var(--blue),var(--blue-2));color:#fff}.kal-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 2px}.kal-fchip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer}.kal-fchip.off{opacity:.5;text-decoration:line-through}.kal-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.kal-search-count{font-size:12.5px;font-weight:600;color:var(--muted);margin-left:auto}.kal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.kal-layout{display:flex;gap:16px;align-items:flex-start}.kal-view-area{flex:1 1;min-width:0}.kal-aside{flex-shrink:0;width:232px}.kal-mini{padding:12px;border-radius:16px;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);position:-webkit-sticky;position:sticky;top:80px}.kal-mini-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px}.kal-mini-title{font-size:13px;font-weight:800;text-transform:capitalize}.kal-mini-nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px solid var(--panel-border);background:var(--soft-bg);color:var(--text);cursor:pointer}.kal-mini-nav:hover{background:rgb(var(--blue-rgb)/.12)}.kal-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.kal-mini-wd{text-align:center;font-size:10px;font-weight:700;color:var(--muted);padding-bottom:4px}.kal-mini-day{aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.kal-mini-day:hover{background:rgb(var(--blue-rgb)/.12)}.kal-mini-day.other{color:var(--muted);opacity:.5}.kal-mini-day.today{box-shadow:inset 0 0 0 1.5px rgb(var(--blue-rgb)/.6)}.kal-mini-day.sel{background:var(--blue);color:#fff;font-weight:800}.kal-mini-today{margin-top:10px;width:100%;padding:7px;border-radius:9px;border:1px solid var(--panel-border);background:var(--soft-bg);color:var(--text);font-size:12.5px;font-weight:700;cursor:pointer}.kal-mini-today:hover{background:rgb(var(--blue-rgb)/.12)}@media (max-width:1024px){.kal-layout{flex-direction:column}.kal-aside{width:100%}.kal-mini{max-width:340px;position:static}}@media (max-width:640px){.kal-aside{display:none}}.kal-wd{text-align:center;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:2px 0}.kal-cell{background:var(--kal-cell);border:1px solid var(--panel-border);border-radius:12px;padding:6px 6px 5px;display:flex;flex-direction:column;gap:4px}.kal-month .kal-cell{min-height:108px}.kal-2week .kal-cell,.kal-week .kal-cell{min-height:230px}.kal-cell.other{background:var(--kal-cell-other)}.kal-cell.other .kal-daynum{color:var(--muted)}.kal-cell.weekend{background:var(--kal-cell-weekend)}.kal-cell.today{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}.kal-cell[role=button]{cursor:pointer;transition:transform .12s ease,border-color .12s ease}.kal-cell[role=button]:hover{border-color:var(--blue);transform:translateY(-1px)}.kal-cell-head{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:flex-start;gap:4px 6px}.kal-cell-wd{display:none;font-size:11px;font-weight:600;color:var(--muted);text-transform:capitalize}.kal-daynum{font-size:13px;font-weight:700}.kal-cell.today .kal-daynum{color:var(--blue)}.kal-count{font-size:10.5px;font-weight:700;color:var(--muted);background:color-mix(in srgb,var(--muted) 16%,transparent);border-radius:999px;padding:0 6px;margin-left:auto}.kal-cell-body{display:flex;flex-direction:column;gap:4px;min-width:0}.kal-month .kal-cell-body{max-height:86px;overflow-y:auto}.kal-2week .kal-cell-body,.kal-week .kal-cell-body{max-height:200px;overflow-y:auto}.kal-group{flex-direction:column;gap:2px}.kal-group,.kal-route{display:flex;min-width:0}.kal-route{align-items:center;gap:5px;padding:2px 5px;border-radius:7px;border:1px solid transparent;font-size:12px;font-weight:600}.kal-ini{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:17px;height:17px;padding:0 5px;border-radius:5px;font-size:9.5px;font-weight:800;color:#fff;flex-shrink:0;white-space:nowrap}.kal-route-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;opacity:.85;flex-shrink:0}.kal-conflict-dot{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;font-size:10px;flex-shrink:0}.kal-route.has-conflict{box-shadow:inset 0 0 0 1px var(--red)}.kal-route-plan{border-style:dashed;border-color:var(--line);background:transparent;opacity:.92}.kal-route-plan .kal-chain{font-weight:600;opacity:.85}.kal-route-plan-tag{flex-shrink:0;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;padding:1px 4px;border-radius:5px;line-height:1.4}.kal-chain{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.kal-jobs{list-style:none;margin:0 0 2px;padding:0;display:flex;flex-direction:column;gap:2px}.kal-job{display:flex;align-items:center;gap:7px;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;font-size:11.5px;color:var(--text);padding:2px 5px;border-radius:6px;border-left:3px solid var(--panel-border);min-width:0}.kal-job:hover{background:color-mix(in srgb,var(--blue) 10%,transparent)}.kal-job em{font-style:normal;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0}.kal-job-city{font-weight:600;flex-shrink:0}.kal-job-cust{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.kal-job.st-hotovo{opacity:.55}.kal-job.st-konflikt{border-left-color:var(--red)}.kal-job.st-zruseno{opacity:.45;text-decoration:line-through}.kal-job.st-odlozeno{opacity:.6;border-left-color:#d97706;border-left-style:dashed}.kal-anytime.st-zruseno,.kal-ev.st-zruseno{opacity:.45;text-decoration:line-through}.kal-anytime.st-odlozeno,.kal-ev.st-odlozeno{opacity:.6;border-left-color:#d97706;border-left-style:dashed}.kal-peek{max-width:540px;width:calc(100vw - 32px);max-height:82vh;overflow-y:auto;padding:16px 18px}.kal-peek-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.kal-peek-head h3{margin:0;font-size:16px}.kal-peek-head h3:first-letter{text-transform:uppercase}.kal-peek-group{margin-bottom:14px}.kal-peek-courier{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13.5px;margin-bottom:5px}.kal-peek-courier em{font-style:normal;font-weight:500;color:var(--muted)}.kal-peek-copy{display:inline-flex;align-items:center;gap:5px;margin-left:auto;flex-shrink:0;padding:4px 9px;border-radius:8px;border:1px solid var(--panel-border);background:var(--soft-bg);color:var(--text);font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap}.kal-peek-copy:hover{background:rgb(var(--blue-rgb)/.12);border-color:rgb(var(--blue-rgb)/.4)}.kal-peek-job{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:9px;border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text);cursor:pointer;margin-bottom:5px}.kal-peek-job:hover{border-color:var(--blue)}.kal-peek-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:12.5px;min-width:92px;color:var(--muted);flex-shrink:0}.kal-peek-where{flex:1 1;font-size:13px;min-width:0}@media (max-width:720px){.kal-grid{grid-template-columns:1fr;gap:7px}.kal-wd{display:none}.kal-cell{min-height:auto!important}.kal-cell.other{display:none}.kal-cell-wd{display:inline}.kal-month .kal-cell-body{max-height:none}.kal-toolbar{position:static}.kal-fchip,.kal-navbtn,.kal-today,.kal-view-btn{min-height:44px}}@media (prefers-reduced-motion:reduce){.kal-cell[role=button]:hover{transform:none}}.kal-root{--kal-font-scale:1;position:relative}.kal-loadbar{right:0;height:3px;overflow:hidden;z-index:8;background:color-mix(in srgb,var(--blue) 18%,transparent)}.kal-loadbar,.kal-loadbar:before{position:absolute;top:0;left:0;border-radius:3px}.kal-loadbar:before{content:"";bottom:0;width:35%;background:linear-gradient(90deg,transparent,var(--blue),transparent);animation:kal-loadbar-slide 1.1s ease-in-out infinite}@keyframes kal-loadbar-slide{0%{transform:translateX(-120%)}to{transform:translateX(420%)}}.kal-dim{opacity:.55;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.kal-loadbar:before{width:100%;animation:kal-loadbar-pulse 1.2s ease-in-out infinite}@keyframes kal-loadbar-pulse{0%,to{opacity:.25}50%{opacity:.9}}}.kal-daynum{font-size:calc(13px * var(--kal-font-scale))}.kal-route{font-size:calc(12px * var(--kal-font-scale))}.kal-job{font-size:calc(11.5px * var(--kal-font-scale))}.kal-anytime,.kal-ev,.kal-note-title{font-size:calc(11px * var(--kal-font-scale))}.kal-hour-label{font-size:calc(10.5px * var(--kal-font-scale))}.kal-month .kal-cell{min-height:var(--kal-month-min,140px)}.kal-month .kal-cell-body{max-height:none;overflow:visible}.kal-cell{cursor:default}.kal-cell-notes{display:flex;flex-direction:column;gap:2px;margin-bottom:2px}.kal-more{align-self:flex-start;border:none;background:transparent;color:var(--blue);font-weight:700;font-size:11px;cursor:pointer;padding:1px 4px;border-radius:6px}.kal-more:hover{background:color-mix(in srgb,var(--blue) 12%,transparent)}.kal-filter-div{width:1px;height:18px;background:var(--panel-border);margin:0 2px}.kal-note{display:inline-flex;align-items:center;gap:5px;width:100%;text-align:left;border:1px solid transparent;border-radius:7px;padding:2px 6px;cursor:pointer;font-weight:600;min-width:0}.kal-note-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.kal-note-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.kal-route[draggable=true]{cursor:-webkit-grab;cursor:grab}.kal-route[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.kal-group{border-radius:8px}.kal-week-wrap{--kal-gutter:54px;border:1px solid var(--panel-border);border-radius:14px;overflow:auto;max-height:calc(100vh - 220px);background:var(--kal-cell)}.kal-standalone .kal-week-wrap{max-height:calc(100vh - 150px)}.kal-week-head{display:grid;grid-template-columns:var(--kal-gutter) repeat(7,minmax(0,1fr));position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--panel-bg);border-bottom:1px solid var(--panel-border)}.kal-week-corner,.kal-week-dayhead{border-right:1px solid var(--panel-border)}.kal-week-dayhead{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 2px;gap:1px}.kal-week-dayhead:last-child{border-right:none}.kal-week-dayhead.today{background:color-mix(in srgb,var(--blue) 12%,transparent)}.kal-week-wd{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.kal-week-dnum{font-size:calc(15px * var(--kal-font-scale));font-weight:800}.kal-week-dayhead.today .kal-week-dnum{color:var(--blue)}.kal-week-allday{display:grid;grid-template-columns:var(--kal-gutter) repeat(7,minmax(0,1fr));border-bottom:2px solid var(--panel-border);background:var(--kal-cell-other);min-height:30px}.kal-week-allday-label{font-size:9.5px;line-height:1.15;color:var(--muted);font-weight:700;text-transform:uppercase;padding:4px;align-items:center}.kal-allday-cell,.kal-week-allday-label{border-right:1px solid var(--panel-border);display:flex}.kal-allday-cell{padding:3px;flex-direction:column;gap:3px;min-width:0}.kal-allday-cell:last-child{border-right:none}.kal-week-body{display:grid;grid-template-columns:var(--kal-gutter) repeat(7,minmax(0,1fr));position:relative}.kal-week-gutter{border-right:1px solid var(--panel-border)}.kal-hour-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:0 6px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transform:translateY(-6px)}.kal-day-col{position:relative;border-right:1px solid var(--panel-border);background-image:linear-gradient(to bottom,color-mix(in srgb,var(--text) 12%,transparent) 1px,transparent 1px);background-repeat:repeat-y}.kal-day-col:last-child{border-right:none}.kal-day-col.today{background-color:color-mix(in srgb,var(--blue) 6%,transparent)}.kal-anytime,.kal-ev{display:flex;flex-direction:column;align-items:flex-start;gap:0;overflow:hidden;border:1px solid transparent;border-left-width:3px;border-radius:7px;padding:2px 5px;cursor:pointer;text-align:left;line-height:1.15}.kal-ev-row{display:flex;align-items:center;gap:4px;width:100%}.kal-ev-row .kal-conflict-dot{width:13px;height:13px;font-size:9px;margin-left:auto}.kal-ctx-item:focus-visible,.kal-peek .kal-navbtn:focus-visible,.kal-peek-job:focus-visible,.kal-root :focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--r-sm)}.kal-ev{position:absolute}.kal-anytime[draggable=true],.kal-ev[draggable=true]{cursor:-webkit-grab;cursor:grab}.kal-anytime[draggable=true]:active,.kal-ev[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.kal-ev.has-conflict{box-shadow:inset 0 0 0 1px var(--red)}.kal-anytime.st-hotovo,.kal-ev.st-hotovo{opacity:.55}.kal-ev-ini{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:15px;height:15px;padding:0 4px;border-radius:4px;font-size:9px;font-weight:800;color:#fff;flex-shrink:0;white-space:nowrap}.kal-ev-time{font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.9}.kal-ev-city{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.kal-ev-cust,.kal-ev-detail{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.kal-ev-detail{font-size:.92em}.kal-ev-time.planned,.kal-jobs em.planned{font-weight:600;opacity:.75;font-style:italic}.kal-anytime{flex-direction:row;align-items:center;gap:5px}.kal-day-col.drag-over{background-color:color-mix(in srgb,var(--blue) 10%,transparent)}.kal-allday-cell.drag-over{background-color:color-mix(in srgb,var(--blue) 16%,transparent);box-shadow:inset 0 0 0 2px var(--blue)}.kal-drop-line{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--blue);z-index:4;pointer-events:none}.kal-drop-time{position:absolute;left:2px;top:-9px;background:var(--blue);color:#fff;font-size:10px;font-weight:800;line-height:1;padding:2px 5px;border-radius:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kal-cell.drag-over{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue) inset;background-color:color-mix(in srgb,var(--blue) 7%,transparent)}.kal-group.drag-over{outline:2px dashed var(--blue);outline-offset:1px;border-radius:8px}.kal-ctx-overlay{position:fixed;inset:0;z-index:60}.kal-ctx{position:fixed;min-width:210px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.28);padding:5px;z-index:61}.kal-ctx-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.kal-ctx-item:hover:not(:disabled){background:color-mix(in srgb,var(--blue) 12%,transparent)}.kal-ctx-item:disabled{opacity:.5;cursor:default}.kal-ctx-item.danger{color:var(--red)}.kal-ctx-item.danger:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}.kal-ctx-sep{height:1px;background:var(--panel-border);margin:4px 2px}.kal-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:14px;background:var(--text);color:var(--bg-base,#fff);padding:10px 16px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);font-size:13.5px;font-weight:600;max-width:calc(100vw - 32px)}.kal-toast button{border:none;background:transparent;color:#7db4ff;font-weight:800;cursor:pointer;font-size:13.5px}.kal-confirm{max-width:440px;width:calc(100vw - 32px);padding:20px 22px}.kal-confirm h3{margin:0 0 8px}.kal-confirm p{margin:0 0 16px;color:var(--muted);line-height:1.45}.cal-color-field{display:inline-flex;align-items:center;gap:8px}.cal-color-field input[type=color]{width:34px;height:30px;padding:0;border:1px solid var(--panel-border);border-radius:8px;background:none;cursor:pointer}.cal-color-field input[type=text]{width:100px}.cal-color-field input[type=text].invalid{border-color:var(--red)}.cal-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.cal-card{border:1px solid var(--panel-border);border-radius:12px;padding:12px;background:var(--panel-bg)}.cal-card-head{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:8px}.cal-card-grid{display:grid;grid-template-columns:1fr auto;grid-gap:8px 12px;gap:8px 12px;align-items:center}.cal-card-actions{flex-wrap:wrap;gap:8px}.cal-card-actions,.cal-cats{display:flex;margin-top:10px}.cal-cats{border-top:1px dashed var(--panel-border);padding-top:10px;flex-direction:column;gap:6px}.cal-cat-add,.cal-cat-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-cat-add input[type=text],.cal-cat-row input[type=text]{flex:1 1;min-width:120px}.cal-add{display:flex;flex-direction:column;gap:10px;border:1px dashed var(--panel-border);border-radius:12px;padding:12px;margin-top:12px}@media (max-width:720px){.kal-week-wrap{--kal-gutter:40px}.kal-toast{left:16px;right:16px;transform:none;bottom:16px}}.import-preview-table{width:100%;border-collapse:collapse;font-size:.86rem}.import-preview-table td,.import-preview-table th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--hairline,rgba(127,127,127,.18));vertical-align:top;white-space:nowrap}.import-preview-table td:nth-child(5){white-space:normal;min-width:180px}.import-preview-table th{font-weight:600;opacity:.75}.import-plan-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.import-plan-list li{font-size:.95rem}.changelog-modal{max-width:560px;max-height:80vh;overflow-y:auto}.changelog-list{display:flex;flex-direction:column;gap:18px;margin-top:12px}.changelog-date{font-size:12.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px}.changelog-day ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.changelog-day li{display:flex;gap:10px;align-items:flex-start}.changelog-text strong{display:block;font-size:14px}.changelog-text p{margin:3px 0 0;font-size:13px;color:var(--muted);line-height:1.4}.chip-tag-novinka,.chip-tag-oprava,.chip-tag-vylepšení{flex:none;margin-top:2px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;border:1px solid transparent}.chip-tag-oprava{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3);color:var(--red)}.chip-tag-novinka{background:rgb(var(--blue-rgb)/.14);border-color:rgb(var(--blue-rgb)/.4);color:var(--blue)}.chip-tag-vylepšení{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.35);color:var(--green)}.svc-rows{grid-gap:10px;margin-top:8px}.svc-row,.svc-rows{display:grid;gap:10px}.svc-row{grid-template-columns:1fr 150px 42px;grid-gap:10px;align-items:end}.svc-row label{display:grid;grid-gap:7px;gap:7px;font-size:13px;font-weight:700;color:var(--muted);margin:0}.svc-row .icon-btn.svc-remove{height:42px}.add-btn.svc-add{margin-top:10px;padding:9px;font-size:13px}.svc-total{background:var(--soft-bg);font-weight:800;cursor:default}@media (max-width:720px){.svc-row{grid-template-columns:1fr 110px 38px;gap:8px}.svc-row .icon-btn.svc-remove{width:38px;height:38px}}