@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Poppins:wght@500;600;700;800&display=swap');
:root{--blue:#005eb6;--bright:#1856e9;--navy:#05213c;--sky:#40b8ff;--line:#dce5ee;--muted:#617387}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--navy);font-family:'Noto Sans JP',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--sky);outline-offset:3px}[hidden]{display:none!important}header{height:88px;display:flex;align-items:center;padding:0 5%;gap:40px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--blue);display:flex;align-items:center;gap:22px}.brand>span{font:bold italic 40px 'Poppins',sans-serif;letter-spacing:-3px}.brand small{font:600 10px 'Poppins',sans-serif;letter-spacing:2px;color:var(--navy);border-left:1px solid var(--line);padding-left:20px}nav{display:flex;gap:30px;margin-left:auto;height:100%}.nav{border:0;background:transparent;color:var(--muted);position:relative;font-size:12px;font-weight:700}.nav.active{color:var(--blue)}.nav.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--blue)}nav b{background:#e1f1ff;border-radius:50%;padding:2px 6px;margin-left:3px}.prototype{font:600 9px 'Poppins',sans-serif;letter-spacing:1.3px;border:1px solid var(--line);padding:7px 10px;color:var(--muted)}main{max-width:1420px;margin:auto;padding:0 5%}.eyebrow{font:600 11px 'Poppins','Noto Sans JP',sans-serif;letter-spacing:1.8px;color:var(--blue);margin:0 0 16px}.eyebrow span{color:#7e91a4;font-size:9px}.intro{font-size:13px;line-height:1.95;color:var(--muted);margin:0}.demo-note{padding:13px 16px;background:#f4f8fc;color:#597188;font-size:11px;border-left:3px solid var(--sky);line-height:1.8}.demo-note>span{font-weight:700;margin-right:14px;color:var(--blue)}.section-head{display:flex;align-items:end;justify-content:space-between;margin:40px 0 24px}.section-head .eyebrow{margin-bottom:8px}h2{font-size:25px;margin:0;font-weight:800}.section-head>p{font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:240px 1fr;border:1px solid var(--line)}aside{padding:27px 24px;background:#f5f9fd;border-right:1px solid var(--line)}.label{font:600 9px 'Poppins',sans-serif;letter-spacing:1.7px;color:#6e849a;margin:0 0 10px}aside label{font-size:11px;font-weight:600;display:block;margin-bottom:8px}select{width:100%;padding:11px 8px;background:white;border:1px solid var(--line);color:var(--navy);border-radius:2px}.avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#40b8ff,#005eb6);color:white;font:600 23px/64px 'Poppins',sans-serif;text-align:center;margin:30px 0 14px}h3{margin:0;font-size:18px}.role{font-size:10px;color:var(--blue);margin:6px 0 18px}aside>p:not(.role):not(.label){color:var(--muted);font-size:12px;line-height:1.9}.details{display:flex;flex-direction:column;gap:12px;font-size:11px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.aside-foot{font-size:10px;line-height:1.9;color:#7b8da0;margin-top:30px}.calendar{padding:26px;min-width:0}.cal-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.cal-top h3{font-size:18px}.week-nav{display:flex;gap:5px}.week-nav button{background:#fff;border:1px solid var(--line);min-width:36px;height:34px;color:var(--navy)}.week-nav #today{font-size:11px;padding:0 13px}.legend{display:flex;gap:18px;font-size:10px;color:#8292a2;margin:25px 0 15px;align-items:center}.legend .blue{color:var(--blue);font-weight:700}.legend small{margin-left:auto;font-size:9px}.table-scroll{overflow-x:auto}table{border-collapse:separate;border-spacing:4px;width:100%;min-width:580px;table-layout:fixed}th{font-size:11px;height:51px;font-weight:500;color:var(--muted)}th:first-child{width:55px}th .date{display:block;font:600 17px 'Poppins',sans-serif;color:var(--navy);margin-bottom:3px}th.weekend{background:#f5f7fa}td{text-align:center;height:44px}td.time{font:500 11px 'Poppins',sans-serif;color:var(--muted)}.slot{width:100%;height:44px;border:1px solid #cbe4fb;background:#eff8ff;color:var(--blue);border-radius:3px;font-size:16px;transition:.15s}.slot small{font-size:9px;margin-left:5px}.slot:hover{background:#d7eeff;border-color:var(--blue)}.slot.selected{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px 8px #005eb62b}.unavailable{background:#f4f6f8;color:#9aa6b3;border-radius:3px;font-size:11px}.off{background:#f8f9fb;color:#a9b2bc;font-size:10px}.selection{margin-top:20px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.selection small{font:600 8px 'Poppins',sans-serif;letter-spacing:1.5px;color:#738ba1}.selection p{margin:6px 0 0;font-size:12px;font-weight:700}.primary{border:0;background:linear-gradient(110deg,#005eb6,#168ddd);color:white;padding:16px 24px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px}.primary:hover:not(:disabled){background:var(--navy)}.how{padding:55px 0}.how>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:22px}.how article{padding-left:24px;border-left:1px solid var(--line);position:relative}.how b{font:600 30px 'Poppins',sans-serif;color:#bbdaf4}.how h3{font-size:14px;margin:8px 0}.how p{font-size:11px;color:var(--muted);line-height:1.9}footer{border-top:1px solid var(--line);padding:28px 5%;display:flex;justify-content:space-between;align-items:center}footer strong{font:bold italic 26px 'Poppins',sans-serif;color:var(--blue)}footer strong span{font:500 9px 'Poppins',sans-serif;letter-spacing:1px;margin-left:18px}footer>small{font-size:10px;color:var(--muted)}dialog{border:0;padding:40px;width:520px;max-width:calc(100% - 28px);max-height:90vh;color:var(--navy);box-shadow:0 24px 100px #05213c33}dialog::backdrop{background:#05213c99;backdrop-filter:blur(4px)}.close{position:absolute;right:14px;top:10px;border:0;background:none;color:var(--muted);font-size:25px}.muted{color:var(--muted);font-size:12px;line-height:1.8}.summary{background:#f0f7ff;padding:18px;border-left:3px solid var(--blue);line-height:1.9;margin:22px 0;font-size:13px}form label{display:block;font-size:12px;font-weight:600;margin:18px 0}em{font-style:normal;font-size:9px;color:var(--blue);margin-left:8px}input,textarea{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #cdd8e2;color:var(--navy);background:#fff;font-size:13px;border-radius:0}textarea{resize:vertical}.form-note{font-size:10px;line-height:1.9;color:var(--muted)}form .primary,#successView>.primary{width:100%;margin-top:22px}.success-icon{background:#e1f1ff;width:60px;height:60px;border-radius:50%;font-size:30px;line-height:60px;text-align:center;color:var(--blue);margin-bottom:25px}#error{font-size:12px;color:#b42d3b}.booking-card{border:1px solid var(--line);padding:24px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;gap:20px}.booking-card p{margin:8px 0;color:var(--muted);font-size:12px}.booking-card button{background:white;border:1px solid var(--line);color:var(--muted);padding:10px;font-size:11px}.status{font-size:10px;color:var(--blue);display:block;margin-bottom:9px}.empty{padding:60px;text-align:center;background:#f5f9fd;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:14px 24px;font-size:12px;display:none;z-index:10}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1450px){main{padding:0 65px}}@media(max-width:1000px){header{gap:15px}.brand small{display:none}.workspace{grid-template-columns:190px 1fr}aside{padding:20px 16px}.calendar{padding:20px 15px}.selection{align-items:stretch;flex-direction:column}.selection .primary{justify-content:center}.legend{gap:12px}.legend small{display:none}}@media(max-width:700px){header{height:70px;padding:0 5%}.brand>span{font-size:32px}nav{gap:15px}.nav{font-size:11px}.prototype{display:none}.hero .intro br{display:none}.section-head{display:block;margin-top:30px}.section-head>p{font-size:11px}.section-head h2{font-size:22px}.workspace{display:block}aside{border-right:0;border-bottom:1px solid var(--line);position:relative;padding:18px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}aside .label,aside .avatar,aside #bio,aside .aside-foot{display:none}aside label{grid-column:1}aside select{grid-column:1;grid-row:2}aside h3{grid-column:2;grid-row:1;font-size:15px}aside .role{grid-column:2;grid-row:2;margin:8px 0}aside .details{grid-column:1 / -1;flex-direction:row;gap:14px;margin-top:15px;padding-top:14px}.calendar{padding:20px 10px}.cal-top{padding:0 5px}.cal-top h3{font-size:15px}.week-nav button{min-width:30px}.legend{padding:0 5px;margin-top:20px}.table-scroll{margin:0 -2px}.selection{margin:18px 5px 0}.how{padding:35px 0}.how>div{gap:10px}.how article{padding-left:12px}.how h3{font-size:11px}.how p{font-size:10px}.how b{font-size:25px}footer{display:block}footer>small{display:block;margin-top:12px;font-size:9px}dialog{padding:30px 22px}.booking-card{padding:18px;align-items:start;flex-direction:column}.empty{padding:35px 20px}}

/* Compact scheduling header */
.brand img{display:block;width:116px;height:auto;object-fit:contain}.brand small{font-family:"Noto Sans JP",sans-serif;font-size:12px;letter-spacing:1px}.page-title{padding:34px 0 25px}.page-title .eyebrow{font-size:9px;margin-bottom:9px}.page-title h1{font-size:29px;line-height:1.4;margin:0 0 10px;font-weight:800;letter-spacing:.02em}.page-title>p:last-child{color:var(--muted);font-size:12px;margin:0;line-height:1.8}.section-head{margin-top:27px}.footer-brand{display:flex;gap:20px;align-items:center}.footer-brand img{width:88px;height:auto}.footer-brand span{font-size:11px;color:var(--muted)}.how{padding:35px 0}.intro{display:none}@media(max-width:700px){.brand img{width:90px}.brand small{display:none}.page-title{padding:25px 0 20px}.page-title h1{font-size:25px}}

.admin-shell > nav.sidebar{display:block;height:auto;margin:0;gap:0}.admin-shell .sidebar button{height:auto}.admin-shell .sidebar .label{font-size:9px}body:has(.admin-shell) > header{background:#fff}@media(max-width:850px){.admin-shell > nav.sidebar{display:flex}}
