@import url('https://fonts.googleapis.com/css2?family=Questrial&display=swap');
:root{--green:#6DA69B;--red:#7F1513;--ink:#202522;--muted:#6e7672;--bg:#f4f6f5;--card:#fff;--line:#dfe5e2;--ok:#1f7a55;--warn:#9c6510;--radius:18px;--shadow:0 8px 30px rgba(28,43,37,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Questrial,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.45}a{color:inherit}.public-shell{width:min(720px,100%);margin:0 auto;padding:24px 18px 60px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:18px;margin-bottom:34px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--red);color:#fff;font-size:20px}.hero{margin:12px 0 24px}.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.hero h1{font-size:clamp(30px,8vw,46px);line-height:1.06;margin:6px 0 10px}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.card h2,.card h3{margin-top:0}.btn{appearance:none;border:0;border-radius:13px;padding:14px 18px;font:inherit;font-size:16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;min-height:48px}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--red)}.btn.small{min-height:36px;padding:8px 12px;font-size:14px}.btn:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:10px;flex-wrap:wrap}.stack{display:grid;gap:14px}.field{display:grid;gap:7px}.field label{font-size:14px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cfd8d4;border-radius:12px;background:#fff;padding:13px 14px;font:inherit;color:var(--ink)}textarea{min-height:100px;resize:vertical}.slot-day{margin:24px 0 8px}.slot-day h3{font-size:17px}.slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.slot input{position:absolute;opacity:0}.slot label{display:block;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;background:#fff;cursor:pointer}.slot input:checked+label{border-color:var(--red);box-shadow:0 0 0 2px rgba(127,21,19,.12);background:#fff8f8}.slot.unavailable label{opacity:.45;cursor:not-allowed;text-decoration:line-through}.choice{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.choice input{width:auto;margin-top:4px}.summary{background:#eef6f4;border:1px solid #d5e8e3;border-radius:14px;padding:15px}.flash{padding:12px 14px;border-radius:12px;margin-bottom:14px}.flash.success{background:#e7f5ee;color:#15563d}.flash.error{background:#faeceb;color:#711917}.status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf1ef;font-size:13px}.status.open,.status.booked,.status.synced{background:#e7f5ee;color:#176142}.status.closed,.status.no_time_fit{background:#fff3df;color:#7b4e0c}.status.error{background:#faeceb;color:#7a1715}.empty{text-align:center;padding:40px 18px}.modal{position:fixed;inset:0;background:rgba(16,25,21,.5);display:none;align-items:flex-end;justify-content:center;padding:16px;z-index:50}.modal.open{display:flex}.modal-card{background:#fff;border-radius:22px;padding:22px;width:min(520px,100%);box-shadow:var(--shadow)}.modal-card h2{margin-top:0}
.admin-top{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.admin-top .brand{margin:0}.admin-top nav{display:flex;gap:18px}.admin-top nav a{text-decoration:none;color:var(--muted)}.admin-shell{width:min(1260px,100%);margin:0 auto;padding:28px}.admin-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.admin-title h1{margin:0;font-size:32px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.stat strong{display:block;font-size:28px;margin-top:5px}.grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8faf9}tr:last-child td{border-bottom:0}.wizard{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.wizard span{padding:8px 11px;border-radius:999px;background:#e8eeeb;color:var(--muted);font-size:13px}.wizard span.active{background:var(--red);color:#fff}.date-group{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:12px}.date-group-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.inline-form .field{min-width:130px}.checkbox-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.checkbox-item{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.checkbox-item input{width:auto}.danger-zone{border-color:#edcecc;background:#fffafa}
@media(max-width:820px){.slot-grid{grid-template-columns:1fr}.admin-top{padding:0 16px}.admin-top nav a:not(:first-child){display:none}.admin-shell{padding:18px 14px}.admin-title{display:block}.admin-title .actions{margin-top:14px}.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.checkbox-list{grid-template-columns:1fr}.table-wrap{border-radius:13px}.desktop-table-mobile-cards table{min-width:0}.desktop-table-mobile-cards thead{display:none}.desktop-table-mobile-cards tbody,.desktop-table-mobile-cards tr,.desktop-table-mobile-cards td{display:block}.desktop-table-mobile-cards tr{padding:13px;border-bottom:1px solid var(--line)}.desktop-table-mobile-cards td{padding:4px 0;border:0}.desktop-table-mobile-cards td:before{content:attr(data-label);display:block;color:var(--muted);font-size:12px}.admin-title h1{font-size:27px}}
