*{box-sizing:border-box}
html{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f5f7fa;color:#172033}
body{margin:0}.topbar{height:64px;background:#fff;border-bottom:1px solid #e6e9ef;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1050px)/2));position:sticky;top:0;z-index:10}
.brand{font-weight:800;font-size:20px;color:#172033;text-decoration:none;cursor:pointer}.top-actions{display:flex;align-items:center;gap:18px}.header-link{color:#687386;text-decoration:none;font-size:14px}
.container{max-width:1050px;margin:auto;padding:30px 20px 60px}
.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:12px 17px;font-weight:750;text-decoration:none;cursor:pointer;font-size:15px}
.primary{background:#2457d6;color:#fff;box-shadow:0 3px 8px #2457d633}.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.secondary{background:#eef2f7;color:#273248}.danger{background:#fff0f0;color:#b52d2d}.top-new{padding:9px 13px;font-size:14px}.small{padding:10px 13px;font-size:14px}.full{width:100%;margin-top:8px}
.day-section{margin-bottom:34px}.day-title{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:18px;font-weight:800;text-transform:capitalize}
.day-count{font-size:12px;font-weight:650;color:#7a8495;background:#e9edf3;padding:5px 9px;border-radius:999px}
.trip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.trip-card,.detail-card,.form-card,.empty-state{background:#fff;border:1px solid #e3e7ee;border-radius:18px;box-shadow:0 7px 25px #1720330d}
.trip-card{padding:20px}.trip-card.expired{filter:grayscale(1);opacity:.55}.trip-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.time{font-size:31px;font-weight:850}
.status{font-size:12px;font-weight:800;background:#e8f6ee;color:#16834a;padding:6px 9px;border-radius:999px;white-space:nowrap}.status.full{background:#fbecec;color:#b52d2d}
.destination{font-size:17px;font-weight:700;margin-top:8px}.driver{display:flex;align-items:center;gap:11px;margin-top:18px}.driver.large{margin-top:12px}
.avatar{width:40px;height:40px;border-radius:50%;background:#e9efff;color:#2457d6;display:flex;align-items:center;justify-content:center;font-weight:850}
.driver div:last-child{display:flex;flex-direction:column}.muted{font-size:11px;color:#7a8495;text-transform:uppercase;letter-spacing:.06em}
.separator{height:1px;background:#edf0f4;margin:18px 0}.children-summary{padding:11px 0;color:#657086;font-size:14px;font-weight:700;border-bottom:1px solid #e3e7ee;margin-bottom:10px}
.children-head{display:flex;justify-content:space-between;font-weight:750;margin-bottom:10px}
.children-list{display:flex;flex-direction:column;gap:6px}.child-row{display:flex;align-items:center;justify-content:space-between;background:#f7f8fa;border-radius:9px;padding:9px 11px}
.child-row form{margin:0}.icon-button{border:0;background:transparent;color:#8a93a1;font-size:22px;cursor:pointer;line-height:1}
.no-child{font-size:14px;color:#929aaa;padding:7px 0}.capacity{height:7px;background:#edf0f4;border-radius:99px;overflow:hidden;margin:16px 0}
.capacity span{display:block;height:100%;background:#2457d6;border-radius:99px}.card-actions{display:flex;align-items:center;gap:10px}
.edit-link{margin-left:auto;color:#657086;text-decoration:none;font-size:13px;font-weight:650}
.empty-state{text-align:center;padding:60px 25px}.empty-icon{font-size:46px}.empty-state h2{margin:10px 0 5px}.empty-state p{color:#737e91;margin-bottom:22px}
.form-page{max-width:600px;margin:0 auto}.back-link{display:inline-block;color:#687386;text-decoration:none;margin-bottom:18px;font-size:14px}
.form-card{padding:28px}.form-card form{margin-top:24px}.field{margin-bottom:2px}
label{display:block;font-size:13px;font-weight:800;margin:17px 0 7px}.required{color:#b52d2d}
input{width:100%;border:1px solid #d8dde6;border-radius:10px;padding:13px 12px;font:inherit;background:#fff;outline:none}
input:focus{border-color:#2457d6;box-shadow:0 0 0 3px #2457d61a}.input-invalid{border-color:#d52f2f!important;box-shadow:0 0 0 3px #d52f2f18!important;background:#fff8f8}.input-valid{border-color:#2457d6!important;box-shadow:0 0 0 3px #2457d61a!important;background:#eaf1ff!important}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hint{display:block;color:#8a93a1;font-size:12px;margin-top:5px}.field-error{display:block;color:#b52d2d;font-size:12px;margin-top:5px}
.error{color:#b52d2d;background:#fff0f0;border-radius:9px;padding:9px 11px;font-size:13px;margin-top:10px}.required-note{font-size:12px;color:#7a8495;text-align:right;margin-top:8px}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(145deg,#eef3ff,#f7f8fa)}
.login-card{width:min(420px,100%);background:#fff;border:1px solid #e1e6ee;border-radius:22px;padding:34px;box-shadow:0 20px 50px #17203318;text-align:center}
.login-icon{font-size:52px}.login-card h1{margin:8px 0}.login-card p{color:#707b8e;line-height:1.5;margin-bottom:24px}.login-card form{text-align:left}
.detail-card{padding:28px}.detail-date{text-transform:capitalize;color:#6e788a;font-weight:750}.detail-time{font-size:48px;font-weight:900;letter-spacing:-.05em}
.detail-card h1{margin:0;font-size:25px}.detail-child{margin-top:8px}.add-child{display:flex;gap:9px;margin-top:16px}.add-child input{flex:1}
.complete-banner{margin-top:18px;background:#edf8f2;color:#16834a;border-radius:10px;padding:12px;font-weight:750;text-align:center}
footer{text-align:center;color:#9aa2af;font-size:12px;padding:20px}
@media(max-width:620px){.container{padding:22px 14px 45px}.topbar{padding:0 14px}.brand{font-size:18px}.top-actions{gap:10px}.top-new{padding:8px 10px;font-size:13px}.trip-grid{grid-template-columns:1fr}.trip-card{padding:17px}.two-cols{grid-template-columns:1fr}.form-card,.detail-card{padding:21px}.time{font-size:28px}.status{font-size:11px}.card-actions{flex-wrap:wrap}.edit-link{margin-left:0}.add-child{flex-direction:column}.detail-time{font-size:42px}}
.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#eef2f7;border-radius:12px;padding:5px;margin-bottom:20px}.mode-button{border:0;border-radius:9px;padding:11px 12px;background:transparent;color:#657086;font:inherit;font-weight:800;cursor:pointer}.mode-button.active{background:#fff;color:#2457d6;box-shadow:0 2px 8px #17203314}.destination-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.preset{border:1px solid #d8dde6;background:#f7f8fa;color:#445066;border-radius:9px;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.walking-driver{margin-top:18px}.walk-icon{width:48px;height:48px;border-radius:50%;background:#eef3ff;display:flex;align-items:center;justify-content:center;font-size:27px}.walking-status{background:#eef3ff;color:#2457d6}

.mode-radio{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}

.children-bottom-separator{height:1px;background:#edf0f4;margin:16px 0 14px}
