:root{--ink:#25222d;--muted:#716d7b;--purple:#563862;--line:#e8e5eb;--paper:#f7f7fa;--green:#256b58;font-family:Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:600}button:hover{background:#f1edf5}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bb89d0;outline-offset:3px}.primary{background:var(--purple);color:white;border-color:var(--purple)}.primary:hover{background:#41284b}.shell{display:flex;min-height:100vh}aside{width:246px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column;gap:36px}.brand{display:flex;align-items:center;gap:12px;color:var(--purple);font-size:12px;font-weight:700;line-height:1.4;letter-spacing:1.6px}.location{border-top:1px solid var(--line);padding-top:24px;font-size:12px;letter-spacing:1.2px;color:var(--muted)}.location span{display:block;margin-top:8px;font-size:16px;line-height:1.5;letter-spacing:0;font-weight:600;color:var(--ink)}nav{display:grid;gap:8px}nav button{justify-content:flex-start;border:0;background:transparent;font-size:15px;padding:14px}nav svg{width:20px}nav .active{background:#f0eaf4;color:var(--purple)}.aside-note{margin-top:auto;color:var(--muted);font-size:14px;line-height:1.7}main{flex:1 1;min-width:0}header{height:80px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:0 40px;background:white;font-size:14px;color:var(--muted)}.pill,header{align-items:center}.pill{display:inline-flex;border-radius:30px;background:#f1eef5;padding:7px 12px;font-size:13px;color:var(--purple);gap:6px}.content{padding:38px 40px;max-width:1580px;margin:auto}.title-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.eyebrow{color:var(--purple);font-size:12px;letter-spacing:1.6px;font-weight:700}h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.2px;font-size:38px;margin:10px 0}h2{font-size:18px;font-weight:600;margin:0}.muted{color:var(--muted);font-size:16px;line-height:1.6}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px}.stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;font-size:14px;color:var(--muted)}.stats strong{display:block;margin-top:18px;font-size:32px;color:var(--ink);font-weight:500}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-head{padding:23px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.empty{padding:70px 24px;text-align:center;color:var(--muted)}.empty>svg{margin:0 auto 22px;color:var(--purple)}.empty h2{color:var(--ink);font-family:Georgia,serif;font-size:25px;font-weight:400}.empty p{font-size:16px;line-height:1.8}.empty button{margin-top:12px}.source-note{color:var(--muted);font-size:13px;margin-top:22px}a{color:var(--purple)}@media(max-width:950px){aside{width:200px;padding:25px 14px}.content{padding:25px}.stats{grid-template-columns:repeat(2,1fr)}h1{font-size:31px}}@media(max-width:680px){.shell{display:block}aside{width:100%;padding:16px;gap:16px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:10px}.aside-note,.location{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;padding:10px}header{height:56px;padding:0 18px}.content{padding:24px 16px}.title-row{gap:12px}.panel-head,.title-row{align-items:flex-start;flex-direction:column}.stats{gap:10px}.stats article{padding:16px}h1{font-size:30px}}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.icon{padding:9px;border-radius:8px;flex-shrink:0}.small{font-size:14px}.three{grid-template-columns:repeat(3,1fr)}input,select,textarea{background:white;color:var(--ink);border:1px solid #d8d3df;border-radius:7px;padding:10px 12px;min-height:42px;font-size:15px;max-width:100%}.agenda-toolbar,.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 18px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:24px}.days button{flex-direction:column;padding:13px 8px;gap:5px;background:white;font-weight:400}.days strong{font-size:22px;font-weight:500}.days small,.days span{font-size:13px;color:var(--muted)}.days .selected-day{background:var(--purple);border-color:var(--purple);color:white}.days .selected-day small,.days .selected-day span{color:#e8dceb}.agenda-grid{display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start;gap:22px}.class-list{display:grid;gap:12px}.class-card{display:flex;text-align:left;padding:20px 16px;align-items:flex-start;justify-content:flex-start;gap:18px;font-weight:400;border-radius:10px;transition:border-color .15s}.class-card.chosen{border-color:#755483;box-shadow:inset 3px 0 var(--purple);background:#fcfaff}.class-card.canceled{opacity:.6}.class-time{font-size:18px;font-weight:600}.class-time small{display:block;margin-top:4px;font-size:13px;color:var(--muted);font-weight:400}.class-main{flex:1 1;min-width:0}.class-main h2{margin:8px 0 12px;font-size:17px}.class-main p{gap:6px;color:var(--muted);font-size:14px;margin:5px 0}.class-main p,.seat-line{display:flex;align-items:center}.seat-line{justify-content:space-between;gap:12px;font-size:13px;margin:18px 0 8px}.dot{width:7px;height:7px;border-radius:50%;background:#40846a}.dot.full{background:#c88b3d}.progress{height:4px;background:#ede7ef;border-radius:10px;overflow:hidden}.progress span{display:block;background:#9a80a6;height:100%}.attendance .eyebrow{margin-top:0}.class-actions{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.class-actions button{font-size:14px;padding:9px 11px}.person-row{display:flex;gap:12px;padding:20px 22px;align-items:flex-start;border-bottom:1px solid var(--line)}.avatar{border-radius:50%;width:37px;height:37px;flex-shrink:0;display:grid;place-items:center;font-size:12px;font-weight:600;background:#eee9f3;color:var(--purple)}.person-info{flex:1 1;min-width:0}.person-info strong{font-size:16px;overflow-wrap:anywhere}.person-info small{display:block;margin-top:8px;font-size:13px;color:var(--muted)}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.tag{display:inline-block;background:#f0eef4;color:#696171;border-radius:5px;font-size:14px;padding:4px 7px;line-height:1.5}.green{background:#edf6f0;color:#256344}.orange{background:#fbf1df;color:#865515}.person-actions{display:grid;justify-items:end;gap:5px}.person-actions button{font-size:14px;padding:8px 10px}.check-button{background:#f0f7f1;color:var(--green);border-color:#d7e8dc}.text-button{border:0;padding:0;background:transparent;display:inline;font-size:14px;font-weight:400;color:var(--purple)}.text-button:hover{background:transparent;text-decoration:underline}.danger{color:#a13747}.panel-foot{padding:18px 22px;background:#fdfcfe;color:var(--muted);font-size:13px;line-height:1.7;justify-content:space-between;gap:14px}.panel-foot,.search{display:flex;align-items:center}.search{gap:10px;border:1px solid var(--line);background:white;border-radius:8px;padding:0 12px;min-width:240px}.search svg{color:var(--muted)}.search input{border:0;padding-left:0;outline-offset:0;min-width:0;width:100%}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-weight:500;color:var(--muted);background:#fcfbfd;white-space:nowrap;padding:17px 22px}td,th{border-bottom:1px solid var(--line)}td{padding:20px 22px;vertical-align:middle}td strong{font-weight:600}td small{color:var(--muted);font-size:13px}td div{margin-top:5px}.balance{font-size:25px;font-weight:500}.stack{display:grid;gap:7px;justify-items:start}.stack button{font-size:14px;padding:8px 11px}.detail-panel{margin-top:24px}.detail-body{padding:24px;font-size:16px;line-height:1.7}.detail-body h3{font-size:16px;margin-top:28px}.detail-body>button{margin-top:25px}.detail-line{justify-content:space-between;gap:14px;align-items:center;padding:12px 0;font-size:14px}.activity-row,.detail-line{display:flex;border-bottom:1px solid var(--line)}.activity-row{gap:18px;align-items:flex-start;padding:20px 24px}.activity-row>div{flex:1 1}.activity-row strong{font-size:16px;font-weight:500}.activity-row p{font-size:13px;color:var(--muted);margin:6px 0 0;overflow-wrap:anywhere}.activity-row time{font-size:13px;color:var(--muted);white-space:nowrap}.activity-dot{width:8px;height:8px;border-radius:50%;background:#9f85af;margin-top:5px}.error,.notice{display:flex;align-items:center;gap:12px;border-radius:8px;padding:14px 18px;margin-bottom:22px;font-size:14px}.notice{background:#eaf5ee;color:#255b42}.notice .icon{margin-left:auto;background:transparent;border:0}.error{background:#fff0ee;color:#a13228}.error>span{flex:1 1}.warning{color:#9b591a!important}.modal-backdrop{position:fixed;inset:0;background:#21152970;z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:white;border-radius:14px;box-shadow:0 25px 100px #24142c40;padding:28px;z-index:101;width:min(590px,calc(100vw - 32px));max-height:90dvh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-head h2{font-family:Georgia,serif;font-size:27px;font-weight:400}.modal-description{font-size:14px;line-height:1.7;color:var(--muted);margin:14px 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#514959}.wide{grid-column:1/-1}.field-note{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.form-error{padding:12px;background:#fff1ed;color:#a13228;border-radius:7px;font-size:14px;line-height:1.6}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.guide{padding:28px}.guide p{color:var(--muted);font-size:16px;line-height:1.8}.guide strong{color:var(--ink)}.step{font-family:Georgia,serif;font-size:38px;color:#a38aae;display:block;margin-bottom:18px}.guide button{margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aside-note button{background:transparent;border:0;padding:0;font-size:14px;color:var(--muted)}.aside-note .active{color:var(--purple)}button:disabled{cursor:not-allowed}body{font-family:Arial,sans-serif}.source-note{line-height:1.8}h1{line-height:1.2}@media(min-width:1500px){.agenda-grid{grid-template-columns:350px minmax(0,1fr)}}@media(max-width:1200px){.agenda-grid{grid-template-columns:260px minmax(0,1fr)}.person-row{flex-wrap:wrap}.person-actions{display:flex;width:100%;justify-content:flex-end;flex-wrap:wrap}.class-card{padding:16px 12px;gap:12px}.stats strong{font-size:27px}}@media(max-width:950px){.agenda-grid{grid-template-columns:1fr}.class-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.list-toolbar{align-items:stretch;flex-direction:column}.guide-grid,.three{grid-template-columns:1fr}.stats.three article{display:flex;align-items:center;justify-content:space-between;gap:16px}.stats.three strong{margin:0}.activity-row{flex-wrap:wrap}.activity-row time{margin-left:26px}.days{gap:5px}.days small{font-size:12px}}@media(max-width:680px){.agenda-toolbar{flex-wrap:wrap}.days button{padding:10px 3px}.days small,.days span{font-size:12px}.days strong{font-size:19px}.class-list,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.modal{padding:22px}.detail-line{align-items:flex-start;flex-direction:column}.detail-panel .panel-head .actions{width:100%}.person-row{padding:18px 16px}.person-info{min-width:140px}.panel-foot{align-items:flex-start;flex-direction:column}.stats article span{font-size:13px}.activity-row{padding:18px}.guide{padding:23px}.modal-head h2{font-size:23px}.aside-note{display:none}.title-row .primary{width:100%}.agenda-toolbar .actions{gap:5px}header .actions{gap:6px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f4eff6,#f8f7f4)}.login-card{width:min(430px,100%);background:white;border:1px solid var(--line);border-radius:16px;padding:42px;box-shadow:0 24px 80px #35243d1a}.login-card img{width:240px;max-width:100%;height:auto;margin-bottom:34px}.login-card h1{margin-bottom:8px}.login-card form{display:grid;gap:18px;margin-top:28px}.login-card label{display:grid;gap:8px;font-size:14px;color:#514959}.login-card button{margin-top:5px}.login-card .form-error{margin:0}@media(max-width:520px){.login-card{padding:28px 22px}}.brand img{width:200px;max-width:100%;height:auto;object-fit:contain}.dashboard{display:grid;gap:25px}.import-banner{padding:26px 30px;border:1px solid #dfd1e5;background:linear-gradient(110deg,#f3ebf6,#fcfaf7);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:24px}.import-banner h2{font:26px/1.3 Georgia,serif;margin:4px 0 10px}.import-banner p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--muted);margin:0;max-width:670px}.import-banner button{flex-shrink:0}.section-label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:8px}.section-label h2{font-size:19px;margin:0}.dashboard .stats{margin:0}.dashboard .stats small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:8px}.dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.dashboard .panel-head h2{font-size:20px}.archive-filters,.dashboard-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.archive-filters label,.dashboard-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.dashboard-filters input,.dashboard-filters select{padding:9px;font-size:13px}.history-panel .panel-head{align-items:flex-start;flex-wrap:wrap}.history-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 28px;gap:20px}.history-metrics>div{border-right:1px solid var(--line);padding-right:12px}.history-metrics>div:last-child{border:0}.history-metrics strong{display:block;font-size:29px;font-weight:500;margin-bottom:9px}.history-metrics span{font-size:13px;line-height:1.5;color:var(--muted);display:block}.chart{height:330px;width:100%;padding:0 16px}.data-details{padding:16px 25px;font-size:13px;border-top:1px solid var(--line)}summary{cursor:pointer}.data-details>button{margin:15px 0}.distribution{padding:25px;display:grid;gap:22px}.distribution>div>div:first-child{display:flex;justify-content:space-between;gap:20px;font-size:14px;margin-bottom:9px}.occupancy-summary{padding:28px}.occupancy-summary>strong{font:30px/1.3 Georgia,serif}.occupancy-summary p{font-size:14px;line-height:1.85;margin-top:17px}.review-list>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 25px;border-top:1px solid var(--line)}.review-list p{font-size:13px;line-height:1.6;color:#865515;margin:7px 0}.review-list small{color:var(--muted)}.review-list button{flex-shrink:0}.archive-intro{font-size:14px;line-height:1.8;color:var(--muted);padding:0 25px}.archive-filters{padding:12px 25px 23px}.archive-filters .checkbox{flex-direction:row;align-items:center;font-size:13px;padding:12px 0}.archive-filters .checkbox input{width:16px;height:16px}.archive-rows details{border-top:1px solid var(--line);padding:17px 25px;font-size:13px}.archive-rows summary{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.archive-rows summary:before{content:"+";color:var(--purple);font-size:18px}.archive-rows details[open] summary:before{content:"−"}.archive-rows summary>span:first-of-type{color:var(--muted);min-width:130px}.archive-rows dl>div{display:grid;grid-template-columns:100px 1fr;padding:7px 0;gap:15px}.archive-rows dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.archive-rows dt{color:var(--muted)}.archive-rows .warning{line-height:1.7}.dashboard>.panel{min-width:0}@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.history-metrics{grid-template-columns:repeat(2,1fr)}.import-banner{align-items:flex-start;flex-direction:column}.history-metrics>div:nth-child(2){border:0}}@media(max-width:680px){.brand img{width:170px}.dashboard .stats{grid-template-columns:1fr 1fr}.section-label{align-items:flex-start;flex-direction:column}.dashboard-filters{width:100%}.dashboard-filters label{flex:1 1;min-width:110px}.import-banner{padding:23px}.history-metrics{padding:20px;gap:22px 15px}.chart{height:280px;padding:0 3px}.review-list>div{align-items:flex-start;flex-direction:column}.archive-filters label{width:100%}.archive-filters label.checkbox{width:auto}.archive-rows dl>div{grid-template-columns:75px 1fr}.dashboard .panel-head{flex-wrap:wrap}}.reception,.schedule-view{display:grid;gap:24px}.arrival-search{padding:28px}.arrival-search h2{font:29px/1.3 Georgia,serif;margin:4px 0 10px}.arrival-search p{color:var(--muted);font-size:14px;line-height:1.7}.reception-search{width:100%;padding:5px 16px;border-color:#9e7ca9;margin-top:20px}.reception-search input{font-size:19px;padding:15px 0}.arrival-results{margin-top:17px}.arrival-results>button{width:100%;border-radius:0;border-width:0 0 1px;justify-content:flex-start;padding:17px 10px;text-align:left}.arrival-results>button>span:first-of-type{flex:1 1;min-width:0}.arrival-results small{display:block;color:var(--muted);font-size:12px;margin-top:6px;font-weight:400}.arrival-results .selected-person{background:#f1eaf5;border-radius:8px}.arrival-results .tag{font-size:12px}.reception-hint{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 25px;color:var(--muted);font-size:14px}.access-verdict{display:flex;gap:17px;padding:23px 27px;align-items:flex-start}.access-verdict.allowed{background:#eaf5ee;color:#235d43}.access-verdict.blocked{background:#fff3e4;color:#85561b}.access-verdict svg{flex-shrink:0}.access-verdict strong{font-size:19px}.access-verdict p{font-size:14px;line-height:1.7;margin:7px 0 0}.reception-pass-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:24px;gap:15px}.reception-pass{padding:20px;border:1px solid var(--line);border-radius:9px}.reception-pass>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:14px}.reception-pass .tag{font-size:12px;white-space:nowrap}.reception-pass p,.reception-pass small{font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0}.reception-balance{font-size:21px;font-weight:500;display:block;margin-top:18px}.student-notes{white-space:pre-wrap;line-height:1.7}.checkin-form{padding:26px;display:grid;gap:18px}.checkin-form>label{display:flex;flex-direction:column;gap:9px;font-size:14px}.checkin-form select{width:100%;padding:13px}.class-access-info p{margin:0 0 7px;font-size:14px;line-height:1.7}.checkin-button{justify-self:start;padding:15px 23px;font-size:16px}.checkin-form .form-error,.checkin-form .notice{margin:0}.reception-padding{padding:5px 25px 20px;line-height:1.7;font-size:14px}.purchase-total{padding:19px;background:#f4eef7;border-radius:9px}.purchase-total>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.purchase-total span{font-size:14px}.purchase-total strong{font-size:28px}.purchase-total p{font-size:13px;line-height:1.7;color:var(--muted);margin:10px 0 0}.form-grid .purchase-checkbox{flex-direction:row;align-items:center;line-height:1.6}.purchase-checkbox input{width:18px;height:18px}.no-person{display:flex;justify-content:space-between;align-items:center;gap:20px}.schedule-view td:last-child{max-width:500px;line-height:1.7}.reception .panel-head{flex-wrap:wrap}.reception .panel-head h2{font-size:23px}.reception .panel-head p{margin-bottom:0}.reception-profile .actions{flex-wrap:wrap}@media(max-width:680px){.arrival-search{padding:20px}.reception-search input{font-size:16px}.arrival-results>button{gap:8px}.arrival-results>button>svg:first-child{display:none}.reception-pass-grid{grid-template-columns:1fr;padding:18px}.checkin-form{padding:20px}.checkin-button{width:100%;font-size:14px}.access-verdict{padding:20px}.no-person{align-items:flex-start;flex-direction:column}.reception-hint{padding:10px}.schedule-view .panel-head{flex-wrap:wrap}nav{gap:3px}nav button{font-size:13px;padding:10px}}.button-link{padding:10px 14px;border-radius:7px;background:var(--purple);color:white;font-size:14px;text-decoration:none;white-space:nowrap}.error{flex-wrap:wrap}.profile-back{margin-bottom:18px}.student-profile.detail-panel{margin-top:0}.student-profile .panel-head{flex-wrap:wrap;gap:18px}.student-profile .actions{flex-wrap:wrap}.profile-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}.profile-contact span{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}.profile-contact strong{font-size:15px;overflow-wrap:anywhere}#student-profile-title{scroll-margin-top:24px}#student-profile-title:focus{outline:none}@media(max-width:680px){.profile-contact{grid-template-columns:1fr}.student-profile .panel-head h2{font-size:23px}}.debit-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.debit-stats .panel{padding:22px;display:flex;flex-direction:column;gap:10px}.debit-stats strong{font-size:30px}.debit-stats small{line-height:1.5}.debit-warning{color:#8c530e;background:#fff5e4;padding:12px;border-radius:10px}details>summary{cursor:pointer;padding:16px;font-weight:600}.table-scroll small{display:block;margin-top:6px}#debit-detail{scroll-margin-top:20px}.detail-body>label{display:block;margin:14px 0}.detail-body>label input,.detail-body>label select{display:block;width:100%;margin-top:6px}@media(max-width:1100px){.debit-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.debit-stats{grid-template-columns:1fr}}.profile-contact small{display:block;font-size:11px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.payment-state{display:grid;gap:6px}.payment-status-control{display:grid;gap:6px;color:var(--muted);font-size:12px}.payment-status-control select{color:var(--ink)}.payment-recovery{display:grid;gap:9px;margin-top:10px}.payment-recovery>small{max-width:390px;line-height:1.55}.payment-recovery>div{display:flex;align-items:stretch;gap:8px;margin:0}.payment-recovery select{min-width:145px}.payment-recovery button{white-space:nowrap}@media(max-width:760px){.payment-recovery>div{align-items:stretch;flex-direction:column}.payment-recovery button{white-space:normal}}.weekday-fields{border:1px solid var(--line);border-radius:10px;padding:16px}.weekday-fields legend{font-weight:600;padding:0 6px}.weekday-fields p{font-size:13px;color:var(--muted);line-height:1.5}.weekday-fields>div{display:flex;flex-wrap:wrap;gap:8px}.weekday-fields label{display:flex;flex-direction:row;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:7px 10px;background:#fff}.weekday-fields input{width:16px;height:16px;min-height:0}.alarm-dot{width:8px;height:8px;border-radius:50%;background:#c73535;margin-left:auto;box-shadow:0 0 0 3px #f8dede}.alarm-row{align-items:center}.alarm-row .actions{flex-shrink:0}.class-card.closed{background:#f8f7f9}.class-card.closed .dot{background:#716d7b}@media(max-width:760px){.alarm-row .actions{width:100%}}.nav-section{margin:15px 14px 2px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1.4px}.nav-section:first-child{margin-top:0}.nav-parent{padding:8px 14px 0;color:var(--ink);font-size:13px;font-weight:600}.nav-child{padding-left:29px}nav .nav-child svg{width:17px}@media(max-width:680px){nav .nav-parent,nav .nav-section{display:none}.nav-child{padding-left:10px}}nav .nav-group{display:grid;gap:4px}nav .nav-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:13px 14px;border-radius:8px;font-size:15px;font-weight:600}nav .nav-group summary::-webkit-details-marker{display:none}nav .nav-group summary:after{content:"›";margin-left:auto;color:var(--muted);font-size:20px;line-height:1;transition:transform .15s}nav .nav-group[open]>summary:after{transform:rotate(90deg)}nav .nav-group summary:hover{background:#f7f4f8}nav .nav-group summary svg{width:20px;height:20px}nav .nav-group .nav-child{width:100%;padding-left:31px}nav .nav-subgroup{margin-left:15px}nav .nav-subgroup summary{padding:10px 14px;font-size:13px;color:var(--muted)}nav .nav-subgroup .nav-grandchild{padding-left:38px}nav .nav-admin{margin-top:8px;border-top:1px solid var(--line);padding-top:8px}@media(max-width:680px){nav{display:grid;overflow:visible;max-height:60vh;overflow-y:auto}nav .nav-group .nav-child{padding-left:31px}}.arrival-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.arrival-heading>button{flex-shrink:0}.billing-fields{border:1px solid var(--line);border-radius:10px;padding:18px;margin:8px 0}.billing-fields legend{font-weight:600;padding:0 6px}.billing-fields>p{font-size:14px;line-height:1.6;margin:0 0 16px}.receipt-print-root{position:fixed;inset:0;z-index:1000;background:#eeecf0;overflow:auto;padding:24px;color:#111;font:16px/1.5 Arial,sans-serif}.receipt-controls{max-width:760px;margin:0 auto 24px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}.receipt-controls label{display:flex;gap:10px;align-items:center}.receipt-controls p{width:100%;font-size:14px}.receipt-document{background:white;max-width:760px;padding:32px;margin:0 auto;overflow-wrap:anywhere}.receipt-document h1{font:700 23px/1.3 Arial,sans-serif}.receipt-document h2{font:700 17px/1.4 Arial,sans-serif}.receipt-document p{margin:12px 0}.receipt-document hr{border:0;border-top:1px solid #bbb}.receipt-total{font-size:22px;font-weight:700}.ticket .receipt-document{max-width:80mm;padding:3mm;font-size:14px}.ticket .receipt-document h1{font-size:18px}.ticket .receipt-document h2{font-size:15px}.receipt-document{border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.06);color:#302b35}.receipt-brand{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:3px solid #9c3461}.receipt-brand img{width:220px;max-width:48%;height:auto}.receipt-brand div{text-align:right}.receipt-brand small,.receipt-heading small{display:block;color:#777;margin-top:4px}.receipt-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:26px 0;padding:20px;background:#f7f2f5;border-radius:7px}.receipt-concept span,.receipt-heading span,.receipt-parties span,.receipt-total span{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;color:#9c3461}.receipt-heading h1{margin:6px 0 0;color:#302b35}.receipt-heading>div:last-child{text-align:right}.receipt-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.receipt-parties section{border:1px solid #eee7eb;border-radius:7px;padding:18px}.receipt-concept strong,.receipt-parties strong{display:block;margin-top:7px}.receipt-concept p,.receipt-parties p{color:#666}.receipt-concept{border-top:1px solid #eee7eb;border-bottom:1px solid #eee7eb;padding:20px 0;margin:24px 0}.receipt-total{margin:24px 0 24px auto;width:min(240px,100%);padding:18px;background:#f7f2f5;border-radius:7px;text-align:right}.receipt-total strong{display:block;font-size:28px;color:#9c3461}.receipt-payment{display:flex;justify-content:space-between;gap:20px;padding:15px 18px;background:#f7f2f5;border-radius:7px}.receipt-payment strong{color:#9c3461}.receipt-warning{padding:12px 16px;background:#fff0ee;color:#a13747;border-radius:6px;font-weight:700}.receipt-document footer{margin-top:32px;padding-top:14px;border-top:1px solid #eee;color:#777;font-size:13px}.ticket .receipt-brand,.ticket .receipt-heading,.ticket .receipt-payment{display:block}.ticket .receipt-brand div,.ticket .receipt-heading>div:last-child{text-align:left;margin-top:10px}.ticket .receipt-parties{grid-template-columns:1fr}.ticket .receipt-brand img{max-width:70%}@media print{body:has(.receipt-print-root)>:not(.receipt-print-root){display:none!important}body:has(.receipt-print-root){margin:0!important;background:white!important}.receipt-print-root{position:static!important;inset:auto;overflow:visible!important;padding:0!important;background:white!important}.receipt-controls{display:none!important}.receipt-document{padding:0!important;max-width:none;font-size:11pt}.ticket .receipt-document{width:74mm;max-width:74mm;margin:0;font-size:10pt}.receipt-document p{page-break-inside:avoid;break-inside:avoid}.receipt-document h1,.receipt-document h2{page-break-after:avoid;break-after:avoid}}.catalog-page{display:grid;gap:24px}.catalog-page .panel-head{align-items:flex-start;flex-wrap:wrap}.catalog-page .panel-head p{max-width:720px;line-height:1.6;margin:8px 0 0}.catalog-page td{line-height:1.55}.catalog-page fieldset label{margin:10px 0}.catalog-page textarea{resize:vertical}.registration-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 16px}.registration-summary>div{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fcfbfd}.registration-summary span,.registration-summary strong{display:block}.registration-summary span{font-size:12px;color:var(--muted);margin-bottom:6px}.detail-line small{display:block;color:var(--muted);margin-top:4px}@media(max-width:760px){.registration-summary{grid-template-columns:1fr 1fr}}.public-page{min-height:100vh;padding:34px 18px 70px;background:linear-gradient(145deg,#f4eff6,#f8f7f4)}.public-card{width:min(860px,100%);margin:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #35243d17;overflow:hidden}.public-header{height:auto;padding:38px 44px;background:#fff;border-bottom:1px solid var(--line);display:block}.public-header img,.public-success img{width:230px;height:auto;margin-bottom:30px}.public-header p{color:var(--purple);font-size:11px;letter-spacing:1.5px;font-weight:700;margin:0}.public-header h1{font-size:42px;margin:10px 0}.public-header span{display:block;color:var(--muted);font-size:16px;line-height:1.7;max-width:650px}.public-form{display:grid;gap:28px;padding:36px 44px 44px}.public-form fieldset{border:0;padding:0;margin:0;display:grid;gap:17px}.public-form legend{font:24px/1.35 Georgia,serif;margin-bottom:18px}.public-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.public-grid label{display:grid;gap:8px;color:#514959;font-size:14px}.public-grid label small{color:var(--muted)}.public-grid .wide{grid-column:1/-1}.guardian-box,.legal-box{background:#f7f2f8;border-radius:10px;padding:18px}.guardian-box>p{margin:0 0 16px;line-height:1.6}.field-title{font-size:14px;color:#514959;margin:0}.choice-grid{display:flex;gap:8px;flex-wrap:wrap}.choice-grid label,.legal-check,.newsletter{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.55}.choice-grid label{border:1px solid var(--line);padding:9px 12px;border-radius:20px}.choice-grid input,.legal-check input,.newsletter input{width:17px;height:17px;min-height:0;flex-shrink:0;margin-top:2px}.legal-box h2{font-size:16px;margin:0 0 8px}.legal-box p,.privacy-details p,.signature-note{font-size:14px;line-height:1.7;color:var(--muted)}.privacy-details{border:1px solid var(--line);border-radius:9px;padding:0 17px 13px}.privacy-details summary{padding:15px 0}.signature-field{position:relative}.signature-field canvas{display:block;width:100%;height:180px;border:1px solid #cfc7d5;border-radius:10px;background:#fff;touch-action:none}.signature-field button{margin-top:9px;padding:8px 11px}.public-submit{min-height:52px;font-size:16px}.public-footnote{text-align:center;color:var(--muted);font-size:13px;line-height:1.6;margin:0}.public-trap{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important}.public-success{padding:52px;text-align:center}.public-success>svg{color:var(--green)}.public-success h1{font-size:40px}.public-success p{line-height:1.8;color:var(--muted)}@media(max-width:620px){.public-page{padding:0;background:white}.public-card{border:0;border-radius:0;box-shadow:none}.public-form,.public-header{padding:28px 20px}.public-header h1{font-size:34px}.public-grid{grid-template-columns:1fr}.public-grid .wide{grid-column:auto}.signature-field canvas{height:150px}.public-success{padding:38px 22px}.registration-summary{grid-template-columns:1fr}}.public-configuration{margin:30px 44px 0;padding:18px;border-radius:10px;background:#fff3e4;color:#85561b}.public-configuration p{margin:7px 0 0;line-height:1.6}.public-form fieldset:disabled{opacity:.58}.public-form fieldset:disabled input,.public-form fieldset:disabled select{cursor:not-allowed}@media(max-width:620px){.public-configuration{margin:22px 20px 0}}