:root { --public-border:#dce4ef; --public-muted:#5d6b82; --public-shadow:0 18px 48px rgba(4,19,51,.11); }
html { scroll-behavior:smooth; }
body { color:var(--navy); background:#fff; }
.cb06-header { position:sticky; top:0; z-index:20; height:72px; }
.cb06-main { min-height:calc(100vh - 260px); padding:54px 0 86px; background:radial-gradient(circle at 8% 0,rgba(7,95,236,.08),transparent 31%),linear-gradient(180deg,#f6f9fe,#fff 520px); }
.cb06-hero--premium { margin-bottom:50px; }.cb06-hero--premium h1 span { color:var(--blue); }.cb06-hero--compact { margin-bottom:28px; }.cb06-hero--compact h1 { font-size:clamp(32px,4vw,48px); }.public-back { display:inline-block; margin-bottom:18px; font-weight:700; text-decoration:none; }
.trust-row { margin-top:24px; display:flex; justify-content:center; flex-wrap:wrap; gap:9px; }.trust-row span { padding:7px 11px; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:999px; font-size:12px; }.trust-row span::before { content:"✓"; margin-right:6px; color:var(--green); font-weight:900; }
.service-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.service-public-card { position:relative; min-height:292px; display:flex; flex-direction:column; overflow:hidden; border-color:#e5ebf4; box-shadow:0 7px 26px rgba(4,19,51,.07); transition:transform .18s,box-shadow .18s,border-color .18s; }.service-public-card:hover { transform:translateY(-4px); border-color:#bdd2f5; box-shadow:var(--public-shadow); }.service-public-card .cb06-chip { align-self:flex-start; }.service-public-card h2 { margin-top:14px; }.service-public-card p { margin-bottom:15px; }.service-public-card .cb06-meta { margin-top:auto; display:flex; justify-content:space-between; gap:8px; }.service-public-card .cb06-button { align-self:flex-start; }.service-public-icon { position:absolute; top:-18px; right:-18px; width:82px; height:82px; background:var(--blue); opacity:.07; border-radius:50%; }.service-public-icon span { position:absolute; inset:25px; border:3px solid var(--navy); border-radius:8px; }.cb06-alert--quiet { padding:11px 13px; border:0; background:#f5f7fa; color:var(--muted); }
.public-steps { max-width:680px; margin:0 auto 34px; display:grid; grid-template-columns:repeat(3,1fr); }.public-steps span { position:relative; padding-top:22px; color:#8490a3; text-align:center; font-size:11px; font-weight:800; }.public-steps span::before { content:""; position:absolute; z-index:2; top:0; left:50%; width:13px; height:13px; background:#d5deea; border:3px solid #f6f9fe; border-radius:50%; transform:translateX(-50%); }.public-steps span:not(:last-child)::after { content:""; position:absolute; top:7px; left:50%; width:100%; border-top:2px solid #dce4ef; }.public-steps span.is-active { color:var(--blue); }.public-steps span.is-active::before { background:var(--blue); box-shadow:0 0 0 5px rgba(7,95,236,.11); }.public-steps span.is-done { color:var(--green); }.public-steps span.is-done::before { background:var(--green); }.public-steps span.is-done::after { border-color:var(--green); }
.public-form-card,.slots-card,.confirmation-card { max-width:760px; margin:auto; border-color:#e4eaf3; box-shadow:var(--public-shadow); }.booking-meta { margin:-4px 0 20px; padding:13px 0 18px; display:flex; flex-wrap:wrap; gap:10px; border-bottom:1px solid var(--line); }.booking-meta span { padding:6px 10px; background:var(--soft); border-radius:999px; font-size:12px; }.privacy-note { margin:18px 0; padding-left:24px; position:relative; color:var(--public-muted); font-size:12px; }.privacy-note::before { content:""; position:absolute; left:2px; top:1px; width:11px; height:12px; border:2px solid var(--green); border-radius:3px; }.privacy-note::after { content:""; position:absolute; left:5px; top:-4px; width:7px; height:7px; border:2px solid var(--green); border-bottom:0; border-radius:6px 6px 0 0; }.cb06-button--wide { width:100%; }
.slot-help { margin-bottom:20px; display:grid; }.slot-help span { color:var(--public-muted); }.time-slot { width:100%; min-height:70px; padding:12px 15px; display:grid; color:var(--navy); background:#fff; border:1px solid #cad6e7; border-radius:13px; text-align:left; transition:.15s; }.time-slot span { font-weight:800; }.time-slot small { color:var(--green); }.time-slot:hover,.time-slot:focus-visible { color:var(--blue); background:var(--blue-soft); border-color:var(--blue); box-shadow:0 0 0 3px rgba(7,95,236,.14); }.public-empty { grid-column:1/-1; min-height:180px; display:grid; place-items:center; align-content:center; text-align:center; }.public-empty p { color:var(--public-muted); }
.success-check { width:58px; height:58px; margin:0 auto 14px; display:grid; place-items:center; color:#fff; background:var(--green); border-radius:50%; box-shadow:0 0 0 9px rgba(24,168,95,.11); font-size:29px; font-weight:900; }.confirmation-summary { padding:8px 0 24px; display:grid; grid-template-columns:76px 1fr; gap:20px; align-items:center; border-bottom:1px solid var(--line); }.confirmation-date { height:76px; display:grid; place-items:center; align-content:center; color:#fff; background:var(--blue); border-radius:18px; line-height:1; }.confirmation-date strong { font-size:31px; }.confirmation-date span { margin-top:4px; font-size:11px; }.confirmation-summary h2 { margin:8px 0 5px; font-size:23px; }.confirmation-summary p { margin:3px 0; color:var(--public-muted); }.confirmation-actions { padding:22px 0; display:flex; flex-wrap:wrap; gap:10px; }.manage-details { border-top:1px solid var(--line); }.manage-details summary { padding:17px 2px; display:flex; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; }.manage-details summary::-webkit-details-marker { display:none; }.manage-details summary span { color:var(--public-muted); font-size:12px; }.manage-details--danger summary strong { color:#a5283d; }
.cb06-error { padding:16px; color:#8b1e32; background:#fdecef; border-left:5px solid #b4233d; border-radius:12px; }
@media(max-width:940px){.service-catalog{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.cb06-main{padding:34px 0 58px}.service-catalog{grid-template-columns:1fr}.service-public-card{min-height:0}.public-steps{margin-bottom:26px}.public-steps span{font-size:9px}.public-form-card,.slots-card,.confirmation-card{padding:20px}.confirmation-actions .cb06-button{width:100%}.manage-details summary{display:grid}.confirmation-summary{grid-template-columns:62px 1fr;gap:13px}.confirmation-date{height:62px}.confirmation-date strong{font-size:25px}.trust-row{justify-content:flex-start}.cb06-hero--premium{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-public-card,.time-slot{transition:none}}
