:root{--ink:#0f1115;--paper:#f7f5f1;--line:#22252b;--muted:#8a8f98;--accent:#8cff00;--accent-dark:#0f1115;--card:#181b21;--radius:14px;--bad:#ff8585;--good:#8cff00}body{font-family:var(--font-dm-sans), "DM Sans", sans-serif;background:var(--ink);color:var(--paper);-webkit-font-smoothing:antialiased;min-height:100vh}header{margin-bottom:28px}.eyebrow{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:.25em;color:var(--accent);text-transform:uppercase;font-size:13px}h1{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:.04em;margin-top:6px;font-size:42px;line-height:1.05}.section{margin-top:32px}.section-label{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;align-items:center;gap:10px;margin-bottom:14px;font-family:Bebas Neue,sans-serif;font-size:18px;display:flex}.section-label .num{color:var(--muted);letter-spacing:.1em;font-size:12px}.service-list{flex-direction:column;gap:10px;display:flex}.service{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);transition:border-color .15s,background .15s;overflow:hidden}.service:hover{border-color:#3a3f48}.service.active{border-color:var(--accent);background:linear-gradient(#8cff0014,#8cff0005)}.service-row{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:10px;padding:16px;display:flex}.service-main{cursor:pointer;flex:1}.service-main h3{margin-bottom:4px;font-size:16px;font-weight:600}.service-main p.short{color:var(--muted);font-size:12.5px}.service-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.service-price{color:var(--accent);white-space:nowrap;font-family:Bebas Neue,sans-serif;font-size:22px}.service-toggle{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .25s,border-color .15s,color .15s;display:flex}.service-toggle.open{border-color:var(--accent);color:var(--accent);transform:rotate(180deg)}.service-detail{max-height:0;padding:0 16px;transition:max-height .3s,padding .3s;overflow:hidden}.service-detail.open{max-height:260px;padding:0 16px 18px}.service-detail p{color:#c7cbd1;border-top:1px solid var(--line);padding-top:14px;font-size:13.5px;line-height:1.65}.provider-list{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.provider{border:1px solid var(--line);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--card);flex:none;min-width:110px;padding:14px 18px;transition:border-color .15s}.provider.active{border-color:var(--accent);background:#8cff0014}.provider .avatar{background:var(--accent);width:40px;height:40px;color:var(--accent-dark);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 8px;font-family:Bebas Neue,sans-serif;font-size:16px;display:flex}.provider span{font-size:13px;font-weight:600}.provider small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.cal-head .month{letter-spacing:.06em;font-family:Bebas Neue,sans-serif;font-size:20px}.cal-nav{gap:8px;display:flex}.cal-nav button{background:var(--card);border:1px solid var(--line);color:var(--paper);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.cal-nav button:hover{border-color:var(--accent);color:var(--accent)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-day{aspect-ratio:1;cursor:pointer;background:var(--card);color:var(--paper);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.cal-day.empty{visibility:hidden;cursor:default}.cal-day.past{color:#3f444c;cursor:not-allowed;background:0 0}.cal-day:not(.past):not(.empty):hover{border-color:var(--accent)}.time-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.time-slot{border:1px solid var(--line);text-align:center;cursor:pointer;background:var(--card);border-radius:10px;padding:10px 6px;font-size:13.5px;font-weight:600;transition:border-color .15s,background .15s}.time-slot:hover{border-color:#3a3f48}.time-hint{color:var(--muted);margin-top:10px;font-size:12px}.field input,.field textarea{background:var(--card);border:1px solid var(--line);width:100%;color:var(--paper);border-radius:10px;padding:13px 14px;font-family:DM Sans,sans-serif;font-size:14px}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field textarea{resize:vertical;min-height:70px}.field .hint{color:var(--muted);margin-top:6px;font-size:11.5px}.referral-row{gap:8px;display:flex}.referral-row input{flex:1}.referral-row button{background:var(--card);border:1px solid var(--line);color:var(--paper);cursor:pointer;white-space:nowrap;border-radius:10px;padding:0 18px;font-size:13.5px;font-weight:600}.referral-row button:hover{border-color:var(--accent);color:var(--accent)}.referral-msg{min-height:16px;margin-top:8px;font-size:12.5px}.referral-msg.good{color:var(--good)}.referral-msg.bad{color:var(--bad)}.summary{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.summary-row{color:var(--paper);justify-content:space-between;padding:7px 0;font-size:14px;display:flex}.summary-row.muted{color:var(--muted);font-size:13px}.summary-row.discount{color:var(--good);font-size:13px}.summary-row.total{border-top:1px solid var(--line);letter-spacing:.04em;color:var(--accent);margin-top:8px;padding-top:12px;font-family:Bebas Neue,sans-serif;font-size:20px}#card-element{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px}#card-errors{color:var(--bad);min-height:16px;margin-top:8px;font-size:12.5px}.cta{background:var(--accent);width:100%;color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:12px;margin-top:28px;padding:18px;font-family:Bebas Neue,sans-serif;font-size:20px;transition:opacity .15s,transform .1s}.cta:hover{opacity:.9}.cta:active{transform:scale(.99)}.cta:disabled{opacity:.4;cursor:not-allowed}.note{color:var(--muted);text-align:center;margin-top:12px;font-size:11.5px;line-height:1.5}.overlay{z-index:50;background:#0f1115eb;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.overlay.show{display:flex}.confirm-card{background:var(--card);border:1px solid var(--accent);border-radius:var(--radius);text-align:center;width:100%;max-width:380px;padding:36px 28px}.confirm-card .check{background:var(--accent);width:56px;height:56px;color:var(--accent-dark);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;font-size:28px;display:flex}.confirm-card h2{letter-spacing:.06em;margin-bottom:10px;font-family:Bebas Neue,sans-serif;font-size:28px}.confirm-card p{color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.6}.confirm-card button{border:1px solid var(--line);color:var(--paper);cursor:pointer;background:0 0;border-radius:10px;padding:12px 24px;font-size:14px}@media (max-width:380px){h1{font-size:34px}.time-grid{grid-template-columns:repeat(2,1fr)}}:root{--ink:#0f1115;--paper:#f7f5f1;--line:#22252b;--muted:#8a8f98;--accent:#8cff00;--accent-dark:#0f1115;--card:#181b21;--radius:14px;--bad:#ff8585}.wrap{max-width:520px;margin:0 auto;padding:28px 18px 80px}.sub{color:var(--muted);margin-top:8px;font-size:14px}.sub a{color:var(--accent);text-decoration:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-top:24px;padding:20px}.field input{background:var(--ink);border:1px solid var(--line);width:100%;color:var(--paper);border-radius:10px;padding:13px 14px;font-family:inherit;font-size:14px}.field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.btn{background:var(--accent);width:100%;color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:12px;margin-top:6px;padding:16px;font-family:Bebas Neue,sans-serif;font-size:18px}.btn:hover{opacity:.9}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{border:1px solid var(--line);color:var(--paper);background:0 0}.btn.danger{border:1px solid var(--bad);color:var(--bad);background:0 0}.error{color:var(--bad);min-height:16px;margin-top:10px;font-size:13px}.detail-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.detail-row:last-child{border-bottom:none}.detail-row .label{color:var(--muted)}.section-title{letter-spacing:.1em;color:var(--accent);text-transform:uppercase;margin-bottom:12px;font-family:Bebas Neue,sans-serif;font-size:18px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px;display:grid}.cal-grid .dow{text-align:center;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding-bottom:6px;font-size:11px}.cal-day{aspect-ratio:1;cursor:pointer;background:var(--ink);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.cal-day.empty{visibility:hidden}.cal-day.past{color:#3f444c;cursor:not-allowed}.cal-day.selected{background:var(--accent);color:var(--accent-dark)}.cal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cal-head .month{font-family:Bebas Neue,sans-serif;font-size:18px}.cal-nav button{background:var(--ink);border:1px solid var(--line);color:var(--paper);cursor:pointer;border-radius:8px;width:32px;height:32px}.time-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.time-slot{border:1px solid var(--line);text-align:center;cursor:pointer;background:var(--ink);border-radius:10px;padding:10px 6px;font-size:13px;font-weight:600}.time-slot.active{background:var(--accent);color:var(--accent-dark);border-color:var(--accent)}.time-slot.unavailable{opacity:.3;cursor:not-allowed}.success-msg{color:var(--accent);margin-top:10px;font-size:13px}:root{--ink:#0f1115;--paper:#f7f5f1;--line:#22252b;--muted:#8a8f98;--accent:#8cff00;--accent-dark:#0f1115;--card:#181b21;--radius:14px;--bad:#ff8585;--warn:#ffc85a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--ink);color:var(--paper);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:DM Sans,sans-serif}.admin-wrap{max-width:980px;margin:0 auto;padding:28px 18px 80px}.eyebrow{letter-spacing:.25em;color:var(--accent);text-transform:uppercase;font-family:Bebas Neue,sans-serif;font-size:13px}h1{letter-spacing:.04em;margin-top:6px;font-family:Bebas Neue,sans-serif;font-size:38px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.logout{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;padding:10px 18px;font-size:13px}.logout:hover{border-color:var(--bad);color:var(--bad)}.tabs{gap:8px;margin-top:24px;padding-bottom:4px;display:flex;overflow-x:auto}.tab{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:10px;padding:10px 18px;font-family:Bebas Neue,sans-serif;font-size:14px}.tab.active{border-color:var(--accent);color:var(--accent);background:#8cff0014}.panel{margin-top:24px;display:none}.panel.active{display:block}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.stat .num{color:var(--accent);font-family:Bebas Neue,sans-serif;font-size:32px}.stat .label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:18px}.card h3{letter-spacing:.06em;color:var(--accent);text-transform:uppercase;margin-bottom:14px;font-family:Bebas Neue,sans-serif;font-size:18px}.filters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.filters select,.filters input{background:var(--card);border:1px solid var(--line);color:var(--paper);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13px}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px}td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px}tr:last-child td{border-bottom:none}.service-edit-row td{background:#8cff000a;padding-top:16px;padding-bottom:16px}.services-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.services-panel-head h3{margin-bottom:0}.service-add-form{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:18px}.service-actions{flex-wrap:wrap;gap:6px;display:flex}.status{text-transform:uppercase;letter-spacing:.08em;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.status.confirmed{color:var(--accent);background:#8cff0026}.status.pending{color:var(--warn);background:#ffc85a26}.status.cancelled{color:var(--bad);background:#ff858526}.status.completed{color:var(--muted);background:#8a8f9826}select.row-status,input.row-input{background:var(--ink);border:1px solid var(--line);color:var(--paper);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:12.5px}.btn{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--paper);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-family:Bebas Neue,sans-serif;font-size:13px}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-dark);border-color:var(--accent)}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.small{padding:6px 10px;font-size:11px}.field{margin-bottom:14px}.field label{color:var(--muted);letter-spacing:.04em;margin-bottom:6px;font-size:12px;display:block}.field input,.field textarea,.field select{background:var(--ink);border:1px solid var(--line);width:100%;color:var(--paper);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:14px}.field input:disabled,.field textarea:disabled,.field select:disabled{opacity:.55;cursor:not-allowed}.row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.row-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.login-wrap{max-width:380px;margin:80px auto}.login-wrap .card{padding:28px}.hidden{display:none}.muted{color:var(--muted);font-size:12.5px}.calendar-status{align-items:center;gap:8px;font-size:13px;display:flex}.dot{background:var(--bad);border-radius:50%;width:8px;height:8px}.dot.connected{background:var(--accent)}.toast{background:var(--card);border:1px solid var(--accent);color:var(--paper);z-index:100;border-radius:10px;padding:12px 20px;font-size:13.5px;display:none;position:fixed;bottom:24px;right:24px}.toast.error{border-color:var(--bad)}.toast.show{display:block}
