.admin-preview-banner{z-index:3;color:#185b94;background:#e8f3ff;border:1px solid #bdd6ed;border-radius:12px;margin-bottom:20px;padding:16px;position:sticky;top:0}.admin-preview-banner strong{display:block}.admin-preview-banner p{margin:5px 0}.admin-teacher-preview #profile-form{display:none}.admin-teacher-preview .profile-layout{grid-template-columns:1fr}.admin-teacher-preview .profile-preview{position:static}.admin-teacher-preview #work-form button,.admin-teacher-preview #student-schedule-form button,.admin-teacher-preview:not(.admin-record-entry) #save{display:none}.field-badge{vertical-align:middle;white-space:nowrap;letter-spacing:.03em;border-radius:5px;align-items:center;margin-left:7px;padding:2px 7px;font-size:11px;font-weight:600;line-height:1.5;display:inline-flex}.field-required{color:#9a4810;background:#fff0e2}.field-optional{color:#6e6a63;background:#efeeeb}.finance-legend{gap:20px;font-size:13px;display:flex}.finance-legend span:first-child{color:#b75a14}.finance-legend span:last-child{color:#484741}.finance-table-scroll{overflow-x:auto}.finance-table{border-collapse:collapse;background:#fff;width:100%;min-width:1250px}.finance-table th,.finance-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #e8e3dc;padding:14px 12px}.finance-table th{background:#f2eee8;font-size:13px}.finance-table td{min-width:110px;font-size:13px}.finance-table td:first-child{min-width:145px}.finance-table td:nth-child(5),.finance-table td:nth-child(6){min-width:195px}.finance-table td:last-child{white-space:pre-wrap;min-width:220px}.finance-table textarea{min-height:100px}.finance-name{color:#9a4810;text-align:left;background:0 0;padding:0;text-decoration:underline}.finance-tag{background:#f3eee8;border-radius:6px;margin-bottom:8px;padding:5px 8px;font-size:12px;display:block}.finance-tag.paid,.finance-tag.reserved{color:#185b94;background:#e5f0fc}.finance-tag.recheck,.finance-tag.unpriced{color:#9a4810;background:#fff0e4}.finance-months{grid-auto-columns:minmax(90px,1fr);grid-auto-flow:column;gap:8px;margin-top:8px;display:grid}.finance-months button{color:#874315;background:#fff0e2;padding:7px;font-size:11px;line-height:1.6}.finance-months strong,.finance-months span{display:block}.finance-table details{max-width:220px}.finance-table ul{padding-left:16px}.finance-table select,.finance-table button{font-size:13px}.finance-payment-note{color:#777;font-size:11px}.finance-chart-svg{width:100%;height:240px;display:block}@media (width<=700px){.finance-table{background:0 0;min-width:0;display:block}.finance-table thead{display:none}.finance-table tbody{display:block}.finance-table tr{background:#fff;border:1px solid #e8e3dc;border-radius:16px;grid-template-columns:1fr;gap:0;margin:14px 0;padding:14px;display:grid}.finance-table td,.finance-table td:nth-child(n){min-width:0;padding:10px 4px;display:block}.finance-table td:before{content:attr(data-label);color:#777;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.finance-table td:last-child{border-bottom:0}.finance-table details{max-width:none}.finance-table-scroll{overflow:visible}#admin-finance-panel .word-head{flex-wrap:wrap;align-items:start;gap:14px}}.tr-list-row{overflow-wrap:anywhere;border-bottom:1px solid #e8e3dc;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:18px 12px;display:grid}.tr-list-row button{color:#9a4810;text-align:left;background:0 0;padding:0;text-decoration:underline}.tr-list-header{background:#f2eee8;font-weight:700}#tr-slots .slot-row{flex-wrap:wrap}#tr-slots .slot-row .time-picker select{width:76px}input[readonly]{background:#f5f2ed}.school-entry-actions{gap:14px;margin:24px 0;display:grid}.school-entry-actions button{text-align:left;padding:22px}.school-total{color:#a34d10;font-size:38px}#school-list{display:block}.school-list-row{overflow-wrap:anywhere;border-bottom:1px solid #e8e3dc;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr);align-items:center;gap:12px;padding:18px 8px;display:grid}.school-list-row button{color:#9a4810;text-align:left;background:0 0;padding:0;text-decoration:underline}.school-list-header{background:#f2eee8;font-weight:700}.student-details{grid-template-columns:minmax(150px,1fr) minmax(0,2fr);gap:0;margin:20px 0;display:grid}.student-details dt,.student-details dd{overflow-wrap:anywhere;white-space:pre-wrap;border-bottom:1px solid #e8e3dc;margin:0;padding:14px 10px}.student-details dt{background:#faf8f5;font-weight:600}.trend-scroll{overflow-x:auto}.student-trend{width:100%;min-width:550px;height:230px;display:block}.trend-values{text-align:center;grid-auto-columns:minmax(45px,1fr);grid-auto-flow:column;min-width:550px;font-size:12px;display:grid}.trend-values strong{display:block}.trend-point{fill:#ed8c46}.trend-grid{stroke:#e8e3dc}.trend-line{fill:none;stroke:#c16623;stroke-width:3px}@media (width<=600px){.school-list-row{grid-template-columns:minmax(90px,1fr) minmax(80px,1fr) minmax(90px,1fr);gap:6px;font-size:12px}.student-details{grid-template-columns:1fr}.student-details dt{border-bottom:0;padding-bottom:4px}.student-details dd{padding-top:4px}.school-total{font-size:30px}}.free-board{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.free-day{background:#faf8f5;border:1px solid #e4ded5;border-radius:12px;min-width:0;padding:10px 7px}.free-day h3{margin:0 0 10px;font-size:14px}.free-slot{text-align:left;color:#185b94;overflow-wrap:anywhere;background:#e8f3ff;border:1px solid #d1e6f9;width:100%;margin:8px 0;padding:10px 7px;font-size:12px;display:block}.free-slot strong,.free-slot span{display:block}.free-slot small{font-size:10px;display:block}.free-timeline{background:#d2dfeb;border-radius:4px;height:5px;margin:7px 0 3px;position:relative}.free-timeline i{background:#3178b7;border-radius:4px;height:100%;display:block;position:absolute}.free-empty{color:#777;font-size:12px}.free-board.single-day{grid-template-columns:1fr}.free-board.single-day .free-day{flex-wrap:wrap;gap:12px;display:flex}.free-board.single-day .free-day h3{width:100%}.free-board.single-day .free-slot{max-width:220px}#free-time .time-picker select{max-width:110px}@media (width<=850px){.free-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=550px){.free-board{grid-template-columns:1fr}.free-slot{padding:14px;font-size:14px}.free-slot small{font-size:12px}}.school-card{overflow-wrap:anywhere;background:#fff;border:1px solid #e8e3dc;border-radius:14px;padding:18px}.school-card h3{margin:0 0 6px}.school-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.school-section{margin:30px 0}.school-toolbar{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.school-toolbar>div{flex:1;min-width:150px}.school-card p{margin:6px 0}.school-summary-note{color:#777;font-size:13px}@media (width<=650px){.school-list{grid-template-columns:1fr}}.admin-teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-teacher-card{overflow-wrap:anywhere;background:#fff;border:1px solid #e8e3dc;border-radius:16px;padding:20px}.admin-teacher-card h3{margin:0 0 8px}.admin-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.admin-stat{background:#fff;border:1px solid #e8e3dc;border-radius:16px;padding:20px}.admin-stat strong{font-size:25px;display:block}.admin-row{overflow-wrap:anywhere;border-top:1px solid #e8e3dc;padding:16px 0}.admin-row p{margin:6px 0}.admin-detail-title{margin-top:32px}.admin-small{font-size:13px}.admin-scroll{overflow-x:auto}.admin-lesson-list{padding-left:22px}.admin-lesson-list li{border-bottom:1px solid #eee;padding:10px 0}#admin-data [hidden]{display:none!important}@media (width<=650px){.admin-teacher-grid,.admin-summary{grid-template-columns:1fr}.admin-stat strong{font-size:23px}}.profile-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.profile-layout>*{min-width:0}.profile-photo{object-fit:cover;background:#f2eee8;border-radius:50%;width:120px;height:120px;margin:0 0 16px;display:block}.photo-placeholder{color:#98795f;justify-content:center;align-items:center;font-size:36px;display:flex}.profile-preview-text{white-space:pre-wrap;overflow-wrap:anywhere}.profile-preview{position:sticky;top:24px}.profile-preview h3{margin-top:24px}.profile-layout .card{margin-top:0}.profile-save-actions{margin-top:24px}.profile-saved-at{color:#777;font-size:12px}#profile-form input[type=file]{padding:10px;font-size:13px}@media (width<=700px){.profile-layout{grid-template-columns:1fr}.profile-preview{position:static}}*{box-sizing:border-box}body{color:#35332f;background:#faf8f5;margin:0;font-family:-apple-system,BlinkMacSystemFont,Noto Sans JP,sans-serif;line-height:1.7}header{background:#fff;border-bottom:1px solid #e8e3dc;justify-content:space-between;align-items:center;gap:20px;padding:22px max(20px,50% - 520px);display:flex}header strong{font-size:20px}header small{color:#777;display:block}main{max-width:1040px;margin:auto;padding:30px 20px 70px}h1{margin:0 0 10px;font-size:26px}h2{margin:0 0 16px;font-size:20px}p{margin:8px 0 16px}.card{background:#fff;border:1px solid #e8e3dc;border-radius:20px;margin:20px 0;padding:26px}.narrow{max-width:520px;margin:24px auto}.muted{color:#777;font-size:14px}.badge{color:#9a4810;background:#fff0e2;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700}label{margin:14px 0 6px;font-size:14px;font-weight:600;display:block}input,select,textarea{font:inherit;width:100%;color:inherit;background:#fff;border:1px solid #d5d0c8;border-radius:10px;min-width:0;padding:12px}textarea{resize:vertical}.grid>div{min-width:0}input[type=date],input[type=time]{appearance:none;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;height:50px;display:block}input::-webkit-date-and-time-value{text-align:left;min-width:0}input::-webkit-datetime-edit{padding:0}input:focus,select:focus,textarea:focus{outline-offset:2px;outline:2px solid #ed8c46}button{font:inherit;cursor:pointer;color:#fff;background:#a34d10;border:0;border-radius:10px;padding:12px 20px;font-weight:600}button.secondary{color:#9a4810;background:#fff0e2}button:disabled{opacity:.5;cursor:default}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.word{background:#faf8f5;border-radius:14px;margin:14px 0;padding:18px}.word-head{justify-content:space-between;align-items:center;display:flex}.grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.lesson-details{grid-template-columns:1.2fr 1fr 1fr}.notice{color:#874315;white-space:pre-wrap;background:#fff0e2;border-radius:12px;padding:12px 16px}#message:empty{display:none}#message{z-index:2;border:1px solid #e6c09b;position:sticky;top:10px}#message.error{color:#a23519;background:#fff0eb}.history{border-top:1px solid #eee;padding:16px 0}.history ul{padding-left:22px}.history li{margin:7px 0}.history small{color:#777;display:block}a{color:#9a4810}[hidden]{display:none!important}.account-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.success{color:#427449}.count{color:#777;font-size:13px}.mode-active{box-shadow:inset 0 0 0 2px #a34d10}.bulk-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:12px}.bulk-table th,.bulk-table td{text-align:left;overflow-wrap:anywhere;border-bottom:1px solid #e8e3dc;padding:10px 8px}.bulk-errors{color:#a23519;white-space:pre-wrap;margin:12px 0}#bulk-input{line-height:1.9}#bulk-preview:empty{display:none}.portal-nav{gap:10px;margin:0 0 22px;display:flex}.dashboard-lead{margin:0 0 24px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.dashboard-tile{text-align:left;color:#35332f;background:#fff;border:1px solid #e8e3dc;border-radius:18px;width:100%;padding:22px;line-height:1.7;display:block}.dashboard-tile strong{margin:10px 0 6px;font-size:19px;display:block}.dashboard-tile span.description{color:#777;font-size:14px;font-weight:400;display:block}.record-tile{background:#fff0e2;border-color:#edc29f}.record-tile strong{color:#874315;font-size:23px}.status-tag{color:#777;background:#f2f1ee;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.ready-tag{color:#9a4810;background:#fff0e2}.dashboard-arrow{float:right;color:#9a4810;font-size:22px}.student-row{overflow-wrap:anywhere;border-bottom:1px solid #eee;padding:16px 0}.page-heading{outline:none}header .account-info #identity{overflow-wrap:anywhere;max-width:220px}.calendar-card{padding:22px}.calendar-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-toolbar h2{margin:0 auto;font-size:20px}.calendar-toolbar button{padding:8px 12px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekday{text-align:center;color:#777;font-size:12px}.calendar-day{background:#fff;border:1px solid #e8e3dc;border-radius:8px;min-width:0;min-height:105px;padding:6px}.calendar-today{background:#fff9f2;border-color:#c46c2a}.calendar-number{font-size:13px;font-weight:700}.calendar-event{text-align:left;color:#35332f;background:#f0eeeb;width:100%;min-width:0;margin-top:5px;padding:5px 4px;font-size:11px;line-height:1.5;display:block}.calendar-event span,.calendar-event strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.event-completed{color:#185b94;background:#dceeff}.review-tag{color:#185b94;margin-left:8px;font-size:12px;display:inline-block}.review-banner{text-align:left;color:#185b94;background:#e8f3ff;width:100%;margin:0 0 20px;display:block}.time-picker{align-items:center;gap:5px;display:flex}.slot-row .time-picker select{width:76px}.period-summary{text-align:left;color:inherit;font-weight:400}.review-list{padding-left:22px}.review-list li{border-bottom:1px solid #eee;padding:12px 0}.blank{background:0 0;border:0}.slot-row{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.slot-row select{width:110px}.slot-row input[type=time]{width:140px}.slot-row button{padding:8px 12px}.checkbox-line{align-items:center;gap:8px;display:flex}.checkbox-line input{width:20px;min-width:20px;height:20px}.tile-heading{color:#35332f;text-align:left;background:0 0;width:100%;padding:0}.bar-chart{justify-content:space-around;align-items:flex-end;gap:12px;padding:20px 0 8px;display:flex}.bar-column{color:#35332f;background:0 0;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-height:150px;padding:4px;font-size:13px;display:flex}.bar-fill{background:#ed8c46;border-radius:7px 7px 0 0;width:65%;max-width:60px;display:block}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.period-summary{background:#fff;border:1px solid #e8e3dc;border-radius:14px;padding:16px}.period-summary p{overflow-wrap:anywhere;margin:6px 0}details summary{cursor:pointer;padding:16px 0;font-weight:600}@media (width<=600px){.calendar-card{padding:12px}.calendar-day{min-height:85px;padding:3px}.calendar-event{padding:4px 2px;font-size:10px}.calendar-toolbar h2{font-size:17px}.calendar-grid{gap:2px}.summary-grid{grid-template-columns:1fr}.slot-row input[type=time]{width:110px}.slot-row select{width:90px}.dashboard-grid{grid-template-columns:1fr;gap:12px}.dashboard-tile{padding:20px}header{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:18px}header strong{white-space:nowrap;font-size:17px}header .account-info{margin-left:auto}.calendar-event strong{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}main{padding:22px 16px 50px}.card{padding:20px}.grid{grid-template-columns:1fr;gap:0}h1{font-size:23px}.account-info{justify-content:flex-end;font-size:12px}button{padding:11px 15px}}.calendar-event[draggable=true]{cursor:grab}.calendar-event.dragging{opacity:.45}.calendar-drop{background:#fff0df;outline:2px solid #b25b18}.calendar-moved{color:#94501e;font-size:10px}#calendar-move-dialog{box-sizing:border-box;border:1px solid #e8e3dc;border-radius:18px;width:min(440px,100% - 32px);max-width:100%;padding:24px}#calendar-move-dialog::backdrop{background:#2228}#calendar-move-dialog h2{margin-top:0}#calendar-move-message{white-space:pre-line}.calendar-help{font-size:13px}.admin-faq h3{margin:28px 0 6px;font-size:17px}.admin-faq details{border-bottom:1px solid #e8e3dc}.admin-faq summary{overflow-wrap:anywhere;line-height:1.65}.faq-answer{overflow-wrap:anywhere;padding:0 4px 16px;line-height:1.85}.faq-answer p{margin:10px 0}.faq-answer ol{margin:0 0 12px;padding-left:24px}.faq-answer li{padding:4px 0}.faq-example{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#f6f4f1;border-radius:10px;padding:14px}
