:root{--paper:#f4ede3;--paper-2:#ebe1d3;--card:#fbf7f1;--rule:#dccdb9;--ink:#1f1a17;--soft:#5e534b;--henna:#b4432b;--henna-deep:#8e3220;--ok:#2f7a53;--danger:#b3261e;--serif:var(--font-serif), Georgia, serif;--sans:var(--font-sans), system-ui, sans-serif;--ease:cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}a{color:inherit}body{background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .18 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--henna);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;font-weight:400;line-height:1.1}h1{font-size:clamp(32px,4vw,46px)}h2{margin-bottom:14px;font-size:24px}h3{margin:22px 0 10px;font-size:19px}small{color:var(--soft);font-size:13.5px;line-height:1.4;display:block}.sub{color:var(--soft);margin-bottom:14px}.btn{border:1.5px solid var(--ink);color:var(--ink);font:600 15px/1 var(--sans);cursor:pointer;transition:translate .2s var(--ease), background .2s, color .2s;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:.4em;padding:.8em 1.3em;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){translate:0 -2px}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{background:var(--henna);border-color:var(--henna);color:#fff}.btn-primary:hover:not(:disabled){background:var(--henna-deep);border-color:var(--henna-deep)}.btn-sm{padding:.6em 1em;font-size:14px}.linkbtn{color:var(--soft);font:600 14px var(--sans);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.linkbtn:hover{color:var(--ink)}.linkbtn.danger{color:var(--danger)}.kicker{color:var(--henna);font:700 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:8px;display:flex}.kicker:before{content:"";background:currentColor;width:24px;height:1.5px}.brand-mark{font:italic 600 26px/1 var(--serif);letter-spacing:-.03em;text-decoration:none}.brand-mark i{color:var(--henna);font-style:normal}.avatar{background:var(--ink);width:40px;height:40px;color:var(--paper);font:italic 500 19px/1 var(--serif);border-radius:50%;flex:none;place-items:center;display:grid}.form{gap:16px;display:grid}.form.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form.inline{grid-template-columns:1fr auto;align-items:end;margin-top:14px}.form .span2,.form .form-foot{grid-column:1/-1}label{align-content:start;gap:6px;font-size:14.5px;font-weight:600;display:grid}label small{font-weight:400}input:not([type=checkbox]):not([type=hidden]),select,textarea{border:1.5px solid var(--ink);width:100%;color:var(--ink);font:500 16px var(--sans);background:#fff;border-radius:12px;padding:11px 13px}input:disabled{background:var(--paper-2);border-color:var(--rule);color:var(--soft)}textarea{resize:vertical}.check{cursor:pointer;align-items:center;gap:10px;font-weight:500;display:flex}.check input{width:18px;height:18px;accent-color:var(--henna)}.checks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 20px;display:grid}.form-foot{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.form-foot.wide .btn{width:100%}.form-foot.wide{flex-direction:column;align-items:stretch}.msg{font-size:14.5px;font-weight:600}.msg.ok{color:var(--ok)}.msg.err,small.err{color:var(--danger)}.copylink{gap:8px;min-width:min(420px,80vw);margin-top:8px;display:flex}.addr-input{border:1.5px solid var(--ink);background:#fff;border-radius:12px;align-items:center;display:flex;overflow:hidden}.addr-input input{border:0!important;border-radius:0!important}.addr-input span{color:var(--soft);white-space:nowrap;padding-right:13px;font-weight:500}.auth{min-height:100vh;display:grid}.auth-art{background:var(--ink);display:none;position:relative;overflow:hidden}.auth-art img{object-fit:cover;opacity:.55;width:100%;height:100%;position:absolute;inset:0}.auth-quote{color:#fff;font:italic 400 24px/1.3 var(--serif);position:absolute;inset:auto 40px 48px}.auth-quote .brand-mark{margin-bottom:18px;font-size:34px;display:block}.auth-quote p:last-child{max-width:24em}.auth-main{place-items:center;padding:40px 20px;display:grid}.auth-card{width:min(440px,100%)}.auth-card h1{margin-bottom:10px}.auth-card .form{margin-top:20px}.alt{color:var(--soft);margin-top:22px}.alt a{color:var(--henna);font-weight:600}@media (min-width:900px){.auth{grid-template-columns:1fr 1fr}.auth-art{display:block}}.shell{grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--card);border-bottom:1px solid var(--rule);flex-direction:column;gap:14px;padding:16px 20px;display:flex}.nav-items{gap:4px;display:flex;overflow-x:auto}.nav-items a{white-space:nowrap;border-radius:99px;align-items:center;gap:10px;padding:8px 14px;font-weight:600;text-decoration:none;display:flex}.nav-items a:hover{background:var(--paper-2)}.nav-items a[aria-current=page]{background:var(--ink);color:var(--paper)}.side-foot{gap:14px;margin-top:auto;display:grid}.side-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.side-head .brand-mark{white-space:nowrap;min-width:0}.side-toggle{border:1px solid var(--rule);width:34px;height:34px;color:inherit;cursor:pointer;opacity:.75;background:0 0;border-radius:10px;flex:none;place-items:center;display:none}.side-toggle:hover{opacity:1}.who{align-items:center;gap:10px;min-width:0;display:flex}.who>div{min-width:0}.who b{line-height:1.2;display:block}.who :is(b,small){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page{width:100%;max-width:920px;margin:0 auto;padding:28px 20px 80px}@media (min-width:900px){.shell{grid-template-columns:250px minmax(0,1fr)}.side{border:0;border-right:1px solid var(--rule);height:100vh;padding:28px 20px;position:sticky;top:0}.side .nav-items{flex:auto;min-height:0;margin-inline:-6px;padding-inline:6px;overflow-y:auto}.nav-items{flex-direction:column}.nav-items a{border-radius:12px}.page{padding:48px 40px 100px}.side-toggle{display:inline-grid}.shell{transition:grid-template-columns .2s}html[data-side=folded] .shell{grid-template-columns:76px minmax(0,1fr)}html[data-side=folded] .side{padding:22px 12px;overflow:hidden}html[data-side=folded] .side-head{justify-content:center}html[data-side=folded] :is(.brand-mark,.nav-label,.who>div,.side-foot>:not(.who)){display:none}html[data-side=folded] .nav-items a{justify-content:center;padding:10px}html[data-side=folded] .who{justify-content:center}html[data-side=folded] .side-toggle svg{transform:scaleX(-1)}}@media (min-width:900px) and (prefers-reduced-motion:reduce){.shell{transition:none}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.card{border:1px solid var(--rule);background:var(--card);border-radius:20px;margin-bottom:20px;padding:clamp(20px,3vw,32px)}.card.add summary{cursor:pointer;font:600 16px var(--sans);color:var(--henna)}.card.add[open] summary{margin-bottom:18px}.card.soon{color:var(--soft);background:0 0;border-style:dashed}.empty{color:var(--soft)}.stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.stat{border:1px solid var(--rule);background:var(--card);border-radius:18px;padding:18px}.stat b{font:400 clamp(32px, 5vw, 46px)/1 var(--serif);display:block}.stat span{color:var(--soft);font-size:13.5px}.checklist{gap:4px;display:grid}.checklist li{border-top:1px solid var(--rule);align-items:center;gap:14px;padding:12px 0;display:flex}.checklist li>div{flex:1}.checklist b{display:block}.checklist .done b{color:var(--soft);text-decoration:line-through;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}.tick{border:1.5px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.done .tick{background:var(--ok);border-color:var(--ok);color:#fff}.rows li{border-top:1px solid var(--rule)}.rows details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;list-style:none;display:flex}.rows details summary::-webkit-details-marker{display:none}.rows details summary:after{content:"+";color:var(--henna);font:300 26px/1 var(--serif);transition:rotate .2s var(--ease);margin-left:4px}.rows details[open] summary:after{rotate:45deg}.rows summary>div:first-child{flex:1}.rows summary strong{white-space:nowrap;font-weight:600}.rows b{display:block}.person{align-items:center;gap:12px;display:flex}.edit{padding:6px 0 22px}.edit.stack{gap:4px;display:grid}.edit .form{margin-bottom:8px}.slim li{justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.chip{border:1px solid var(--rule);background:var(--paper-2);color:var(--soft);border-radius:99px;margin-left:8px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.chip.ok{color:var(--ok);background:#e6f2eb;border-color:#bcd9c8}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip-form{border:1.5px solid var(--ink);border-radius:99px;align-items:center;gap:6px;padding:6px 6px 6px 14px;font-size:14px;font-weight:600;display:inline-flex}.chip-form button{background:var(--paper-2);width:22px;height:22px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:16px;line-height:1;display:grid}.chip-form button:hover{background:var(--henna);color:#fff}.hours{gap:8px;margin-bottom:16px;display:grid}.hours-row{grid-template-columns:150px 1fr auto 1fr;align-items:center;gap:10px;display:grid}.hours-row input[type=time]{padding:8px 10px}.hours-row>span{color:var(--soft)}.skeleton{background:linear-gradient(100deg, var(--paper-2) 30%, var(--card) 50%, var(--paper-2) 70%) 0 0 / 300% 100%;border-radius:20px;height:120px;margin-bottom:16px;animation:1.4s linear infinite shimmer}.skeleton.title{width:40%;height:48px}@keyframes shimmer{to{background-position:-300% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}.btn{transition:none}}@media (max-width:640px){.form.grid{grid-template-columns:1fr}.hours-row{grid-template-columns:1fr 1fr auto 1fr}.hours-row .check{grid-column:1/-1}.stats{grid-template-columns:1fr}}.share{background:var(--ink);border-color:var(--ink);color:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.share h2{margin-bottom:4px}.share .sub{color:#c9bfb3;margin-bottom:10px}.share .btn{border-color:var(--paper);color:var(--paper)}.share .btn:hover{background:var(--paper);color:var(--ink)}.site-link{font:italic 400 clamp(20px, 3vw, 28px)/1.1 var(--serif);text-underline-offset:4px;overflow-wrap:anywhere}.rows li:hover>details>summary b{color:var(--henna)}.templates{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:4px;display:grid}.tpl-pick{border:1.5px solid var(--rule);cursor:pointer;background:#fff;border-radius:16px;gap:4px;padding:10px;display:grid;position:relative}.tpl-pick input{opacity:0;position:absolute}.tpl-pick:has(input:checked){border-color:var(--henna);box-shadow:0 0 0 3px #b4432b2e}.tpl-pick:has(input:focus-visible){outline:2px solid var(--henna);outline-offset:2px}.tpl-pick strong{margin-top:6px;font-weight:600}.tpl-preview{aspect-ratio:4/5;border-radius:10px;align-content:end;gap:5px;padding:12px;display:grid;overflow:hidden}.tpl-preview i{background:linear-gradient(135deg,#bfb7a8,#8f8778);height:38%;margin:-12px -12px 6px}.tpl-preview b{font:italic 500 17px/1.05 var(--serif)}.tpl-preview em{opacity:.18;background:currentColor;border-radius:4px;height:7px}.tpl-preview.fresh{color:#18211d;background:#fbfcfa}.tpl-preview.fresh b{font:700 16px/1.05 var(--sans);letter-spacing:-.04em}.tpl-preview.fresh i{background:linear-gradient(135deg,#cfe5db,#2f7a5f)}.tpl-preview.luxe{color:#eadbc4;text-align:center;background:#0e0b0a}.tpl-preview.luxe i{background:linear-gradient(135deg,#3a2f28,#0e0b0a)}.tpl-preview.luxe em{opacity:.5;background:#c9a66b}.tpl-preview.bridal{color:#5a2a2e;text-align:center;background:#f8ebe6}.tpl-preview.bridal i{background:linear-gradient(135deg,#e7b9b4,#a8505a);border-radius:0 0 60px 60px}@media (max-width:640px){.templates{grid-template-columns:1fr}.tpl-preview{aspect-ratio:16/7}.tpl-preview i{display:none}}.booking{grid-template-columns:84px 1fr;gap:6px 16px;padding:16px 0;display:grid}.booking .when b{font:400 24px/1 var(--serif)}.booking .what small a{text-underline-offset:2px}.booking .act{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px 18px;display:flex}.booking.cancelled,.booking.rejected{opacity:.55}.pill.pending{color:#8a6414;background:#f6ecd2}.pill.confirmed{color:var(--ok);background:#e6f2eb}.pill.cancelled,.pill.rejected,.pill.no_show{color:var(--danger);background:#f8dcd9}@media (min-width:760px){.booking{grid-template-columns:90px 1fr auto}.booking .act{grid-column:auto;justify-content:flex-end}}.notice{color:#6b5210;background:#fbf3dc;border:1px solid #ecd9a6;border-radius:14px;margin-bottom:20px;padding:14px 18px}.msgs li{padding:16px 0}.msg-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px;display:flex}.bubble{color:#111b21;white-space:pre-wrap;background:#d9fdd3;border-radius:14px 14px 14px 4px;max-width:560px;margin-top:10px;padding:12px 14px;font-size:15px;line-height:1.45}.pill.logged{color:#8a6414;background:#f6ecd2}.pill.sent{color:var(--ok);background:#e6f2eb}.pill.queued{background:var(--paper-2)}.pill.failed{color:var(--danger);background:#f8dcd9}.desk{gap:16px;display:grid}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:14px;display:grid}.slot{border:1.5px solid var(--rule);background:var(--card);font:600 15px var(--sans);cursor:pointer;border-radius:12px;padding:10px 0}.slot:hover{border-color:var(--ink)}.slot.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.access{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.access.off{opacity:.6}.access-actions{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.form.inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form.inline .form-foot{margin:0}.form.inline select{width:auto;padding:8px 12px}.search-bar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.search-bar input{border:1.5px solid var(--ink);min-width:0;font:500 15px var(--sans);background:#fff;border-radius:12px;flex:220px;padding:10px 13px}.client{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;display:flex}.client-stats{color:var(--soft);flex-wrap:wrap;gap:4px 18px;font-size:14px;display:flex}.client-stats b{color:var(--ink)}.periods{gap:14px;margin-bottom:18px;display:grid}.presets{flex-wrap:wrap;gap:8px;display:flex}.preset{border:1.5px solid var(--rule);border-radius:99px;padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none}.preset:hover{border-color:var(--ink)}.preset.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.range{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.range label{color:var(--soft);gap:4px;font-size:13px;display:grid}.range input{border:1.5px solid var(--ink);font:500 15px var(--sans);background:#fff;border-radius:12px;padding:8px 11px}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px;display:grid}.kpi{border:1px solid var(--rule);background:var(--card);border-radius:18px;align-content:start;gap:4px;min-width:0;padding:16px 18px;display:grid}.kpi>span{color:var(--soft);font-size:13px;font-weight:600}.kpi b{font:400 30px/1.1 var(--serif);letter-spacing:-.02em;overflow-wrap:anywhere}.kpi small{color:var(--soft);font-size:12.5px}.delta.up{color:var(--ok);font-weight:600}.delta.down{color:var(--danger);font-weight:600}.report-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (min-width:900px){.report-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.report-grid .wide{grid-column:1/-1}}.bars{margin:14px 0 0}.bars svg{width:100%;height:170px;display:block}.bars .bar{fill:var(--henna)}.bars .bar.alt{fill:var(--ink)}.bars .bar.zero{fill:var(--rule)}.bars .bar:hover{opacity:.7}.bars figcaption{color:var(--soft);justify-content:space-between;gap:8px;margin-top:8px;font-size:12.5px;display:flex}.heat-wrap{margin-top:12px;overflow-x:auto}.heat{align-items:center;gap:3px;min-width:440px;display:grid}.heat-row{display:contents}.heat .hr{text-align:center;color:var(--soft);font-size:11px}.heat .wd{color:var(--soft);font-size:12px;font-weight:600}.heat .cell{background:var(--henna);border-radius:5px;height:22px;display:block}.meter-list{gap:14px;margin-top:12px;display:grid}.meter-list li>div:first-child{justify-content:space-between;gap:10px;display:flex}.meter{background:var(--paper-2);border-radius:99px;height:8px;margin:6px 0 4px;overflow:hidden}.meter i{background:var(--henna);border-radius:99px;height:100%;display:block}.meter-list small{color:var(--soft)}.split{background:var(--ink);border-radius:99px;height:14px;margin-top:14px;display:flex;overflow:hidden}.split i{background:var(--henna)}.split-key{flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:14px;display:flex}.dot{border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.dot.a{background:var(--henna)}.dot.b{background:var(--ink)}.preset small{opacity:.7;margin-left:4px}.lead summary{cursor:pointer}.lead-contact{margin:0}.lead-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.overdue{color:var(--danger);font-weight:600}.chip.lead-new{color:#8a6414;background:#f6ecd2}.chip.lead-booked{color:var(--ok);background:#e6f2eb}.chip.lead-lost{background:var(--paper-2);color:var(--soft)}.report-tabs{border-bottom:1px solid var(--rule);gap:4px;margin-bottom:14px;display:flex;overflow-x:auto}.report-tab{white-space:nowrap;color:var(--soft);border-bottom:2.5px solid #0000;padding:10px 14px;font-weight:600;text-decoration:none}.report-tab:hover{color:var(--ink)}.report-tab.on{border-bottom-color:var(--henna);color:var(--ink)}.facts{grid-template-columns:auto 1fr;gap:10px 16px;margin-top:12px;display:grid}.facts dt{color:var(--soft);font-size:14px}.facts dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.table-scroll{margin-top:12px;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:15px}.report-table th{text-align:left;color:var(--soft);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--rule);white-space:nowrap;padding:10px 12px;font-size:12px}.report-table td{border-top:1px solid var(--rule);white-space:nowrap;padding:12px}.report-table .num{text-align:right;font-variant-numeric:tabular-nums}.report-table small{color:var(--soft)}.meta-card{margin-bottom:16px}.meta-head{align-items:flex-start;gap:14px;display:flex}.meta-head h2{margin:0 0 4px}.meta-mark{color:#fff;background:#1877f2;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font:700 22px/1 Arial,sans-serif;display:grid}.meta-card.on{border-color:#b7d4f7}.meta-actions{margin-top:12px}.image-input{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:14px 18px;padding:12px 0;display:flex}.image-input:first-of-type{border-top:0}.image-frame{border:1px solid var(--rule);background:var(--paper-2);color:var(--soft);text-align:center;border-radius:14px;flex:none;place-items:center;font-size:13px;display:grid;overflow:hidden}.image-input.wide .image-frame{width:220px;height:124px}.image-input.square .image-frame{border-radius:50%;width:96px;height:96px}.image-input.logo .image-frame{width:180px;height:72px}.image-frame img{object-fit:cover;width:100%;height:100%}.image-input.logo .image-frame img{object-fit:contain;padding:8px}.image-meta{flex:200px;gap:4px;min-width:0;display:grid}.image-meta small{color:var(--soft)}.image-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;display:flex}.btn.disabled{opacity:.55;pointer-events:none}.gallery-editor ul{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:12px 0;display:grid}.gallery-editor li{aspect-ratio:4/5;background:var(--paper-2);border-radius:12px;position:relative;overflow:hidden}.gallery-editor img{object-fit:cover;width:100%;height:100%}.gallery-tools{justify-content:flex-end;gap:4px;display:flex;position:absolute;inset:auto 6px 6px}.gallery-tools button{cursor:pointer;background:#ffffffeb;border:0;border-radius:50%;width:30px;height:30px;font-weight:700}.gallery-tools button.danger{color:var(--danger)}.gallery-tools button:disabled{opacity:.4;cursor:default}.colour-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;display:flex}.colour-row input[type=color]{border:1.5px solid var(--ink);background:#fff;border-radius:10px;width:52px;height:40px;padding:2px}.feature-grid{gap:12px;display:grid}@media (min-width:760px){.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.editor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.cal-nav{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.cal-pick{gap:6px;display:flex}.cal-pick input{border:1.5px solid var(--ink);font:500 14px var(--sans);background:#fff;border-radius:10px;padding:6px 10px}.cal-scroll{border:1px solid var(--rule);background:var(--card);border-radius:18px;overflow-x:auto}.cal{min-width:min-content;display:grid;position:relative}.cal-corner,.cal-head{z-index:2;background:var(--card);border-bottom:1px solid var(--rule);padding:12px 10px;font-size:14px;font-weight:700;position:sticky;top:0}.cal-head{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;display:flex;overflow:hidden}.cal-head i{border-radius:50%;flex:none;width:10px;height:10px}.cal-hour{text-align:right;color:var(--soft);font-variant-numeric:tabular-nums;grid-column:1;padding:2px 8px 0 0;font-size:12px}.cal-line{border-top:1px solid var(--rule);pointer-events:none}.cal-booking{z-index:1;border:1px solid var(--rule);border-left:4px solid var(--henna);color:var(--ink);background:#fff;border-radius:8px;align-content:start;gap:1px;margin:1px 4px;padding:4px 8px;font-size:12.5px;line-height:1.3;text-decoration:none;display:grid;overflow:hidden}.cal-booking:hover{box-shadow:0 6px 16px -8px #00000059}.cal-booking b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-booking small{color:var(--soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-booking.pending{background:#fff8e8}.cal-booking.completed{opacity:.75}.cal-booking.cancelled,.cal-booking.no_show{opacity:.45;text-decoration:line-through}.svc-row{align-items:center;gap:12px;min-width:0;display:flex}.svc-row>span{min-width:0;display:grid}.svc-thumb{object-fit:cover;border-radius:10px;flex:none;width:44px;height:44px}.list-layout{align-items:start;gap:18px;display:grid}@media (min-width:1000px){.list-layout{grid-template-columns:250px minmax(0,1fr)}}.list-main{min-width:0}.list-top{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;display:flex}.list-search{flex:240px;min-width:0;position:relative}.list-search svg{color:var(--soft);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.list-search input[type=search][name]{border:1.5px solid var(--rule);width:100%;font:500 15px var(--sans);background:#fff;border-radius:14px;padding:12px 14px 12px 40px;box-shadow:0 1px 2px #2a211c0a}.list-search input[type=search][name]:focus{border-color:var(--ink);outline:none}.list-toggle.has{border-color:var(--ink);background:var(--ink);color:var(--paper)}.list-spinner{color:var(--soft);pointer-events:none;font-size:13px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.list-search:has(.list-spinner:not(:empty)) input{padding-right:92px}.filter-side{border:1px solid var(--rule);background:var(--card);border-radius:18px;gap:4px;padding:14px 16px 16px;display:grid}.filter-head{align-items:center;gap:10px;padding-bottom:6px;display:flex}.filter-head b{flex:1;font-size:16px}.filter-clear{color:var(--henna);font-size:13px;font-weight:600}.filter-close,.filter-done{display:none}.filter-group{border:0;border-top:1px solid var(--rule);min-width:0;margin:0;padding:12px 0 4px}.filter-group legend{float:left;width:100%;color:var(--soft);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;padding:0;font-size:11.5px;font-weight:700}.filter-options{clear:both;gap:2px;display:grid}.filter-option{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;display:flex;position:relative}.filter-option:hover{background:var(--paper-2)}.filter-option input{opacity:0;pointer-events:none;position:absolute}.filter-option span:before{content:"";vertical-align:-3px;border:1.5px solid var(--rule);box-sizing:border-box;background:#fff;border-radius:50%;width:16px;height:16px;margin-right:10px;display:inline-block}.filter-option:has(input:checked){background:var(--paper-2);font-weight:600}.filter-option:has(input:checked) span:before{border:5px solid var(--ink)}.filter-option:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:1px}.filter-group select,.filter-dates input,.filter-range input{border:1.5px solid var(--rule);width:100%;font:500 14px var(--sans);background:#fff;border-radius:10px;padding:8px 10px}.filter-group select:focus,.filter-dates input:focus,.filter-range input:focus{border-color:var(--ink);outline:none}.filter-dates,.filter-range{clear:both;grid-template-columns:1fr 1fr;gap:8px;display:grid}.filter-dates{grid-template-columns:1fr;margin-top:6px}.filter-dates label,.filter-range label{color:var(--soft);gap:4px;min-width:0;font-size:12.5px;display:grid}.filter-backdrop{display:none}@media (min-width:1000px){.filter-side{max-height:calc(100vh - 24px);position:sticky;top:12px;overflow-y:auto}.list-toggle{display:none}.filter-close{border:1px solid var(--rule);width:30px;height:30px;color:var(--soft);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:inline-grid}.filter-close:hover{border-color:var(--ink);color:var(--ink)}html[data-filters=folded] .list-layout{grid-template-columns:minmax(0,1fr)}html[data-filters=folded] .filter-side{display:none}html[data-filters=folded] .list-toggle{display:inline-flex}}@media (max-width:999px){.filter-side{z-index:60;border-radius:0 18px 18px 0;align-content:start;width:min(330px,88vw);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%)}.filter-side.open{transform:none;box-shadow:0 20px 60px #00000040}.filter-close{background:var(--paper-2);cursor:pointer;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:inline-grid}.filter-done{margin-top:12px;display:block;position:sticky;bottom:0}.filter-backdrop{z-index:55;background:#00000059;border:0;display:block;position:fixed;inset:0}}@media (prefers-reduced-motion:reduce){.filter-side{transition:none}}.list-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.list-tab{border:1.5px solid var(--rule);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.list-tab small{background:var(--paper-2);border-radius:99px;padding:1px 7px;font-size:12px}.list-tab:hover{border-color:var(--ink)}.list-tab.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.list-tab.on small{color:inherit;background:#ffffff2e}.list-pills{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.pill-x{background:var(--paper-2);border-radius:99px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.pill-x span{opacity:.6;font-size:11px}.pill-x:hover{background:#ecdfd2}.list-clear{color:var(--henna);font-size:13px;font-weight:600}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin:16px 0 4px;display:flex}.pager-count{color:var(--soft);margin:0;font-size:14px}.pager-pages,.pager-size{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pager-group{align-items:center;gap:4px;display:inline-flex}.pager-pages a,.pager-pages span.on,.pager-pages span.off,.pager-size a,.pager-size span.on{border:1.5px solid var(--rule);border-radius:10px;place-items:center;min-width:34px;height:34px;padding:0 8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-grid}.pager-pages a:hover,.pager-size a:hover{border-color:var(--ink)}.pager-pages span.on,.pager-size span.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.pager-pages span.off{opacity:.35}.pager-pages .gap{color:var(--soft);padding:0 2px}.pager-size small{color:var(--soft);margin-left:4px}.list-empty{text-align:center;color:var(--soft);padding:28px 10px}.list-empty b{color:var(--ink);margin-bottom:4px;font-size:16px;display:block}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink) 22%, transparent) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink) 22%, transparent) padding-box;border:2px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb, var(--ink) 40%, transparent)}.filter-side{scrollbar-gutter:stable}.billing-now{flex-wrap:wrap;align-items:center;gap:18px 36px;display:flex}.billing-now small{color:var(--soft);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:12.5px;font-weight:600;display:block}.billing-now b{font:400 26px/1.1 var(--serif)}.billing-now form{margin-left:auto}.plans{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px;display:grid}.plan{flex-direction:column;gap:12px;margin:0;display:flex}.plan.featured{border-color:var(--ink);box-shadow:0 18px 40px -28px #0006}.plan h2{font-size:26px}.plan-price{font:400 44px/1 var(--serif)}.plan-price small,.plan-price span{font:500 15px var(--sans);color:var(--soft)}.plan ul{gap:6px;margin:0;padding:0;font-size:14.5px;list-style:none;display:grid}.plan li:before{content:"✓";color:var(--henna);margin-right:8px;font-weight:700}.plan .btn{margin-top:auto}.plan-banner{color:#6b5210;background:#fbf3dc;border:1px solid #ecd9a6;border-radius:14px;margin:0 0 20px;padding:12px 16px;font-size:14.5px}.plan-banner.bad{color:#8a2f1c;background:#fbe9e4;border-color:#e9b8ad}.plan-banner a{color:inherit;font-weight:700}.att-status{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.att-status form{display:inline}.att-row{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.8fr)) minmax(0,1.4fr);align-items:center;gap:10px;padding:12px 0;display:grid}.att-row:first-child{border-top:0}.att-row b{display:block}.att-row small{color:var(--soft)}.att-row .num{font-variant-numeric:tabular-nums}.att-flag{flex-wrap:wrap;justify-self:end;gap:6px;display:flex}.att-link{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,220px);align-items:center;gap:12px;padding:8px 0;display:grid}@media (max-width:700px){.att-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.att-row>:first-child,.att-flag{grid-column:1/-1;justify-self:start}.att-link{grid-template-columns:minmax(0,1fr)}}.pill.warn{color:#8a6414;background:#f6ecd2}.pill.bad{color:var(--danger);background:#f8dcd9}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-bottom:14px;display:flex}.toolbar label{color:var(--soft);gap:4px;font-size:13px;display:grid}.toolbar input[type=date]{width:auto;padding:8px 10px;font-size:14px}.toolbar .sub{margin:0 0 8px}.spinner{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.btn[aria-busy=true]{cursor:progress;justify-content:center;align-items:center;display:inline-flex}.sync-note{border:1px solid var(--rule);background:var(--card);color:var(--ink);border-radius:14px;align-items:center;gap:4px;margin:0 0 16px;padding:12px 16px;font-size:14.5px;display:flex}.att-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.att-status .btn-ghost{color:var(--soft);border-color:#0000}.att-status .btn-ghost:hover{border-color:var(--rule);color:var(--danger)}.ai-fab{z-index:50;background:var(--ink);color:var(--paper);font:600 14.5px var(--sans);cursor:pointer;border:0;border-radius:99px;align-items:center;gap:8px;padding:12px 18px;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 14px 30px -12px #00000080}.ai-fab:hover{transform:translateY(-1px)}.ai-panel{z-index:55;border:1px solid var(--rule);background:var(--card);border-radius:20px;flex-direction:column;width:min(420px,100vw - 24px);height:min(640px,100vh - 110px);display:flex;position:fixed;bottom:76px;right:20px;overflow:hidden;box-shadow:0 30px 70px -20px #00000073}.ai-panel header{border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;gap:2px 8px;padding:14px 16px;display:grid}.ai-panel header b{font:400 22px/1.1 var(--serif)}.ai-panel header small{color:var(--soft);grid-column:1}.ai-panel header button{background:var(--paper-2);cursor:pointer;border:0;border-radius:50%;grid-area:1/2/3;align-self:center;width:32px;height:32px}.ai-log{flex-direction:column;flex:1;gap:10px;padding:14px 16px;display:flex;overflow-y:auto}.ai-intro{gap:8px;display:grid}.ai-intro p{color:var(--soft);margin:0 0 4px;font-size:14.5px}.ai-intro button{border:1.5px solid var(--rule);text-align:left;font:500 14px var(--sans);cursor:pointer;background:#fff;border-radius:14px;padding:10px 14px}.ai-intro button:hover{border-color:var(--ink)}.ai-msg{max-width:92%}.ai-msg p{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;margin:0;padding:10px 14px;font-size:14.5px;line-height:1.5}.ai-msg.user{align-self:flex-end}.ai-msg.user p{background:var(--ink);color:var(--paper);border-bottom-right-radius:4px}.ai-msg.assistant p{background:var(--paper-2);border-bottom-left-radius:4px}.ai-typing{color:var(--soft);align-items:center;display:flex}.ai-card{border:1.5px solid var(--ink);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;padding:12px 14px;display:flex}.ai-card b{flex:200px;font-size:14px}.ai-ok{color:var(--ok);font-weight:700}.ai-err{color:var(--danger);flex-basis:100%}.ai-panel form{border-top:1px solid var(--rule);align-items:flex-end;gap:8px;padding:12px;display:flex}.ai-panel textarea{border:1.5px solid var(--rule);min-height:42px;max-height:120px;font:500 15px var(--sans);resize:none;background:#fff;border-radius:12px;flex:1;padding:10px 12px}.ai-panel textarea:focus{border-color:var(--ink);outline:none}@media (max-width:899px){.ai-fab span{display:none}.ai-fab{padding:14px}.ai-panel{bottom:72px;right:12px}}.langbtn{border:1.5px solid var(--rule);width:fit-content;color:var(--ink);font:600 13.5px var(--sans);cursor:pointer;background:#fff;border-radius:99px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.langbtn:hover{border-color:var(--ink)}.langbtn:disabled{opacity:.6;cursor:wait}.auth-lang{top:20px;position:absolute;inset-inline-end:20px}.auth-main{position:relative}.login-card .auth-lang{margin-top:18px;position:static}html[dir=rtl] body{font-family:var(--font-arabic), var(--font-sans), system-ui, sans-serif}html[dir=rtl] :is(h1,h2,h3,.brand-mark){font-family:var(--font-arabic), var(--font-serif), serif;letter-spacing:0}html[dir=rtl] .addr-input span{padding-left:13px;padding-right:0}html[dir=rtl] .rows details summary:after{margin-left:0;margin-right:4px}html[dir=rtl] .chip{margin-left:0;margin-right:8px}html[dir=rtl] .dot,html[dir=rtl] .spinner{margin-left:8px;margin-right:0}html[dir=rtl] :is(.preset small,.pager-size small){margin-left:0;margin-right:4px}html[dir=rtl] .facts dd{text-align:left}html[dir=rtl] .report-table th{text-align:right}html[dir=rtl] .report-table .num,html[dir=rtl] .num{text-align:left}html[dir=rtl] .cal-hour{text-align:left;padding:2px 0 0 8px}html[dir=rtl] .list-search svg{left:auto;right:12px}html[dir=rtl] .list-spinner{left:14px;right:auto}html[dir=rtl] .list-search:has(.list-spinner:not(:empty)) input{padding-left:92px;padding-right:13px}html[dir=rtl] .list-search input{padding-inline-start:40px}html[dir=rtl] .filter-option span:before{margin-left:10px;margin-right:0}html[dir=rtl] .billing-now form{margin-left:0;margin-right:auto}html[dir=rtl] .plan li:before{margin-left:8px;margin-right:0}html[dir=rtl] .ai-fab,html[dir=rtl] .ai-panel{left:20px;right:auto}html[dir=rtl] .ai-intro button{text-align:right}html[dir=rtl] .ai-msg.user p{border-bottom-right-radius:16px;border-bottom-left-radius:4px}html[dir=rtl] .ai-msg.assistant p{border-bottom-right-radius:4px;border-bottom-left-radius:16px}html[dir=rtl] .nav-items a svg,html[dir=rtl] .pager-pages a{unicode-bidi:isolate}html[dir=rtl] .pager-pages a[aria-label],html[dir=rtl] .side-toggle svg,html[dir=rtl] .filter-close svg{transform:scaleX(-1)}html[data-side=folded][dir=rtl] .side-toggle svg{transform:none}@media (min-width:900px){html[dir=rtl] .side{border-right:0;border-left:1px solid var(--rule)}}@media (max-width:999px){html[dir=rtl] .filter-side{border-radius:18px 0 0 18px;left:auto;right:0;transform:translate(105%)}html[dir=rtl] .filter-side.open{transform:none}}@media (max-width:899px){html[dir=rtl] .ai-fab,html[dir=rtl] .ai-panel{left:12px;right:auto}}
