button.ui-button{border:0;width:100%;font-family:inherit;line-height:1.5}button.ui-button.outline{border:1px solid var(--line)}button.ui-button.inline{width:auto}button.ui-button:hover:not(:disabled){filter:brightness(.94)}button.ui-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.demo-surface button,.demo-surface input,.demo-surface select,.demo-surface textarea{font:inherit}.demo-surface select:focus-visible,.demo-surface textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.demo-surface .field input,.demo-surface .field select,.demo-surface .field textarea{display:block;width:100%;min-height:40px;padding:9px 11px;border:1px solid #ced4da;border-radius:4px;background:white;color:#212529;margin-top:6px;font-weight:400;font-size:14px;line-height:1.5}.demo-surface .field textarea{resize:vertical;min-height:80px}.demo-surface .field{margin-top:12px}.demo-surface .inline-actions .ui-button{width:auto;flex:1}.demo-surface .error{color:#a52e33;background:#fff0ef;padding:10px;border-radius:5px;font-size:14px;margin-top:12px}.interaction-hint{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--secondary);margin:0 0 14px}.interaction-hint button{border:1px solid var(--line);background:white;color:var(--secondary);border-radius:5px;padding:6px 10px;font-size:14px}.phone-crop{--device-visible:clamp(430px,calc(100dvh - 300px),520px);--device-full:calc(var(--device-visible)*1.3333);width:364px;max-width:100%;height:var(--device-visible);margin:0 auto;overflow:hidden;padding:0 5px;border-radius:39px 39px 0 0}.phone-device{position:relative;width:354px;height:var(--device-full);max-width:100%;padding:9px;background:#22252a;border:2px solid #54565b;border-radius:39px;margin:0 auto;box-shadow:0 14px 30px rgba(20,32,26,.13)}.phone-device::before,.phone-device::after{content:"";position:absolute;background:#54565b;width:3px;left:-4px;border-radius:3px}.phone-device::before{height:29px;top:105px}.phone-device::after{height:58px;top:150px}.device-screen{border-radius:29px;overflow:hidden;background:#faf8f3;display:flex;flex-direction:column;height:calc(var(--device-visible) - 11px);color:#0d1f0d;font-size:14px}.device-status{position:relative;display:flex;justify-content:space-between;align-items:center;height:34px;padding:0 18px;flex-shrink:0;background:#faf8f3;font-size:14px;font-weight:600}.device-island{position:absolute;left:50%;transform:translateX(-50%);top:7px;width:83px;height:20px;background:#17191c;border-radius:20px}.device-signals{display:flex;align-items:center;gap:5px}.device-signals svg{width:16px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5}.mobile-browser{height:34px;display:flex;align-items:center;justify-content:center;gap:6px;background:#f2f0eb;font-size:12px;color:#5c574d;border-bottom:1px solid #ebe7de;flex-shrink:0}.mobile-browser .icon{width:13px;height:13px}.device-content{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#d9d4c8 #faf8f3;overscroll-behavior:contain}.device-content .screen{border:0;border-radius:0;background:#faf8f3}.device-content .screen-toolbar{background:#faf8f3;border-color:#ebe7de;padding:16px;font-size:14px}.device-content .screen-body{padding:16px}.device-content .screen-title{font-size:22px;color:#0d1f0d}.device-content .screen-sub{font-size:14px;margin-bottom:12px}.device-content .ui-button{background:#1a3a1a;border-radius:5px}.device-content .ui-button.outline{background:white;color:#1a3a1a;border-color:#ebe7de}.device-content .ui-button.disabled{background:#ebe7de;color:#5c574d}.device-home{display:none}.phone-crop .device-screen{border-radius:29px 29px 0 0}.phone-crop .device-content{padding-bottom:12px}.device-home::before{content:"";width:95px;height:4px;border-radius:5px;background:#22252a}.mobile-tabs{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#5c574d;margin:0 0 16px}.mobile-tabs strong{color:#1a3a1a}.calendar{border:1px solid #ebe7de;border-radius:7px;padding:12px;background:white}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-weight:600}.calendar-head button{display:grid;place-items:center;border:0;background:#f7f5f0;width:30px;height:30px;border-radius:5px;color:#1a3a1a}.calendar-head .icon{width:14px;height:14px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-week{font-size:12px;color:#7a7569;margin-bottom:5px}.calendar-days button,.calendar-days>span{display:grid;place-items:center;min-height:32px;font-size:14px;border:0;background:white;color:#3d3a33;position:relative;border-radius:5px;padding:3px}.calendar-days button[data-available=true]::after{content:"";position:absolute;bottom:3px;width:3px;height:3px;border-radius:50%;background:#1a3a1a}.calendar-days button[aria-pressed=true]{background:#1a3a1a;color:white}.calendar-days button[aria-pressed=true]::after{background:white}.calendar-days button:disabled{opacity:.32}.calendar-caption{font-size:12px;color:#5c574d;margin-top:8px}.daily-heading{font-size:16px;font-weight:600;margin:16px 0 8px}.daily-course{display:flex;gap:10px;align-items:flex-start;padding:12px 8px;border:0;border-bottom:1px solid #ebe7de;background:transparent;width:100%;text-align:left;color:#0d1f0d;font-size:14px}.daily-course[aria-pressed=true]{background:#f5f0e6}.daily-course .radio-dot{width:16px;height:16px}.daily-course[aria-pressed=true] .radio-dot{border:5px solid #1a3a1a}.daily-course strong{display:block;font-size:14px}.daily-course small{display:block;font-size:12px;color:#5c574d;margin-top:3px}.email-line{display:flex;gap:6px;align-items:flex-end}.email-line .field{flex:1;min-width:0}.email-line button{min-height:40px;padding:7px;border:1px solid #ced4da;background:white;border-radius:4px;color:#1a3a1a;font-size:12px;white-space:nowrap;margin-top:6px}.consent{display:flex;align-items:flex-start;gap:7px;font-size:12px;margin-top:14px;color:#5c574d}.consent input{accent-color:#1a3a1a;flex-shrink:0;margin-top:4px}.device-content .summary>div{font-size:14px;padding:9px 0}.device-content .field-grid{grid-template-columns:1fr;gap:0}.mobile-link{border:0;background:none;color:#1a3a1a;font-size:14px;padding:7px 0;text-decoration:underline;text-underline-offset:3px}.device-content .karute{max-width:none;border:0;border-radius:0}.device-content .karute-title{font-size:16px}.device-content .composer{gap:7px;padding:10px}.device-content .composer input{min-width:0;flex:1;background:#f1f1f1;border:0;border-radius:999px;padding:8px 10px;min-height:38px;font-size:14px}.device-content .composer button{display:grid;place-items:center;background:transparent;color:#2D4C34;border:0;min-width:30px;min-height:36px;padding:4px}.device-content .media-tile{padding:5px;font-size:12px}.device-content .karute-session{margin:12px}.device-content .karute-thread{padding:2px 12px 14px}.report-toolbar{display:flex;gap:7px;align-items:center;justify-content:center;margin:12px}.report-toolbar button{font-size:12px;padding:6px 9px;border:1px solid #dfe4e7;border-radius:5px;background:white;color:#2D4C34}.report-toolbar button[aria-pressed=true]{background:#eaf3ed}.review-edit{padding:12px;background:white;border-top:1px solid #dfe4e7}.review-edit textarea{width:100%;min-height:95px;border:1px solid #ced4da;border-radius:5px;padding:10px;font-size:14px}.phone-device .plan-choice>button{border:1px solid #ebe7de;border-radius:7px;background:white;text-align:left;padding:10px;color:#1a3a1a}.phone-device .plan-choice>button.selected{border-color:#1a3a1a;background:#f5f0e6}.phone-device .plan-choice strong{font-size:12px}.phone-device .plan-choice p{font-size:16px}.phone-device .plan-choice small{font-size:12px}.admin-app{position:relative;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;background:#f8f9fa;min-height:590px;font-family:"Helvetica Neue",Arial,"Hiragino Sans",sans-serif;font-size:12px;color:#212529}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:white;border-bottom:1px solid #dee2e6;height:54px}.admin-product{font-size:18px;font-weight:500;letter-spacing:.01em}.admin-context{display:flex;gap:7px;align-items:center}.admin-context select{border:1px solid #ced4da;border-radius:4px;padding:6px 7px;font-size:12px;background:white;max-width:105px}.admin-layout{display:grid;grid-template-columns:115px minmax(0,1fr);min-height:535px}.admin-sidebar{display:flex;flex-direction:column;background:white;border-right:1px solid #dee2e6;padding:12px 7px}.admin-sidebar strong{font-size:11px;color:#868e96;margin:8px 5px}.admin-sidebar span{padding:9px 7px;font-size:12px;color:#495057;display:flex;align-items:center;gap:6px;border-radius:4px}.admin-sidebar span.active{background:#f1f3f5;color:#212529;font-weight:600}.admin-sidebar .icon{width:14px;height:14px;color:#868e96}.admin-account{margin-top:auto;padding:15px 7px 4px;border-top:1px solid #dee2e6;font-size:11px;color:#868e96;overflow-wrap:anywhere}.admin-workspace{padding:18px 14px;overflow-x:auto;min-width:0}.admin-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;margin-bottom:14px}.admin-page-heading h3{font-size:20px;line-height:1.4}.admin-page-heading small{display:block;color:#868e96;margin-top:5px;font-size:12px}.admin-primary{border:0;background:#75758c;color:white;font-weight:600;border-radius:4px;padding:8px 10px;font-size:12px;min-height:34px;white-space:nowrap}.admin-primary:hover:not(:disabled){background:#64637a}.admin-light{border:0;border-radius:4px;padding:8px 10px;min-height:34px;font-size:12px;background:#f1f3f5;color:#495057;font-weight:600}.admin-light.orange{background:#fff4e6;color:#e8590c}.admin-light.indigo{background:#edf2ff;color:#4263eb}.admin-light.subtle{background:transparent;color:#75758c;padding:7px 0}.admin-tabs{display:flex;gap:5px;border-bottom:1px solid #dee2e6;margin-bottom:16px}.admin-tabs button{padding:9px 7px;border:0;border-bottom:2px solid transparent;background:none;font-size:12px;color:#495057}.admin-tabs button.active{border-color:#75758c;color:#58586e;font-weight:600}.admin-table{width:100%;border-collapse:collapse;background:white;white-space:nowrap;font-size:12px}.admin-table th{text-align:left;font-weight:600;background:#f8f9fa;padding:10px 7px;border-bottom:1px solid #dee2e6}.admin-table td{padding:12px 7px;border-bottom:1px solid #e9ecef;vertical-align:top}.admin-table small{font-size:11px;color:#868e96;display:block;margin-top:4px}.admin-table .tag{font-size:11px;padding:2px 6px}.admin-empty{padding:50px 15px;background:white;color:#868e96;text-align:center}.admin-overlay{position:absolute;inset:54px 0 0;z-index:2;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:18px}.admin-modal{width:100%;max-width:430px;max-height:505px;overflow:auto;background:white;border-radius:4px;padding:17px;box-shadow:0 10px 30px rgba(0,0,0,.16);scrollbar-width:thin;scrollbar-color:#ced4da white}.admin-modal.wide{max-width:650px}.admin-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.admin-modal-head h4{font-size:16px;font-weight:500}.admin-modal-head button{border:0;background:transparent;color:#868e96;padding:2px;display:grid;place-items:center}.admin-modal-head .icon{width:18px;height:18px}.admin-modal .field{margin-top:11px;font-size:12px}.admin-modal .field input,.admin-modal .field select,.admin-modal .field textarea{min-height:35px;font-size:12px;padding:7px 9px}.admin-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.admin-modal .ui-note{font-size:12px;margin-top:12px}.admin-modal .summary>div{font-size:12px;padding:8px 0}.admin-modal .person strong,.admin-modal .person small{font-size:12px}.admin-modal .person{gap:7px}.admin-collect-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-info-card{border:1px solid #dee2e6;border-radius:6px;padding:12px;min-width:0}.admin-info-card h5{font-size:13px;margin:0 0 12px}.admin-info-card strong.amount{font-size:25px;font-weight:700;display:block;font-variant-numeric:tabular-nums;margin:8px 0 17px}.admin-info-card .pay-actions{display:flex;flex-direction:column;gap:8px}.admin-info-card .pay-actions button{width:100%;font-size:12px}.admin-divider{height:1px;background:#e9ecef;margin:16px 0}.admin-order-success{display:flex;align-items:center;gap:7px;color:#2b8a3e;background:#ebfbee;padding:12px;border-radius:5px;font-size:12px}.admin-form-error{font-size:12px;color:#c92a2a;background:#fff5f5;padding:10px;border-radius:4px;margin-top:12px}.payment-reader-amount{background:#343a40;color:white;padding:15px;border-radius:6px;font-size:12px}.payment-reader-amount strong{display:block;font-size:26px;margin-top:4px}.payment-steps{display:flex;gap:8px;justify-content:space-between;color:#868e96;font-size:11px;margin:16px 0}.local-status{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);z-index:10;background:#203d2d;color:white;padding:10px 18px;border-radius:7px;font-size:14px;max-width:calc(100% - 32px);box-shadow:0 5px 15px rgba(20,32,26,.12);pointer-events:none}.demo-surface .course-button{display:flex;width:100%;text-align:left;border:1px solid #dfe4e7;background:white;border-radius:6px;padding:12px;gap:10px;font-size:14px;color:#20272a}.demo-surface .course-button[aria-pressed=true]{border-color:#254d39;background:#eaf3ed}.demo-surface .course-button:disabled{opacity:.45}.demo-surface .role-control{display:flex;gap:7px;margin-top:12px}.demo-surface .role-control button{border:1px solid #dfe4e7;background:white;padding:8px 10px;border-radius:5px;font-size:14px}.demo-surface .role-control button[aria-pressed=true]{background:#eaf3ed;color:#254d39}.demo-surface button.media-tile{cursor:pointer}.device-content .message.own{align-self:flex-end}.device-content .message.own .bubble{background:#d9fdd3}.device-content .karute-after{padding:0 12px 14px}.device-content .qr-box{background:#f5f0e6}.interactive-help{font-size:14px;text-align:center;margin:12px auto 0;color:#56626a}.demo-surface .summary dd{max-width:65%}.demo-surface .inline-buttons{display:flex;gap:8px;align-items:center;margin-top:12px}.demo-surface .inline-buttons button{font-size:12px;border:1px solid #dfe4e7;background:white;padding:7px;border-radius:5px;color:#254d39}.device-content .screen-body>.summary{margin-top:8px}.admin-workspace .ui-note{font-size:12px}.admin-workspace .tag{font-size:12px}.admin-form-saved{font-size:12px;color:#2b8a3e;padding:9px;background:#ebfbee;margin-top:12px;border-radius:4px}.demo-surface .demo-reset{background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#56626a;font-size:12px;padding:5px;white-space:nowrap}.searchable-picker{position:relative}.searchable-picker input{padding-right:28px!important}.picker-clear{position:absolute;right:5px;top:9px;border:0;background:transparent;color:#868e96;padding:2px;display:grid;place-items:center}.picker-clear .icon{width:14px;height:14px}.picker-options{position:relative;z-index:3;max-height:150px;overflow:auto;border:1px solid #ced4da;border-radius:4px;background:white;margin-top:4px;scrollbar-width:thin;scrollbar-color:#ced4da white}.picker-option{display:block;width:100%;border:0;background:white;text-align:left;padding:8px 10px;font-size:12px;color:#212529}.picker-option:hover,.picker-option[aria-selected=true]{background:#f1f3f5}.picker-option strong{font-weight:400;display:block}.picker-option small{color:#868e96;display:block;font-size:11px}.picker-empty{font-size:12px;padding:10px;color:#868e96}
.language-switch{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.top-meta .language-switch button{padding:6px 9px;color:var(--secondary);font-size:14px}.top-meta .language-switch button[aria-pressed=true]{background:var(--green-soft);color:var(--green);font-weight:600}.localized-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:white;border:1px solid var(--line);border-radius:10px;padding:18px}.localized-flow section{padding:12px 0;border-bottom:1px solid var(--line)}.localized-flow section:last-child{grid-column:1/-1;border:0}.localized-flow h3{font-size:17px;color:var(--green);margin:7px 0}.localized-flow p{font-size:14px;color:var(--secondary);line-height:1.6;margin-top:5px}.flow-number{font-size:14px;font-weight:700;color:var(--green)}.localized-flow .flow-role{color:#285d8b;font-weight:600}.diagram-scroll .localized-flow{min-width:0}html[lang="ja-JP"] .slide h1{font-size:clamp(30px,3vw,44px)}
@media(min-width:1100px){.slide:has(.admin-app){grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:36px}.slide:has(.admin-app) h1{font-size:38px}.slide:has(.phone-device){gap:40px}}@media(max-width:760px){.phone-device{width:354px;border-radius:34px;padding:7px}.phone-crop{--device-visible:500px;border-radius:34px 34px 0 0}.device-screen{height:calc(var(--device-visible) - 9px);border-radius:26px 26px 0 0}.admin-app{min-height:620px}.admin-header{padding:9px 10px;height:50px}.admin-product{font-size:16px}.admin-context{gap:4px}.admin-context select{max-width:92px;font-size:11px;padding:5px}.admin-layout{grid-template-columns:1fr;min-height:570px}.admin-sidebar{display:none}.admin-workspace{padding:15px 10px}.admin-page-heading h3{font-size:19px}.admin-overlay{inset:50px 0 0;padding:10px}.admin-modal{max-height:530px;padding:14px}.admin-collect-grid{grid-template-columns:1fr;gap:10px}.admin-info-card{padding:10px}.admin-info-card .summary>div{padding:5px 0}.admin-info-card .amount{font-size:23px}.local-status{bottom:90px}.interactive-help{text-align:left}.device-content .figure-caption{font-size:12px}.admin-page-heading .admin-primary{white-space:normal;max-width:110px}.admin-table{font-size:11px}.admin-table th,.admin-table td{padding:9px 5px}.admin-table button{font-size:11px;padding:6px}.phone-device .figure-caption{font-size:12px}}@media(max-width:760px){.topbar{padding-left:12px;padding-right:12px;gap:8px}.brand{font-size:14px}.brand .icon{width:20px;height:20px}.top-meta{gap:7px}.top-meta .language-switch button{padding:5px 6px;font-size:12px}.top-meta #open-overview{font-size:12px;padding:5px 0}.top-meta #open-overview .icon{width:16px;height:16px}.localized-flow{padding:12px;gap:10px}.localized-flow h3{font-size:15px}.localized-flow p{font-size:12px}html[lang="ja-JP"] .slide h1{font-size:30px}}
@media print{.device-screen{height:auto;min-height:0}.device-content{overflow:visible}.admin-overlay{position:relative;inset:auto}.local-status{display:none}.phone-device{box-shadow:none;height:auto}.phone-crop{height:auto;overflow:visible}}
