:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17223e;--muted:#65708a;--surface:#f5f7fc;--paper:#fff;--brand:#314ea0;--brand-deep:#1f3273;--aqua:#22b5ae;--coral:#ee7566;--line:#dce3f0;--soft:#edf1fb;--shadow:0 14px 38px #20357017}*{box-sizing:border-box}html{background:var(--surface)}body{min-width:320px;color:var(--ink);background:radial-gradient(circle at 8% 0%,#22b5ae26,transparent 24rem),radial-gradient(circle at 94% 9%,#7a66cb24,transparent 25rem),linear-gradient(145deg,#f9fbff 0%,var(--surface) 55%,#f4f7fd 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body:before{content:"";z-index:-1;border:1px solid #314ea021;border-radius:50%;width:30rem;height:30rem;position:fixed;bottom:-18rem;left:-17rem;box-shadow:0 0 0 32px #314ea009,0 0 0 64px #314ea006,0 0 0 96px #314ea004}a{color:var(--brand)}.welcome{flex-direction:column;justify-content:center;max-width:720px;min-height:100dvh;margin:auto;padding:40px 32px;display:flex}.welcome:before{content:"";background:radial-gradient(circle at 25% 28%,#8af0e8 0 4px,transparent 5px),radial-gradient(circle at 71% 32%,#f6a391 0 4px,transparent 5px),radial-gradient(circle at 50% 70%,#9caeff 0 5px,transparent 6px),linear-gradient(135deg,var(--brand),#6277ca);border-radius:22px;width:62px;height:62px;margin-bottom:1.35rem;box-shadow:0 12px 24px #314ea040}.eyebrow{color:var(--brand);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.73rem;font-weight:800;display:flex}.eyebrow:before{content:"";background:var(--aqua);width:22px;height:1px;box-shadow:7px -4px 0 -.25px var(--aqua),14px 4px 0 -.25px var(--coral)}h1,h2,h3{letter-spacing:-.035em}h1{max-width:15ch;margin:.35rem 0 1.1rem;font-size:clamp(2.25rem,7vw,4.5rem);line-height:.98}h2{font-size:1.3rem}.welcome>p:not(.eyebrow){max-width:53ch;color:var(--muted);font-size:1.08rem;line-height:1.65}.brain-note{color:#50607d;background:linear-gradient(90deg,#e8fbf8e6,#f1f4ffc2);border:1px solid #22b5ae3b;border-radius:.8rem;max-width:62ch;margin:-.8rem 0 1.7rem;padding:.8rem 1rem .8rem 1.15rem;line-height:1.5}.brain-note:before{content:"●";color:var(--aqua);vertical-align:middle;margin-right:.55rem;font-size:.72rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.2rem;display:flex}.button{background:linear-gradient(135deg,var(--brand) 0%,#5971c5 100%);color:#fff;min-height:45px;font:inherit;cursor:pointer;border:0;border-radius:.8rem;justify-content:center;align-items:center;padding:.75rem 1.15rem;font-weight:750;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 9px 18px #314ea033}.action-feedback{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.action-feedback>small{color:#167166;font-size:.78rem;font-weight:750}.button:hover{transform:translateY(-1px);box-shadow:0 13px 24px #314ea040}.form{gap:1rem;max-width:480px;margin-top:1.1rem;display:grid}.form label{color:#283550;gap:.45rem;font-weight:700;display:grid}.form input,.form select,.form textarea,.inline-form input,.inline-form select{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#ffffffeb;border:1px solid #cfd8eb;border-radius:.65rem;outline:none;padding:.65rem .75rem;transition:border-color .16s,box-shadow .16s}.form input:focus,.form select:focus,.form textarea:focus,.inline-form input:focus,.inline-form select:focus{border-color:#7189e1;box-shadow:0 0 0 3px #5971c526}.form textarea{resize:vertical;min-height:92px}.form button{text-align:left;width:max-content}.admin{max-width:1160px;margin:auto;padding:38px 32px 64px}.admin nav{margin-bottom:2.2rem}.admin nav a{color:var(--brand);align-items:center;gap:.35rem;font-weight:750;text-decoration:none;display:inline-flex}.admin h1{margin:.35rem 0 2rem}.grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.2rem;display:grid}.card{box-shadow:var(--shadow);background:#ffffffe6;border:1px solid #cfd8ebd9;border-radius:1.1rem;padding:1.35rem;position:relative;overflow:hidden}.card:before{content:"";border:1px solid #22b5ae33;border-radius:50%;width:90px;height:90px;position:absolute;top:-65px;right:-48px;box-shadow:0 0 0 12px #22b5ae09,0 0 0 24px #22b5ae06}.card h2{margin-top:0;position:relative}.collapse-toggle{z-index:2;color:#435574;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd6eb;border-radius:.55rem;padding:.32rem .52rem;font-size:.76rem;font-weight:750;position:absolute;top:.85rem;right:.85rem}.collapse-toggle:hover{background:#f7f9ff;border-color:#93a7db}.card.is-collapsed{min-height:0;padding-bottom:1.15rem}.card.is-collapsed>:not(.collapse-toggle):not(h2):not(h3):not(strong):not(span){display:none}.card.is-collapsed h2{margin-bottom:0;padding-right:4rem}.items{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.items li{border-bottom:1px solid #e6ebf5;gap:.25rem;padding:.15rem 0 .9rem;display:grid}.items li:last-child{border-bottom:0;padding-bottom:0}.items strong{color:#222f50}.items span,.items small{color:var(--muted)}.notice{border:1px solid;border-radius:.8rem;padding:1rem 1.1rem}.notice.success{color:#16645e;background:#eaf9f5;border-color:#aee4da}.notice.error{color:#a34237;background:#fff0ee;border-color:#f5bbb3}.rules{border-left:4px solid var(--aqua)}.rules p{color:var(--muted);line-height:1.6}.service-list{gap:1rem;display:grid}.service-list details{transition:box-shadow .2s}.service-list details[open]{box-shadow:0 17px 34px #2035701f}.service-list summary{cursor:pointer;color:#223152}.day{margin-top:1.25rem}.day h3{color:#344261;text-transform:capitalize;font-size:1rem}.slots{flex-wrap:wrap;gap:.7rem;display:flex}.slots form{gap:.35rem;display:grid}.terms{max-width:140px;color:var(--muted);align-items:flex-start;gap:.3rem;font-size:.72rem;display:flex}.terms input{accent-color:var(--brand);margin:.1rem 0 0}.slot,.link-button{font:inherit;cursor:pointer;border:0}.slot{color:#2b438d;background:#eef2ff;border:1px solid #cdd8f6;border-radius:.7rem;padding:.58rem .75rem;font-weight:800;transition:all .16s}.slot:hover{background:#dfe7ff;border-color:#8ea2e8;transform:translateY(-1px)}.link-button{width:max-content;color:var(--brand);text-align:left;text-underline-offset:.2em;background:0 0;padding:.1rem 0;font-weight:650;-webkit-text-decoration:underline #314ea04d;text-decoration:underline #314ea04d;display:inline-flex}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.dashboard-stats .card{gap:.5rem;min-height:145px;display:grid}.dashboard-stats .card:first-child{background:linear-gradient(145deg,#fff 0%,#ecfaf8 100%)}.dashboard-stats .card:nth-child(2){background:linear-gradient(145deg,#fff 0%,#f0f2ff 100%)}.dashboard-stats .card:nth-child(3){background:linear-gradient(145deg,#fff 0%,#fff1ed 100%)}.dashboard-stats span{color:var(--muted);font-weight:650}.dashboard-stats strong{color:var(--brand-deep);font-size:2.5rem;line-height:1}.dashboard-next{max-width:720px;margin-top:2rem}.app-header{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-height:72px;color:var(--brand-deep);letter-spacing:.01em;background:#fafcffd6;border-bottom:1px solid #cfd8ebcc;justify-content:space-between;align-items:center;padding:12px max(24px,50% - 580px);font-weight:850;display:flex;position:sticky;top:0}.app-header>span{align-items:center;gap:.6rem;display:flex}.app-header>span:before{content:"";background:radial-gradient(circle at 28% 30%,#8af0e8 0 2px,transparent 3px),radial-gradient(circle at 72% 33%,#f6a391 0 2px,transparent 3px),linear-gradient(135deg,var(--brand),#6880d2);border-radius:9px;width:26px;height:26px;box-shadow:0 4px 9px #314ea038}.header-actions{align-items:center;gap:.55rem;display:flex}.header-alert,.logout{color:#314262;min-height:36px;font:inherit;cursor:pointer;background:#ffffffbf;border:1px solid #ced8ed;border-radius:.65rem;padding:.45rem .7rem;font-weight:700;text-decoration:none}.header-alert:hover,.logout:hover{background:#fff;border-color:#9cafdf}.inline-form{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.45rem;display:flex}.inline-form input,.inline-form select{width:auto;min-height:36px;padding:.4rem .55rem}.danger{color:#bd4d43}.availability-table{border-collapse:collapse;text-align:left;width:100%;margin-top:1rem}.availability-table th,.availability-table td{vertical-align:middle;border-bottom:1px solid #e1e7f2;padding:.75rem .35rem}.availability-table th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.availability-table button:disabled{opacity:.45;cursor:not-allowed}.availability-options{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.65rem;display:flex}.availability-options>span{width:100%;color:var(--muted);font-size:.88rem}.availability-day{color:#293854;gap:.35rem;margin-top:1rem;font-weight:700;display:grid}.availability-day select{min-height:40px;font:inherit;background:#fff;border:1px solid #cfd8eb;border-radius:.65rem;padding:.5rem}.opening-hours{gap:.7rem;display:grid}.opening-hour-row{border-bottom:1px solid #e3e9f3;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.7rem 0;display:flex}.opening-hour-row strong{color:#2b3a58;min-width:110px}.opening-hour-row input[type=time]{min-height:36px;font:inherit;border:1px solid #cfd8eb;border-radius:.55rem;padding:.35rem}.hours-bands{flex-wrap:wrap;gap:.45rem;display:flex}.hours-bands label{color:var(--muted);align-items:center;gap:.25rem;font-size:.86rem;display:flex}.block-band{background:#fafcff;border:1px solid #e1e7f2;border-radius:.75rem;grid-template-columns:1fr 1fr;gap:.65rem;padding:.85rem;display:grid}.block-band strong{color:#293854;grid-column:1/-1;font-size:.92rem}.block-band label{min-width:0}.import-preview{max-height:360px;margin-top:1rem;overflow:auto}.calendar-checkboxes{gap:.6rem;margin:.35rem 0 1rem;display:grid}.calendar-checkboxes label{color:#2c3b59;background:#fbfcff;border:1px solid #dce4f2;border-radius:.7rem;align-items:center;gap:.45rem;padding:.65rem .75rem;display:flex}.calendar-checkboxes input{width:16px;height:16px;accent-color:var(--brand)}.public-calendar select{width:100%;max-width:430px;min-height:42px;font:inherit;background:#fff;border:1px solid #cfd8eb;border-radius:.7rem;margin-top:.35rem;padding:.5rem;display:block}.booking-days{gap:.45rem;padding:.9rem 0 .7rem;display:flex;overflow-x:auto}.booking-day{color:#344765;font:inherit;text-transform:capitalize;cursor:pointer;background:#fff;border:1px solid #d4ddef;border-radius:.65rem;flex:none;padding:.55rem .7rem;font-weight:750}.booking-day.selected{background:var(--brand);border-color:var(--brand);color:#fff}.public-slots{margin-top:.25rem}.small-note{color:var(--muted);margin-top:1rem;font-size:.88rem}.remember{align-items:center;gap:.5rem;width:max-content;font-size:.92rem;display:flex}.remember input{width:16px;height:16px;accent-color:var(--brand)}.login-actions{flex-wrap:wrap;gap:.65rem;display:flex}.button.secondary{color:#314262;background:#f4f7fc;border:1px solid #cbd7ed}.button.secondary:hover{background:#e9eef9}@media (max-width:700px){.welcome,.admin{padding:28px 18px 46px}.app-header{min-height:64px;padding-inline:16px}.header-actions{gap:.3rem}.header-alert,.logout{padding:.4rem .48rem;font-size:.78rem}.grid{grid-template-columns:1fr}.card{border-radius:.95rem}.availability-table{font-size:.87rem}.availability-table th:first-child,.availability-table td:first-child{max-width:100px}.opening-hour-row strong,.hours-bands{width:100%}.hours-bands label{justify-content:space-between;width:100%}}
