:root{--ink:#173f38;--ink-2:#285b52;--coral:#ef765e;--coral-dark:#dc624c;--cream:#f7f5ef;--paper:#fffdf8;--sand:#ebe6da;--sage:#cbd9c0;--muted:#6d7772;--line:#deddd5;--shadow:0 28px 70px rgba(24,63,56,.13);font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream)}button,input{font:inherit}button{cursor:pointer}.demo-shell{min-height:100vh}.demo-bar{height:76px;padding:0 5vw;display:flex;align-items:center;border-bottom:1px solid rgba(23,63,56,.12);background:rgba(247,245,239,.94);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:20px;letter-spacing:-.03em}.brand b{font-size:24px}.brand-mark{width:34px;height:34px;display:block;position:relative}.brand-mark span{position:absolute;width:21px;height:27px;border:3px solid currentColor;border-radius:65% 55% 60% 45%;transform:rotate(34deg);left:5px;top:4px}.brand-mark span:last-child{width:10px;height:15px;border-width:2px;left:17px;top:10px;transform:rotate(-18deg)}.view-switcher{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:4px;background:#e9e7df;padding:4px;border-radius:10px}.view-tab{border:0;background:transparent;color:#63706c;padding:9px 16px;border-radius:7px;font-size:13px;font-weight:600}.view-tab.is-active{background:var(--paper);color:var(--ink);box-shadow:0 2px 7px rgba(23,63,56,.08)}.demo-badge{margin-left:auto;border:1px solid #c9ccc6;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.12em}.demo-badge span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#67b57a;margin-right:5px}.view{display:none;min-height:calc(100vh - 76px)}.view.is-active{display:block}.kiosk-layout{min-height:calc(100vh - 132px);padding:6vh 7vw 4vh;display:grid;grid-template-columns:minmax(400px,1.05fr) minmax(380px,.75fr);gap:7vw;align-items:center;background:radial-gradient(circle at 2% 7%,#fff9e9 0,transparent 24%),linear-gradient(120deg,#f7f5ef 64%,#e5ece2 64%);overflow:hidden;position:relative}.kiosk-layout:before{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(23,63,56,.08);border-radius:50%;right:-120px;top:-160px}.clinic-label{display:inline-flex;gap:9px;align-items:center;padding:7px 12px 7px 8px;border:1px solid rgba(23,63,56,.2);border-radius:40px;font-size:13px;font-weight:600}.tooth-icon{width:28px;height:28px;display:grid;place-items:center;background:var(--sage);border-radius:50%}.eyebrow{color:var(--coral-dark);font-weight:700;letter-spacing:.12em;font-size:13px;margin:32px 0 16px}.kiosk-copy h1,.phone-intro h1{font:700 clamp(47px,5.3vw,78px)/1.2 "Shippori Mincho",serif;letter-spacing:-.06em;margin:0;color:var(--ink)}.kiosk-copy h1 em{color:var(--coral);font-style:normal}.lead{font-size:17px;line-height:2;color:#50615b;margin:30px 0}.trust-row{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600}.trust-row i{width:4px;height:4px;border-radius:50%;background:var(--coral)}.booking-card{background:var(--paper);border-radius:2px;box-shadow:var(--shadow);padding:clamp(30px,4vw,54px);min-height:520px;position:relative}.booking-step{display:none;text-align:center}.booking-step.is-active{display:block;animation:stepIn .35s ease both}.step-count{color:var(--coral-dark);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.booking-step h2{font:700 30px/1.4 "Shippori Mincho",serif;margin:12px 0}.booking-step>p:not(.step-count,.success-mark){font-size:14px;line-height:1.8;color:var(--muted)}.concern-pills{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:30px 0}.concern-pills span,.tags span{padding:7px 11px;border-radius:20px;background:#f0eee7;font-size:11px;color:#53645e}.primary-button{border:0;background:var(--coral);color:#fff;width:100%;padding:18px 20px;font-weight:700;box-shadow:0 8px 20px rgba(239,118,94,.24);transition:.2s}.primary-button:hover{background:var(--coral-dark);transform:translateY(-1px)}.primary-button span{float:right}.booking-step>small{display:block;color:#89908d;font-size:10px;margin-top:14px}.back-button{position:absolute;top:25px;left:25px;border:0;background:#f0eee7;width:36px;height:36px;border-radius:50%;color:var(--ink)}.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0}.date-option{border:1px solid var(--line);background:#fff;padding:13px 4px;color:var(--ink)}.date-option>*{display:block;margin:auto}.date-option small{font-size:11px}.date-option b{font-size:13px;margin:2px 0}.date-option span{font-size:12px}.date-option.is-selected{border:2px solid var(--coral);background:#fff7f4}.name-field{text-align:left;font-size:11px;font-weight:700;color:var(--muted);display:block;margin-bottom:18px}.name-field input{display:block;width:100%;border:1px solid var(--line);padding:12px;margin-top:6px;color:var(--ink);background:#fff}.success-mark{width:50px;height:50px;display:grid;place-items:center;margin:0 auto 18px!important;border-radius:50%;background:var(--sage);color:var(--ink);font-size:23px}.qr-wrap{display:flex;align-items:center;gap:15px;margin:20px auto 10px;background:#fff;border:1px solid var(--line);padding:10px 16px;color:var(--ink);font-weight:700;font-size:12px}.qr{width:104px;height:104px}.text-button{border:0;background:transparent;color:var(--coral-dark);font-weight:700;font-size:12px;padding:8px}.kiosk-footer{height:56px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:22px;font-size:12px;font-weight:600}.kiosk-footer i{color:#82a69e;font-style:normal}.phone-scene{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(360px,.8fr) minmax(360px,.7fr);gap:10vw;padding:7vh 12vw;align-items:center;background:#edf1ea;overflow:hidden}.phone-intro{max-width:600px}.phone-intro h1{font-size:clamp(45px,5vw,74px);margin-bottom:25px}.phone-intro>p:last-of-type{color:#58706a;line-height:2;max-width:530px}.feature-list{list-style:none;padding:0;margin:38px 0}.feature-list li{display:flex;gap:14px;margin:22px 0}.feature-list li>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:white;font-size:12px}.feature-list div{display:grid;gap:5px}.feature-list small{color:var(--muted)}.phone{justify-self:center;width:370px;height:720px;border:10px solid #14312c;border-radius:46px;background:#eef1eb;box-shadow:0 35px 80px rgba(24,63,56,.25);overflow:hidden;display:flex;flex-direction:column}.phone-status{height:34px;background:#fff;display:flex;justify-content:space-between;padding:8px 23px;font-size:11px;font-weight:700}.line-header{height:74px;background:#fff;border-bottom:1px solid #e4e6e2;display:flex;align-items:center;padding:10px 13px;gap:10px}.line-header button{border:0;background:none;color:#67736f;font-size:30px}.line-header>div:last-child{display:flex;flex-direction:column}.line-header b{font-size:13px}.line-header small{font-size:9px;color:var(--muted)}.line-avatar,.mini-avatar{display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font:700 18px "Shippori Mincho",serif}.line-avatar{width:42px;height:42px}.chat{flex:1;padding:15px;overflow:auto}.date-divider{text-align:center;font-size:9px;color:#89928e;margin-bottom:14px}.message{display:flex;gap:8px;margin-bottom:12px}.mini-avatar{width:29px;height:29px;flex:0 0 29px;font-size:12px}.message p{background:#fff;padding:11px 13px;border-radius:3px 12px 12px 12px;margin:0;max-width:270px;font-size:11px;line-height:1.7;box-shadow:0 2px 5px rgba(23,63,56,.05)}.question-card{background:#fff;margin:15px 0 15px 37px;border-top:4px solid var(--coral);padding:17px;box-shadow:0 4px 12px rgba(23,63,56,.07)}.question-card>span{display:block;color:var(--coral-dark);font-size:9px;font-weight:700}.question-card>b{display:block;font-size:13px;margin:8px 0}.question-card small{font-size:9px;color:var(--muted)}.question-card button{display:block;width:100%;border:0;background:var(--ink);color:white;padding:11px;margin-top:15px;font-size:11px;font-weight:700}.chat-input{height:60px;background:#fff;display:flex;gap:9px;align-items:center;padding:10px}.chat-input span{flex:1;background:#f0f2ef;color:#aaa;border-radius:18px;padding:9px 13px;font-size:10px}.chat-input button{border:0;background:none;color:#64726d;font-size:18px}.dashboard{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 76px);background:#f1f3ef}.side-nav{background:var(--ink);color:#fff;padding:26px 18px;display:flex;flex-direction:column}.brand-light{color:#fff;margin:0 10px 45px}.side-nav nav{display:grid;gap:6px}.side-nav nav button{border:0;background:transparent;color:#aac0ba;text-align:left;padding:13px 15px;border-radius:6px;font-size:12px}.side-nav nav button span{display:inline-block;width:28px}.side-nav nav button.is-active{background:#28584f;color:#fff}.dietitian-profile{margin-top:auto;border-top:1px solid #41675f;padding:20px 8px 0;display:flex;gap:10px;align-items:center}.dietitian-profile>span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:var(--ink)}.dietitian-profile div{display:flex;flex-direction:column}.dietitian-profile b{font-size:11px}.dietitian-profile small{color:#92aaa4;font-size:9px}.dashboard-main{padding:4vh 4vw}.dashboard-title{display:flex;justify-content:space-between;align-items:center}.dashboard-title p{font-size:10px;color:var(--muted);margin:0}.dashboard-title h1{font:700 26px "Shippori Mincho",serif;margin:7px 0}.notification{border:1px solid var(--line);background:#fff;color:var(--coral);width:40px;height:40px;border-radius:50%}.summary-strip{background:#fff;display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;margin:25px 0;border:1px solid #e4e7e1}.summary-strip>div{padding:15px 22px;border-right:1px solid #e4e7e1}.summary-strip small{display:block;color:var(--muted);font-size:9px}.summary-strip b{font-size:25px}.summary-strip em{font-size:10px;font-style:normal;margin-left:3px}.summary-strip>p{display:flex;align-items:center;justify-content:center;font-size:11px}.summary-strip>p span{width:7px;height:7px;background:#67b57a;border-radius:50%;margin-right:7px}.summary-strip>p b{font-size:14px;margin-left:4px}.patient-workspace{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(480px,1.28fr);gap:18px}.schedule-panel,.chart-panel{background:#fff;border:1px solid #e4e7e1;min-height:540px}.panel-heading{display:flex;justify-content:space-between;padding:20px;border-bottom:1px solid #e4e7e1}.panel-heading>div{display:flex;align-items:center;gap:8px}.panel-heading h2{font-size:14px;margin:0}.panel-heading span{background:#edf1ea;padding:2px 7px;border-radius:10px;font-size:9px}.panel-heading button{border:0;background:none;color:var(--ink-2);font-size:10px}.patient-row{width:100%;display:grid;grid-template-columns:45px 36px 1fr auto;gap:9px;align-items:center;text-align:left;border:0;border-bottom:1px solid #eceee9;background:#fff;padding:15px 12px;color:var(--ink)}.patient-row.is-active{background:#f4f7f2;border-left:3px solid var(--coral)}.patient-row time{font-size:10px;font-weight:700}.patient-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-size:10px}.patient-avatar.coral{background:#f9d9d0}.patient-avatar.green{background:#d9e5d2}.patient-avatar.blue{background:#d5e1e4}.patient-row>span:nth-child(3){display:flex;flex-direction:column}.patient-row b{font-size:11px}.patient-row small{font-size:8px;color:var(--muted);margin-top:3px}.patient-row i{font-style:normal;background:#e3f1e7;color:#3b7950;padding:4px 6px;border-radius:3px;font-size:8px}.patient-row i.waiting{background:#f2eee7;color:#8b7761}.chart-header{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid #e4e7e1}.patient-avatar.large{width:46px;height:46px;font-size:14px}.chart-header>div:nth-child(2){flex:1}.chart-header small,.chart-header p{font-size:8px;color:var(--muted);margin:0}.chart-header h2{font-size:16px;margin:3px 0}.chart-header h2 span{font-size:10px;font-weight:400;color:var(--muted)}.chart-header button{border:1px solid var(--line);background:#fff;padding:8px 11px;font-size:9px;color:var(--ink)}.data-source{display:flex;align-items:center;gap:10px;margin:16px 20px;padding:10px;background:#f0f5ef}.data-source>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--sage);font-size:10px}.data-source p{margin:0;display:flex;flex-direction:column}.data-source b{font-size:10px}.data-source small{font-size:8px;color:var(--muted);margin-top:2px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 20px}.chart-grid article{border:1px solid #e4e7e1;padding:15px}.chart-grid article>small{color:var(--coral-dark);font-weight:700;font-size:8px}.chart-grid h3{font:600 14px/1.6 "Shippori Mincho",serif;margin:7px 0 12px}.tags{display:flex;gap:4px}.tags span{padding:4px 7px;font-size:8px}.chart-grid dl{margin:7px 0 0}.chart-grid dl div{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:5px 0;font-size:9px}.chart-grid dt{color:var(--muted)}.chart-grid dd{margin:0;font-weight:600}.chart-grid .wide{grid-column:1/-1}.insight{display:flex;gap:10px;align-items:flex-start;margin-top:8px}.insight>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#fff0d6;color:#ad7623;font-weight:700;flex:0 0 22px}.insight p{font-size:10px;margin:0}.insight small{font-size:8px;color:var(--muted);line-height:1.7}.chart-actions{display:flex;justify-content:flex-end;gap:8px;padding:15px 20px}.chart-actions button{border:1px solid var(--line);background:#fff;padding:9px 13px;font-size:9px;color:var(--ink)}.chart-actions .primary-small{background:var(--coral);border-color:var(--coral);color:#fff}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:11px 17px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:50}.toast.is-visible{opacity:1;transform:translate(-50%,0)}@keyframes stepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:900px){.demo-bar{padding:0 18px;height:66px}.brand>span:last-child{display:none}.view-switcher{position:static;transform:none;margin-left:18px;overflow:auto}.view-tab{padding:8px 11px;white-space:nowrap}.demo-badge{display:none}.view{min-height:calc(100vh - 66px)}.kiosk-layout{min-height:auto;padding:45px 22px;grid-template-columns:1fr;background:var(--cream);gap:38px}.kiosk-copy{text-align:center}.kiosk-copy h1{font-size:47px}.lead{font-size:14px}.trust-row{justify-content:center}.booking-card{max-width:520px;width:100%;justify-self:center}.kiosk-footer{height:auto;flex-wrap:wrap;padding:15px;gap:10px}.phone-scene{grid-template-columns:1fr;padding:50px 22px}.phone-intro{text-align:center;margin:auto}.feature-list{display:inline-block;text-align:left}.phone{width:min(370px,100%)}.dashboard{grid-template-columns:1fr}.side-nav{display:none}.dashboard-main{padding:25px 15px}.patient-workspace{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(3,1fr)}.summary-strip>p{grid-column:1/-1;padding:8px;border-top:1px solid var(--line)}.schedule-panel{min-height:0}.chart-panel{min-height:0}}@media(max-width:520px){.view-tab{font-size:10px;padding:8px}.kiosk-layout{padding:34px 16px}.kiosk-copy h1{font-size:38px}.clinic-label{font-size:11px}.lead br{display:none}.trust-row{gap:8px;font-size:9px}.booking-card{padding:28px 20px;min-height:500px}.booking-step h2{font-size:25px}.phone-scene{padding:35px 10px}.phone-intro h1{font-size:39px}.phone{height:680px}.dashboard-title h1{font-size:20px}.summary-strip>div{padding:12px 8px}.patient-workspace{display:block}.chart-panel{margin-top:15px}.chart-grid{grid-template-columns:1fr}.chart-grid .wide{grid-column:auto}.chart-header button{display:none}.patient-row{grid-template-columns:38px 34px 1fr auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:3px solid #2b7e70;outline-offset:3px}
