:root{--blue:#123ee7;--deep-blue:#0829a8;--lime:#b6e719;--ink:#101b3b;--muted:#65708b;--line:#e5e9f3;--paper:#f5f7fc;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.hero{position:relative;overflow:hidden;min-height:410px;color:var(--white);background:radial-gradient(circle at 80% 10%,rgba(182,231,25,.3),transparent 22%),linear-gradient(135deg,#0829a8,#1249f2 65%,#2875ff)}.hero:after,.hero:before{position:absolute;content:"";border:1px solid hsla(0,0%,100%,.18);border-radius:50%}.hero:before{width:520px;height:520px;right:-130px;top:-250px}.hero:after{width:330px;height:330px;right:-40px;top:-155px}.container,.hero-inner{width:min(1180px,calc(100% - 40px));margin:0 auto}.hero-inner{position:relative;z-index:1;padding:74px 0 56px}.eyebrow{display:inline-block;margin-bottom:18px;color:var(--lime);font-size:13px;font-weight:800;letter-spacing:.18em}h1,h2,h3,p{margin-top:0}.hero h1{max-width:720px;margin-bottom:16px;font-size:clamp(42px,7vw,72px);line-height:1.08;letter-spacing:-.04em}.hero-inner>p{color:hsla(0,0%,100%,.78);font-size:17px}.time-card{display:inline-flex;align-items:center;gap:22px;min-height:58px;margin-top:18px;padding:14px 22px;color:var(--deep-blue);background:var(--white);border-radius:12px;box-shadow:0 16px 45px rgba(0,20,100,.25)}.time-card strong{font-size:18px}.time-card.open strong{color:#219653}.time-card span{padding-left:22px;color:var(--muted);border-left:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-range{margin-top:16px!important;font-size:13px!important}.container{position:relative;z-index:2;margin-top:-32px}.section{padding:66px 0 24px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.section-heading>div{display:flex;align-items:center;gap:14px}.section-index{color:var(--blue);font-weight:900;font-size:14px}.section-heading h2{margin:0;font-size:30px}.section-heading p{margin-bottom:3px;color:var(--muted);font-size:14px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.course-card{overflow:hidden;background:var(--white);border:1px solid rgba(11,48,160,.08);border-radius:16px;box-shadow:0 12px 32px rgba(25,45,100,.08)}.poster-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#dbe3ff}.poster-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.course-card:hover img{transform:scale(1.02)}.course-number{position:absolute;top:12px;left:12px;padding:6px 8px;color:var(--deep-blue);background:var(--lime);border-radius:6px;font-size:12px;font-weight:900}.course-info{display:flex;flex-direction:column;min-height:162px;padding:20px}.course-info h3{margin-bottom:24px;font-size:18px;line-height:1.55}.seats{display:flex;align-items:baseline;gap:5px;margin-top:auto;color:var(--muted);font-size:13px}.seats strong{margin-left:auto;color:var(--blue);font-size:30px;line-height:1}.seats small{color:#a0a8ba}.form-section{padding-bottom:64px}.form-shell{padding:34px;background:var(--white);border-radius:18px;box-shadow:0 12px 36px rgba(25,45,100,.08)}.form-shell,form{position:relative}fieldset{margin:0;padding:0;border:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}label span{display:block;margin-bottom:9px;font-size:14px;font-weight:700}input,select{width:100%;height:52px;padding:0 15px;color:var(--ink);background:#fafbfe;border:1px solid #dce2ef;border-radius:9px;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{background:var(--white);border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,62,231,.1)}.access-box button,fieldset>button{width:100%;height:54px;margin-top:28px;color:var(--white);background:var(--blue);border:0;border-radius:9px;font-weight:800;box-shadow:0 10px 22px rgba(18,62,231,.22)}button:disabled{cursor:not-allowed;opacity:.55}.registration-submit{transition:background-color .2s,box-shadow .2s,opacity .2s}.registration-submit.is-open{background:#18a957;box-shadow:0 10px 22px rgba(24,169,87,.24)}.registration-submit.is-open:hover:not(:disabled){background:#128a48}.registration-submit.is-closed,.registration-submit.is-closed:disabled{color:#fff;background:#aeb6c5;box-shadow:none;opacity:1}.error-message{margin:18px 0 0;color:#d9363e;font-size:14px}.success-message{margin:18px 0 0;color:#168447;font-size:14px}.result-card{padding:34px 20px;text-align:center}.result-icon{display:grid;width:64px;height:64px;margin:0 auto 18px;color:var(--deep-blue);background:var(--lime);border-radius:50%;place-items:center;font-size:30px;font-weight:900}.result-card>span{color:var(--blue);font-size:14px;font-weight:800}.result-card h2{max-width:680px;margin:12px auto;font-size:25px;line-height:1.5}.result-card p{margin:0;color:var(--muted)}footer{padding:0 0 36px;color:#8a93a9;text-align:center;font-size:13px}.admin-main{min-height:100vh;padding:60px 0;background:var(--paper)}.admin-container{width:min(1240px,calc(100% - 40px));margin:0 auto}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.admin-header h1{margin-bottom:8px;font-size:42px}.admin-header p{color:var(--muted)}.secondary-button{padding:12px 18px;color:var(--blue);background:var(--white);border:1px solid var(--blue);border-radius:8px;font-weight:700}.admin-actions{display:flex;gap:12px;margin:14px 0 24px}.danger-button{padding:12px 18px;color:#c82e35;background:var(--white);border:1px solid #e6a5a8;border-radius:8px;font-weight:700}.access-box{display:flex;gap:12px;margin:28px 0 22px;padding:20px;background:var(--white);border-radius:12px}.access-box input{flex:1 1}.access-box button{width:150px;margin:0}.stats-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0 14px;font-size:14px}.stats-row span{color:var(--muted)}.empty-state{padding:42px 20px;color:var(--muted);text-align:center}.empty-state,.table-wrap{background:var(--white);border-radius:12px}.table-wrap{overflow-x:auto}table{width:100%;min-width:920px;border-collapse:collapse;font-size:14px}td,th{padding:15px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);background:#fafbfe;font-size:12px}@media (max-width:820px){.hero{min-height:380px}.hero-inner{padding-top:56px}.hero h1{font-size:44px}.course-grid{grid-template-columns:1fr}.course-info{min-height:132px}.field-grid{grid-template-columns:1fr;gap:18px}}@media (max-width:560px){.admin-container,.container,.hero-inner{width:min(100% - 28px,1180px)}.hero h1{font-size:38px}.hero-inner>p{font-size:15px}.time-card{align-items:flex-start;flex-direction:column;gap:7px}.time-card span{padding-left:0;border:0}.section{padding-top:50px}.section-heading{align-items:flex-start;flex-direction:column;gap:9px}.section-heading h2{font-size:25px}.form-shell{padding:22px 18px}.admin-main{padding-top:36px}.access-box,.admin-header{align-items:stretch;flex-direction:column}.access-box button,.danger-button,.secondary-button{width:100%}.admin-actions{flex-direction:column}}