:root{--bg: #f6f1e9;--bg-alt: #edf4f1;--panel: #ffffff;--panel-strong: #f0f4f8;--text: #1b1f2a;--muted: #5d687a;--accent: #f47b20;--accent-2: #1b9aaa;--accent-3: #f0c44c;--line: rgba(27, 31, 42, .08);--shadow: 0 24px 70px rgba(17, 24, 39, .14);font-family:Space Grotesk,IBM Plex Sans,Work Sans,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#f6f1e9,#e9f3f0 45%,#fbf0dc);color:var(--text)}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font-family:inherit;color:inherit}#root{min-height:100vh}.app{position:relative;min-height:100vh;overflow:hidden}.layout{position:relative;z-index:1;display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;min-width:0;padding:28px 22px;background:#f6f1e9eb;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px}.sidebar-brand{display:flex;align-items:center;gap:12px}.sidebar-title{margin:0;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.nav{display:grid;gap:10px}.nav-item{text-align:left;padding:10px 14px;border-radius:12px;border:1px solid transparent;background:transparent;cursor:pointer;font-weight:600;color:var(--text);white-space:nowrap;transition:background .2s ease,border-color .2s ease,transform .2s ease}.nav-item:hover{background:#1b9aaa14;border-color:#1b9aaa40;transform:translate(2px)}.nav-item.live-nav{background:linear-gradient(135deg,#16a34a33,#16a34a14);border-color:#16a34a59;color:#166534;font-weight:700}.nav-item.live-nav:hover{background:linear-gradient(135deg,#16a34a47,#16a34a24);border-color:#16a34a80}.nav-item[href="/scheduling"]{background:linear-gradient(135deg,#f47b203d,#f47b201a);border-color:#f47b2073;color:#9a3412;font-weight:700}.nav-item[href="/scheduling"]:hover{background:linear-gradient(135deg,#f47b2052,#f47b2029);border-color:#f47b2099}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.content{min-width:0}.background{position:absolute;inset:0;z-index:0;pointer-events:none}.orb{position:absolute;border-radius:999px;filter:blur(0px);opacity:.5;mix-blend-mode:multiply;animation:float 12s ease-in-out infinite}.orb-a{width:360px;height:360px;background:radial-gradient(circle,rgba(244,123,32,.35),transparent 65%);top:-140px;left:-120px}.orb-b{width:420px;height:420px;background:radial-gradient(circle,rgba(27,154,170,.32),transparent 70%);bottom:-180px;right:-140px;animation-delay:-4s}.orb-c{width:240px;height:240px;background:radial-gradient(circle,rgba(240,196,76,.35),transparent 65%);top:40%;right:6%;animation-delay:-7s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:22px 7vw 16px;background:#f6f1e9b3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:38px;height:38px;border-radius:12px;background:conic-gradient(from 120deg,var(--accent),var(--accent-2),var(--accent-3));box-shadow:0 12px 24px #f47b2040}.brand h1{margin:0;font-size:1.2rem;letter-spacing:.02em}.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.pill{display:inline-flex;align-items:center;max-width:100%;padding:6px 14px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}.pill-available{background:linear-gradient(135deg,#0f9b4f,#0b6e3a);border-color:#0f9b4f99;color:#fff;font-weight:700}.main{position:relative;z-index:1;padding:34px 7vw 90px;display:flex;flex-direction:column;gap:28px}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;align-items:center}.hero h2{margin:0 0 10px;font-size:clamp(2rem,3vw,3rem)}.hero p{margin:0 0 20px;color:var(--muted);max-width:560px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.panel{background:var(--panel);border-radius:18px;border:1px solid var(--line);padding:20px 22px;box-shadow:var(--shadow);min-width:0;overflow-x:auto}.panel.today-snapshot{background:linear-gradient(135deg,#1b9aaa29,#f47b201f,#fffffff2);border-color:#1b9aaa59;box-shadow:0 20px 40px #1b9aaa2e}.panel.today-snapshot .panel-header h3{color:#0f6c78}.panel.today-snapshot .stat{background:#ffffffe0;border-color:#1b9aaa47}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;min-width:0}.panel-header h3{margin:0;font-size:1.1rem}.trip-direction{display:block;margin-top:2px;font-size:.82rem;color:var(--muted)}.mode-toggle{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid var(--line);background:#fff;padding:4px 10px 4px 4px;cursor:pointer;font-size:.82rem;color:var(--text)}.mode-toggle-track{width:42px;height:24px;border-radius:999px;padding:2px;display:inline-flex;align-items:center;transition:background .2s ease}.mode-toggle-track.auto{background:#16a34a4d}.mode-toggle-track.manual{background:#f47b2047}.mode-toggle-thumb{width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a38;transform:translate(0);transition:transform .2s ease}.mode-toggle-track.auto .mode-toggle-thumb{transform:translate(18px)}.mode-toggle-label{font-weight:600;color:var(--muted)}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stats-row{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap}.stat{padding:16px 18px;border-radius:16px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-width:0}.stat span{color:var(--muted);font-size:.84rem}.stat strong{font-size:1.6rem}.stat.stat-up{background:linear-gradient(135deg,#1b9aaa2e,#1b9aaa0a);border-color:#1b9aaa40}.stat.stat-down{background:linear-gradient(135deg,#f47b2033,#f47b200d);border-color:#f47b2040}.stat.stat-active{background:linear-gradient(135deg,#f0c44c38,#f0c44c0d);border-color:#f0c44c4d}.stat.stat-live{background:linear-gradient(135deg,#16a34a33,#16a34a0d);border-color:#16a34a4d}.stat.stat-scheduled{background:linear-gradient(135deg,#1b9aaa33,#1b9aaa0d);border-color:#1b9aaa47}.stat.stat-cancelled{background:linear-gradient(135deg,#ef444433,#ef44440d);border-color:#ef44444d}.stat.stat-running{background:linear-gradient(135deg,#16a34a2e,#16a34a0d);border-color:#16a34a40}.notice{padding:12px 16px;border-radius:12px;border:1px solid transparent;font-size:.9rem}.notice.success{background:#1b9aaa1a;border-color:#1b9aaa4d}.notice.error{background:#f47b201a;border-color:#f47b204d}.notice.info{background:#f0c44c1f;border-color:#f0c44c59}.form{display:grid;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--muted)}.field input,.field select,.field textarea{border-radius:12px;border:1px solid var(--line);padding:10px 12px;background:#fbfcfd;font-size:.95rem}.field textarea{min-height:80px;resize:vertical}.checkbox-list{border-radius:12px;border:1px solid var(--line);background:#fbfcfd;padding:8px 10px;display:grid;gap:8px;max-height:140px;overflow-y:auto}.checkbox-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text)}.checkbox-item.disabled{opacity:.55}.checkbox-item input{width:14px;height:14px;accent-color:var(--accent)}.checkbox-empty{font-size:.82rem;color:var(--muted)}.inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 18px;border:none;cursor:pointer;font-weight:600;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease}.btn.primary{background:var(--accent);color:#fff;box-shadow:0 16px 30px #f47b2040}.btn.primary:hover{transform:translateY(-2px)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.outline{background:#fff;border:1px solid rgba(27,154,170,.35);color:#0f6c78}.btn.success{background:#16a34a;color:#fff;box-shadow:0 16px 30px #16a34a40}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.78rem;background:#1b9aaa1f;color:#0f6c78}.table{width:100%;min-width:720px;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.chip{padding:4px 10px;border-radius:999px;background:#1b9aaa1f;color:#0f6c78;font-size:.78rem}.chip-live{background:#16a34a26;color:#166534}.chip-scheduled{background:#1b9aaa26;color:#0f6c78}.chip-cancelled{background:#ef444429;color:#991b1b}.list{display:grid;gap:10px}.list-item{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fbfcfd;display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.list-item strong{display:block}.list-item span{font-size:.82rem;color:var(--muted)}.stop-editor{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.stop-editor-main{width:100%;min-width:0}.stop-editor-search{position:relative;margin-top:8px}.stop-editor-search input,.stop-editor-paste-input,.stop-editor-coord-input{width:100%}.stop-editor-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:100;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px #0000002e;max-height:200px;overflow-y:auto}.stop-editor-paste{margin-top:10px}.stop-editor-paste-input{color:var(--accent)}.stop-editor-coords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.stop-editor-upload{display:grid;gap:8px;margin-top:14px}.stop-editor-upload-field{margin-bottom:0}.stop-editor-upload-preview{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.stop-editor-upload-image{width:120px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.stop-editor-upload-hint{font-size:.72rem;color:var(--muted);line-height:1.5}.stop-editor-actions{display:flex;gap:8px;flex-wrap:wrap;width:100%}.timeline{display:grid;gap:12px}.timeline-row{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:16px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fbfcfd;min-width:0}.timeline-row-live{background:linear-gradient(135deg,#16a34a1f,#16a34a0a);border-color:#16a34a47}.timeline-row-scheduled{background:linear-gradient(135deg,#1b9aaa1a,#1b9aaa08);border-color:#1b9aaa3d}.timeline-row-cancelled{background:linear-gradient(135deg,#ef444424,#ef444408);border-color:#ef44444d}.timeline-row span{display:block;font-size:.82rem;color:var(--muted)}.timeline-time{font-weight:700;font-size:.95rem}.timeline-action{justify-self:end}.row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row-actions select{border-radius:10px;border:1px solid var(--line);padding:8px 10px;background:#fff}.cancelled-group{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px 10px}.cancelled-group summary{cursor:pointer;font-weight:600;color:#7f1d1d;list-style:none}.cancelled-group summary::-webkit-details-marker{display:none}.cancelled-group summary:before{content:"▸";margin-right:8px;color:#b91c1c}.cancelled-group[open] summary:before{content:"▾"}.cancelled-list{margin-top:10px}.scheduled-group{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px 10px}.scheduled-group summary{cursor:pointer;font-weight:600;color:#0f6c78;list-style:none}.scheduled-group summary::-webkit-details-marker{display:none}.scheduled-group summary:before{content:"▸";margin-right:8px;color:#0f6c78}.scheduled-group[open] summary:before{content:"▾"}.timeline-item{padding:12px 14px;border-left:3px solid var(--accent-2);background:#fbfcfd;border-radius:12px;border:1px solid var(--line);min-width:0}.timeline-item p{margin:0 0 6px}.timeline-item span{font-size:.78rem;color:var(--muted)}.faq-list{display:grid;gap:10px}.faq-item{border:1px solid var(--line);border-radius:14px;background:#fbfcfd;overflow:hidden}.faq-item summary{list-style:none;cursor:pointer;padding:14px 16px;display:grid;gap:4px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span:first-child{font-weight:700;color:var(--text)}.faq-summary-bn{font-size:.85rem;color:var(--muted)}.faq-answer{padding:0 16px 16px;border-top:1px solid var(--line);display:grid;gap:10px}.faq-answer p{margin:0;color:var(--text);line-height:1.6}.faq-answer p:last-child{color:var(--muted)}.mini-chart{width:100%;overflow-x:auto;padding-bottom:4px}.mini-chart-bars{min-height:220px;display:flex;align-items:flex-end;gap:8px;padding:10px 4px 0}.mini-bar-wrap{min-width:44px;display:flex;flex-direction:column;align-items:center;gap:4px}.mini-bar-value{font-size:.75rem;color:var(--muted)}.mini-bar{width:100%;border-radius:8px 8px 2px 2px;border:1px solid var(--line);transition:transform .2s ease}.mini-bar:hover{transform:translateY(-2px)}.mini-bar.daily{background:linear-gradient(180deg,#1b9aaacc,#1b9aaa4d)}.mini-bar.monthly{background:linear-gradient(180deg,#f47b20d9,#f47b2059)}.mini-bar-label{font-size:.72rem;color:var(--muted)}.mini-bar-growth{font-size:.72rem;color:#0f6c78;font-weight:600}.owner-chip{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-weight:600}.owner-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:conic-gradient(from 120deg,var(--accent),var(--accent-2),var(--accent-3));color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.owner-breakdown .stat strong{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.due-flag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.due-flag.settled{background:#16a34a29;color:#166534}.due-flag.pending{background:#f47b202e;color:#9a3412}.owner-breakdown .table tbody tr:hover{background:#1b9aaa0d}.owner-breakdown .table tfoot td{font-weight:700;border-top:2px solid var(--line);border-bottom:none;background:#1b9aaa0f}.direction-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.02em}.direction-chip.up{background:#1b9aaa26;color:#0f6c78}.direction-chip.down{background:#f47b202e;color:#9a3412}.modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:grid;place-items:center;z-index:20;padding:24px}.modal-card{width:min(520px,100%);background:var(--panel);border-radius:20px;border:1px solid var(--line);padding:20px 22px;box-shadow:var(--shadow);max-height:calc(100vh - 48px);overflow-y:auto}.reveal{opacity:0;transform:translateY(16px);animation:rise .6s ease forwards;animation-delay:var(--delay, 0ms)}@keyframes rise{to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px;padding:22px 18px;border-right:none;border-bottom:1px solid var(--line)}.sidebar-brand{min-width:0}.nav{width:100%;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;gap:8px;padding-bottom:4px}.sidebar-footer{width:100%;margin-top:0;display:flex;gap:8px;flex-wrap:wrap}.topbar{padding:18px 6vw 12px}.main{padding:28px 6vw 72px}}@media(max-width:640px){.sidebar{padding:18px 14px;gap:12px}.sidebar-brand,.sidebar-footer{width:100%}.sidebar-footer{flex-direction:column;align-items:stretch}.nav-item{padding:10px 12px}.topbar{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 4vw 12px}.brand,.topbar-actions{width:100%}.topbar-actions{justify-content:flex-start}.topbar-actions>*{width:100%;min-width:0}.main{padding:22px 4vw 64px;gap:20px}.panel{padding:16px;border-radius:16px}.panel-header{flex-direction:column;align-items:flex-start}.grid.two,.grid.three,.inline{grid-template-columns:1fr}.stats-row,.row-actions,.hero-actions{flex-direction:column;width:100%;align-items:stretch}.list-item{flex-direction:column;align-items:flex-start}.stop-editor-coords{grid-template-columns:1fr}.stop-editor-actions{width:100%}.stop-editor-actions>.btn{width:100%}.timeline-row{grid-template-columns:1fr;gap:10px}.timeline-action{justify-self:stretch;width:100%}.timeline-action>*,.row-actions>*{width:100%}.table{min-width:640px}.modal-backdrop{padding:16px}.modal-card{width:100%;padding:18px 16px;max-height:calc(100vh - 32px)}.btn{width:100%;justify-content:center}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:40px 6vw}.auth-card{width:min(480px,100%);background:#ffffffe6;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:26px 28px;display:grid;gap:18px}.auth-brand{display:flex;align-items:center;gap:12px}.auth-mark{width:38px;height:38px;border-radius:12px;background:conic-gradient(from 120deg,var(--accent),var(--accent-2),var(--accent-3));box-shadow:0 12px 24px #f47b2040}.auth-brand h1{margin:0;font-size:1.3rem}.auth-subtitle{margin:0;color:var(--muted);font-size:.95rem}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.auth-form input,.auth-form select{border-radius:12px;border:1px solid var(--line);padding:10px 12px;background:#fbfcfd;font-size:.95rem}.auth-actions{display:grid;gap:10px}.auth-error{padding:10px 12px;border-radius:12px;background:#f47b201f;border:1px solid rgba(244,123,32,.3);color:#9a3c00;font-size:.9rem}.auth-link{font-size:.9rem;color:var(--muted)}.auth-link a{color:var(--accent);font-weight:600}
