:root{font-family:'Malgun Gothic',sans-serif;color:#183f52;background:#f3f6f7;font-size:15px}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1160px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #ccd9df}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}a{color:#126c70}header>a{font-weight:bold;text-decoration:none}h1{font-size:34px;margin:8px 0 24px}.eyebrow{letter-spacing:.12em;font-size:12px}.filters{display:flex;gap:18px;margin:25px 0}label{display:grid;gap:7px}input,select,button,.button{font:inherit;padding:11px;border:1px solid #9eb6c2;border-radius:5px;background:white;color:#183f52}button,.button{cursor:pointer}.button{display:inline-block;background:#047663;color:white;text-decoration:none}.scroll{overflow-x:auto;background:white}table{width:100%;border-collapse:collapse;min-width:820px}th,td{text-align:left;padding:16px 12px;border-bottom:1px solid #dfe7eb;vertical-align:top}th{background:#eaf1f4;font-size:13px}td{font-size:14px}details{max-width:220px}details ul{padding-left:18px;line-height:1.8}aside{border-left:3px solid #86a7b3;padding:14px 18px;margin-top:30px;line-height:1.8;font-size:13px}.muted,footer{font-size:12px;line-height:1.8;color:#60798a}#error{color:#a52d2d}[hidden]{display:none!important}@media(max-width:650px){header,main,footer{padding:18px}.filters,header{flex-direction:column}.filters{gap:12px}input,select{width:100%}h1{font-size:29px}}

.access-panel{padding:22px;border:1px solid #c5d5db;border-radius:8px;background:white;margin:20px 0}.access-panel h2{margin-top:0}.access-panel dl{display:grid;grid-template-columns:minmax(130px,auto) 1fr;gap:8px 20px;font-size:14px}.access-panel dt{font-weight:bold}.access-panel dd{margin:0}.access-panel details{max-width:none;border-top:1px solid #dfe7eb;padding-top:15px}.access-panel summary{cursor:pointer;font-weight:bold}.access-panel form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:15px}.access-panel form p{flex-basis:100%;margin:0}.access-panel label{flex:1;min-width:220px}button:disabled{opacity:.55;cursor:default}@media(max-width:650px){.access-panel{padding:16px}.access-panel dl{grid-template-columns:1fr;gap:5px}.access-panel dd{margin-bottom:9px}}
.payment-panel{border-top:1px solid #dfe7eb;padding:14px 0 20px}.payment-panel h3{margin:0 0 8px}.payment-panel p{line-height:1.7}.mock-payment-actions{display:flex;flex-wrap:wrap;gap:12px}
.account-delete-open{margin-top:25px;color:#9d3636}.account-delete-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #bdcdc6;border-radius:14px;color:#183f52;background:#fffdf8}.account-delete-dialog::backdrop{background:rgba(18,42,44,.48)}.account-delete-dialog h2{margin-top:0}.account-delete-dialog p{line-height:1.7;font-size:14px}.account-delete-dialog input{width:100%;min-width:0}.account-delete-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.account-delete-confirm{background:#8b3030;color:white;border-color:#8b3030}.account-delete-dialog [role=alert]{color:#9d3636}.account-delete-dialog button:focus-visible,.account-delete-dialog input:focus-visible{outline:3px solid #bf5c37;outline-offset:3px}
.admin-subjects{background:white;border:1px solid #c5d5db;border-radius:8px;padding:22px;margin:20px 0}.admin-subjects h2{margin-top:0}.admin-subjects form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.admin-subjects form label{flex:1;min-width:180px}.admin-subjects .button{margin-top:12px}.subject-number{display:block;margin:6px 0;color:#60798a}.subject-assignment{display:grid;gap:8px;min-width:155px;margin-top:10px}.subject-assignment select{min-width:0;width:100%}.filters{flex-wrap:wrap}.filters label{min-width:150px;flex:1}.admin-subjects button:focus-visible,.admin-subjects input:focus-visible{outline:3px solid #bf5c37;outline-offset:3px}@media(max-width:650px){.admin-subjects{padding:16px}.admin-subjects form{align-items:stretch}.admin-subjects form button{width:100%}.admin-subjects .button{width:100%;text-align:center}.filters label{min-width:0}}

.saved-comparison{margin-top:22px;padding-top:18px;border-top:1px solid #dfe7eb;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.saved-comparison p{flex-basis:100%;margin:0}.saved-comparison span{min-width:90px}#rows input[type=checkbox]{width:22px;height:22px;cursor:pointer;accent-color:#047663}

.admin-login{max-width:480px;padding:24px;margin:28px 0;background:#fff;border:1px solid #c5d5db;border-radius:8px}.admin-login h2{margin-top:0}.admin-login form{display:grid;gap:16px}.admin-login input{width:100%;min-width:0}.admin-login .remember-login{display:flex;align-items:center;gap:10px;font-size:14px}.admin-login .remember-login input{width:22px;height:22px;flex:0 0 22px;accent-color:#047663}.admin-login p{margin:0}.admin-login [role=alert]{color:#a52d2d}.admin-login button{background:#047663;color:white}.admin-login :focus-visible{outline:3px solid #bf5c37;outline-offset:3px}@media(max-width:650px){.admin-login{padding:18px;max-width:none;width:100%}}
.admin-coupons{margin:24px 0;padding:22px;border:1px solid #c5d5db;border-radius:8px;background:#fff;scroll-margin-top:24px}.admin-coupons h2{margin:0}.coupon-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.coupon-heading>a{font-size:13px;white-space:nowrap}.coupon-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:20px 0}.coupon-summary>div{padding:12px;background:#f3f6f7;border:1px solid #dfe7eb}.coupon-summary span{display:block;font-size:12px;color:#60798a}.coupon-summary strong{display:block;font-size:26px;margin-top:6px}.coupon-summary small{font-size:12px;font-weight:normal;margin-left:5px}.coupon-issue{max-width:none;padding:14px 0;border-top:1px solid #dfe7eb;border-bottom:1px solid #dfe7eb}.coupon-issue summary{cursor:pointer;font-weight:bold}.coupon-issue form,.coupon-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-top:16px}.coupon-issue form label:first-child{flex:1;min-width:230px}.coupon-issue input{width:90px}.coupon-filters label{flex:1;min-width:140px}.coupon-table{max-height:480px;border:1px solid #dfe7eb}.coupon-table th{position:sticky;top:0;z-index:1}.coupon-table td{font-size:13px}.coupon-table small{display:block;color:#60798a;margin-top:5px;font-size:11px}.coupon-table code{display:block;font-size:12px;white-space:nowrap}.coupon-table button{display:block;font-size:11px;padding:6px 9px;margin-top:7px}.coupon-table details{max-width:200px;min-width:100px;margin-top:9px}.coupon-table summary{cursor:pointer;font-size:11px}.usage-list{white-space:pre-line;font-size:11px;padding-top:7px}.coupon-state{display:inline-block;padding:3px 8px;border-radius:3px;background:#eef3f1;white-space:nowrap}.state-active{background:#dcefe5;color:#126548}.state-expired,.state-registration-expired{background:#f5e7e2;color:#874230}.state-exhausted{background:#e9edef;color:#60717a}#adminCouponStatus{font-size:13px;line-height:1.7}@media(max-width:650px){.admin-coupons{padding:16px}.coupon-heading{display:block}.coupon-summary{grid-template-columns:repeat(3,1fr)}.coupon-summary strong{font-size:23px}.coupon-issue form>*{width:100%}.coupon-issue input{width:100%}.coupon-filters{display:grid;grid-template-columns:1fr 1fr}.coupon-filters label{min-width:0}.coupon-filters label:nth-child(3){grid-column:1/-1}.coupon-filters button{grid-column:1/-1}}

.admin-coupons{max-width:none}.coupon-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-size:22px;font-weight:bold;list-style:none}.coupon-toggle::-webkit-details-marker{display:none}.coupon-toggle-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid #c5d5db;border-radius:4px;font-size:25px;font-weight:normal}.coupon-toggle-icon::before{content:"+"}.admin-coupons[open]>.coupon-toggle .coupon-toggle-icon::before{content:"−"}.admin-coupons[open]>.coupon-toggle{padding-bottom:16px;border-bottom:1px solid #dfe7eb}.coupon-toggle:focus-visible{outline:3px solid #bf5c37;outline-offset:5px}
