:root{
  --eng-paper:#f7f5ef;--eng-paper2:#eee9df;--eng-white:#fff;--eng-ink:#11110f;--eng-muted:#706d66;
  --eng-line:rgba(17,17,15,.13);--eng-gold:#9a7d58;--eng-radius:26px;--eng-shadow:0 24px 70px rgba(20,18,14,.09);
}
.eng-portal{max-width:1500px;margin:0 auto;padding:clamp(28px,5vw,70px) clamp(16px,4vw,48px);color:var(--eng-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.eng-portal *{box-sizing:border-box}.eng-kicker{display:block;margin-bottom:12px;color:var(--eng-gold);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.eng-portal h1,.eng-portal h2,.eng-portal h3{letter-spacing:-.045em;line-height:1.02;margin-top:0}.eng-portal h1{font-size:clamp(42px,7vw,86px);font-weight:560;margin-bottom:16px}.eng-portal h1 em{font-family:Georgia,serif;font-weight:400}.eng-portal h2{font-size:clamp(28px,4vw,46px);font-weight:580}.eng-portal h3{font-size:20px}.eng-portal p{color:var(--eng-muted);line-height:1.65}.eng-portal a{color:inherit}
.eng-login-shell{min-height:70vh;display:grid;grid-template-columns:1.15fr .85fr;border:1px solid var(--eng-line);border-radius:34px;overflow:hidden;background:var(--eng-paper);box-shadow:var(--eng-shadow)}.eng-login-brand{padding:clamp(34px,7vw,86px);background:#11110f;color:#f7f5ef;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.eng-login-brand:after{content:"E";position:absolute;right:-20px;bottom:-120px;font:italic 390px/1 Georgia,serif;color:rgba(255,255,255,.04)}.eng-login-brand p{color:#bbb5aa;max-width:590px;font-size:18px}.eng-login-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.eng-login-points span{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 13px;font-size:12px;color:#e5dfd4}.eng-login-card{padding:clamp(30px,6vw,70px);display:flex;flex-direction:column;justify-content:center;background:#fff}.eng-login-card form p{margin:0 0 18px}.eng-login-card label{display:block;color:var(--eng-ink);font-size:12px;font-weight:700;margin-bottom:7px}.eng-login-card input[type=text],.eng-login-card input[type=password]{width:100%;border:1px solid var(--eng-line);border-radius:14px;padding:14px;background:#faf9f6}.eng-login-card input[type=submit],.eng-primary{border:0;background:#11110f;color:#fff;border-radius:999px;padding:14px 20px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.eng-login-card input[type=submit]:hover,.eng-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(17,17,15,.15)}.eng-muted-link{display:inline-block;margin-top:14px;color:var(--eng-muted)!important;font-size:13px}.eng-inline-primary{display:inline-flex;text-decoration:none;justify-content:center;margin-top:16px}
.eng-portal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.eng-portal-head h1{margin-bottom:8px}.eng-portal-head p{margin:0}.eng-head-actions a{display:inline-flex;border:1px solid var(--eng-line);padding:10px 14px;border-radius:999px;text-decoration:none;font-size:13px}
.eng-credit-strip{display:grid;grid-template-columns:1.2fr repeat(4,minmax(150px,.55fr));gap:1px;background:var(--eng-line);border:1px solid var(--eng-line);border-radius:24px;overflow:hidden;margin-bottom:24px}.eng-credit-title,.eng-credit,.eng-empty-inline{background:#fff;padding:22px}.eng-credit-title span,.eng-credit small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--eng-muted)}.eng-credit-title strong{display:block;margin-top:6px;font-size:18px}.eng-credit{display:grid;grid-template-columns:1fr auto;align-items:end}.eng-credit small{grid-column:1/-1}.eng-credit strong{font-size:36px;letter-spacing:-.05em}.eng-credit span{font-size:11px;color:var(--eng-muted);padding-bottom:5px}.eng-empty-inline{grid-column:2/-1;color:var(--eng-muted)}
.eng-dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.eng-panel{background:#fff;border:1px solid var(--eng-line);border-radius:28px;padding:clamp(24px,4vw,38px);box-shadow:0 8px 28px rgba(20,18,14,.035)}.eng-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px}.eng-panel-head h2{margin:0}.eng-step-indicator{display:flex;align-items:center;gap:7px}.eng-step-indicator span{width:28px;height:28px;border:1px solid var(--eng-line);border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--eng-muted)}.eng-step-indicator span.active{background:#11110f;color:#fff;border-color:#11110f}.eng-book-step[hidden]{display:none!important}.eng-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.eng-service-card{position:relative;text-align:left;border:1px solid var(--eng-line);background:#faf9f6;padding:17px;border-radius:17px;cursor:pointer;transition:.2s}.eng-service-card:hover:not(:disabled){border-color:#11110f;transform:translateY(-2px);background:#fff}.eng-service-card:disabled{opacity:.42;cursor:not-allowed}.eng-service-name{display:block;font-weight:740;margin-bottom:4px}.eng-service-meta,.eng-service-balance{display:block;font-size:11px;color:var(--eng-muted)}.eng-service-balance{margin-top:12px;color:var(--eng-gold);font-weight:700}.eng-help,.eng-policy-note{font-size:12px!important;margin:15px 0 0!important}.eng-back-row{margin-bottom:18px}.eng-link-button{border:0;background:transparent;padding:0;cursor:pointer;color:var(--eng-muted);font-weight:650}.eng-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.eng-form-grid label{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--eng-muted)}.eng-form-grid select,.eng-form-grid input{width:100%;margin-top:7px;border:1px solid var(--eng-line);border-radius:13px;background:#fff;padding:13px;color:var(--eng-ink);text-transform:none;letter-spacing:0;font-weight:500}.eng-status-message{font-size:13px;margin:16px 0 0;color:var(--eng-muted)}.eng-status-message.error{color:#9f3131}.eng-status-message.success{color:#276e43}.eng-slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.eng-slot{border:1px solid var(--eng-line);background:#fff;border-radius:999px;padding:10px;cursor:pointer;font-weight:700}.eng-slot:hover{background:#11110f;color:#fff}.eng-confirm-card{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--eng-line);border:1px solid var(--eng-line);border-radius:18px;overflow:hidden;margin-bottom:20px}.eng-confirm-card>div{background:#faf9f6;padding:16px}.eng-confirm-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--eng-muted)}.eng-confirm-card strong{display:block;margin-top:5px}.eng-confirm-card p{grid-column:1/-1;background:#fff;margin:0;padding:16px;font-size:12px}.eng-count{width:40px;height:40px;border-radius:50%;background:var(--eng-paper);display:grid;place-items:center;font-weight:750}.eng-booking-row{display:grid;grid-template-columns:54px 1fr auto;gap:13px;align-items:center;padding:16px 0;border-top:1px solid var(--eng-line)}.eng-booking-date{width:54px;height:54px;border-radius:14px;background:var(--eng-paper);display:grid;place-items:center;line-height:1}.eng-booking-date strong{font-size:22px}.eng-booking-date span{font-size:10px;text-transform:uppercase;color:var(--eng-muted)}.eng-booking-info strong,.eng-booking-info span{display:block}.eng-booking-info span{font-size:12px;color:var(--eng-muted);margin-top:4px}.eng-cancel{border:1px solid var(--eng-line);background:#fff;border-radius:999px;padding:8px 11px;cursor:pointer;font-size:11px}.eng-cancel:hover{border-color:#9f3131;color:#9f3131}.eng-empty{min-height:180px;border:1px dashed var(--eng-line);border-radius:18px;display:grid;place-items:center;text-align:center;color:var(--eng-muted)}.eng-empty span,.eng-empty small{display:block}.eng-day-heading{margin:30px 0 8px;padding-bottom:9px;border-bottom:1px solid var(--eng-line)}.eng-teacher-row{display:grid;grid-template-columns:80px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--eng-line)}.eng-teacher-row time{font-size:23px;font-weight:650;letter-spacing:-.04em}.eng-teacher-row strong,.eng-teacher-row span{display:block}.eng-teacher-row span{font-size:12px;color:var(--eng-muted);margin-top:3px}
@media(max-width:1100px){.eng-credit-strip{grid-template-columns:1fr 1fr}.eng-credit-title{grid-column:1/-1}.eng-empty-inline{grid-column:auto}.eng-dashboard-grid{grid-template-columns:1fr}.eng-upcoming{order:-1}.eng-slot-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.eng-portal{padding:24px 14px}.eng-login-shell{grid-template-columns:1fr}.eng-login-brand{min-height:360px}.eng-portal-head{align-items:flex-start;flex-direction:column}.eng-credit-strip{grid-template-columns:1fr 1fr}.eng-service-grid{grid-template-columns:1fr}.eng-form-grid{grid-template-columns:1fr}.eng-slot-grid{grid-template-columns:repeat(2,1fr)}.eng-confirm-card{grid-template-columns:1fr}.eng-confirm-card p{grid-column:auto}.eng-booking-row{grid-template-columns:48px 1fr}.eng-cancel{grid-column:2;justify-self:start}.eng-panel{padding:22px 18px}.eng-step-indicator{display:none}}
