:root{--blue:#0038a8;--kakao-blue:#2563eb;--red:#ce1126;--yellow:#fcd116;--bg:#f4f6fb;--card:#ffffff;--text:#1a1f2e;--muted:#5b6475;--line:#e3e7ef;--green:#12805c;--radius:16px}*{box-sizing:border-box}html, body{margin:0; height:100%}body{font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;background:var(--bg);color:var(--text);padding-bottom:calc(68px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}button, input, select, textarea{font:inherit; color:inherit}.top{display:flex;align-items:center;justify-content:space-between;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:var(--blue);color:#fff;gap:8px;flex-wrap:wrap;height:56px}.brand{display:flex; gap:10px; align-items:center}.logo{width:34px; height:34px; border-radius:9px; background:#fff}.top h1{font-size:17px; margin:0; letter-spacing:.2px}.tagline{margin:1px 0 0; font-size:11px; opacity:.88}.top-actions{display:flex; align-items:center; gap:6px}.lang-pills{display:flex; background:rgba(255,255,255,.15); border-radius:999px; padding:2px; gap:2px}.lang-pills button{border:0; background:transparent; color:#fff; font-size:11px; font-weight:700; padding:4px 8px; border-radius:999px; cursor:pointer}.lang-pills button.on{background:var(--yellow); color:#0f131c}.icon-btn{background:rgba(255,255,255,.15); border:0; color:#fff; width:34px; height:34px; border-radius:10px; font-size:16px; cursor:pointer}main{max-width:720px; margin:0 auto; padding:10px 12px}main.map-active{max-width:100%; padding:0; margin:0}.kakao-workspace{display:flex;flex-direction:column}.kakao-map-stage{position:relative;width:100%;height:50vh;min-height:330px;background:#dbeafe;border-bottom:1.5px solid var(--line);overflow:hidden}.kakao-side-panel{padding:10px 12px;background:var(--bg)}@media (min-width:860px){.kakao-workspace{display:grid;grid-template-columns:430px 1fr;height:calc(100vh - 118px);overflow:hidden}.kakao-side-panel{grid-column:1;grid-row:1;height:100%;overflow-y:auto;padding:12px;border-right:1.5px solid var(--line);background:#eef2f9}.kakao-map-stage{grid-column:2;grid-row:1;height:100%;min-height:540px;border-bottom:0}}.kakao-map-canvas{width:100%;height:100% !important;min-height:330px;z-index:1}.kakao-map-canvas.off{display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:var(--muted);font-size:14px}.kakao-top-overlay{position:absolute;top:12px;left:12px;right:12px;max-width:680px;z-index:500;display:flex;flex-direction:column;gap:6px;pointer-events:none}.kakao-search-bar{pointer-events:auto;display:flex;align-items:center;background:#ffffff;border-radius:12px;padding:5px 6px 5px 12px;box-shadow:0 4px 14px rgba(15,23,42,0.18);border:1px solid rgba(0,56,168,0.18);gap:6px}.kakao-search-bar input{flex:1;border:none;background:transparent;font-size:14px;outline:none;color:var(--text)}.kakao-gilchatgi-btn{border:none;background:var(--kakao-blue);color:#ffffff;font-size:12px;font-weight:800;padding:8px 11px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.kakao-cat-row{pointer-events:auto;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.kakao-cat-chip{flex:none;border:1px solid #cbd5e1;background:rgba(255,255,255,0.96);color:var(--text);font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;box-shadow:0 2px 5px rgba(15,23,42,0.12);cursor:pointer}.kakao-cat-chip.on{background:var(--blue);color:#ffffff;border-color:var(--blue)}.kakao-right-fabs{position:absolute;right:12px;bottom:16px;z-index:500;display:flex;flex-direction:column;gap:7px}.kakao-fab{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#ffffff;color:var(--blue);font-size:16px;font-weight:800;box-shadow:0 3px 10px rgba(15,23,42,0.2);cursor:pointer;display:flex;align-items:center;justify-content:center}.kakao-wx-badge{position:absolute;left:12px;bottom:14px;z-index:500;background:rgba(255,255,255,0.95);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:11px;font-weight:800;color:var(--text);box-shadow:0 2px 8px rgba(15,23,42,0.14)}.kakao-place-card{position:absolute;left:12px;bottom:50px;width:min(360px, calc(100% - 70px));z-index:520;background:#ffffff;border:2px solid var(--kakao-blue);border-radius:14px;padding:12px 14px;box-shadow:0 6px 20px rgba(15,23,42,0.22)}.kakao-place-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.kakao-route-drawer{background:linear-gradient(135deg, #1e40af 0%, #2563eb 100%);color:#ffffff;border-radius:14px;padding:12px;margin-bottom:10px;box-shadow:0 3px 10px rgba(37,99,235,0.2)}.kakao-route-inputs{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.kakao-route-fields{display:flex;flex-direction:column;gap:6px}.kakao-route-row{display:flex;gap:6px}.kakao-route-row input{flex:1;padding:8px 10px;border-radius:8px;border:none;background:rgba(255,255,255,0.95);color:var(--text);font-size:13px}.kakao-route-row button{border:none;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800;background:var(--yellow);color:#0f131c;cursor:pointer}.kakao-swap-btn{width:38px;height:64px;border-radius:10px;border:1px solid rgba(255,255,255,0.35);background:rgba(255,255,255,0.15);color:#ffffff;font-size:18px;font-weight:900;cursor:pointer}#phHubJumpBar button{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.3)}.kakao-options-grid{display:flex;flex-direction:column;gap:8px;margin:8px 0}.kakao-opt-card{background:#f8fafc;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;transition:border-color .15s}.kakao-opt-card.active{background:#eff6ff;border-color:var(--kakao-blue)}.kakao-timeline-bar{display:flex;height:18px;border-radius:999px;overflow:hidden;margin:6px 0;font-size:10px;font-weight:800;color:#ffffff}.kakao-timeline-seg{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;padding:0 4px}.card{background:var(--card); border-radius:var(--radius); padding:13px 15px; margin-bottom:10px; box-shadow:0 1px 3px rgba(0,0,0,.06); border:1px solid var(--line)}.card h2{font-size:15px; margin:0 0 6px}.label{font-size:11px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--muted); margin:4px 0 6px}.seg{display:flex; background:var(--line); border-radius:11px; padding:3px; gap:3px}.seg button{flex:1; border:0; background:transparent; padding:7px 9px; border-radius:9px; font-weight:700; font-size:13px; cursor:pointer; white-space:nowrap}.seg button.on{background:var(--card); color:var(--blue); box-shadow:0 1px 2px rgba(0,0,0,.12)}.rider button.on{background:var(--red); color:#fff}.chips{display:flex; gap:6px; overflow-x:auto; padding-bottom:4px; margin-bottom:6px; scrollbar-width:none}.chips button{flex:none; border:1.5px solid var(--line); background:#fff; padding:6px 11px; border-radius:999px; font-weight:600; font-size:12px; cursor:pointer}.chips button.on{background:var(--blue); border-color:var(--blue); color:#fff}.chips.small button{padding:5px 10px; font-size:12px}.chips.small button.on{background:#eff6ff; color:var(--blue); border-color:var(--blue)}.hint{font-size:12px; color:var(--muted); margin:4px 0}.note{font-size:12px; color:var(--muted); background:var(--bg); border-radius:10px; padding:8px 10px; margin:6px 0}.note:empty{display:none}.row{display:flex; gap:8px; align-items:flex-end}.row > *{flex:1}.field{display:block; margin:6px 0}.field span{display:block; font-size:12px; color:var(--muted); margin-bottom:3px; font-weight:600}.field input, .field select, .field textarea{width:100%; padding:8px 10px; border-radius:9px; border:1.5px solid var(--line); background:#fff; font-size:13px}.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--blue)}.btn{display:block; width:100%; border:0; background:var(--blue); color:#fff; padding:10px; border-radius:10px; font-weight:700; font-size:13px; cursor:pointer; margin-top:8px}.btn.ghost{background:transparent; color:var(--blue); border:1.5px solid var(--blue)}.btn.big{padding:16px; font-size:17px; background:var(--green)}.btn.big.stop{background:var(--red)}.link-btn{border:0; background:none; color:var(--blue); font-weight:700; padding:4px 0; cursor:pointer; font-size:13px}.link-btn.danger{color:var(--red)}.fare-card{border-top:5px solid var(--yellow)}.fare-big{font-size:38px; font-weight:900; letter-spacing:-1px; line-height:1.08; color:var(--blue)}.fare-sub{font-size:13px; color:var(--muted); margin:4px 0}.fare-sub b{color:var(--text)}.sukli-box{background:var(--bg); border-radius:12px; padding:10px 12px; margin-top:8px; border:1px solid var(--line)}details{margin-top:8px; font-size:13px}summary{color:var(--blue); font-weight:700; cursor:pointer}.meter{text-align:center}.meter .fare-big{font-size:56px}.stats{display:grid; grid-template-columns:repeat(2, 1fr); gap:8px; margin:10px 0}.stats div{background:var(--bg); border-radius:12px; padding:10px; text-align:center}.stats span{display:block; font-size:11px; color:var(--muted)}.stats b{font-size:17px}.over{font-weight:700; color:var(--red)}.bar{height:10px; border-radius:99px; background:var(--line); overflow:hidden}.bar div{height:100%; width:0; background:var(--green); transition:width .3s}.bar div.warn{background:var(--red)}.trips{list-style:none; padding:0; margin:0}.trips li{display:flex; justify-content:space-between; gap:8px; padding:10px 0; border-bottom:1px solid var(--line); font-size:13px}.trips li small{color:var(--muted); display:block}.trips .amt{font-weight:700; text-align:right; white-space:nowrap}.trips .del{border:0; background:none; color:var(--muted); cursor:pointer; font-size:16px}pre{white-space:pre-wrap; background:var(--bg); padding:12px; border-radius:10px; font-size:12px; font-family:inherit}.contact{font-size:13px; line-height:1.6}.printable h3{margin:0; font-size:19px}.printable table{width:100%; border-collapse:collapse; margin-top:10px; font-size:14px}.printable th, .printable td{border:1px solid var(--line); padding:5px 8px; text-align:center}.printable th{background:var(--blue); color:#fff}.printable tr:nth-child(even) td{background:var(--bg)}.printable .foot{font-size:11px; color:var(--muted); margin-top:8px}.cols{display:grid; grid-template-columns:1fr; gap:0 12px; align-items:start}@media (min-width:560px){.cols{grid-template-columns:1fr 1fr} }@media print{.cols{grid-template-columns:1fr 1fr} }.tabs{position:fixed; left:0; right:0; bottom:0; display:flex;background:var(--card); border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom); z-index:1000}.tabs button{flex:1; border:0; background:none; padding:7px 2px 9px; cursor:pointer; color:var(--muted)}.tabs span{display:block; font-size:18px}.tabs b{font-size:11px; font-weight:600}.tabs button.on{color:var(--blue)}.tabs button.on b{font-weight:800}dialog{border:0; border-radius:var(--radius); padding:20px; width:min(92vw, 440px); background:var(--card); color:var(--text)}dialog::backdrop{background:rgba(0,0,0,.6)}.driver-modal{background:#0b1120; color:#fff; border:3px solid var(--yellow); text-align:center}.driver-modal-big{font-size:54px; font-weight:900; color:var(--yellow); line-height:1.05; margin:8px 0}@media print{body{padding:0; background:#fff; color:#000}.top, .tabs, .no-print, .view:not(#view-card){display:none !important}.card{box-shadow:none; padding:0; border:0}.printable th{background:#ddd; color:#000}}