@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--primary:#4c7dff;--primary2:#5de2c6;--coral:#ff8a7a;--ink:#173042;--muted:#687c89;--line:#dcebe8;--bg:#f4fbfa;--white:#fff;--good:#16866d;--bad:#b84444;--warn:#a86818;--shadow:0 20px 60px rgba(48,83,117,.12)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:linear-gradient(145deg,#f5fffc,#f3f7ff);font:16px/1.5 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,h3{font-family:'Manrope',sans-serif;letter-spacing:-.04em;margin-top:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#173042;color:white;padding:28px 18px;display:flex;flex-direction:column}.app-brand,.mini-brand{font:800 25px/1 'Manrope';letter-spacing:-1px}.app-brand span{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(135deg,var(--primary2),var(--primary));margin-right:8px}.app-brand b,.mini-brand span{color:var(--coral)}.sidebar nav{display:grid;gap:6px;margin-top:42px}.sidebar nav a{padding:11px 13px;border-radius:11px;color:#bed0da;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.11);color:white}.logout-form{margin-top:auto}.logout-form button{border:0;background:transparent;color:#a9bec9;padding:11px 13px}.workspace{padding:0 38px 60px;max-width:1450px;width:100%;margin:auto}.workspace-head{height:84px;display:flex;align-items:center;gap:12px}.workspace-head>div:nth-child(2){display:grid}.workspace-head small{color:var(--muted)}.welcome{font-weight:800}.user-dot{margin-left:auto;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary2),var(--primary));color:white;display:grid!important;place-items:center;font-weight:800}.menu-button{display:none}.page-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:20px 0 24px}.page-title h1{font-size:38px;margin-bottom:4px}.page-title p{margin:0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 17px;font-weight:800;transition:.2s transform,.2s box-shadow}.btn:hover{transform:translateY(-2px)}.btn.primary{color:white;background:linear-gradient(135deg,var(--primary2),var(--primary));box-shadow:0 12px 26px rgba(76,125,255,.2)}.btn.secondary{background:#ecf5f3;color:var(--ink)}.btn.danger{background:#fff0f0;color:var(--bad)}.btn.full{width:100%}.btn.small{padding:8px 11px;font-size:13px}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:rgba(255,255,255,.9);border:1px solid rgba(76,125,255,.08);border-radius:20px;padding:22px;box-shadow:0 12px 42px rgba(48,83,117,.07)}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{font:800 30px 'Manrope'}.stat em{font-style:normal;color:var(--good);font-size:12px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar input,.toolbar select{max-width:230px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:11px}.table td{padding:13px 11px;border-top:1px solid var(--line);vertical-align:middle}.badge{display:inline-flex;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:800;background:#eef3ff;color:#365dc7}.badge.good{background:#e4faf4;color:var(--good)}.badge.warn{background:#fff3e2;color:var(--warn)}.badge.bad{background:#fff0f0;color:var(--bad)}.alert{padding:13px 15px;border-radius:12px;margin:0 0 18px;background:#eef4ff;color:#3055ad}.alert.success{background:#e5faf4;color:var(--good)}.alert.error{background:#fff0f0;color:var(--bad)}.form-stack{display:grid;gap:14px}.field{display:grid;gap:6px}.field label{font-weight:800;font-size:13px}.field small,.muted{color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field input,.field select,.field textarea,.toolbar input,.toolbar select{width:100%;border:1px solid #d7e6e3;background:#fff;border-radius:11px;padding:11px 12px;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(76,125,255,.1)}.check-row{display:flex;gap:10px;align-items:center}.inline-form{display:inline-flex;gap:7px;align-items:center}.empty{text-align:center;padding:44px;color:var(--muted)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 15% 15%,rgba(93,226,198,.25),transparent 30%),radial-gradient(circle at 85% 20%,rgba(76,125,255,.2),transparent 30%),#f7fffd}.auth-card,.setup-card{width:min(100%,440px);background:rgba(255,255,255,.95);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.setup-card{width:min(100%,690px)}.auth-card h1,.setup-card h1{font-size:34px;margin:24px 0 6px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--primary);margin-top:28px}.back-link{display:block;text-align:center;margin-top:20px;color:var(--muted)}.success-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary2),var(--primary));font-size:32px;margin-top:30px}.small{font-size:13px}.payment-box{background:linear-gradient(135deg,rgba(93,226,198,.16),rgba(76,125,255,.12));border:1px solid rgba(76,125,255,.12)}.payment-data{display:grid;gap:7px;margin:17px 0}.payment-data div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(76,125,255,.1);padding:8px 0}.booking-public{max-width:1080px;margin:auto;padding:28px}.public-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.public-brand{font:800 24px 'Manrope';color:var(--ink)}.public-brand span{color:var(--coral)}.booking-layout{display:grid;grid-template-columns:1fr 380px;gap:24px}.service-option,.professional-option,.slot-option{position:relative}.service-option input,.professional-option input,.slot-option input{position:absolute;opacity:0}.choice{display:block;border:1px solid var(--line);border-radius:14px;padding:14px;background:white;cursor:pointer;transition:.2s}.choice:hover{transform:translateY(-2px);border-color:var(--primary)}input:checked+.choice{border-color:var(--primary);background:linear-gradient(135deg,rgba(93,226,198,.13),rgba(76,125,255,.1));box-shadow:0 8px 22px rgba(76,125,255,.1)}.choices{display:grid;gap:10px}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot-option .choice{text-align:center;padding:10px}.summary-card{position:sticky;top:24px;height:max-content}.success-page{text-align:center;max-width:560px;margin:8vh auto;padding:35px}.actions{display:flex;gap:8px;flex-wrap:wrap}.modal-card{max-width:650px}.color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:7px}.copy-row{display:flex;gap:8px}.copy-row input{flex:1}.code{font-family:ui-monospace,monospace;background:#f1f5f4;padding:2px 5px;border-radius:5px}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;width:240px;transform:translateX(-105%);transition:.25s}.menu-open .sidebar{transform:none}.menu-button{display:block;border:0;background:#fff;border-radius:10px;padding:9px}.workspace{padding:0 18px 40px}.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr)}.booking-layout{grid-template-columns:1fr}.summary-card{position:static}}
@media(max-width:600px){.grid.cols-2,.grid.cols-3,.grid.cols-4,.field-grid{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column}.page-title h1{font-size:31px}.slots{grid-template-columns:repeat(3,1fr)}.booking-public{padding:18px}.auth-card,.setup-card{padding:25px}.workspace-head{height:72px}.card{padding:17px}}

/* Public booking experience */
.booking-public{max-width:1120px;padding:28px 28px 64px}.public-head{margin-bottom:24px;padding:4px 2px}.public-brand{font-size:25px;letter-spacing:-1px}.booking-public>.page-title{align-items:center;margin:0 0 24px;padding:28px 30px;border-radius:24px;color:#fff;background:radial-gradient(circle at 86% 8%,rgba(255,255,255,.2),transparent 28%),linear-gradient(125deg,#4c7dff,#625edc 55%,#51d8bc);box-shadow:0 22px 55px rgba(56,85,163,.2);overflow:hidden}.booking-public>.page-title h1{font-size:clamp(34px,5vw,52px);margin:2px 0 4px}.booking-public>.page-title p{color:rgba(255,255,255,.84)}.booking-public>.page-title .eyebrow{color:#cffff3;margin:0}.booking-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.booking-layout>.card{border-color:rgba(76,125,255,.1);box-shadow:0 18px 55px rgba(48,83,117,.09)}.choice{transition:.2s transform,.2s border-color,.2s box-shadow,.2s background}.choice:hover{box-shadow:0 9px 24px rgba(76,125,255,.08)}.booking-public input[type=date]{min-height:56px;padding:12px 16px;border:1px solid #cfe2df;border-radius:15px;background:linear-gradient(145deg,#fff,#f3fbf9);color:var(--ink);font:800 16px 'Manrope';cursor:pointer;box-shadow:0 8px 24px rgba(48,83,117,.06)}.booking-public input[type=date]::-webkit-calendar-picker-indicator{width:25px;height:25px;cursor:pointer;opacity:.72}.booking-public .field>label{font-size:14px}.slot-option .choice{padding:11px 8px;font-weight:800;color:#365dc7}.summary-card{background:linear-gradient(155deg,#fff,#f2fffb)}.summary-card h2{font-size:28px}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important;box-shadow:none!important}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.summary-card{position:static}}
@media(max-width:600px){.booking-public{padding:16px 14px 40px}.booking-public>.page-title{padding:22px;border-radius:20px}.booking-layout{gap:16px}}

/* Always-visible agenda and follow-up queue */
.overdue-panel{margin-top:18px;border:1px solid #ffd6b0;border-radius:22px;background:linear-gradient(145deg,#fffaf3,#fff);box-shadow:0 16px 46px rgba(168,104,24,.1);overflow:hidden}.overdue-head{padding:22px 24px;border-bottom:1px solid #ffe2c7}.overdue-head>div{display:flex;align-items:flex-start;gap:14px}.overdue-head .eyebrow{margin:0 0 4px;color:#a86818}.overdue-head h2{margin:0 0 4px;font-size:24px}.overdue-head p{margin:0;color:var(--muted)}.notification-pulse{width:13px;height:13px;border-radius:50%;background:#ff9d4d;box-shadow:0 0 0 7px rgba(255,157,77,.16);margin-top:8px;animation:attention 1.8s ease-in-out infinite}.overdue-panel .table{background:rgba(255,255,255,.72)}.agenda-overview{margin-top:18px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:8px}.section-title .eyebrow{margin:0 0 4px}.section-title h2{margin:0}.booking-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn.whatsapp{background:#e5faef;color:#117a4d}.editing-card{border:2px solid rgba(76,125,255,.35);box-shadow:0 18px 48px rgba(76,125,255,.13)}.edit-notice{margin:-2px 0 14px;padding:11px 13px;border-radius:11px;background:#eef3ff;color:#365dc7;font-weight:700;font-size:13px}.service-form-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.service-form-actions .btn{flex:1}@keyframes attention{0%,100%{box-shadow:0 0 0 6px rgba(255,157,77,.13)}50%{box-shadow:0 0 0 11px rgba(255,157,77,.04)}}
@media(max-width:760px){.overdue-panel .table,.agenda-overview .table{min-width:760px}.overdue-head{padding:18px}.section-title{align-items:flex-start}.booking-actions{min-width:250px}}
.agenda-history{margin-top:18px;padding:0;overflow:hidden}.agenda-history summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;cursor:pointer;list-style:none}.agenda-history summary::-webkit-details-marker{display:none}.agenda-history summary>span:first-child{display:grid}.agenda-history summary small{color:var(--muted);font-weight:400}.agenda-history[open] summary{border-bottom:1px solid var(--line)}
.income-section{margin:18px 0}.income-section>.section-title{padding:20px 22px;margin:0;border-radius:22px 22px 0 0;background:linear-gradient(120deg,#15263a,#315f70);color:#fff}.income-section .section-title .muted{color:rgba(255,255,255,.72);margin:5px 0 0}.income-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:-1px}.income-card{border-radius:0 0 18px 18px;border-top:0}.income-card>span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.income-card>strong{display:block;margin:8px 0 14px;font-size:28px}.income-card>div{display:grid;gap:7px;padding-top:12px;border-top:1px solid var(--line)}.income-card small{display:flex;justify-content:space-between;gap:18px;color:var(--muted)}.income-card small:last-child b{color:#16835d}.income-card small:first-child b{color:#4668c9}.agenda-counts{margin-bottom:18px}.agenda-table td{vertical-align:top}.phone-link{display:inline-block;margin-top:4px;color:#12825b;font-size:13px;font-weight:800;text-decoration:none}.phone-link:hover{text-decoration:underline}.inline-details{position:relative}.inline-details>summary{cursor:pointer;color:#4965bb;font-size:12px;font-weight:800;list-style:none}.inline-details>summary::-webkit-details-marker{display:none}.inline-details[open]{padding:10px;border-radius:12px;background:#f4f7fb;border:1px solid var(--line)}.compact-form{display:grid;gap:7px;margin-top:8px;min-width:210px}.compact-form input,.compact-form select{min-height:36px;padding:7px 9px}.booking-actions{align-items:flex-start}.booking-actions .inline-form{align-items:center}
@media(max-width:900px){.income-grid{grid-template-columns:1fr}.income-card{border-radius:14px}.agenda-table{min-width:940px}}
.support-exit{margin-top:auto;padding:13px;border:1px solid rgba(93,226,198,.25);border-radius:14px;background:rgba(93,226,198,.08);display:grid;gap:3px}.support-exit span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8fe8d5;font-weight:800}.support-exit strong{font-size:13px}.support-exit button{margin-top:7px;border:0;border-radius:9px;padding:8px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}.support-exit+.logout-form{margin-top:8px}.support-banner{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:13px 16px;border-radius:13px;background:linear-gradient(135deg,#173042,#284f66);color:#fff}.support-banner span{color:#c7dce4;font-size:13px}.subscription-banner{display:grid;grid-template-columns:auto 1fr auto;gap:8px 16px;align-items:center;margin:0 0 18px;padding:15px 18px;border-radius:15px;border:1px solid}.subscription-banner strong{font-family:'Manrope',sans-serif}.subscription-banner span{font-size:13px}.subscription-banner a{font-weight:800;text-decoration:underline}.subscription-banner.trial{background:#eef3ff;border-color:#cbd8ff;color:#294da9}.subscription-banner.paid{background:#e8faf4;border-color:#bdebdc;color:#116b56}.subscription-banner.blocked{background:#fff3e7;border-color:#ffd2a7;color:#924f12}.business-admin-actions{display:grid;gap:8px;min-width:250px}.business-admin-actions form:last-child .btn{width:100%}@media(max-width:700px){.support-banner,.subscription-banner{grid-template-columns:1fr;align-items:start}.support-banner{display:grid}}
