*,:after,:before{box-sizing:border-box}body{margin:0}:root{--paper:#f3f3ec;--paper-2:#fffefa;--sand:#e7ebe3;--ink:#202824;--muted:#707972;--line:#d9ded6;--line-soft:#e8ebe5;--brass:#a7772d;--brass-soft:#dbc28f;--her:#c4677f;--him:#153c35;--deep:#172a24;--green:var(--him);--green-hover:#1d4a41;--green-soft:#e7efeb;--gold-bright:#e8b55a;--clay:#b95f54;--on-green:#ffffff;--on-green-muted:rgba(255,255,255,0.7);--on-green-faint:rgba(255,255,255,0.11);--on-green-line:rgba(255,255,255,0.18);--focus-ring:rgba(21,60,53,0.08);--paper-2-glass:rgba(255,254,250,0.94);--success-bg:#e5f2eb;--success-ink:#26704e;--warn-bg:#f7edda;--warn-ink:#91641f;--danger-bg:#f5e7e4;--danger-ink:#9a4b43;--danger-soft:#f5e6e4;--info-bg:#e7efeb;--info-ink:#153c35;--fs-micro:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:18px;--fs-h2:24px;--fs-num:28px;--fs-h1:clamp(32px,4vw,46px);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-pill:999px;--shadow-1:0 1px 2px rgba(17,46,38,0.04);--shadow-2:0 4px 16px rgba(17,46,38,0.08);--shadow-3:0 24px 80px rgba(9,24,19,0.25);--z-fab:40;--z-nav:50;--z-rail-overlay:55;--z-rail:60;--z-overlay:90;--z-modal:100;--t-fast:0.15s;--t-med:0.2s;--radius:12px;--tab-bar-h:68px;--hour-h:64px}.partner-app{position:relative;min-height:100dvh;background:var(--paper);color:var(--ink);overflow-x:clip;font-family:var(--font-body),system-ui,sans-serif}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}html[dir=rtl] body{font-family:var(--font-ar),ui-sans-serif,system-ui,sans-serif}.partner-mobile-head{display:grid;grid-template-columns:40px 1fr auto;grid-column-gap:12px;column-gap:12px;align-items:center;min-height:62px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--paper-2-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-nav)}.partner-mobile-brand{justify-self:start;text-align:start;min-width:0;font-family:var(--font-display),Georgia,serif;font-size:21px;color:var(--green)}.icon-btn{transition:border-color var(--t-fast) ease,background-color var(--t-fast) ease,color var(--t-fast) ease}.icon-btn:hover{border-color:var(--brass);background:var(--sand)}.partner-mobile-head .icon-btn{border:1px solid var(--line);background:transparent;color:var(--ink)}.rail-overlay{position:fixed;inset:0;background:rgba(13,27,23,.4);z-index:var(--z-rail-overlay)}.partner-tabs{position:fixed;inset-inline:0;bottom:0;z-index:var(--z-nav);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 4px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper-2-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.partner-tab{display:grid;min-width:0;justify-items:center;grid-gap:4px;gap:4px;padding:4px 1px;text-decoration:none;color:var(--muted);font-size:var(--fs-micro);font-weight:750;transition:color var(--t-fast) ease}.partner-tab.active{color:var(--brass);font-weight:800}.partner-tab:hover{color:var(--brass)}.partner-tab-add{align-content:center;border:0;background:none;cursor:pointer}.partner-tab-fab{display:grid;place-items:center;width:52px;height:52px;margin-top:-18px;border-radius:50%;background:var(--green);color:var(--on-green);box-shadow:0 6px 16px rgba(17,46,38,.28);border:3px solid var(--paper-2);transition:transform var(--t-fast) ease,background-color var(--t-fast) ease}.partner-tab-add:hover .partner-tab-fab{background:var(--green-hover)}.partner-tab-add:active .partner-tab-fab{transform:scale(.94)}.add-sheet-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;background:rgba(13,27,23,.52);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.add-sheet{width:100%;padding:var(--sp-2) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--paper-2);box-shadow:var(--shadow-3);animation:add-sheet-up var(--t-fast) ease}@keyframes add-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.add-sheet{animation:none}}.add-sheet-grip{display:block;width:38px;height:4px;margin:var(--sp-1) auto var(--sp-3);border-radius:999px;background:var(--line)}.add-sheet-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:56px;padding:0 var(--sp-2);border:0;border-radius:var(--r-md);background:none;color:var(--ink);font-family:inherit;font-size:var(--fs-md);font-weight:700;cursor:pointer;text-align:start}.add-sheet-item:active{background:var(--sand)}.add-sheet-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--green-soft);color:var(--green)}.partner-content{padding:var(--sp-4);padding-bottom:calc(var(--tab-bar-h) + env(safe-area-inset-bottom) + var(--sp-4));max-width:600px;margin:0 auto}.partner-content h1{font-family:var(--font-display),serif;font-size:var(--fs-h2);font-weight:400;margin:0 0 var(--sp-3)}.partner-content h2{font-size:var(--fs-lg);font-weight:600;margin:var(--sp-5) 0 var(--sp-2)}.partner-card{background:var(--paper-2);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--sp-3);margin-bottom:var(--sp-2)}.partner-card .row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}.partner-card .label{font-size:var(--fs-sm);color:var(--muted)}.partner-card .value{font-size:var(--fs-base);font-weight:500}.badge{display:inline-block;padding:2px var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600}.badge-active{background:var(--success-bg);color:var(--success-ink)}.badge-draft{background:var(--warn-bg);color:var(--warn-ink)}.badge-pending{background:var(--info-bg);color:var(--info-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:42px;padding:0 var(--sp-4);border:1px solid transparent;border-radius:var(--r-sm);font-family:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer;text-decoration:none;transition:border-color var(--t-fast) ease,background-color var(--t-fast) ease,color var(--t-fast) ease,transform var(--t-fast) ease}.btn:disabled{cursor:default;opacity:.55}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{border-color:var(--green);background:var(--green);color:var(--on-green)}.btn-primary:not(:disabled):hover{border-color:var(--green-hover);background:var(--green-hover)}.btn-secondary{border-color:var(--line);background:var(--paper-2);color:var(--ink)}.btn-secondary:not(:disabled):hover{border-color:var(--muted);background:var(--paper)}.btn-ghost{border-color:transparent;background:transparent;color:var(--green)}.btn-ghost:not(:disabled):hover{background:var(--green-soft)}.btn-danger{border-color:transparent;background:var(--danger-bg);color:var(--danger-ink)}.btn-danger:not(:disabled):hover{border-color:var(--danger-ink)}.btn-sm{min-height:34px;padding:0 var(--sp-3);font-size:var(--fs-xs)}.btn-block{width:100%}.icon-btn{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);color:var(--muted);cursor:pointer;transition:border-color var(--t-fast) ease,color var(--t-fast) ease}.icon-btn:hover{border-color:var(--muted);color:var(--ink)}.card-btn{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.form-group{margin-bottom:var(--sp-3)}.form-group label{display:block;font-size:var(--fs-sm);font-weight:700;margin-bottom:var(--sp-1);color:var(--ink)}.form-group input,.form-group select,.form-group textarea{width:100%;min-height:48px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-lg);background:var(--paper-2);color:var(--ink);font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}.auth-split{display:flex;flex-direction:column;min-height:100dvh}.auth-brand{background:var(--green);color:var(--on-green);padding:var(--sp-6) var(--sp-4)}.auth-brand .auth-brand-mark{margin-bottom:var(--sp-3)}.auth-brand .auth-brand-mark,.auth-brand .auth-headline{font-family:var(--font-display),Georgia,serif;font-size:24px}.auth-brand .auth-headline{font-weight:400;margin:0 0 var(--sp-4);line-height:1.2}.auth-brand ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.auth-brand li{display:flex;align-items:center;gap:var(--sp-2);color:var(--on-green-muted);font-size:var(--fs-md)}.auth-brand li svg{color:var(--gold-bright);flex-shrink:0}.auth-form-panel{flex:1 1;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:var(--paper)}.auth-card{width:100%;max-width:400px;background:var(--paper-2);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--sp-8) var(--sp-6)}.auth-card h1{font-family:var(--font-display),Georgia,serif;font-size:28px;font-weight:400;margin:0 0 var(--sp-1)}.auth-card .subtitle{font-size:var(--fs-md);color:var(--muted);margin-bottom:var(--sp-5)}.auth-card .link{display:block;margin-top:var(--sp-4);font-size:var(--fs-md);font-weight:650;color:var(--green);text-decoration:none}.auth-card .link:hover{text-decoration:underline}.auth-card .link.link-secondary{font-weight:400;font-size:var(--fs-sm);color:var(--muted);margin-top:var(--sp-2)}.auth-card .link.link-secondary:hover{color:var(--ink)}.auth-error{display:flex;align-items:center;gap:var(--sp-2);background:var(--danger-bg);color:var(--danger-ink);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-md);margin-bottom:var(--sp-3)}@media (min-width:900px){.auth-split{display:grid;grid-template-columns:1.05fr 1fr;min-height:100dvh}.auth-brand{padding:clamp(32px,6vw,72px)}.auth-brand .auth-brand-mark{font-size:28px}.auth-brand .auth-headline{font-size:clamp(30px,3.5vw,44px)}}.state-empty,.state-error,.state-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:48px var(--sp-6);text-align:center;color:var(--muted)}.state-empty strong{color:var(--ink);font-size:var(--fs-md)}.state-empty .btn{-webkit-margin-before:var(--sp-3);margin-block-start:var(--sp-3)}.state-loading{gap:var(--sp-2)}.state-error{gap:var(--sp-3)}.state-error .err-msg{font-size:var(--fs-base);color:var(--danger-ink)}.spinner{display:inline-block;flex:none;border:2px solid;border-inline-start-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.skel{position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--sand)}.skel:after{position:absolute;inset:0;content:"";transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:skel-shimmer 1.4s infinite}@keyframes skel-shimmer{to{transform:translateX(100%)}}.skel-list{display:grid;grid-gap:10px;gap:10px}.skel-list .partner-card{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}@media (prefers-reduced-motion:reduce){.skel:after{animation:none}}.modal-backdrop{position:fixed;z-index:var(--z-modal);inset:0;display:grid;place-items:center;padding:18px;background:rgba(13,27,23,.52);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(520px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;padding:var(--sp-6);border-radius:var(--r-md);background:var(--paper-2);box-shadow:var(--shadow-3)}.confirm-msg{margin:0;color:var(--muted);font-size:var(--fs-base)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--sp-5)}.modal-head h2{margin:0;font-family:var(--font-display),Georgia,serif;font-size:var(--fs-h2);font-weight:400}.modal-eyebrow{display:block;margin-bottom:var(--sp-1);color:var(--brass);font-size:var(--fs-micro);font-weight:800;letter-spacing:.04em;text-transform:uppercase}@media (max-width:780px){.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92dvh;padding:var(--sp-5) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom));border-radius:var(--r-md) var(--r-md) 0 0}}.partner-rail{position:fixed;z-index:var(--z-rail);inset-block:0;inset-inline-start:0;display:none;width:248px;flex-direction:column;padding:var(--sp-6) var(--sp-4) 18px;background:var(--green);color:var(--on-green)}.rail-brand{display:flex;align-items:baseline;gap:7px;min-height:45px;padding-inline:7px;font-family:var(--font-display),Georgia,serif;font-size:23px}.rail-brand small{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--on-green-muted);font-family:var(--font-body),Inter,sans-serif;font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rail-tenant{position:relative;margin:23px 0 20px}.rail-tenant select{width:100%;min-height:48px;padding:0 34px 0 var(--sp-3);border:1px solid var(--on-green-line);border-radius:var(--r-sm);background:var(--on-green-faint);color:var(--on-green);font-size:var(--fs-sm);font-weight:700;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}html[dir=rtl] .rail-tenant select{padding:0 var(--sp-3) 0 34px}.rail-tenant svg{position:absolute;top:50%;inset-inline-end:12px;transform:translateY(-50%);color:var(--on-green-muted);pointer-events:none}.rail-nav{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1)}.rail-nav a{display:flex;min-height:44px;align-items:center;gap:var(--sp-3);padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--on-green-muted);font-size:var(--fs-md);font-weight:650;text-decoration:none;transition:background-color var(--t-fast) ease,color var(--t-fast) ease}.rail-nav a.active,.rail-nav a:hover{background:var(--on-green-faint);color:var(--on-green)}.rail-nav a.active{box-shadow:inset 3px 0 0 var(--gold-bright)}html[dir=rtl] .rail-nav a.active{box-shadow:inset -3px 0 0 var(--gold-bright)}.rail-foot{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-gap:9px;gap:9px;align-items:center;margin-top:auto;padding:15px 5px 0;border-top:1px solid var(--on-green-line)}.rail-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--gold-bright);color:var(--green);font-size:var(--fs-xs);font-weight:800}.rail-foot>div{display:grid;min-width:0;grid-gap:3px;gap:3px}.rail-foot small,.rail-foot strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-foot strong{font-size:var(--fs-xs)}.rail-foot small{color:var(--on-green-muted);font-size:var(--fs-micro)}.rail-foot .icon-btn{border:0;background:transparent;color:var(--on-green-muted);width:34px;height:34px}.rail-foot .icon-btn:hover{background:var(--on-green-faint);color:var(--on-green);border-color:transparent}@media (min-width:768px){.partner-mobile-head{display:none}.partner-rail{display:flex}.partner-content{-webkit-margin-start:248px;margin-inline-start:248px;padding:34px clamp(26px,4vw,58px) 70px;max-width:1280px}.partner-tabs,.rail-overlay{display:none}}@media (max-width:767px){.partner-rail{display:flex;width:min(286px,84vw);transform:translateX(-105%);transition:transform var(--t-med) ease,visibility 0s linear var(--t-med);box-shadow:16px 0 40px rgba(15,34,28,.2);visibility:hidden}html[dir=rtl] .partner-rail{transform:translateX(105%);box-shadow:-16px 0 40px rgba(15,34,28,.2)}.partner-rail.open{transform:translateX(0);visibility:visible;transition:transform var(--t-med) ease,visibility 0s linear 0s}}@media (prefers-reduced-motion:reduce){.partner-rail{transition:none}}.wizard-page{max-width:640px;margin:0 auto;padding:var(--sp-4);min-height:100dvh}.wizard-loading{display:flex;align-items:center;justify-content:center;padding:60px 0;color:var(--muted)}.wizard-progress-bar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-nav);background:var(--paper);padding:var(--sp-3) 0 var(--sp-4);margin-bottom:var(--sp-2)}.wizard-progress-track{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin-bottom:var(--sp-3)}.wizard-progress-fill{height:100%;width:var(--pct,0);background:var(--brass);transition:width .3s ease}.wizard-progress-steps{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.wizard-progress-steps::-webkit-scrollbar{display:none}.wizard-progress-dot{flex:1 1;min-width:56px;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);padding:var(--sp-1) 2px;background:none;border:none;cursor:pointer;color:var(--muted);font-size:var(--fs-micro);transition:color var(--t-med)}.wizard-progress-dot.active{color:var(--brass);font-weight:600}.wizard-progress-dot.done{color:var(--ink)}.wizard-progress-dot:disabled{cursor:default}.wizard-progress-num{width:var(--sp-6);height:var(--sp-6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);border:2px solid var(--line);background:var(--paper-2)}.wizard-progress-dot.active .wizard-progress-num{border-color:var(--brass);background:var(--brass);color:var(--on-green)}.wizard-progress-dot.done .wizard-progress-num{border-color:var(--ink);background:var(--ink);color:var(--on-green)}.wizard-progress-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:64px}.wizard-content{background:var(--paper-2);border-radius:var(--r-lg);padding:var(--sp-6) var(--sp-5);box-shadow:var(--shadow-1)}.wizard-content h2{font-size:var(--fs-xl);margin:0 0 var(--sp-1)}.wizard-content .subtitle{font-size:var(--fs-base);color:var(--muted);margin:0 0 var(--sp-5)}.wizard-radio-group{display:flex;gap:var(--sp-2);flex-wrap:wrap}.wizard-radio-chip{display:flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-4);border:2px solid var(--line);border-radius:24px;cursor:pointer;font-size:var(--fs-base);background:var(--paper-2);transition:border-color var(--t-med)}.wizard-radio-chip.selected{border-color:var(--brass);background:var(--paper-2)}.wizard-radio-chip input{display:none}.wizard-btn-row{display:flex;gap:var(--sp-2);margin-top:var(--sp-6);align-items:center}.wizard-btn-row .btn-primary{-webkit-margin-start:auto;margin-inline-start:auto}.wizard-btn-row .btn-ghost,.wizard-btn-row .btn-secondary{flex:0 0 auto}.wizard-hours-grid{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.wizard-hours-row{display:grid;grid-template-columns:60px 1fr 1fr auto;grid-gap:var(--sp-2);gap:var(--sp-2);align-items:center}.wizard-hours-row .day-label{font-size:var(--fs-md);font-weight:500}.wizard-hours-row input{padding:var(--sp-1) var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-md)}.wizard-hours-row .closed-toggle{font-size:var(--fs-sm);color:var(--muted);cursor:pointer;background:none;border:none;display:inline-flex;align-items:center;gap:2px}.wizard-hours-actions,.wizard-latlng{display:flex;gap:var(--sp-2)}.wizard-latlng{align-items:center}.wizard-geo-btn{margin-top:var(--sp-2);font-size:var(--fs-md)}.wizard-service-row{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-soft);border-radius:var(--r-md);margin-bottom:var(--sp-2)}.wizard-service-row,.wizard-service-row.selected{background:var(--paper-2)}.wizard-service-row .checkbox{width:20px;height:20px;margin-top:2px}.wizard-service-detail{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1)}.wizard-service-detail .name-row{display:flex;justify-content:space-between;align-items:baseline}.wizard-service-detail .name-en{font-weight:500;font-size:var(--fs-base)}.wizard-service-detail .name-ar{font-size:var(--fs-md);color:var(--muted)}.wizard-service-detail .price-row{display:flex;gap:var(--sp-2);align-items:center;font-size:var(--fs-md)}.wizard-service-detail .price-row input{width:80px;padding:var(--sp-1) var(--sp-1);border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-md)}.wizard-category-header{font-size:var(--fs-md);font-weight:600;text-transform:capitalize;margin:var(--sp-4) 0 var(--sp-2);padding-bottom:var(--sp-1);border-bottom:1px solid var(--line-soft)}.wizard-pro-card{border:1px solid var(--line-soft);border-radius:var(--r-md);padding:var(--sp-4);margin-bottom:var(--sp-3);background:var(--paper-2)}.wizard-success{text-align:center;padding:var(--sp-8) var(--sp-4)}.wizard-success h2{margin-bottom:var(--sp-2)}.wizard-success .success-icon{display:flex;justify-content:center;align-items:center;margin-bottom:var(--sp-4)}.wizard-success-url{margin-bottom:var(--sp-4)}.wizard-checklist-detail{flex:1 1}.wizard-checklist-fix{min-height:0;padding:var(--sp-1) var(--sp-3)}.wizard-not-ready{color:var(--muted);font-size:var(--fs-md);margin-bottom:var(--sp-4)}.wizard-upload-area{display:grid;justify-items:center;grid-gap:var(--sp-2);gap:var(--sp-2);width:100%;border:2px dashed var(--line);border-radius:var(--r-lg);padding:var(--sp-8);text-align:center;cursor:pointer;transition:border-color var(--t-med);background:none;color:var(--ink);font:inherit}.wizard-upload-area:hover{border-color:var(--brass)}.wizard-upload-area .upload-icon{display:flex;justify-content:center;align-items:center;color:var(--muted);margin-bottom:var(--sp-2)}.wizard-upload-hint{margin-top:0}.wizard-cover{position:relative;border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--sp-2)}.wizard-cover-img{display:block;width:100%;padding:0;border:0;background:none;cursor:crosshair}.wizard-cover-img img{width:100%;height:200px;object-fit:cover;display:block}.wizard-cover-reupload{position:absolute;top:var(--sp-2);inset-inline-end:var(--sp-2)}.wizard-map{height:240px;border-radius:var(--r-md);margin-bottom:var(--sp-3);overflow:hidden}.wizard-map .maplibregl-map{font:inherit}@media (max-width:400px){.wizard-progress-label{display:none}.wizard-hours-row{grid-template-columns:50px 1fr 1fr auto}}.page-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-6)}.page-top h1{margin:0;font-family:var(--font-display),Georgia,serif;font-size:var(--fs-h1);font-weight:400}.page-top p{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-md)}.eyebrow{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);color:var(--brass);font-size:var(--fs-micro);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--success-ink);box-shadow:0 0 0 3px var(--success-bg)}.page-actions{display:flex;align-items:center;gap:var(--sp-2)}.add-menu-wrap{position:relative}.day-brief{display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(220px,.85fr) minmax(220px,.85fr);grid-gap:10px;gap:10px;max-width:1280px;margin:0 auto 12px}.day-brief article{display:flex;min-width:0;min-height:88px;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2)}.brief-next{-webkit-border-start:3px solid var(--brass);border-inline-start:3px solid var(--brass)}.brief-icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--warn-bg);color:var(--warn-ink)}.day-brief article>div:first-of-type{display:grid;min-width:0;grid-gap:3px;gap:3px}.day-brief small{display:block;margin-bottom:2px;color:var(--muted);font-size:var(--fs-micro);font-weight:800;text-transform:uppercase}.day-brief small.brief-label{display:flex;align-items:center;gap:4px}.day-brief strong{overflow:hidden;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.day-brief article>div:first-of-type>span{overflow:hidden;color:var(--muted);font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap}.brief-arrow{display:grid;flex:0 0 34px;width:34px;height:34px;-webkit-margin-start:auto;margin-inline-start:auto;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper-2);color:var(--green);cursor:pointer;transition:border-color var(--t-fast) ease,background-color var(--t-fast) ease,color var(--t-fast) ease,transform var(--t-fast) ease}.brief-arrow:hover{border-color:var(--green);background:var(--green);color:var(--on-green);transform:translateX(2px)}html[dir=rtl] .brief-arrow svg{transform:rotate(180deg)}.brief-progress,.brief-team{justify-content:space-between}.progress-ring{display:grid;flex:0 0 52px;width:52px;height:52px;place-items:center;border-radius:50%;background:conic-gradient(var(--green) 0 calc(var(--pct, 0) * 1%),var(--sand) 0 100%)}.progress-ring:before{grid-area:1/1;width:40px;height:40px;border-radius:50%;background:var(--paper-2);content:""}.progress-ring strong{z-index:1;grid-area:1/1;font-size:var(--fs-micro)}.mini-avatars{display:flex;flex-direction:row-reverse;-webkit-padding-start:8px;padding-inline-start:8px}.mini-avatars i{display:grid;width:30px;height:30px;-webkit-margin-start:-8px;margin-inline-start:-8px;place-items:center;border:2px solid var(--paper-2);border-radius:50%;background:var(--green-soft);color:var(--green);font-size:var(--fs-micro);font-style:normal;font-weight:800}.metric-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;max-width:1280px;margin:0 auto 22px}.metric-tiles article{display:grid;min-width:0;grid-gap:10px;gap:10px;padding:17px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);box-shadow:var(--shadow-1)}.metric-tiles article>span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--fs-xs);font-weight:700}.metric-tiles article>span svg{color:var(--brass)}.metric-tiles strong{overflow-wrap:anywhere;font-family:var(--font-display),Georgia,serif;font-size:var(--fs-num);font-weight:400}.date-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(58px,1fr);grid-gap:6px;gap:6px;margin:22px 0;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.date-strip button{display:grid;min-height:61px;place-items:center;grid-gap:2px;gap:2px;padding:7px 4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--muted);cursor:pointer}.date-strip button span{font-size:var(--fs-micro);font-weight:750;text-transform:uppercase}.date-strip button strong{font-size:var(--fs-lg)}.date-strip button.active{border-color:var(--green);background:var(--green);color:var(--on-green);box-shadow:inset 0 -3px 0 var(--brass)}.agenda-section{max-width:1280px;margin:0 auto;padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2)}.agenda-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.agenda-section-head h2{margin:0;font-family:var(--font-display),Georgia,serif;font-size:var(--fs-h2);font-weight:400}.agenda-list{border-top:1px solid var(--line);margin-top:var(--sp-4)}.agenda-row{display:grid;grid-template-columns:54px 1px minmax(230px,1.4fr) minmax(110px,.55fr) minmax(115px,.5fr) 30px;grid-gap:var(--sp-4);gap:var(--sp-4);align-items:center;min-height:86px;-webkit-padding-start:var(--sp-2);padding-inline-start:var(--sp-2);border-bottom:1px solid var(--line);-webkit-border-start:3px solid transparent;border-inline-start:3px solid transparent;transition:background-color var(--t-fast) ease}.agenda-row:hover{background:var(--paper)}.agenda-row.status-CONFIRMED{border-inline-start-color:var(--success-ink)}.agenda-row.status-COMPLETED{border-inline-start-color:var(--line)}.agenda-row.status-CANCELLED{border-inline-start-color:var(--danger-ink)}.agenda-row.status-NO_SHOW{border-inline-start-color:var(--clay)}.agenda-row.status-EXPIRED{border-inline-start-color:var(--muted)}.agenda-row.status-PENDING_PAYMENT{border-inline-start-color:var(--warn-ink)}.agenda-row.time-passed{opacity:.75}.agenda-row.status-CANCELLED{text-decoration:line-through}.agenda-row time{font-size:var(--fs-md);font-weight:800}.agenda-row-line{width:1px;height:42px;background:var(--line)}.agenda-row-main{display:flex;min-width:0;align-items:center;gap:11px}.service-icon{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green)}.agenda-row-main>div,.agenda-row-pay,.agenda-row-pro{display:grid;min-width:0;grid-gap:5px;gap:5px}.agenda-row-main strong,.agenda-row-main>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-row-main strong,.agenda-row-pay strong,.agenda-row-pro strong{font-size:var(--fs-sm)}.agenda-row-main>div>span,.agenda-row-pro span{color:var(--muted);font-size:var(--fs-micro)}.pill{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:var(--sp-1);padding:4px 7px;border-radius:var(--r-sm);font-size:var(--fs-micro);font-weight:800;letter-spacing:.02em;text-transform:uppercase}.pill.paid{background:var(--success-bg);color:var(--success-ink)}.pill.deposit{background:var(--warn-bg);color:var(--warn-ink)}.pill.unpaid{background:var(--danger-bg);color:var(--danger-ink)}.pill.neutral{background:var(--sand);color:var(--muted)}.row-menu{display:grid;place-items:center;width:30px;height:36px;border:0;background:transparent;color:var(--muted);border-radius:var(--r-sm);pointer-events:none;opacity:.5}.blocked-row{display:grid;grid-template-columns:54px 36px 1fr;grid-gap:var(--sp-4);gap:var(--sp-4);align-items:center;min-height:64px;border-bottom:1px solid var(--line);color:var(--muted)}.blocked-row time{font-size:var(--fs-sm);font-weight:800}.blocked-row>span{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--warn-bg);color:var(--brass)}.blocked-row .blocked-label{background:repeating-linear-gradient(45deg,var(--sand),var(--sand) 4px,var(--paper-2) 4px,var(--paper-2) 8px);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);display:flex;align-items:center;gap:var(--sp-2)}.blocked-row .blocked-remove{display:inline-flex;align-items:center;gap:2px;background:none;border:none;color:var(--brass);cursor:pointer;font-size:var(--fs-sm)}.agenda-now-line{border-top:2px solid var(--brass);position:relative;margin:0}.agenda-now-line:before{content:"";position:absolute;inset-inline-start:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--brass)}.agenda-empty{display:grid;min-height:260px;place-items:center;align-content:center;grid-gap:9px;gap:9px;border-top:1px solid var(--line);color:var(--muted);text-align:center}.agenda-empty strong{color:var(--ink);font-size:var(--fs-base)}.agenda-empty span{font-size:var(--fs-sm)}.menu-pop{position:absolute;z-index:var(--z-overlay);inset-inline-end:0;top:calc(100% + 6px);min-width:200px;padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);box-shadow:var(--shadow-2)}.cal-ctx-menu{inset-inline-end:auto;top:auto}.menu-pop button{display:flex;width:100%;align-items:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-3);border:0;border-radius:var(--r-sm);background:none;color:var(--ink);font-size:var(--fs-md);font-weight:600;cursor:pointer;text-align:start}.menu-pop button:hover{background:var(--green-soft)}@media (max-width:1080px){.day-brief{grid-template-columns:minmax(280px,1.2fr) minmax(210px,.8fr)}.brief-team{grid-column:1/-1}.metric-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-row{grid-template-columns:48px 1px minmax(190px,1fr) minmax(105px,.45fr) 30px}.agenda-row-pro{display:none}}@media (max-width:780px){.page-top h1{font-size:34px}.day-brief{display:flex;gap:8px;margin-inline:-14px;overflow-x:auto;padding:0 14px 3px;scroll-padding-inline:14px;scrollbar-width:none}.day-brief::-webkit-scrollbar{display:none}.day-brief article{flex:0 0 252px;min-height:82px;scroll-snap-align:start}.brief-progress,.brief-team{flex-basis:205px}.metric-tiles{display:flex;gap:8px;margin-inline:-14px;overflow-x:auto;padding:0 14px 3px;scroll-padding-inline:14px;scrollbar-width:none}.metric-tiles::-webkit-scrollbar{display:none}.metric-tiles article{flex:0 0 154px;gap:8px;padding:13px;scroll-snap-align:start}.metric-tiles strong{font-size:23px}.agenda-section{padding:17px 14px}.agenda-section-head h2{font-size:20px}.date-strip{grid-auto-columns:55px;margin-inline:-14px;padding-inline:14px;scroll-padding-inline:14px}.agenda-row{grid-template-columns:48px minmax(0,1fr) auto;gap:10px;min-height:84px;padding-block:10px}.agenda-row-line,.agenda-row-pro,.row-menu{display:none}.agenda-row-pay{justify-items:end}.agenda-row-main>div>span{max-width:135px}}@media (max-width:360px){.metric-tiles article>span{font-size:var(--fs-micro)}.metric-tiles strong{font-size:20px}.agenda-row{grid-template-columns:42px minmax(0,1fr)}.agenda-row-pay{grid-column:2;justify-items:start}}.seg{gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper-2)}.seg,.seg button{display:inline-flex}.seg button{align-items:center;gap:6px;min-height:32px;padding:0 var(--sp-3);border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font-size:var(--fs-sm);font-weight:700;cursor:pointer;transition:background-color var(--t-fast) ease,color var(--t-fast) ease}.seg button[aria-pressed=true]{background:var(--green);color:var(--on-green)}.cal{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2)}.cal-scroll{overflow:auto;max-height:calc(100dvh - 240px);min-height:360px}.cal-head{display:grid;grid-template-columns:56px repeat(var(--cols),minmax(180px,1fr));position:-webkit-sticky;position:sticky;top:0;z-index:4;background:var(--paper-2);border-bottom:1px solid var(--line)}.cal-corner{-webkit-border-end:1px solid var(--line-soft);border-inline-end:1px solid var(--line-soft)}.cal-pro{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:64px;width:100%;border:0;-webkit-border-start:1px solid var(--line-soft);border-inline-start:1px solid var(--line-soft);background:transparent;font-size:var(--fs-sm);font-weight:700;cursor:default}.cal-pro i{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:var(--fs-micro);font-style:normal;font-weight:800}.cal-body{display:grid;grid-template-columns:56px repeat(var(--cols),minmax(180px,1fr));min-height:420px}.cal-body,.cal-gutter{position:relative}.cal-gutter span{position:absolute;inset-inline-end:var(--sp-2);transform:translateY(-50%);color:var(--muted);font-size:var(--fs-micro);font-weight:700}.cal-col{position:relative;-webkit-border-start:1px solid var(--line-soft);border-inline-start:1px solid var(--line-soft);background:repeating-linear-gradient(to bottom,var(--line-soft) 0 1px,transparent 1px var(--hour-h))}.cal-block{position:absolute;inset-inline:4px;overflow:hidden;padding:5px var(--sp-2);border:0;-webkit-border-start:3px solid var(--success-ink);border-inline-start:3px solid var(--success-ink);border-radius:var(--r-sm);background:var(--green-soft);color:var(--ink);cursor:pointer;text-align:start;transition:box-shadow var(--t-fast) ease}.cal-block:hover{box-shadow:var(--shadow-2);z-index:2}.cal-block time{display:block;font-size:var(--fs-micro);font-weight:800}.cal-block strong{font-size:var(--fs-sm);font-weight:650}.cal-block span,.cal-block strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-block span{color:var(--muted);font-size:var(--fs-micro)}.cal-block em{position:absolute;top:6px;inset-inline-end:6px;width:8px;height:8px;border-radius:50%}.cal-block em.paid{background:var(--success-ink)}.cal-block em.deposit{background:var(--brass)}.cal-block em.unpaid{background:var(--danger-ink)}.cal-block.status-CANCELLED,.cal-block.status-NO_SHOW{border-inline-start-color:var(--danger-ink);background:var(--danger-bg)}.cal-block.status-COMPLETED{border-inline-start-color:var(--line);background:var(--sand);color:var(--muted)}.cal-closure{position:absolute;inset-inline:4px;display:grid;place-items:center;border:0;border-radius:var(--r-sm);background:repeating-linear-gradient(45deg,var(--sand) 0 6px,var(--paper) 6px 12px);color:var(--muted);font-size:var(--fs-micro);font-weight:700;font-family:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;padding:2px 6px}.cal-closure.dragging{z-index:5;box-shadow:var(--shadow-2);opacity:.85}.cal-handle{position:absolute;bottom:2px;inset-inline:0;display:grid;place-items:center;height:14px;cursor:ns-resize;touch-action:none}@media (max-width:767px){.cal-block>.cal-handle,.cal-closure>.cal-handle{display:none}}.cal-ghost-handle{pointer-events:auto;height:34px;align-items:end;padding-bottom:4px}.cal-ghost-handle:before{width:46px;height:5px;opacity:.9}.cal-handle:before{width:28px;height:4px;border-radius:var(--r-pill);background:var(--muted);opacity:.6;content:""}.cal-now{position:absolute;z-index:3;inset-inline:0;height:0;border-top:2px solid var(--brass);pointer-events:none}.cal-now i{top:-4px;inset-inline-start:52px;width:8px;height:8px;border-radius:50%}.cal-now em,.cal-now i{position:absolute;background:var(--brass)}.cal-now em{top:-9px;inset-inline-start:var(--sp-1);padding:1px 5px;border-radius:var(--r-pill);color:var(--on-green);font-size:var(--fs-micro);font-style:normal;font-weight:800}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));grid-gap:var(--sp-2);gap:var(--sp-2)}.slot-chip-skel{height:32px;border-radius:var(--r-sm)}.cal-toggle{display:inline-flex}.cal-view-grid,.cal-view-list{display:block}.page-top-date{font-family:var(--font-body),Inter,sans-serif;font-size:var(--fs-md);font-weight:500;color:var(--muted)}.cal-rail{display:flex;align-items:stretch;margin:0 0 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);box-shadow:var(--shadow-1);overflow:hidden}.cal-rail-seg{display:flex;align-items:center;gap:12px;padding:12px 20px;min-width:0}.cal-rail-seg+.cal-rail-seg{-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line)}.cal-rail-live{flex:0 1 auto;min-width:230px;-webkit-border-start:3px solid var(--brass);border-inline-start:3px solid var(--brass)}.cal-rail-live-body{min-width:0}.cal-rail-live .brief-arrow{-webkit-margin-start:auto;margin-inline-start:auto}.cal-rail-ico{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--warn-bg);color:var(--warn-ink)}.cal-rail-seg small{display:flex;align-items:center;gap:4px;margin-bottom:3px;color:var(--muted);font-size:var(--fs-micro);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cal-rail-strong{font-size:var(--fs-sm);font-weight:700}.cal-rail-strong,.cal-rail-sub{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cal-rail-sub{color:var(--muted);font-size:var(--fs-micro)}.cal-rail-nums{gap:26px}.cal-rail-num{display:grid;grid-gap:1px;gap:1px}.cal-rail-num strong{font-family:var(--font-display),Georgia,serif;font-size:var(--fs-num);line-height:1}.cal-rail-team .mini-avatars{flex:0 0 auto}.cal-rail-fill{flex:1 1 auto}@media (max-width:1080px){.cal-rail{flex-wrap:wrap}.cal-rail-live{flex-basis:100%}}@media (min-width:768px){.cal-content{display:flex;flex-direction:column;height:100dvh;max-width:none;padding-block:34px 14px;overflow:hidden}.cal-content>.cal-rail,.cal-content>.page-top{flex:0 0 auto}.cal-content>.cal-view-grid{display:flex;flex:1 1;min-height:0}.cal-content>.cal-view-grid>.cal{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.cal-content .cal-scroll{flex:1 1 auto;min-height:0;max-height:none}.cal-content .cal-body,.cal-content .cal-head{grid-template-columns:56px repeat(var(--cols),minmax(220px,1fr))}}@media (max-width:767px){.cal-body,.cal-head{grid-template-columns:40px repeat(var(--cols),minmax(calc((100vw - 40px) / 2),1fr))}.cal-scroll{max-height:calc(100dvh - var(--tab-bar-h, 68px) - 56px);min-height:0}.cal-gutter span{font-size:var(--fs-micro);inset-inline-end:var(--sp-1)}.cal-pro{min-height:56px;font-size:var(--fs-xs)}.cal-pro i{width:28px;height:28px}.cal-block time,.cal-now em{font-size:var(--fs-micro)}.today-mobile-hide{display:none!important}.cal-view-grid{margin-inline:calc(-1 * var(--sp-4))}}.today-datebtn{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;font-family:var(--font-display),Georgia,serif;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer;padding:6px 8px 6px 10px;border-radius:var(--r-sm);white-space:nowrap}.today-datebtn svg{margin-top:1px;color:var(--muted)}.today-datebtn:active{background:var(--sand)}.cal-offhours{inset-inline:0;background:repeating-linear-gradient(45deg,var(--line-soft) 0 4px,transparent 4px 10px)}.cal-ghost,.cal-offhours{position:absolute;pointer-events:none}.cal-ghost{inset-inline:4px;display:grid;place-items:center;grid-gap:2px;gap:2px;border:2px dashed var(--green);border-radius:var(--r-sm);background:var(--green-soft);color:var(--green);opacity:.9;z-index:3;transition:top .15s ease,height .15s ease;font-size:var(--fs-xs);font-weight:700}.cal-ghost.placing{transition:top .05s linear}.cal-hover-cell{position:absolute;inset-inline:4px;height:16px;background:var(--green-soft);opacity:.5;border-radius:var(--r-sm);pointer-events:none;z-index:1}@media (pointer:coarse){.cal-hover-cell{display:none}}.cal-block.dragging{box-shadow:var(--shadow-3);opacity:.85;transform:scale(1.02);z-index:5}.cal-drag-ghost{position:absolute;inset-inline:4px;display:grid;place-items:center;border:2px solid var(--green);border-radius:var(--r-sm);background:var(--green-soft);color:var(--green);opacity:.8;pointer-events:none;z-index:5;font-size:var(--fs-xs);font-weight:700;transition:top .05s linear}.cal-drag-ghost.invalid{border-color:var(--muted);background:var(--paper);color:var(--muted);opacity:.5;cursor:not-allowed}.cal-drag-ghost.valid{border-style:solid}.cal-no-targets{position:absolute;inset-inline:0;top:50%;transform:translateY(-50%);text-align:center;padding:var(--sp-2) var(--sp-3);background:var(--paper);border:1px solid var(--muted);border-radius:var(--r-md);color:var(--ink);font-size:var(--fs-sm);z-index:10;pointer-events:none}.booking-detail-sheet{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.slot-chips{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.slot-chips .chip{padding:var(--sp-1) var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);font-size:var(--fs-sm);cursor:pointer}.slot-chips .chip.active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.sheet-loading{text-align:center;padding:var(--sp-4)}.booking-detail-sheet h3{margin:0;font-family:var(--font-display),Georgia,serif;font-size:var(--fs-xl);font-weight:400}.booking-detail-row{display:flex;justify-content:space-between;padding:var(--sp-2) 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-base);gap:var(--sp-2)}.booking-detail-row .label{color:var(--muted)}.booking-detail-row .value{font-weight:500}.booking-detail-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-4)}.booking-detail-actions .btn{flex:1 1;min-width:100px}.booking-link{display:inline-flex;align-items:center;gap:var(--sp-1);-webkit-margin-start:var(--sp-2);margin-inline-start:var(--sp-2);font-size:var(--fs-md);color:var(--green);text-decoration:none}.booking-link:hover{text-decoration:underline}.cancel-reason{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);margin-top:var(--sp-3)}.cancel-reason-hint{margin:0;font-size:var(--fs-md);color:var(--muted)}.cancel-reason-input{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-base);box-sizing:border-box;background:var(--paper-2);color:var(--ink)}.cancel-reason-input:focus{border-color:var(--brass)}.cancel-reason-actions{display:flex;gap:var(--sp-2)}.cancel-reason-actions .btn{flex:1 1}.booking-status-badge{display:inline-block;padding:2px var(--sp-2);border-radius:var(--sp-3);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase}.booking-status-badge.CONFIRMED{background:var(--success-bg);color:var(--success-ink)}.booking-status-badge.PENDING_PAYMENT{background:var(--warn-bg);color:var(--warn-ink)}.booking-status-badge.COMPLETED{background:var(--sand);color:var(--muted)}.booking-status-badge.CANCELLED,.booking-status-badge.NO_SHOW{background:var(--danger-bg);color:var(--danger-ink)}.booking-status-badge.EXPIRED{background:var(--sand);color:var(--muted)}.booking-card-expired{opacity:.5}.bookings-filters{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap}.bookings-filters input,.bookings-filters select{padding:var(--sp-1) var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-md);background:var(--paper-2)}.bookings-filters input{flex:1 1;min-width:120px}.block-form,.walkin-form{background:var(--paper-2);border-radius:var(--r-lg);padding:0;margin-bottom:0}.walkin-slot-error{color:var(--danger-ink);font-size:var(--fs-md);margin:0 0 var(--sp-2)}.block-range{display:flex;gap:var(--sp-2);align-items:center}.block-range-end{flex:1 1}.block-range-label{font-size:var(--fs-sm);color:var(--muted);display:block;margin-bottom:2px}.block-range-sep{color:var(--muted);margin-top:var(--sp-4)}.checklist-ok{color:var(--success-ink)}.checklist-bad{color:var(--danger-ink)}.root-loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--paper);color:var(--green)}.payouts-action{margin-bottom:var(--sp-2)}.wizard-error-text{color:var(--danger-ink);font-size:var(--fs-md);margin-top:var(--sp-3)}.salon-checklist-label{display:flex;align-items:center;gap:var(--sp-2)}.salon-checklist-detail{margin-top:var(--sp-1)}input[type=checkbox],input[type=date],input[type=radio],input[type=time]{accent-color:var(--green)}.section-label{margin:var(--sp-4) 0 var(--sp-2)}.perm-note{gap:var(--sp-2);color:var(--muted);font-size:var(--fs-md);padding:var(--sp-3) 0}.perm-note,.select-wrap{display:flex;align-items:center}.select-wrap{position:relative}.select-wrap select{-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-padding-end:32px;padding-inline-end:32px;width:100%}.select-wrap .chev{position:absolute;inset-inline-end:8px;pointer-events:none;color:var(--muted);display:flex}.filters-bar{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.filters-bar>*{min-width:150px;flex:1 1 150px}.filters-bar .form-group{margin:0}.filters-bar .seg{flex:0 0 auto}.sheet-actions{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);margin-bottom:var(--sp-3)}.sheet-actions .btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--sp-2) var(--sp-1)}.sheet-actions .btn span{font-size:var(--fs-micro)}.sheet-group{margin-bottom:var(--sp-3)}.sheet-group-label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--brass);font-weight:600;margin-bottom:var(--sp-1)}.sheet-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-2);padding:4px 0}.sheet-row .label{font-size:var(--fs-sm);color:var(--muted);flex-shrink:0}.sheet-row .value{font-size:var(--fs-base);color:var(--ink);text-align:inline-end}.sheet-row .value .micro{font-size:var(--fs-micro);color:var(--muted)}.sheet-footer{position:-webkit-sticky;position:sticky;bottom:0;background:var(--paper-2);padding-top:var(--sp-3);border-top:1px solid var(--line);display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.sheet-footer .btn{flex:1 1}.checklist-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line)}.checklist-item .check-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checklist-item.ok .check-icon{background:var(--success-ink);color:var(--on-green)}.checklist-item.fail .check-icon{background:var(--danger-ink);color:var(--on-green)}.checklist-item .checklist-detail{flex:1 1;font-size:var(--fs-sm);color:var(--ink)}.checklist-item .checklist-fix{flex-shrink:0}.publish-card{background:var(--paper-2);-webkit-border-start:3px solid var(--brass);border-inline-start:3px solid var(--brass);border-radius:var(--radius);padding:var(--sp-3);margin-bottom:var(--sp-3)}.publish-card h2{font-family:var(--font-display),Georgia,serif;font-size:var(--fs-h2);font-weight:600;margin:0 0 var(--sp-1)}.publish-card p{font-size:var(--fs-sm);color:var(--muted);margin:0 0 var(--sp-2)}.publish-card .btn{display:inline-flex}.danger-zone{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line)}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--sp-2);gap:var(--sp-2);margin-bottom:var(--sp-3)}.team-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-1)}.team-card.pending{opacity:.6}.team-card-head{gap:var(--sp-2)}.team-avatar,.team-card-head{display:flex;align-items:center}.team-avatar{width:40px;height:40px;border-radius:50%;background:var(--green-soft);color:var(--green);justify-content:center;font-weight:600;font-size:var(--fs-sm);flex-shrink:0}.team-card-info{flex:1 1;min-width:0}.team-card-info strong{font-size:var(--fs-sm)}.team-card-info span,.team-card-info strong{display:block;overflow:hidden;text-overflow:ellipsis}.team-card-info span{font-size:var(--fs-micro);color:var(--muted)}.team-card .pill{align-self:flex-end}.payout-hero{background:var(--green);color:var(--on-green);border-radius:var(--radius);padding:var(--sp-3);margin-bottom:var(--sp-3)}.payout-hero .amount{font-family:var(--font-display),Georgia,serif;font-size:34px;font-weight:600;line-height:1.1}.payout-hero .label{font-size:var(--fs-micro);color:var(--on-green-muted);margin-top:2px}.payout-hero.state{display:flex;align-items:center;gap:var(--sp-2)}.payout-hero.state .amount{font-size:var(--fs-h2)}.settings-section{margin-bottom:var(--sp-4)}.settings-section-label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--brass);font-weight:600;margin-bottom:var(--sp-2)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--sp-1)}.settings-row .label{font-size:var(--fs-sm);color:var(--ink)}.settings-row .value{font-size:var(--fs-sm);color:var(--muted)}.settings-link-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--sp-1);text-decoration:none;color:var(--ink);font-size:var(--fs-sm)}.settings-link-row:hover{background:var(--paper-2)}.settings-link-row .chev{color:var(--muted)}[dir=rtl] .settings-link-row .chev{transform:scaleX(-1)}.wizard-step-counter{font-size:var(--fs-micro);color:var(--muted);text-align:center;margin-bottom:var(--sp-1)}.wizard-success .success-icon{color:var(--success-ink)}.wizard-success h2{font-family:var(--font-display),Georgia,serif;font-size:var(--fs-h2);font-weight:600}.svc-group-header{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--brass);font-weight:600;margin:var(--sp-3) 0 var(--sp-1)}.svc-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--sp-1)}.svc-row .svc-name{font-size:var(--fs-base);font-weight:500;flex:1 1}.svc-row .svc-dur{font-size:var(--fs-micro);color:var(--muted)}.svc-row .svc-price{font-size:var(--fs-base);font-weight:600;-webkit-margin-start:auto;margin-inline-start:auto}.svc-row .svc-home{color:var(--muted);display:flex;align-items:center;gap:4px}.wizard-service-row{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-2);margin-bottom:var(--sp-1)}.wizard-service-row.selected{border-color:var(--brass)}.wizard-service-row .name-ar,.wizard-service-row .name-en{border:1px solid var(--line);background:var(--paper-2);border-radius:4px;padding:4px 8px;font-size:var(--fs-sm);width:100%}.wizard-service-row .name-en{font-weight:500}.wizard-service-row .name-ar{color:var(--muted);font-size:var(--fs-micro);margin-top:4px}.wizard-service-row .price-row{display:grid;grid-template-columns:auto 60px auto 60px auto 60px;grid-gap:var(--sp-1);gap:var(--sp-1);align-items:center;margin-top:var(--sp-1);font-size:var(--fs-micro);color:var(--muted)}.wizard-service-row .price-row input{width:100%}.wizard-service-row .home-visit-label{font-size:var(--fs-micro);display:flex;gap:4px;align-items:center;margin-top:var(--sp-1)}.closed-toggle{background:none;border:none;color:var(--muted);font-size:var(--fs-micro);cursor:pointer;padding:2px 6px;border-radius:4px}.closed-toggle:hover{background:var(--paper-2);color:var(--ink)}.skel-w30{width:30%;height:12px}.skel-w62{width:62%;height:12px}.skel-w44{width:44%;height:12px}.slot-grid-conflict{margin-top:var(--sp-2)}.form-error{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);background:var(--danger-soft);color:var(--danger-ink);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);font-size:var(--fs-sm)}.form-error button{background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.payout-status-box{margin-bottom:var(--sp-2);padding:var(--sp-2);border-radius:var(--radius);background:var(--sand);font-size:var(--fs-sm)}.payout-skip-hint{margin-top:var(--sp-2)}@media (max-width:767px){.sheet-actions{grid-template-columns:repeat(3,1fr)}.team-grid{grid-template-columns:1fr}.wizard-service-row .price-row{grid-template-columns:auto 50px auto 50px auto 50px}}.cal-toast{position:fixed;top:calc(var(--sp-4) + env(safe-area-inset-top));inset-inline:0;margin-inline:auto;width:-moz-fit-content;width:fit-content;max-width:min(90vw,480px);z-index:var(--z-modal);display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--danger-ink);color:#fff;font-size:var(--fs-sm);box-shadow:var(--shadow-3);animation:cal-toast-in .2s ease}.cal-toast button{display:grid;place-items:center;border:0;background:transparent;color:#fff;cursor:pointer;opacity:.85}@keyframes cal-toast-in{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:reduce){.cal-toast{animation:none}}.cal-block.moving,.cal-closure.moving{opacity:.35;pointer-events:none;cursor:-webkit-grabbing;cursor:grabbing}.cal-move-ghost{position:absolute;inset-inline:4px;z-index:8;overflow:hidden;padding:4px var(--sp-2);border:2px solid var(--green);border-radius:var(--r-sm);background:var(--green-soft);color:var(--ink);box-shadow:var(--shadow-2);pointer-events:none}.cal-move-ghost time{display:block;font-size:var(--fs-micro);font-weight:800}.cal-move-ghost strong{font-size:var(--fs-sm);font-weight:650}.cal-move-ghost span,.cal-move-ghost strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-move-ghost span{color:var(--muted);font-size:var(--fs-micro)}.cal-move-ghost.closure{border-color:var(--muted);color:var(--muted);background:repeating-linear-gradient(45deg,var(--sand) 0 6px,var(--paper) 6px 12px)}.cal-move-bar{position:fixed;inset-inline:0;bottom:0;z-index:var(--z-modal);box-sizing:border-box;min-height:calc(var(--tab-bar-h) + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));background:var(--paper-2);border-top:1px solid var(--line);box-shadow:var(--shadow-3)}.cal-move-bar-label{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}.cal-move-bar-actions{display:flex;gap:var(--sp-2)}body.cal-move-active .partner-tabs{display:none!important}.cal-block,.cal-closure,.cal-col,.cal-drag-ghost,.cal-ghost,.cal-handle,.cal-pro{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.month-overlay{position:fixed;inset:0;z-index:calc(var(--z-modal) + 10);display:flex;flex-direction:column;background:var(--paper)}.month-overlay-head{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--sp-3) + env(safe-area-inset-top)) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line);background:var(--paper-2)}.month-overlay-head strong{font-size:var(--fs-md);font-weight:800;color:var(--ink)}.month-overlay-scroll{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp-4) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom))}.month-block{margin-bottom:var(--sp-6)}.month-block h3{margin:0 0 var(--sp-2);font-family:var(--font-display),Georgia,serif;font-size:var(--fs-lg);font-weight:800;color:var(--ink)}.month-days,.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.month-weekdays{margin-bottom:6px}.month-weekdays span{text-align:center;font-size:var(--fs-micro);font-weight:700;color:var(--muted);text-transform:uppercase}.month-blank,.month-day{aspect-ratio:1/1}.month-day{display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.month-day.today{box-shadow:inset 0 0 0 1.5px var(--brass)}.month-day.selected{background:var(--green);color:#fff;font-weight:800}.month-day:active{background:var(--sand)}.month-day.selected:active{background:var(--green)}.date-nav{display:inline-flex;align-items:center;gap:var(--sp-1)}.date-nav-center{position:relative}.date-nav-btn{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);color:var(--ink);font-family:inherit;font-size:var(--fs-sm);font-weight:700;white-space:nowrap;cursor:pointer;transition:border-color var(--t-fast) ease,background-color var(--t-fast) ease}.date-nav-btn:hover{border-color:var(--muted);background:var(--paper)}.date-nav-btn>svg:first-child{color:var(--brass)}.datepop{position:absolute;z-index:var(--z-overlay);top:calc(100% + var(--sp-2));inset-inline-end:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper-2);box-shadow:var(--shadow-3)}.datepop-nav{position:absolute;inset-inline:var(--sp-4);top:var(--sp-4);display:flex;justify-content:space-between;pointer-events:none}.datepop-arrow{width:32px;height:32px;pointer-events:auto}.datepop-months{display:flex;gap:var(--sp-5)}.datepop-month{width:236px}.datepop-month h3{margin:0 0 var(--sp-2);text-align:center;font-family:var(--font-display),Georgia,serif;font-size:var(--fs-md);font-weight:800;color:var(--ink)}.datepop .month-day{font-size:var(--fs-sm);font-weight:600}.datepop .month-day:hover{background:var(--green-soft)}.datepop .month-day.today{color:var(--ink)}.datepop .month-day.selected,.datepop .month-day.selected:hover{background:var(--green);color:#fff}.apt-backdrop{position:fixed;inset:0;z-index:calc(var(--z-modal) + 9);background:rgba(0,0,0,.45)}.apt-wizard{position:fixed;inset:0;z-index:calc(var(--z-modal) + 10);display:flex;flex-direction:column;background:var(--paper)}.apt-head{display:flex;align-items:center;gap:var(--sp-2);padding:calc(var(--sp-3) + env(safe-area-inset-top)) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line);background:var(--paper-2)}.apt-head strong{flex:1 1;font-size:var(--fs-md);font-weight:800;color:var(--ink);text-align:center}.apt-head-spacer{width:20px;flex:0 0 auto}.apt-back,.apt-close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink);cursor:pointer}.apt-back:hover,.apt-close:hover{background:var(--sand)}.apt-back:focus-visible,.apt-close:focus-visible{outline:2px solid var(--brass);outline-offset:1px}.apt-scroll{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp-4) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom))}.apt-step-body{display:flex;flex-direction:column;gap:var(--sp-3)}.apt-placeholder{margin:0;padding:var(--sp-6) var(--sp-4);text-align:center;font-size:var(--fs-sm);color:var(--ink-2);background:var(--paper-2);border-radius:var(--r-md)}.apt-step-selected{margin:0;font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.apt-step-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}.apt-step-list li{font-size:var(--fs-sm);color:var(--ink);padding:var(--sp-2) var(--sp-3);background:var(--paper-2);border-radius:var(--r-sm)}.apt-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));background:var(--paper-2);border-top:1px solid var(--line);box-shadow:var(--shadow-3)}.apt-footer-primary{flex:1 1}.apt-discard-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);padding:var(--sp-4)}.apt-discard-card{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--shadow-4);padding:var(--sp-5) var(--sp-4);max-width:320px;width:100%;text-align:center}.apt-discard-card p{margin:0 0 var(--sp-4);font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.apt-discard-actions{display:flex;gap:var(--sp-2);justify-content:center}.apt-discard-actions .btn{flex:1 1}@media (min-width:768px){.apt-backdrop{background:rgba(0,0,0,.5)}.apt-wizard{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(560px,100%);max-height:calc(100dvh - 64px);border-radius:var(--r-lg);box-shadow:var(--shadow-4);overflow:hidden}.apt-footer{position:-webkit-sticky;position:sticky}.apt-footer-primary{flex:0 0 auto;min-width:120px}}.apt-step-heading{margin:0 0 var(--sp-3);font-family:var(--font-display),Georgia,serif;font-size:var(--fs-lg);font-weight:800;color:var(--ink)}.apt-client-search{position:relative;display:flex;align-items:center;margin-bottom:var(--sp-3)}.apt-client-search-icon{position:absolute;inset-inline-start:var(--sp-3);color:var(--ink-2);pointer-events:none}.apt-client-search-input{width:100%;min-height:48px;padding:0 var(--sp-3) 0 calc(var(--sp-3) + 24px);border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-lg);background:var(--paper-2);color:var(--ink);font-family:inherit}[dir=rtl] .apt-client-search-input{padding:0 calc(var(--sp-3) + 24px) 0 var(--sp-3)}.apt-client-search-input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.apt-client-actions{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4)}.apt-client-action{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);min-height:72px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);color:var(--ink);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.apt-client-action:hover{background:var(--sand);border-color:var(--brass)}.apt-client-action:focus-visible{outline:2px solid var(--brass);outline-offset:1px}.apt-client-action:active{background:var(--sand)}.apt-sep{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-2) 0 var(--sp-3);color:var(--ink-2);font-size:var(--fs-sm)}.apt-sep:after,.apt-sep:before{content:"";flex:1 1;height:1px;background:var(--line)}.apt-client-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-1)}.apt-client-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ink);cursor:pointer;text-align:start;transition:background .15s,border-color .15s}.apt-client-row:hover{background:var(--paper-2)}.apt-client-row:focus-visible{outline:2px solid var(--brass);outline-offset:-1px}.apt-client-row[aria-selected=true]{background:var(--green-soft);border-color:var(--green)}.apt-avatar{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:var(--fs-micro);font-weight:800;font-style:normal}.apt-client-info{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.apt-client-info strong{font-size:var(--fs-sm);font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apt-client-phone{font-size:var(--fs-sm);color:var(--ink-2)}.apt-client-check{flex:0 0 auto;color:var(--green)}.apt-client-empty{margin:0;padding:var(--sp-4);text-align:center;font-size:var(--fs-sm);color:var(--ink-2)}.apt-client-add-form{display:flex;flex-direction:column;margin-bottom:var(--sp-3)}.apt-client-add-form .form-group{margin-bottom:var(--sp-2)}.apt-client-add-form .form-group input{min-height:44px;font-size:var(--fs-md)}.apt-client-form-error{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--danger-ink)}.apt-client-add-actions{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-1)}.apt-client-add-actions .btn{flex:0 0 auto}@media (min-width:768px){.apt-client-actions{flex-direction:row}.apt-client-action{flex-direction:row;min-height:56px}}.apt-svc-picker{display:flex;flex-direction:column}.apt-svc-group{margin-bottom:var(--sp-4)}.apt-svc-group-header{margin:0 0 var(--sp-2);font-size:var(--fs-sm);font-weight:800;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.apt-svc-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);width:100%;padding:var(--sp-3);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ink);cursor:pointer;text-align:start;transition:background .15s,border-color .15s}.apt-svc-row:hover{background:var(--paper-2)}.apt-svc-row:focus-visible{outline:2px solid var(--brass);outline-offset:-1px}.apt-svc-row:active{background:var(--sand)}.apt-svc-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.apt-svc-main strong{font-size:var(--fs-md);font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apt-svc-duration{font-size:var(--fs-sm);color:var(--ink-2)}.apt-svc-price{flex:0 0 auto;font-size:var(--fs-md);font-weight:700;color:var(--ink);text-align:end}.apt-review-step{display:flex;flex-direction:column;gap:var(--sp-2);padding-bottom:80px}.apt-review-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);cursor:pointer;text-align:start;transition:background .15s,border-color .15s}.apt-review-row:hover{background:var(--paper-2)}.apt-review-row:focus-visible{outline:2px solid var(--brass);outline-offset:-1px}.apt-review-row-icon{display:flex;align-items:center;justify-content:center;color:var(--ink-2);flex:0 0 auto}.apt-review-row-label{font-size:var(--fs-sm);color:var(--ink-2);flex:0 0 auto}.apt-review-row-value{flex:1 1;font-size:var(--fs-md);font-weight:600;color:var(--ink);text-align:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apt-review-row-chevron{color:var(--ink-2);flex:0 0 auto}.apt-review-client{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--paper-2)}.apt-review-client-info{display:flex;flex-direction:column;gap:2px}.apt-review-client-info strong{font-size:var(--fs-md);color:var(--ink)}.apt-review-client-phone{font-size:var(--fs-sm);color:var(--ink-2)}.apt-review-client-walkin{display:flex;align-items:center;gap:var(--sp-2)}.apt-review-link{background:none;border:none;color:var(--green);font-size:var(--fs-sm);cursor:pointer;text-decoration:underline;padding:0}.apt-review-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.apt-review-services{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2)}.apt-review-svc{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper)}.apt-review-svc-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.apt-review-svc-head strong{font-size:var(--fs-md);color:var(--ink)}.apt-review-svc-remove{flex:0 0 auto;color:var(--ink-2)}.apt-review-svc-remove:hover{color:var(--danger)}.apt-review-svc-time{font-size:var(--fs-sm);color:var(--ink-2)}.apt-review-svc-pro{display:flex;align-items:center;gap:var(--sp-2)}.apt-review-svc-pro-label{font-size:var(--fs-sm);color:var(--ink-2);flex:0 0 auto}.apt-review-svc-pro-select{flex:1 1;min-height:32px}.apt-review-svc-price{font-size:var(--fs-md);font-weight:700;color:var(--ink);text-align:end}.apt-warn{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);background:var(--danger-soft,rgba(220,38,38,.08));color:var(--danger)}.apt-review-add-svc,.apt-warn{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm)}.apt-review-add-svc{justify-content:center;width:100%;padding:var(--sp-2) var(--sp-3);border:1px dashed var(--line);border-radius:var(--r-sm);color:var(--green)}.apt-review-notes{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:var(--sp-2)}.apt-review-notes-input{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-size:var(--fs-sm);font-family:inherit;resize:vertical}.apt-review-notes-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.apt-review-total{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3);border-top:1px solid var(--line);margin-top:var(--sp-2)}.apt-review-total strong{font-size:var(--fs-lg);color:var(--ink)}.apt-review-save-bar{position:-webkit-sticky;position:sticky;bottom:0;left:0;right:0;padding:var(--sp-3);background:var(--paper);border-top:1px solid var(--line);z-index:2}.apt-review-save-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--sp-1);min-height:48px}.apt-review-save-btn:disabled{opacity:.6;cursor:not-allowed}.apt-review-month-scroll{max-height:400px;overflow-y:auto;padding:var(--sp-2)}.apt-review-month{margin-bottom:var(--sp-3)}.apt-review-month-label{font-size:var(--fs-sm);font-weight:700;color:var(--ink-2);margin-bottom:var(--sp-1)}.apt-review-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.apt-review-day-empty{min-height:32px}.apt-review-day{min-height:32px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ink);font-size:var(--fs-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.apt-review-day:hover{background:var(--paper-2)}.apt-review-day:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.apt-review-day-selected{background:var(--green);color:var(--paper);font-weight:700}.apt-review-day-selected:hover{background:var(--green)}.apt-review-time-body{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}.apt-review-time-input{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-lg);text-align:center}.apt-review-time-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.apt-review-repeat-body{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}.apt-review-select{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-size:var(--fs-sm);font-family:inherit;min-height:36px}.apt-review-select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.apt-review-num-input{width:80px;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-size:var(--fs-sm);text-align:center}.apt-review-num-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.apt-review-date-input{padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-size:var(--fs-sm)}.apt-review-date-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-1px}.apt-review-field,.apt-review-repeat-custom{display:flex;align-items:center;gap:var(--sp-2)}.apt-review-field span{font-size:var(--fs-sm);color:var(--ink-2);flex:0 0 auto}.apt-review-repeat-ends{display:flex;flex-direction:column;gap:var(--sp-2)}.apt-review-repeat-after{display:flex;align-items:center;gap:var(--sp-2)}.apt-review-popup-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2)}.clients-filters{align-items:center}.clients-filters .input-wrap{position:relative;display:flex;align-items:center}.clients-filters .input-icon{position:absolute;inset-inline-start:var(--sp-2);color:var(--muted);pointer-events:none}.clients-filters .input{-webkit-padding-start:calc(var(--sp-2) + 20px);padding-inline-start:calc(var(--sp-2) + 20px);width:100%}.clients-archived-toggle{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--muted);cursor:pointer;white-space:nowrap}.clients-archived-toggle input{width:16px;height:16px;cursor:pointer}.page-count{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.clients-list{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:var(--sp-3)}.clients-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);color:var(--ink);cursor:pointer;text-align:start;transition:background .15s,border-color .15s,box-shadow .15s}.clients-row:hover{background:var(--paper-2);border-color:var(--brass)}.clients-row:focus-visible{outline:2px solid var(--brass);outline-offset:1px}.clients-row:active{background:var(--sand)}.clients-row-avatar{width:40px;height:40px;font-size:var(--fs-xs)}.clients-row-main{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.clients-row-name{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clients-row-archived{flex:0 0 auto;font-size:var(--fs-micro)}.clients-row-contact{font-size:var(--fs-sm);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clients-row-stats{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:end}.clients-row-spend,.clients-row-visit{font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}.clients-row-spend{font-weight:600;color:var(--ink)}.clients-empty-search,.clients-load-more{margin-top:var(--sp-3)}@media (max-width:639px){.clients-row{flex-wrap:wrap}.clients-row-stats{flex-direction:row;align-items:center;gap:var(--sp-3);width:100%;-webkit-padding-start:calc(40px + var(--sp-3));padding-inline-start:calc(40px + var(--sp-3));justify-content:flex-start;text-align:start}}@media (min-width:768px){.clients-row{padding:var(--sp-3) var(--sp-4)}.clients-row-avatar{width:44px;height:44px;font-size:var(--fs-sm)}.clients-row-stats{gap:var(--sp-4);flex-direction:row;align-items:center}}@media (min-width:1280px){.clients-row-spend,.clients-row-visit{min-width:120px}}.client-form-backdrop{position:fixed;inset:0;z-index:calc(var(--z-modal) + 10);background:rgba(13,27,23,.52);display:flex;align-items:stretch;justify-content:stretch}.client-form-overlay{flex:1 1;display:flex;flex-direction:column;background:var(--paper);outline:none}.client-form-head{display:flex;align-items:center;gap:var(--sp-2);padding:calc(var(--sp-3) + env(safe-area-inset-top)) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line);background:var(--paper-2)}.client-form-head strong{flex:1 1;font-size:var(--fs-md);font-weight:800;color:var(--ink);text-align:center}.client-form-head-spacer{width:36px;flex:0 0 auto}.client-form-body{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp-4) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom));display:flex;flex-direction:column}.client-form-body .form-group{margin-bottom:var(--sp-3)}.client-form-body .form-group input,.client-form-body .form-group textarea{min-height:44px;font-size:var(--fs-md);width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);color:var(--ink);font-family:inherit}.client-form-body .form-group input:focus,.client-form-body .form-group textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.client-form-body .form-group textarea{resize:vertical;min-height:72px}.client-form-body .form-group label{display:block;margin-bottom:var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.client-form-tags{display:flex;flex-wrap:wrap;gap:var(--sp-1);align-items:center;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);min-height:44px}.client-form-tags:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}.client-form-tag{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm)}.client-form-tag-x{display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--muted);cursor:pointer;padding:0}.client-form-tag-x:hover{color:var(--ink)}.client-form-tag-x:focus-visible{outline:2px solid var(--brass);outline-offset:1px;border-radius:var(--r-sm)}.client-form-tag-input{flex:1 1;min-width:120px;border:none!important;background:transparent!important;box-shadow:none!important;padding:var(--sp-1) var(--sp-2)!important;font-size:var(--fs-sm);color:var(--ink);font-family:inherit}.client-form-tag-input:focus{border:none!important;box-shadow:none!important;outline:none}.client-form-tag-input:disabled{opacity:.5}.client-form-archive{margin-top:var(--sp-3);margin-bottom:var(--sp-2)}@media (min-width:768px){.client-form-backdrop{align-items:center;justify-content:center;padding:18px}.client-form-overlay{flex:0 0 auto;width:min(520px,100%);max-height:calc(100dvh - 36px);border-radius:var(--r-md);box-shadow:var(--shadow-3);overflow:hidden}.client-form-body{padding:var(--sp-5) var(--sp-5) var(--sp-4)}}.client-profile-header{flex-wrap:wrap;justify-content:space-between}.client-profile-head-left,.client-profile-header{display:flex;gap:var(--sp-3);align-items:flex-start}.client-profile-head-left{min-width:0}.client-profile-avatar{width:48px;height:48px;font-size:var(--fs-sm);flex:0 0 auto}.client-profile-name{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.client-profile-contact{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-1)}.client-profile-chip{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-2);text-decoration:none;padding:var(--sp-1) var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);transition:border-color .15s,color .15s}.client-profile-chip:hover{border-color:var(--brass);color:var(--ink)}.client-profile-chip:focus-visible{outline:2px solid var(--brass);outline-offset:1px}.client-profile-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);flex:0 0 auto}.client-profile-summary{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);margin-top:var(--sp-3)}.client-profile-stat{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper)}.client-profile-stat-label{font-size:var(--fs-micro);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.client-profile-stat strong{font-size:var(--fs-md);font-weight:800;color:var(--ink)}.client-profile-aside{margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);display:flex;flex-direction:column;gap:var(--sp-3)}.client-profile-aside-section{display:flex;flex-direction:column;gap:var(--sp-1)}.client-profile-notes{margin:0;font-size:var(--fs-sm);color:var(--ink-2);white-space:pre-wrap;word-break:break-word}.client-profile-tags{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.client-profile-load-more{margin-top:var(--sp-3)}@media (min-width:768px){.client-profile-summary{grid-template-columns:repeat(5,1fr)}.client-profile-actions{flex-wrap:nowrap}}@media (min-width:1280px){.client-profile-stat{min-width:0}}.fd-shell{display:grid;grid-template-columns:320px 1fr 280px;grid-gap:0;gap:0;height:calc(100vh - var(--tab-bar-h, 68px));overflow:hidden}.fd-skip-link{position:absolute;inset-inline-start:-9999px;top:0;z-index:100;padding:8px 16px;background:var(--bg-elevated,#fff);color:var(--text-primary,#111);border-radius:var(--r-sm,6px);box-shadow:var(--shadow-md,0 2px 8px rgba(0,0,0,.15));font-size:14px;font-weight:600}.fd-skip-link:focus{inset-inline-start:8px;top:8px}.fd-context-col,.fd-list-col,.fd-thread-col{display:flex;flex-direction:column;overflow:hidden}.fd-list-col{-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);background:var(--paper-2)}.fd-thread-col{background:var(--paper)}.fd-context-col{-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line);background:var(--paper-2)}.fd-list-pane{height:100%;overflow:hidden}.fd-list-head,.fd-list-pane{display:flex;flex-direction:column}.fd-list-head{padding:var(--sp-3) var(--sp-3) var(--sp-2);border-bottom:1px solid var(--line);gap:var(--sp-2)}.fd-list-head .seg{display:flex;gap:var(--sp-1);background:var(--sand);border-radius:var(--r-pill);padding:2px}.fd-list-head .seg-btn{flex:1 1;border:none;background:transparent;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);font-weight:600;color:var(--muted);border-radius:var(--r-pill);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.fd-list-head .seg-btn:focus-visible,.fd-list-head .seg-btn:hover{color:var(--ink);outline:none}.fd-list-head .seg-btn.active{background:var(--paper-2);color:var(--ink);box-shadow:var(--shadow-1)}.fd-search{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2)}.fd-search svg{color:var(--muted);flex-shrink:0}.fd-search input{border:none;background:transparent;font-size:var(--fs-sm);color:var(--ink);width:100%;outline:none}.fd-list-scroll{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.fd-list-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;border:none;background:transparent;padding:var(--sp-2) var(--sp-3);cursor:pointer;text-align:start;border-bottom:1px solid var(--line-soft);transition:background var(--t-fast)}.fd-list-row:focus-visible,.fd-list-row:hover{background:var(--sand);outline:none}.fd-list-row.active{background:var(--green-soft)}.fd-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:var(--r-pill);background:var(--him);color:var(--on-green);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700}.fd-list-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.fd-list-name{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.fd-list-name,.fd-list-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-list-preview{font-size:var(--fs-xs);color:var(--muted)}.fd-unread .fd-list-preview{color:var(--ink);font-weight:500}.fd-list-meta{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-1)}.fd-list-time{font-size:var(--fs-micro);color:var(--muted)}.fd-unread-dot{width:8px;height:8px;border-radius:var(--r-pill);background:var(--brass)}.fd-thread-pane{display:flex;flex-direction:column;height:100%;overflow:hidden}.fd-thread-empty{align-items:center;justify-content:center}.fd-thread-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);background:var(--paper-2);flex-shrink:0}.fd-back-btn{display:none}.fd-thread-info{flex:1 1;min-width:0;display:flex;flex-direction:column}.fd-thread-name{font-size:var(--fs-base);font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-thread-sub{font-size:var(--fs-xs);color:var(--muted)}.fd-thread-actions{position:relative}.fd-menu{position:absolute;inset-inline-end:0;top:100%;margin-top:var(--sp-1);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);min-width:180px;z-index:var(--z-overlay);padding:var(--sp-1)}.fd-menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;border:none;background:transparent;padding:var(--sp-2) var(--sp-2);font-size:var(--fs-sm);color:var(--ink);cursor:pointer;border-radius:var(--r-sm);text-align:start}.fd-menu-item:focus-visible,.fd-menu-item:hover{background:var(--sand);outline:none}.fd-thread-scroll{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:2px}.fd-msg-runstart{-webkit-margin-before:var(--sp-3);margin-block-start:var(--sp-3)}.fd-day-divider+.fd-msg,.fd-msg:first-child{-webkit-margin-before:0;margin-block-start:0}.fd-msg-out:not(.fd-msg-runend) .fd-bubble{border-end-end-radius:var(--r-sm)}.fd-msg-in:not(.fd-msg-runend) .fd-bubble{border-end-start-radius:var(--r-sm)}.fd-msg-sender{align-self:inherit;margin-inline:var(--sp-2);-webkit-margin-after:2px;margin-block-end:2px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.fd-thread-avatar{display:grid;place-items:center;inline-size:34px;block-size:34px;border-radius:var(--r-pill);background:var(--green-soft);color:var(--green);font-size:var(--fs-sm);font-weight:700;flex-shrink:0}.fd-assign-chip{display:inline-flex;align-items:center;gap:var(--sp-1);-webkit-margin-before:2px;margin-block-start:2px;padding:2px var(--sp-2);border-radius:var(--r-pill);background:var(--info-bg);color:var(--info-ink);font-size:var(--fs-micro);font-weight:600}.fd-thread-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line)}.fd-thread-banner--muted{background:var(--sand);color:var(--muted)}.fd-thread-banner--danger{background:var(--danger-bg);color:var(--danger-ink)}.fd-banner-action{border:none;background:transparent;cursor:pointer;font-size:var(--fs-sm);font-weight:600;color:inherit;text-decoration:underline}.fd-lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--sp-4);background:rgba(9,24,19,.82);cursor:zoom-out}.fd-lightbox-img{max-inline-size:92vw;max-block-size:92vh;border-radius:var(--r-md)}.fd-bubble-image{cursor:zoom-in}.fd-load-older{align-self:center;border:1px solid var(--line);background:var(--paper-2);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-xs);color:var(--muted);border-radius:var(--r-pill);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.fd-load-older:focus-visible,.fd-load-older:hover{background:var(--sand);color:var(--ink);outline:none}.fd-msg{display:flex;flex-direction:column;max-width:75%}.fd-msg-in{align-self:flex-start;align-items:flex-start}.fd-msg-out{align-self:flex-end;align-items:flex-end}.fd-day-divider{display:flex;justify-content:center;-webkit-margin-before:6px;margin-block-start:6px}.fd-day-chip{display:inline-block;padding-block:5px;padding-inline:18px;font-size:var(--fs-xs,11px);font-weight:600;letter-spacing:.02em;color:var(--muted);background:var(--sand);white-space:nowrap;-webkit-clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);filter:drop-shadow(0 1px 2px rgba(13,27,23,.12))}.fd-bubble{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);font-size:var(--fs-base);line-height:1.4;word-break:break-word;display:flex;flex-direction:column;gap:var(--sp-1)}.fd-msg-in .fd-bubble{background:var(--paper-2);border:1px solid var(--line);border-start-start-radius:var(--r-sm);color:var(--ink)}.fd-msg-out .fd-bubble{background:var(--him);color:var(--on-green);border-start-end-radius:var(--r-sm)}.fd-bubble-failed{background:var(--danger-soft)!important;color:var(--danger-ink)!important;border:1px solid var(--danger-ink)!important}.fd-bubble-text{white-space:pre-wrap}.fd-bubble-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;align-self:flex-end;-webkit-margin-before:-3px;margin-block-start:-3px;line-height:1}.fd-bubble-time{font-size:var(--fs-micro);opacity:.6;line-height:1}.fd-msg-status{font-size:var(--fs-micro);color:var(--muted);margin-top:2px}.fd-msg-failed{color:var(--danger-ink);cursor:pointer}.fd-sys-event{align-self:center;max-width:90%;width:100%}.fd-sys-card{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--info-bg);border:1px solid var(--line);border-radius:var(--r-md)}.fd-sys-card-plain{background:var(--sand)}.fd-sys-icon{flex-shrink:0;color:var(--info-ink);display:flex;align-items:center}.fd-sys-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.fd-sys-title{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}.fd-sys-time{font-size:var(--fs-xs);color:var(--muted)}.fd-sys-text{font-size:var(--fs-sm);color:var(--ink)}.fd-sys-link{flex-shrink:0;font-size:var(--fs-xs);font-weight:600;color:var(--info-ink);text-decoration:none;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);transition:background var(--t-fast)}.fd-sys-link:focus-visible,.fd-sys-link:hover{background:var(--green-soft);outline:none}.fd-composer{display:flex;align-items:flex-end;gap:var(--sp-2);border-top:1px solid var(--line);flex-shrink:0}.fd-composer,.fd-composer-input{padding:var(--sp-2) var(--sp-3);background:var(--paper-2)}.fd-composer-input{flex:1 1;border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-base);font-family:inherit;color:var(--ink);resize:none;min-height:40px;max-height:120px;outline:none;transition:border-color var(--t-fast)}.fd-composer-input:focus{border-color:var(--him)}.fd-composer-input:disabled{opacity:.5}.fd-composer-send{flex-shrink:0;width:40px;height:40px;border:none;border-radius:var(--r-md);background:var(--him);color:var(--on-green);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--t-fast),opacity var(--t-fast)}.fd-composer-send:focus-visible:not(:disabled),.fd-composer-send:hover:not(:disabled){background:var(--green-hover);outline:none}.fd-composer-send:disabled{opacity:.4;cursor:not-allowed}.fd-context-placeholder{flex:1 1;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.fd-context-hint{font-size:var(--fs-sm);color:var(--muted);text-align:center}.partner-mobile-head-actions{display:flex;align-items:center;gap:var(--sp-1)}@media (max-width:768px){.fd-shell{grid-template-columns:1fr;height:calc(100vh - var(--tab-bar-h, 68px) - 48px)}.fd-context-col,.fd-mobile-thread .fd-list-col,.fd-thread-col{display:none}.fd-back-btn,.fd-mobile-thread .fd-thread-col{display:flex}.fd-msg{max-width:85%}}@media (min-width:769px) and (max-width:1280px){.fd-shell{grid-template-columns:280px 1fr}.fd-context-col{display:none}}.fd-badge{position:absolute;top:-2px;inset-inline-end:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-pill);background:var(--clay);color:var(--on-green);font-size:var(--fs-micro);font-weight:700;line-height:16px;text-align:center;pointer-events:none}.fd-badge-rail{position:static;display:inline-flex;align-items:center;justify-content:center;-webkit-margin-start:var(--sp-1);margin-inline-start:var(--sp-1)}.fd-head-icon{position:relative}.fd-conn-dot{display:inline-block;width:6px;height:6px;border-radius:var(--r-pill);background:var(--success-ink);-webkit-margin-end:var(--sp-1);margin-inline-end:var(--sp-1)}.fd-conn-dot.connecting{background:var(--warn-ink)}.fd-conn-dot.disconnected{background:var(--danger-ink)}.fd-context-panel{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);height:100%;overflow-y:auto}.fd-context-head{display:flex;align-items:center;gap:var(--sp-2)}.fd-context-avatar{width:40px;height:40px;font-size:var(--fs-sm);flex-shrink:0}.fd-context-head-info{display:flex;flex-direction:column;gap:2px;min-width:0}.fd-context-name{font-weight:600;font-size:var(--fs-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-context-contact{display:flex;flex-direction:column;gap:var(--sp-1)}.fd-context-chip{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--ink);text-decoration:none;padding:var(--sp-1) 0}.fd-context-chip:hover{text-decoration:underline}.fd-context-chip:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:var(--r-sm)}.fd-context-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-2) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fd-context-stat{display:flex;flex-direction:column;gap:2px;text-align:center}.fd-context-stat-label{font-size:var(--fs-micro);color:var(--him);text-transform:uppercase;letter-spacing:.04em}.fd-context-stat strong{font-size:var(--fs-body)}.fd-context-tags{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.fd-context-actions{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-2)}.fd-new-msg-btn{margin:var(--sp-2) var(--sp-3) var(--sp-3);justify-content:center}.fd-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--sp-2)}.fd-picker{background:var(--paper);border-radius:var(--r-md);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.fd-picker-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3);border-bottom:1px solid var(--line)}.fd-picker-title{font-size:var(--fs-body);font-weight:600;margin:0}.fd-picker-search,.fd-picker-title{display:flex;align-items:center;gap:var(--sp-2)}.fd-picker-search{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);color:var(--him)}.fd-picker-search input{flex:1 1;border:none;outline:none;font-size:var(--fs-body);background:transparent;color:var(--ink)}.fd-picker-list{flex:1 1;overflow-y:auto;padding:var(--sp-1) 0}.fd-picker-empty,.fd-picker-loading{display:flex;align-items:center;justify-content:center;padding:var(--sp-4);color:var(--him);font-size:var(--fs-sm)}.fd-picker-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);background:none;border:none;cursor:pointer;text-align:start;transition:background .15s}.fd-picker-row:hover{background:var(--paper-alt)}.fd-picker-row:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.fd-picker-avatar{width:36px;height:36px;font-size:var(--fs-sm);flex-shrink:0}.fd-picker-row-info{display:flex;flex-direction:column;gap:2px;min-width:0}.fd-picker-row-info strong{font-size:var(--fs-body)}.fd-picker-row-info span,.fd-picker-row-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-picker-row-info span{font-size:var(--fs-sm);color:var(--him)}.fd-picker-foot{padding:var(--sp-2) var(--sp-3) var(--sp-3);border-top:1px solid var(--line)}@media (max-width:767px){.fd-context-col{display:none}.fd-picker{max-width:100%;max-height:90vh;border-radius:var(--r-md)}}.fd-deeplink-error{background:var(--danger-bg,#fef2f2);color:var(--danger-ink,#b91c1c);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);text-align:center;border-bottom:1px solid var(--line)}.fd-list-channel{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:10px;font-weight:700;border-radius:var(--r-sm);background:var(--paper-alt);color:var(--him);-webkit-margin-end:var(--sp-1);margin-inline-end:var(--sp-1);flex-shrink:0;vertical-align:middle}.fd-bubble-channel{opacity:.7;-webkit-margin-end:4px;margin-inline-end:4px}.fd-bubble-channel,.fd-tick{display:inline-flex;align-items:center;color:currentColor;vertical-align:middle}.fd-tick{-webkit-margin-start:2px;margin-inline-start:2px;opacity:.65}.fd-tick-read{color:var(--brass);opacity:1}.fd-tick-pending{opacity:.5}.fd-tick-failed{color:var(--danger-ink,#b91c1c);opacity:1}.fd-bubble-images{display:flex;flex-wrap:wrap;gap:4px;-webkit-margin-after:4px;margin-block-end:4px}.fd-bubble-image{max-inline-size:200px;max-block-size:200px;border-radius:8px;object-fit:cover;cursor:pointer}.fd-bubble-caption{display:block;font-size:13px;-webkit-margin-after:2px;margin-block-end:2px}.fd-bubble-docs{display:flex;flex-direction:column;gap:4px;-webkit-margin-after:4px;margin-block-end:4px}.fd-doc-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:rgba(0,0,0,.06);text-decoration:none;color:inherit;font-size:13px;min-block-size:32px}.fd-doc-chip:hover{background:rgba(0,0,0,.1)}.fd-doc-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-inline-size:160px}.fd-doc-size{color:var(--muted-ink,#6b7280);font-size:11px;flex-shrink:0}.fd-bubble-voice{display:flex;align-items:center;gap:8px;padding:4px 0}.fd-voice-play{flex-shrink:0}.fd-voice-duration{font-size:12px;color:var(--muted-ink,#6b7280);flex-shrink:0}.fd-voice-player{inline-size:100%;max-inline-size:240px;block-size:32px}.fd-composer-row{display:flex;align-items:flex-end;gap:6px}.fd-composer-attach{display:flex;align-items:center;justify-content:center;block-size:40px;inline-size:40px;border:none;background:transparent;border-radius:8px;color:var(--muted-ink,#6b7280);cursor:pointer;flex-shrink:0}.fd-composer-attach:focus-visible:not(:disabled),.fd-composer-attach:hover:not(:disabled){background:rgba(0,0,0,.06);color:var(--ink,#111827)}.fd-composer-attach:disabled{opacity:.5;cursor:not-allowed}.fd-composer-pending{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;-webkit-margin-after:6px;margin-block-end:6px;border-radius:8px;background:rgba(0,0,0,.04);font-size:13px}.fd-pending-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-pending-remove{display:flex;align-items:center;justify-content:center;block-size:24px;inline-size:24px;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--muted-ink,#6b7280)}.fd-pending-remove:hover{background:rgba(0,0,0,.1);color:var(--danger-ink,#b91c1c)}.fd-composer-error{display:block;font-size:12px;color:var(--danger-ink,#b91c1c);-webkit-margin-after:4px;margin-block-end:4px}.fd-spinner{animation:fd-spin 1s linear infinite}@keyframes fd-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fd-typing{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted-ink,#6b7280);padding:2px 8px}.fd-typing-dots{display:inline-flex;gap:2px}.fd-typing-dot{inline-size:4px;block-size:4px;border-radius:50%;background:var(--muted-ink,#9ca3af);animation:fd-typing-bounce 1.4s ease-in-out infinite}.fd-typing-dot:nth-child(2){animation-delay:.2s}.fd-typing-dot:nth-child(3){animation-delay:.4s}@keyframes fd-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.fd-composer-canned-wrap{position:relative;flex-shrink:0}.fd-composer-canned-btn{display:flex;align-items:center;justify-content:center;block-size:40px;inline-size:40px;border:none;background:transparent;border-radius:8px;color:var(--muted-ink,#6b7280);cursor:pointer}.fd-composer-canned-btn:focus-visible:not(:disabled),.fd-composer-canned-btn:hover:not(:disabled){background:rgba(0,0,0,.06);color:var(--ink,#111827)}.fd-composer-canned-btn:disabled{opacity:.5;cursor:not-allowed}.fd-canned-menu{position:fixed;inset-inline-start:var(--fd-pop-left,16px);inset-inline-end:auto;inset-block-end:var(--fd-pop-bottom,84px);top:auto;margin:0;z-index:var(--z-modal);min-block-size:8rem;max-block-size:min(18rem,60vh);overflow-y:auto;min-inline-size:16rem;max-inline-size:min(22rem,calc(100vw - 24px))}@media (max-width:768px){.fd-canned-menu{inset-inline:10px;min-inline-size:0;max-inline-size:none;max-block-size:50vh}}.fd-canned-empty{padding:.75rem 1rem;color:var(--muted-ink,#6b7280);font-size:.875rem}.fd-canned-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.fd-canned-label{font-weight:500}.fd-canned-cat{font-size:.75rem;color:var(--muted-ink,#6b7280)}.fd-search-btn{flex-shrink:0}.fd-search-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:flex}.fd-search-panel{background:var(--surface,#fff);display:flex;flex-direction:column;inline-size:100%;block-size:100%}@media (min-width:768px){.fd-search-backdrop{background:rgba(13,27,23,.4);align-items:flex-start;justify-content:center;padding:72px 16px 16px}.fd-search-panel{inline-size:min(560px,100%);block-size:auto;max-block-size:min(70vh,640px);border:1px solid var(--line);border-radius:var(--r-lg,14px);box-shadow:var(--shadow-2);overflow:hidden}}.fd-search-head{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;-webkit-border-after:1px solid var(--border,#e5e7eb);border-block-end:1px solid var(--border,#e5e7eb)}.fd-search-head input{flex:1 1;border:none;outline:none;font-size:1rem;background:transparent}.fd-search-results{flex:1 1;overflow-y:auto;padding:.5rem}.fd-search-row{display:flex;flex-direction:column;gap:.25rem;inline-size:100%;padding:.75rem 1rem;border:none;background:transparent;text-align:start;cursor:pointer;border-radius:8px}.fd-search-row:focus-visible,.fd-search-row:hover{background:rgba(0,0,0,.04)}.fd-search-snippet{font-size:.875rem;color:var(--ink,#111827)}.fd-search-snippet mark{background:rgba(255,213,79,.4);padding:0 2px;border-radius:2px}.fd-search-meta{font-size:.75rem;color:var(--muted-ink,#6b7280)}