:root{--ink:#302345;--muted:#897894;--green:#a132d6;--bg:#faf5ff;--line:#eadcf2}.primary{background:linear-gradient(115deg,#aa2ed6,#da459b);box-shadow:0 4px 12px #ae35c624}.primary:hover{background:linear-gradient(115deg,#9224be,#c53389)}.sidebar{background:#fffafd}.brand-mark{color:#a132d6;letter-spacing:-5px}.brand-mark span{color:#f394bd}.brand b{font-size:25px;white-space:nowrap}.brand b span{font-size:8px;letter-spacing:1px}.workspace-icon{background:#f4d8fa;color:#b330c8}.workspace{border-color:#efdcf5}nav button.active{background:#f4e0fc;color:#9829bd}.mini-note{background:#fff0f7;border-color:#f6dceb}.mini-note>span{color:#e35c9e}.eyebrow{color:#ad61c0}.stat-icon{background:#f4e4fc;color:#a447c9}.stat:nth-child(2) .stat-icon{background:#d9f9ef;color:#04a47b}.stat:nth-child(3) .stat-icon{background:#ffe4ed;color:#df426a}.stat:nth-child(4) .stat-icon{background:#e5ecff;color:#5779db}.calendar-shell{box-shadow:0 5px 24px #9336bd09}.avatar{background:#f5d9f7;color:#9f36a9}.calendar{min-width:0}.calendar-head{height:60px}.staff-head{min-width:0;padding:6px;gap:8px}.staff-head b{white-space:normal;overflow-wrap:anywhere}.staff-avatar{flex-shrink:0}.staff-lane{min-width:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--quarter-height) - 1px),#eadcf2 calc(var(--quarter-height) - 1px),#eadcf2 var(--quarter-height))}.staff-lane:hover{background-color:#fdfaff}.time-label{right:6px;font-size:9px;color:#b09bb8;transform:none;padding-top:3px}.time-label.hour-mark{color:#71498a;font-weight:700}.appointment{padding:5px 6px;border-left:3px solid var(--accent);border-top:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;border-radius:5px;background:var(--tint);color:#40244d;right:auto;min-width:0;overflow:hidden}.appointment strong{font-size:12px;line-height:15px;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:none}.appointment .app-service{font-size:10px;line-height:12px;max-width:100%;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px}.appointment .app-time{font-size:9px;line-height:11px;margin:0 0 4px}.appointment .app-session{position:static;display:inline-block;font-size:9px;margin-top:6px;max-width:100%;background:#ffffffaa}.appointment .status-label{display:block;font-size:9px;font-weight:700;margin-top:5px}.appointment .resize{height:10px;line-height:10px;bottom:0;font-size:13px;font-weight:700}.appointment.completed{color:#156d50}.appointment.arrived{color:#145c95}.appointment.cancelled,.appointment.no_show{--tint:#ffe2e9!important;--accent:#ec426b!important;color:#b31d43;opacity:1;border:2px solid #ec426b}.appointment.overdue{border:2px solid #f22f4f!important;box-shadow:0 0 0 1px #f22f4f26}.appointment.overdue .status-label{color:#cf1736}.appointment.short-slot{padding:3px 5px}.appointment.short-slot .app-time,.appointment.short-slot .app-session{display:none}.appointment.short-slot strong{font-size:11px;line-height:12px;-webkit-line-clamp:1}.appointment.short-slot .app-service{font-size:10px;line-height:11px;margin-top:2px;-webkit-line-clamp:1}.appointment.short-slot .status-label{margin-top:2px;font-size:8px;line-height:9px}.appointment.short-slot.planned:not(.overdue) .status-label,.appointment.short-slot.arrived .status-label{display:none}.appointment.short-slot .resize{height:8px;line-height:8px}.appointment.dragging{z-index:6;box-shadow:0 10px 30px #8538ad3a}.now-line{border-color:#ec3d73}.now-line:before{background:#ec3d73}.dot.cancelled{background:#f13d67}.dot.planned{background:#b944e5}.dot.completed{background:#00ac79}.calendar-scroll{max-height:calc(100dvh - 365px);min-height:300px}.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.drawer-actions{flex-wrap:wrap}.consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-size:12px;margin:18px 0}.consent input{margin:2px 0 0;flex:0 0 auto}.service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:15px;margin-top:25px}.service-card{background:white;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:13px;padding:19px}.service-card h3{margin:0;font-size:14px}.service-card p{margin:8px 0 0;font-size:12px}.service-card>button{margin-left:auto;padding:9px}.service-color{width:40px;height:40px;display:grid;place-items:center;color:white;font-size:23px;border-radius:10px;flex-shrink:0}.archived-service{opacity:.6}.wide-modal{width:930px}.import-summary{padding:18px;background:#f5e7fc;border:1px solid #e8cdf3;border-radius:9px;margin-bottom:18px}.import-summary>b{font-size:24px;color:#a02cbd}.import-summary span{display:block;margin-top:8px;font-size:12px;color:#846091}.import-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:8px;margin:18px 0}.import-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.import-table th{position:sticky;top:0;background:#f6edf9;padding:12px;z-index:1}.import-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;word-break:break-word}.import-table small{display:block;margin-top:4px;font-size:11px}.decision-review td:last-child{color:#a46c13}.decision-error td:last-child{color:#dc3152}.decision-duplicate{color:#9c90a3}.mapping-list{display:grid;gap:12px;margin:15px 0}.mapping-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px}.mapping-row strong{font-size:12px;line-height:1.6}.mapping-row select{font-size:12px}.reminder-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:15px}.reminder-card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.reminder-card p{background:#edfff6;padding:14px;border-radius:9px;color:#357153;font-size:13px}.reminder-card .heading-row{flex-wrap:wrap;gap:5px}.connection-banner{padding:22px;border:1px solid var(--line);background:#fff4e4;border-radius:12px;margin:25px 0 15px}.connection-banner.connected{background:#e7fff3;border-color:#bcebd3;color:#22774b}.connection-banner p{margin-bottom:0;font-size:12px;color:inherit}.section-space{margin-top:30px}.history-cancelled{border-left-color:#ef4169}.history-cancelled .badge{background:#ffe1ea;color:#c32b51}.progress>i{background:linear-gradient(90deg,#aa37db,#e85e9a)}.badge{background:#f3e5fc;color:#9351ae}.auth-brand{background:linear-gradient(145deg,#60278d,#a02d99 65%,#e262a0)}.auth-brand p,.auth-bottom{color:#eacded}.auth-brand h1{color:#fff3fa}.auth-form h2{color:#8f29b2}.brand-mark span{color:#f2a6ce}#drag-hint{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 18px;border-radius:10px;background:#8c24b6;color:white;z-index:50;font-weight:600;pointer-events:none;white-space:nowrap;font-size:12px}#toast{background:#8d31b0}.form-note{background:#f7effb;color:#7e6291}
@media(max-width:750px){body{overflow-x:hidden}.sidebar{padding:10px 12px}.sidebar .brand b{font-size:18px}.brand b span{font-size:7px;letter-spacing:.7px}.sidebar .brand-mark{font-size:30px}.sidebar .brand{gap:5px}.sidebar nav button{padding:7px}.sidebar nav button>span{font-size:20px}.topbar{height:42px;padding:0 12px}.topbar #breadcrumb{font-size:9px}.topbar .avatar{font-size:10px;padding:7px}.topbar #sync-label{font-size:9px}.page{padding:14px 8px}.page-heading .eyebrow{font-size:8px;letter-spacing:1px}.heading-row{gap:8px}.heading-row h1{font-size:24px;margin-bottom:5px}.heading-row p{font-size:10px}.heading-row>.primary{font-size:10px;padding:10px 8px}.stats{gap:5px;margin:13px 0}.stat{padding:8px 5px;border-radius:7px}.stat-label{font-size:8px;margin-bottom:4px}.stat-number{font-size:20px}.calendar-toolbar{padding:7px;gap:7px}.date-nav{width:100%;gap:4px}.date-nav h2{font-size:12px;margin:0 3px}.date-nav .icon-btn{width:27px;height:27px}.date-nav .subtle{padding:6px 9px}.date-nav input{width:28px;padding:5px 1px}.legend{gap:10px;font-size:8px}.calendar-scroll{height:calc(100dvh - 330px);max-height:none;min-height:260px;overflow-x:hidden}.calendar-head{height:53px}.staff-head{padding:4px 2px;display:block;text-align:center}.staff-head .staff-avatar{display:none}.staff-head b{font-size:10px;line-height:12px;display:block}.staff-head small{font-size:8px;margin-top:4px}.time-heading{font-size:7px}.time-label{font-size:8px;right:3px}.appointment{padding:5px 3px;border-left-width:2px}.appointment strong{font-size:10px;line-height:12px;-webkit-line-clamp:3}.appointment .app-time{font-size:7px;line-height:9px;letter-spacing:-.2px}.appointment .app-service{font-size:9px;line-height:11px;margin-top:3px;-webkit-line-clamp:3}.appointment .status-label{font-size:8px;line-height:10px;margin-top:4px}.appointment .app-session{font-size:8px;padding:2px}.appointment.short-slot{padding:3px 2px}.appointment.short-slot strong{font-size:10px;line-height:11px;-webkit-line-clamp:2}.appointment.short-slot .app-service{font-size:9px;line-height:10px;-webkit-line-clamp:2;margin-top:2px}.appointment.short-slot .status-label{font-size:7px;line-height:9px;margin-top:3px}.calendar-footer{font-size:8px;padding:7px;line-height:1.4}.heading-actions .primary,.heading-actions .secondary{font-size:10px;padding:9px}.customer-tools{margin-top:16px}.mapping-row{grid-template-columns:1fr}.wide-modal{width:calc(100% - 16px);padding:15px}.import-table{font-size:10px}.import-table th,.import-table td{padding:8px 6px}.reminder-list{grid-template-columns:1fr}.service-list{grid-template-columns:1fr}.service-card{padding:15px}.drawer{padding:20px}.drawer-actions{gap:6px}.drawer-actions button{font-size:11px;padding:10px}.import-summary{padding:12px}.settings-grid{gap:12px}.auth-form{padding:24px}}

