:root{--navy:#17324d;--green:#287a55;--cream:#f6f3ea;--red:#b53a38;--line:#d9dfdf}*{box-sizing:border-box}body{margin:0;background:#f7f8f6;color:#263238;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.65}a{color:#176499}header{background:var(--navy);color:#fff}.container{width:min(1160px,92%);margin:auto}.nav{min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand,.nav a,.link{color:#fff;text-decoration:none}.brand{font-size:1.3rem;font-weight:800}.nav nav{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.inline{display:inline}.link{border:0;background:none;padding:0}.hero{padding:35px 0 15px}.hero h1,h1{line-height:1.3}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 2px 8px #0000000b;margin-bottom:20px}.card h2{font-size:1.15rem}.narrow{max-width:640px;margin:32px auto}.badge{display:inline-block;background:#dcebe4;color:#185d3d;border-radius:5px;padding:3px 9px;font-weight:700}.stats{display:flex;gap:12px;border-block:1px solid var(--line);padding:10px 0}.stats span{flex:1}.note{color:#7a541d}label{display:block;margin:12px 0;font-weight:600}input,select,textarea{width:100%;padding:10px;border:1px solid #aebbbb;border-radius:6px;font:inherit}textarea{min-height:100px}.choice{font-weight:400}.choice input{width:auto}fieldset{border:1px solid var(--line);border-radius:7px;margin:18px 0}button,.button{display:inline-block;border:0;border-radius:7px;padding:10px 17px;background:var(--green);color:#fff;text-decoration:none;font-weight:700;cursor:pointer}button:disabled{background:#9ba7a1}.danger{background:var(--red)}.small{padding:6px 10px}.secondary{background:#66757e}.alert{padding:12px 16px;border-radius:8px;margin:18px 0}.success{background:#e3f4e8;color:#175c32}.error{background:#fde9e7;color:#8b2525}.table-wrap{overflow:auto;background:#fff;border-radius:10px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#edf1ef}.money{text-align:right;white-space:nowrap}.program-unpublished td{background:#e5e7e9;color:#687078}.status{white-space:nowrap;padding:3px 7px;border-radius:4px}.pending{background:#fff1c7}.confirmed{background:#d9f1e2}.rejected{background:#f7dada}.admin-nav{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0}.admin-nav a{background:#e5ebef;padding:7px 12px;border-radius:6px;text-decoration:none}.summary{display:flex;gap:18px}.summary .card{min-width:180px}.summary strong{display:block;font-size:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.reception{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(500px,1.4fr);gap:20px}.reception-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:24px 0 16px}.reception-heading h1,.reception-heading p{margin:0}.reception-role{padding:6px 12px;border-radius:20px;background:#e6eef3;font-weight:700}.participant-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.participant-header h2,.participant-header p{margin:0}.checkin-status{padding:5px 12px;border-radius:20px;background:#fff1c7;font-weight:800;white-space:nowrap}.checkin-status.done{background:#d9f1e2;color:#185d3d}.participant-details{margin:12px 0}.fee-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fee-summary>div{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:6px;background:#f1f4f3}.fee-summary .amount-due{grid-column:1/-1;background:#fff0d6;border:2px solid #e99b24;font-size:1.18rem}.fee-summary .amount-due strong{color:#a43d24;font-size:1.4rem}.schedule-text{display:block;color:#65747b}.reception-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}.receptionist-admin-grid{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(500px,1.3fr);gap:20px}.reception-page .container{width:min(1500px,96%)}video{width:100%;min-height:240px;background:#18222a;border-radius:8px}.total{font-size:1.7rem;color:var(--red)}dl{display:grid;grid-template-columns:max-content 1fr;gap:5px 18px}dt{font-weight:700}dd{margin:0}footer{text-align:center;color:#667;padding:40px 0}nav[role="navigation"] svg{width:20px!important;height:20px!important}nav[role="navigation"]>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}nav[role="navigation"] a,nav[role="navigation"] span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:5px 9px}nav[role="navigation"] p{margin:0}@media(max-width:900px){.reception,.receptionist-admin-grid{grid-template-columns:1fr}}@media(max-width:720px){.nav{align-items:flex-start;padding:14px 0;flex-direction:column}.nav nav{padding-bottom:8px}.reception,.form-grid{grid-template-columns:1fr}.reception-heading{align-items:flex-start;flex-direction:column}.fee-summary{grid-template-columns:1fr}.summary{flex-direction:column}.stats{font-size:.9rem}th,td{white-space:nowrap}}
.accounting-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}.accounting-actions>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.receive-box{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:end;gap:10px}.receive-box label{margin:0}.cancelled-amount{color:var(--red);font-weight:700}@media(max-width:720px){.accounting-actions,.receive-box{grid-template-columns:1fr}}
.reception-cancel-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 14px;border:1px solid #e3b4b2;border-radius:8px;background:#fff4f3}.reception-cancel-box span{color:#7d2d2a}@media(max-width:720px){.reception-cancel-box{align-items:stretch;flex-direction:column}}
.accounting-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:24px 0 18px}.accounting-page-heading h1,.accounting-page-heading p{margin:0}.accounting-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:16px}.accounting-summary-list{grid-template-columns:1fr auto}.accounting-summary-list dd{text-align:right;white-space:nowrap}.accounting-grand-total{border:2px solid var(--navy)}.accounting-table-wrap{max-height:70vh}.accounting-table thead th{position:sticky;top:0;z-index:1}.accounting-program-item{display:block;min-width:240px}.accounting-unpaid-row td{background:#fffaf0}.unpaid{color:#b53a38;font-weight:800}@media(max-width:1000px){.accounting-summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.accounting-page-heading{align-items:flex-start;flex-direction:column}.accounting-summary-grid{grid-template-columns:1fr}}
.program-guide-link{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin-top:7px;padding:6px 10px;border:1px solid #d14a43;border-radius:6px;background:#fff7f6;color:#a82924;font-size:.88rem;font-weight:700;text-decoration:none}.program-guide-link:hover{background:#fde8e6;color:#801b17}.pdf-icon{width:25px;height:25px;flex:0 0 25px}.pdf-icon path:first-child{fill:#d63a32}.pdf-icon path:nth-child(2){fill:none;stroke:#fff;stroke-width:1.5}.pdf-icon text{fill:#fff;font:bold 5px sans-serif}.program-guide-editor,.deadline-rule-editor{padding:14px 18px}.current-guide-pdf{padding:10px 12px;border-radius:6px;background:#fff7f6}
.program-admin-table td[rowspan]{vertical-align:top}.program-admin-table .program-session-followup td{border-top:1px dashed #bcc9c2}.program-admin-table .program-session-date{min-width:150px}.program-admin-table .program-session-date strong{color:var(--green)}
.login-options{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:8px 0 18px}.login-options .choice{margin:0}.forgot-password-link{font-weight:700}.auth-help-note{margin-top:22px;padding:14px 16px;border-left:5px solid #d89420;border-radius:7px;background:#fff7e7;color:#654617}.auth-help-note p{margin:5px 0 0}.auth-back-link{margin:20px 0 0;text-align:center;font-weight:700}@media(max-width:520px){.login-options{align-items:flex-start;flex-direction:column;gap:8px}}
.reception-search-help{margin:-5px 0 13px;color:#607078;font-size:.84rem}.reception-search-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.reception-search-heading h2{margin:0}.reception-search-heading>span{padding:4px 11px;border-radius:999px;background:#e5eee9;color:#185d3d;font-weight:800}.reception-search-results{display:grid;gap:9px;margin-top:16px}.reception-search-result{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:13px 15px;border:1px solid #cdd9d3;background:#fff;color:#263238;text-align:left}.reception-search-result:hover,.reception-search-result:focus{border-color:var(--green);background:#f0f8f4}.reception-search-result-main,.reception-search-result-meta{display:flex;flex-direction:column;gap:3px}.reception-search-result-main strong{font-size:1.05rem}.reception-search-result small{color:#607078}.reception-search-result-meta{align-items:flex-end;flex:0 0 auto}.reception-search-result .checkin-status{font-size:.78rem}@media(max-width:600px){.reception-search-result{align-items:flex-start;flex-direction:column}.reception-search-result-meta{align-items:flex-start}}
.user-result-actions,.bulk-mail-heading,.bulk-mail-selection-bar,.bulk-mail-progress-heading,.bulk-mail-send-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.user-result-actions p,.bulk-mail-heading h1,.bulk-mail-heading p{margin:0}.bulk-mail-open-button{background:#8b4c9f}.bulk-mail-selection-bar{position:sticky;top:0;z-index:5;margin:14px 0;padding:13px 16px;border:1px solid #cdd9d3;border-radius:9px;background:#fff;box-shadow:0 3px 12px #00000010}.bulk-mail-selection-bar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bulk-mail-selection-bar span{color:#607078}.bulk-mail-checkbox{width:48px;text-align:center}.bulk-mail-checkbox input{width:20px;height:20px}.bulk-mail-history{margin-top:28px}.bulk-mail-compose-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:20px}.bulk-mail-compose-grid textarea{min-height:390px;font-family:inherit}.bulk-mail-placeholders{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 18px;padding:12px;border-radius:8px;background:#eef4f1}.bulk-mail-recipient-summary{max-height:650px;overflow:auto}.bulk-mail-recipient-summary ul{margin:0;padding:0;list-style:none}.bulk-mail-recipient-summary li{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid var(--line)}.bulk-mail-recipient-summary span,.bulk-mail-recipient-summary small{color:#607078}.bulk-mail-message-preview pre{margin:0;white-space:pre-wrap;font:inherit}.bulk-mail-progress-heading>div{display:flex;flex-direction:column}.bulk-mail-progress-heading>span{padding:5px 12px;border-radius:999px;background:#e5eee9;font-weight:800}.bulk-mail-progress{overflow:hidden;height:18px;margin:16px 0;border-radius:999px;background:#dfe6e2}.bulk-mail-progress span{display:block;height:100%;background:linear-gradient(90deg,#287a55,#4fa875);transition:width .3s}.bulk-mail-send-actions{justify-content:flex-start}.bulk-mail-send-actions form{margin:0}.mail-status{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.82rem;font-weight:800;white-space:nowrap}.mail-status-pending{background:#fff1c7;color:#77530b}.mail-status-sending{background:#dcebf4;color:#215d7d}.mail-status-sent{background:#d9f1e2;color:#185d3d}.mail-status-failed{background:#f7dada;color:#8b2525}.mail-error{display:block;max-width:460px;color:#8b2525;white-space:normal}.bulk-mail-status-table td{vertical-align:middle}@media(max-width:900px){.bulk-mail-compose-grid{grid-template-columns:1fr}.bulk-mail-recipient-summary{max-height:none}}@media(max-width:720px){.bulk-mail-selection-bar{position:static;align-items:stretch;flex-direction:column}.bulk-mail-selection-bar>div:last-child{align-items:stretch;flex-direction:column}.bulk-mail-selection-bar button{width:100%}}
.user-row-actions{white-space:nowrap}.user-row-actions a+a{margin-left:12px}.delete-text-link{color:var(--red);font-weight:700}.delete-confirm-card{max-width:720px}.delete-user-summary{padding:16px 18px;background:#f5f7f6;border-radius:8px}.delete-confirm-check{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #e2aaa7;border-radius:8px;background:#fff7f6}.delete-confirm-check input{width:auto;margin-top:6px}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px;flex-wrap:wrap}
.number{text-align:right;white-space:nowrap}
.saved-mail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.saved-mail-heading h2{margin:3px 0 0}.saved-mail-heading>div>span{display:inline-block;padding:3px 9px;border-radius:999px;background:#d9f1e2;color:#185d3d;font-size:.78rem;font-weight:800}.saved-mail-meta{grid-template-columns:max-content auto;min-width:340px;font-size:.9rem}.saved-mail-content{margin-top:18px;grid-template-columns:70px minmax(0,1fr)}.saved-mail-content dd{min-width:0}.saved-mail-content pre{padding:16px;border:1px solid var(--line);border-radius:8px;background:#f8faf9;white-space:pre-wrap;overflow-wrap:anywhere}.personalized-mail-preview{border:2px solid var(--green)}@media(max-width:720px){.saved-mail-heading{flex-direction:column}.saved-mail-meta{min-width:0}.saved-mail-content{grid-template-columns:1fr}.saved-mail-content dt{margin-top:8px}}
