:root{--navy:#103766;--blue:#0e93da;--green:#76c13a;--yellow:#ffd83a;--red:#e84538;--ink:#193149;--sub:#63758a;--border:#dce6ee;--paper:#fff;--bg:#f4f8fb;--shadow:0 10px 35px rgba(17,55,94,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font:15px/1.6 system-ui,-apple-system,'Yu Gothic','Meiryo','Noto Sans CJK JP',sans-serif;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}a{color:#1161a4;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.wrap{width:min(1160px,calc(100% - 42px));margin:auto}.narrow{max-width:620px}.topband{background:#05294f;color:#c9e1ed;font-size:12px}.topband .wrap{display:flex;justify-content:space-between;padding:7px 0;letter-spacing:.13em}.site-header{position:relative;background:white;border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--navy)}.brand:hover{text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain}.brand strong{font-size:20px;font-weight:900;letter-spacing:.03em}.brand small{display:block;font-size:10px;letter-spacing:.16em;color:var(--sub);margin-top:-4px}.langs{display:flex;gap:8px}.langs a{padding:6px 12px;border-radius:20px;font-size:12px;border:1px solid var(--border);color:var(--ink)}.langs a.active{background:var(--navy);color:white;border-color:var(--navy)}
.hero{background:linear-gradient(122deg,#07345f 0%,#075c9d 58%,#0c9aca 100%);color:#fff;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;right:-110px;bottom:-270px;background:#a0d73844;width:500px;height:500px;border-radius:50%}.hero-grid{min-height:370px;display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:center;gap:50px;padding:55px 0}.hero h1{font-weight:900;font-size:clamp(30px,4vw,50px);line-height:1.3;letter-spacing:.01em;margin:16px 0}.hero p{font-size:17px;color:#ecf8ff;max-width:590px}.eyebrow{letter-spacing:.18em;font-size:11px;font-weight:800;color:#87d8ff}.eyebrow span{color:var(--yellow)}.eyebrow.dark{color:#0781c4}.hero-logo{height:282px;width:282px;object-fit:contain;filter:drop-shadow(0 12px 20px #051f3588);z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid transparent;padding:9px 19px;background:var(--navy);color:white;border-radius:10px;font-weight:800;box-shadow:none}.btn:hover{text-decoration:none;filter:brightness(1.05)}.btn.primary{background:#116dae;border-color:#116dae;color:white}.btn.yellow{color:#103766;background:var(--yellow);margin-top:15px}.btn.outline{border-color:#bad0df;background:#fff;color:var(--ink)}.btn.danger{background:#fff3f3;border-color:#f1b9b9;color:#9b2525}.btn.smallbtn{min-height:34px;padding:5px 10px;font-size:12px;border-radius:7px}
.booking{margin-top:-35px;position:relative;z-index:1}.panel{border:1px solid var(--border);border-radius:18px;padding:26px;background:white;box-shadow:var(--shadow);margin-bottom:22px}.panel.raised{padding:28px 30px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.section-head h1,.section-head h2{margin:3px 0}.section-head h1{font-size:26px}.section-head h2{font-size:24px}.status-chip{font-size:12px;display:inline-flex;border-radius:20px;background:#e9f5fd;border:1px solid #c4e2f5;padding:5px 11px;color:#14517d;white-space:nowrap}.search-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px}.search-grid label,.form-grid label{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:5px}input:not([type=checkbox]),select{height:43px;padding:9px 11px;border:1px solid #c7d7e4;border-radius:9px;width:100%;background:#fff;color:#243447}input:focus,select:focus{outline:2px solid #7acaed;outline-offset:1px}.search-grid .btn{min-height:43px}.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:12px 0 8px}.class-card{display:flex;flex-direction:column;gap:3px;padding:17px;border:1px solid #cee1ee;border-radius:14px;background:linear-gradient(145deg,#fff,#f4fbff)}.class-card .car-icon{font-size:30px}.class-card strong{font-size:19px}.class-card b{font-size:18px;color:#0a5a93}.class-card small{color:#68839b}.class-card .estimate{font-size:12px;margin-top:9px;border-top:1px dashed #d2e1ea;padding-top:7px}.booking-form{margin-top:25px;border-top:1px solid var(--border);padding-top:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid hr{grid-column:1/-1;width:100%;border:0;border-top:1px solid var(--border)}.form-grid>button{grid-column:1/-1}.checkline{display:flex!important;flex-direction:row!important;align-items:center;flex-wrap:wrap;grid-column:1/-1}.checkline input{width:17px;height:17px}.honeypot{position:absolute;left:-9999px;height:0;overflow:hidden}.muted{color:var(--sub)}.small{font-size:12px}.block{display:block}.inline{display:inline}.notice{padding:12px 15px;border-radius:9px;border:1px solid;margin:10px 0 20px}.notice.good{background:#eaf7ed;border-color:#b8d7c1;color:#226e3c}.notice.bad{background:#fff0ef;border-color:#f3c8c4;color:#9f2626}.notice.warn{background:#fff9e6;border-color:#f3df9c;color:#78520a}.location-section{padding:72px 0}.branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.location-card{padding:26px 30px;border-radius:16px;background:#fff;border:1px solid var(--border)}.location-card h3{font-size:21px;margin:8px 0}.location-emoji{font-size:35px}.location-card p{color:var(--sub)}.footer{background:#092a49;color:#e2f2ff;padding:30px 0}.footer a{color:#e4f3ff}.footer .brand{color:#fff}.footer .brand small{color:#cee6f4}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer .brand img{width:52px;height:52px}
.admin-header{background:#fff;border-bottom:1px solid var(--border)}.admin-header .wrap{display:flex;justify-content:space-between;align-items:center;padding:12px 0;gap:20px}.admin-top{min-height:82px}.admin-user{font-size:12px;color:var(--sub);margin-right:14px}.admin-shell{padding-top:20px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:23px}.tab{display:inline-block;border-radius:10px;padding:9px 15px;font-size:13px;font-weight:800;color:#4c6276;border:1px solid #cfdde6;background:white}.tab.active{background:#103766;border-color:#103766;color:white}.admin-content{padding-bottom:70px}.admin-content h1{font-size:27px;margin:8px 0}.admin-content h2{font-size:20px;margin:0 0 18px}.admin-content h3{font-size:16px;margin:10px 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:16px 0 22px}.metric{padding:18px 20px;background:white;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.metric small{display:block;color:var(--sub);font-weight:700}.metric strong{font-size:38px;font-weight:900;color:#0b5186;line-height:1.35}.metric span{font-size:13px;margin-left:6px}.sales-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.sales-grid h2{font-size:29px;margin:10px 0}.two-col{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(450px,1.2fr);gap:17px;align-items:start}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th{text-align:left;background:#edf4f9;color:#486279;font-size:12px}th,td{padding:11px 10px;border-bottom:1px solid #e4edf3;vertical-align:top}tr:hover td{background:#f8fbfe}.login-wrap{padding:80px 0}.login-logo{text-align:center}.login-logo img{width:100px;height:100px;object-fit:contain}.login-wrap .panel{max-width:430px;margin:auto}.login-wrap h1{text-align:center}.login-wrap .form-grid{grid-template-columns:1fr}.form-grid.multi{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span2{grid-column:1/-1}.row-actions{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0 20px}.status-line{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px}.segmented{display:flex;gap:3px;background:#e6eef5;border-radius:11px;padding:4px}.segmented a{padding:7px 19px;border-radius:8px}.segmented a.active{background:#fff;box-shadow:0 1px 6px #94a9be70;font-weight:700}
@media(max-width:980px){.search-grid{grid-template-columns:1fr 1fr}.search-grid .btn{grid-column:1/-1}.metrics{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.hero-grid{grid-template-columns:1fr 210px}.hero-logo{height:210px;width:210px}}
@media(max-width:640px){.wrap{width:min(100% - 24px,1160px)}.nav{min-height:69px}.brand img{width:48px;height:48px}.brand strong{font-size:15px}.brand small{font-size:8px}.langs{gap:4px}.langs a{font-size:10px;padding:5px 7px}.hero-grid{display:flex;flex-direction:column;min-height:unset;align-items:flex-start;padding:45px 0 75px;gap:12px}.hero-logo{width:150px;height:150px;align-self:center}.hero h1{font-size:29px}.booking{margin-top:-36px}.panel,.panel.raised{padding:18px 15px}.search-grid,.form-grid,.form-grid.multi,.branch-grid,.sales-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr);gap:9px}.metric{padding:12px}.metric strong{font-size:31px}.admin-header .brand small{display:none}.admin-user{display:none}.tabs{gap:5px}.tab{font-size:11px;padding:7px 10px}.form-grid .span2{grid-column:1}.section-head h1{font-size:22px}.section-head h2{font-size:21px}.section-head{align-items:flex-start}.footer-inner{flex-direction:column;align-items:flex-start}.admin-content{padding-bottom:30px}.login-wrap{padding:40px 0}}

.fee-detail{border:1px solid var(--border);border-radius:10px;padding:15px;margin:12px 0}.fee-detail summary{font-weight:800;cursor:pointer}.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fee-line{display:grid;grid-template-columns:1fr 80px 110px;align-items:center;gap:6px;border-bottom:1px solid var(--border);padding:8px 0}.fee-line strong{font-size:12px}.fee-line label{font-size:11px!important}@media(max-width:700px){.fee-grid{grid-template-columns:1fr}}

/* v6 - rate calendar and management forms */
.rate-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:15px 0 3px}
.rate-weekday{background:#e6f3fa;padding:9px;text-align:center;border-radius:6px;font-weight:800;color:#1c527d}
.rate-blank{min-height:82px}.rate-day{border:1px solid #c9dfeb;border-radius:9px;min-height:86px;background:#fafdff;padding:8px 6px;display:flex;flex-direction:column;gap:7px;min-width:0}
.rate-day span{font-size:12px;font-weight:800;color:#245279}.rate-day input[type=number]{min-width:0;width:100%;font-size:13px;height:34px;padding:4px 5px}
.rate-day:has(input:not(:placeholder-shown)){background:#fff5d5;border-color:#d6b34a}
@media(max-width:780px){.rate-calendar{gap:3px}.rate-weekday{padding:5px 2px;font-size:11px}.rate-day{min-height:67px;padding:4px 2px}.rate-day span{font-size:10px}.rate-day input[type=number]{height:33px;font-size:10px;padding:2px}.rate-blank{min-height:52px}}
