:root{--brand:#0f765f;--dark:#075647;--soft:#eef8f5;--text:#1c2926;--muted:#66736f;--line:#dfe8e5;--white:#fff;--danger:#b74747}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#f5f8f7}.topline{height:7px;background:var(--brand)}
.page{width:min(100%,780px);margin:auto;min-height:100vh;background:#fff;box-shadow:0 0 40px rgba(0,0,0,.05)}
.header{padding:22px 24px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;gap:12px}.mark{width:46px;height:46px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800}.brand strong{display:block;color:var(--dark)}.brand small{color:var(--muted)}
.lang{border:1px solid var(--line);border-radius:999px;padding:8px 12px;text-decoration:none;color:var(--brand);font-weight:700}
.hero{text-align:center;padding:36px 24px 25px;background:linear-gradient(#fff,var(--soft))}.badge{display:inline-block;background:#dbf2eb;color:var(--dark);padding:7px 13px;border-radius:999px;font-size:13px;font-weight:700;margin-bottom:14px}.hero h1{font-size:34px;line-height:1.08;margin:0 0 12px;color:var(--dark)}.hero p{max-width:550px;margin:auto;color:var(--muted);line-height:1.55}
.flash{margin:16px 28px;padding:12px 14px;border-radius:10px}.flash.error{background:#fff0f0;color:#8a2d2d}
.progress-area{padding:22px 28px 0}.steps{display:flex;justify-content:space-between;position:relative}.steps:before{content:"";position:absolute;top:15px;left:5%;right:5%;height:3px;background:#e6ecea}.step-dot{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;background:#e6ecea;color:#83918d;display:grid;place-items:center;font-size:13px;font-weight:800}.step-dot.active,.step-dot.done{background:var(--brand);color:#fff}.step-labels{display:flex;justify-content:space-between;color:#8a9692;font-size:10px;margin-top:7px}
.form-wrap{padding:28px}.panel{display:none}.panel.active{display:block}h2{color:var(--dark)}.panel h2{text-align:center;margin:0 0 8px}.intro{text-align:center;color:var(--muted);line-height:1.5;margin:0 0 24px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.card{border:1px solid var(--line);border-radius:13px;padding:17px;background:#fff;cursor:pointer}.card input{display:none}.card.selected{border:2px solid var(--brand);background:var(--soft)}.card strong{display:block;color:var(--dark);margin-bottom:5px}.card span{color:var(--muted);font-size:13px}
label{display:block;font-size:13px;font-weight:700;margin:0 0 7px}input,select,textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;font:inherit;background:white}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.slot{padding:11px 8px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--dark);font-weight:700}.slot.selected{background:var(--brand);color:white;border-color:var(--brand)}.availability-note{color:var(--muted);font-size:13px}
.summary{border:1px solid var(--line);border-radius:13px;background:#fbfdfc;padding:18px}.row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row span{color:var(--muted)}.row strong{text-align:right;color:var(--dark)}
.consent{display:flex;gap:10px;margin-top:18px;color:var(--muted);line-height:1.45}.consent input{width:auto}.legal{font-size:12px;color:var(--muted)}
.actions{display:flex;gap:12px;padding:0 28px 32px}.btn{border:0;border-radius:10px;padding:14px 20px;font-weight:800;font-size:15px;text-decoration:none;display:inline-block}.back{background:#edf1f0;color:#42534e}.next{background:var(--brand);color:white;flex:1}.inline{flex:initial}
footer{text-align:center;padding:20px;border-top:1px solid var(--line)}footer a{color:var(--muted);font-size:12px}.success{text-align:center;padding:50px 30px}.check{width:76px;height:76px;border-radius:50%;background:#def3eb;color:var(--brand);display:grid;place-items:center;font-size:40px;font-weight:800;margin:0 auto 18px}.narrow{min-height:auto;margin-top:30px}
.admin-shell{width:min(1200px,calc(100% - 30px));margin:30px auto}.admin-head{display:flex;justify-content:space-between;align-items:center}.admin-head h1{margin:0}.admin-head p{color:var(--muted)}.admin-actions{display:flex;gap:14px}.admin-actions a{color:var(--brand)}.admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:20px}.filters{display:flex;gap:10px}.table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--muted)}small{color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stack{display:grid;gap:10px}.blocked{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.login-shell{max-width:440px;margin-top:80px}
@media(max-width:650px){.page{box-shadow:none}.hero h1{font-size:29px}.grid,.fields,.admin-grid{grid-template-columns:1fr}.slots{grid-template-columns:1fr 1fr}.form-wrap,.progress-area{padding-left:18px;padding-right:18px}.actions{padding-left:18px;padding-right:18px}.step-labels{font-size:8px}.filters{display:grid}.admin-head{align-items:flex-start;gap:20px}.admin-actions{flex-direction:column}}
