@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600&family=DM+Sans:wght@400;500&family=JetBrains+Mono:wght@400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080808;--bg2:#111;--bg3:#1a1a1a;--gold:#c9a84c;--gold-dim:#8a6e2f;--cream:#f5f0e8;--text:#e8e8e8;--text-dim:#888;--border:#2a2a2a;--danger:#e05252;--success:#2ecc71;--font-title:"Cormorant Garamond", serif;--font-body:"DM Sans", sans-serif;--font-mono:"JetBrains Mono", monospace}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body)}input,select,textarea{font-family:var(--font-body);background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;width:100%;padding:10px 14px;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.page-title-row{align-items:center;gap:10px;display:flex}.layout{height:100%;display:flex}.mobile-topbar,.sidebar-overlay{display:none}.sidebar{background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;width:220px;min-width:220px;padding:0 0 24px;display:flex}.sidebar-logo{border-bottom:1px solid var(--border);margin-bottom:16px;padding:28px 24px 24px}.logo-text{font-family:var(--font-title);color:var(--gold);letter-spacing:4px;font-size:28px;font-weight:600}.logo-sub{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:2px;margin-left:2px;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:0 12px;display:flex}.nav-item{color:var(--text-dim);text-align:left;background:0 0;border:none;border-radius:6px;width:100%;padding:10px 14px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:block}.nav-item:hover{background:var(--bg3);color:var(--text)}.nav-item.active{color:var(--gold);background:#c9a84c1f}.logo-salon{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11px;overflow:hidden}.sidebar-tenant-logo{object-fit:contain;max-width:100%;max-height:68px;display:block}.logo-powered{font-family:var(--font-title);color:var(--gold);letter-spacing:2px;margin-top:8px;font-size:13px}.sidebar-footer{flex-direction:column;gap:8px;padding:0 12px;display:flex}.user-info{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 14px;display:flex}.user-name{color:var(--text);font-size:13px;font-weight:500}.user-role{color:var(--gold-dim);text-transform:uppercase;letter-spacing:1px;font-size:11px}.logout{color:var(--text-dim)}.logout:hover{color:var(--danger);background:#e0525214}.content{background:var(--bg);flex:1;padding:32px;overflow-y:auto}.nav-badge{color:#fff;text-align:center;background:#e53935;border-radius:10px;min-width:18px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}@media (width<=860px){.layout{flex-direction:column}.mobile-topbar{background:var(--bg2);border-bottom:1px solid var(--border);z-index:30;align-items:center;gap:12px;height:56px;min-height:56px;padding:0 16px;display:flex;position:sticky;top:0}.mobile-menu-btn{background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;gap:4px;width:32px;height:32px;display:flex}.mobile-menu-btn span{background:var(--gold);border-radius:2px;width:100%;height:2px;display:block}.mobile-topbar-logo{object-fit:contain;max-width:140px;max-height:32px}.mobile-topbar-title{font-family:var(--font-title);color:var(--gold);letter-spacing:1px;white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.mobile-topbar-badge{margin-left:0}.sidebar-overlay{z-index:40;background:#0000008c;display:block;position:fixed;inset:0}.sidebar{z-index:50;width:260px;min-width:260px;max-width:82vw;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.content{padding:18px}}.login-page{background:var(--bg);justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";pointer-events:none;z-index:0;height:40%;min-height:260px;position:absolute;left:0;right:0}.login-page:before{background:radial-gradient(ellipse at top, var(--gold) 0%, transparent 72%);opacity:.35;top:0}.login-page:after{background:radial-gradient(ellipse at bottom, var(--cream) 0%, transparent 72%);opacity:.28;bottom:0}.login-box{background:var(--bg2);border:1px solid var(--border);text-align:center;z-index:1;border-radius:12px;width:380px;max-width:calc(100vw - 32px);padding:40px;position:relative}@media (width<=480px){.login-box{padding:28px 24px}}.login-logo{margin-bottom:6px}.login-logo-text{font-family:var(--font-title);color:var(--gold);letter-spacing:6px;font-size:42px;font-weight:600}.login-logo-sub{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:2px;font-size:12px}.login-subtitle{color:var(--text-dim);margin-bottom:24px;font-size:13px}.login-slogan{color:var(--gold);margin:0 0 28px;padding:0 8px;font-size:13px;font-style:italic;line-height:1.5}.login-tenant-logo{justify-content:center;margin-bottom:10px;display:flex}.login-tenant-logo img{object-fit:contain;max-width:300px;max-height:130px}.login-powered-by{border-top:1px solid var(--border);color:var(--text-dim);letter-spacing:1px;margin-top:28px;padding-top:16px;font-size:10px}.login-powered-by span:first-child{font-family:var(--font-title);color:var(--gold);letter-spacing:3px;margin-right:4px;font-size:13px}.login-powered-sub{font-family:var(--font-mono)}.login-form{text-align:left;flex-direction:column;gap:16px;display:flex}.login-error{color:var(--danger);text-align:center;font-size:13px}.login-btn{background:var(--gold);color:#080808;border:none;border-radius:6px;width:100%;margin-top:8px;padding:12px;font-size:14px;font-weight:600;transition:opacity .2s}.login-btn:hover{opacity:.85}.login-btn:disabled{opacity:.5;cursor:not-allowed}.help-btn{border:1px solid var(--border);width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;font-size:13px;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s}.help-btn:hover{border-color:var(--gold-dim);color:var(--gold);background:#c9a84c1a}.help-modal-overlay{z-index:200;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.help-modal{background:var(--bg2);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:520px;max-height:85vh;display:flex}.help-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.help-modal-header h2{font-family:var(--font-title);color:var(--gold);font-size:20px;font-weight:400}.help-modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px}.help-modal-close:hover{color:var(--text);background:var(--bg3)}.help-modal-body{flex-direction:column;gap:16px;padding:18px 22px;display:flex;overflow-y:auto}.help-summary{color:var(--text-dim);font-size:13px;font-style:italic}.help-section h3{text-transform:uppercase;letter-spacing:1px;color:var(--gold);margin-bottom:8px;font-size:11px;font-weight:500}.help-section ul{flex-direction:column;gap:6px;list-style:none;display:flex}.help-section li{color:var(--text);padding-left:14px;font-size:13px;line-height:1.5;position:relative}.help-section li:before{content:"·";color:var(--text-dim);position:absolute;left:0}.help-modal-footer{border-top:1px solid var(--border);padding:14px 22px 18px}.help-link{color:var(--gold);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.help-link:hover{text-decoration:underline}.dashboard{max-width:1100px}.dash-title{font-family:var(--font-title);color:var(--gold);margin-bottom:28px;font-size:34px}.dash-loading,.dash-error{color:var(--text-dim);padding:48px 0;font-size:15px}.dash-error{color:var(--danger)}.dash-section{margin-bottom:32px}.section-title{font-family:var(--font-body);text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);margin-bottom:14px;font-size:11px;font-weight:500}.dash-kpi-row{flex-wrap:wrap;gap:16px;display:flex}.dash-kpi-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;flex:1;min-width:180px;padding:20px 24px}.dash-kpi-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px}.dash-kpi-value{font-family:var(--font-mono);color:var(--cream);margin-bottom:6px;font-size:22px}.dash-kpi-big{font-size:36px;font-family:var(--font-title);font-weight:600}.dash-kpi-gold{color:var(--gold)}.dash-kpi-green{color:var(--success)}.dash-kpi-red{color:var(--danger)}.dash-kpi-sub{color:var(--text-dim);font-size:12px}.dash-bottom{flex-wrap:wrap;gap:24px;display:flex}.dash-half{flex:1;min-width:280px}.top-list{flex-direction:column;gap:14px;list-style:none;display:flex}.top-item-header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.top-item-name{color:var(--text);font-size:14px}.top-item-count{font-family:var(--font-mono);color:var(--gold);font-size:13px}.top-bar-bg{background:var(--border);border-radius:2px;height:3px;margin-bottom:4px}.top-bar-fill{background:var(--gold);border-radius:2px;height:100%;transition:width .4s}.top-item-rev,.top-item-sub{color:var(--text-dim);font-size:12px}.dash-rank{color:var(--gold-dim);font-family:var(--font-mono);margin-right:4px;font-size:12px}.dash-staff-row{flex-wrap:wrap;gap:16px;display:flex}.dash-staff-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;min-width:160px;padding:20px 24px;display:flex}.dash-staff-dot{border-radius:50%;width:10px;height:10px;margin-bottom:4px}.dash-staff-name{color:var(--text);font-size:16px;font-weight:500}.dash-staff-rdv{font-family:var(--font-mono);color:var(--gold);font-size:13px}.dash-staff-min{color:var(--text-dim);font-size:12px}.empty{color:var(--text-dim);padding:16px 0;font-size:13px}@media (width<=480px){.dash-title{margin-bottom:20px;font-size:26px}.dash-kpi-row,.dash-bottom,.dash-staff-row{flex-direction:column}.dash-kpi-card,.dash-half,.dash-staff-card{width:100%;min-width:0}.dash-kpi-card{padding:16px 18px}}.agenda-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.nav-left{align-items:center;gap:8px;display:flex}.nav-btn{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 14px;font-size:14px;transition:background .15s}.nav-btn:hover{background:var(--bg3)}.nav-today{font-size:13px}.nav-label{color:var(--text);text-transform:capitalize;margin-left:8px;font-size:15px;font-weight:500}.nav-views{background:var(--bg2);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:flex}.view-btn{color:var(--text-dim);background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.view-btn:hover{color:var(--text)}.view-btn.active{color:var(--gold);background:#c9a84c26}.agenda-day{border:1px solid var(--border);background:var(--bg2);border-radius:10px;overflow:auto}.day-header{border-bottom:1px solid var(--border);background:var(--bg2);z-index:10;align-items:center;min-height:44px;display:flex;position:sticky;top:0}.time-gutter{border-right:1px solid var(--border);align-self:stretch;width:56px;min-width:56px;position:relative}.day-legend{flex-wrap:wrap;align-items:center;gap:4px 16px;padding:8px 12px;display:flex}.legend-item{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.legend-item-gcal{color:#4285f4}.day-body{display:flex;position:relative}.time-label{font-size:11px;font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;position:absolute;right:8px;transform:translateY(-50%)}.day-column{cursor:crosshair;flex:1;position:relative}.hour-line{background:var(--border);pointer-events:none;height:1px;position:absolute;left:0;right:0}.appt-card{cursor:grab;z-index:2;box-sizing:border-box;border-left:3px solid;border-radius:5px;padding:4px 6px;transition:filter .15s;position:absolute;overflow:hidden}.appt-card:hover{filter:brightness(1.15)}.appt-card.dragging{cursor:grabbing;z-index:100;opacity:.85;transition:none;box-shadow:0 4px 16px #0006}.appt-time{font-size:10px;font-family:var(--font-mono);color:var(--text-dim)}.appt-client{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.appt-service{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.appt-staff-name{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;font-weight:600;overflow:hidden}.status-cancelled{opacity:.4;text-decoration:line-through}.status-pending{opacity:.85;cursor:default;background-image:repeating-linear-gradient(45deg,#0000,#0000 5px,#0000001f 5px 8px)!important;border-style:dashed!important}.appt-pending-badge{text-transform:uppercase;letter-spacing:.05em;color:#ffb300;vertical-align:middle;background:#ffa00040;border-radius:3px;margin-left:6px;padding:1px 4px;font-size:9px;font-weight:700;display:inline-block}.appt-notified-badge{text-transform:uppercase;letter-spacing:.05em;color:#2e7d32;vertical-align:middle;background:#2e7d3233;border-radius:3px;margin-left:6px;padding:1px 4px;font-size:9px;font-weight:700;display:inline-block}.gcal-event-card{cursor:default;background:#4285f41f!important;border-left-color:#4285f4!important}.gcal-event-card .appt-client{color:#2563eb}.modal-overlay{z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:12px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-header h2{font-family:var(--font-title);color:var(--cream);font-size:22px;font-weight:400}.modal-close{color:var(--text-dim);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px}.modal-close:hover{color:var(--text);background:var(--bg3)}.modal-form{flex-direction:column;gap:14px;padding:20px 24px;display:flex}.field{position:relative}.search-results li{cursor:pointer;padding:10px 14px;font-size:14px;transition:background .1s}.search-results li:hover,.search-results li.selected{color:var(--gold);background:#c9a84c26}.search-results li.search-create{border-top:1px solid var(--border);color:var(--gold);font-weight:600}.modal-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px 20px;display:flex}.btn-primary{background:var(--gold);color:#080808;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:opacity .2s}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){opacity:.85}.btn-secondary{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:10px 20px;font-size:14px;transition:background .15s}.btn-secondary:hover{background:var(--bg)}.btn-danger{color:var(--danger);background:#e0525226;border:1px solid #e052524d;border-radius:6px;padding:10px 20px;font-size:14px;transition:background .15s}.btn-danger:hover{background:#e0525240}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.detail-body{flex-direction:column;gap:14px;padding:20px 24px;display:flex}.detail-row,.detail-staff{flex-direction:column;gap:3px;display:flex}.detail-staff{border-left:3px solid var(--gold);padding-left:10px}.detail-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-size:11px;font-weight:500}.detail-value{color:var(--text);font-size:14px}.detail-status{border-radius:20px;width:fit-content;padding:3px 10px;font-size:13px;font-weight:500;display:inline-block}.status-confirmed{color:var(--gold);background:#c9a84c26}.status-cancelled{color:var(--danger);background:#e0525226}.status-pending{background:var(--bg3);color:var(--text-dim)}.confirm-text{color:var(--text-dim);margin-right:auto;font-size:13px}.agenda-staff-view{flex-direction:column;height:100%;display:flex;overflow:hidden}.asv-header{z-index:2;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;display:flex}.asv-gutter{flex-shrink:0;width:52px;min-width:52px}.asv-col-header{color:#374151;border-left:1px solid #f3f4f6;flex:1;align-items:center;gap:6px;min-width:0;padding:8px 10px 6px;font-size:13px;font-weight:700;display:flex}.asv-gcal-header{color:#4285f4;border-left:2px solid #e5e7eb}.asv-body{flex:1;display:flex;position:relative;overflow-y:auto}.asv-gutter{z-index:1;background:#fff;position:relative}.asv-gutter .time-label{color:#9ca3af;white-space:nowrap;font-size:10px;position:absolute;right:6px;transform:translateY(-50%)}.asv-column{cursor:pointer;border-left:1px solid #f3f4f6;flex:1;min-width:0;position:relative}.asv-gcal-col{background:#f8faff;border-left:2px solid #e5e7eb}.agenda-week-wrap{border-radius:10px;overflow-x:auto}.agenda-week{border:1px solid var(--border);background:var(--bg2);border-radius:10px;grid-template-rows:auto minmax(400px,1fr);grid-template-columns:repeat(7,1fr);min-width:700px;display:grid;overflow:hidden}.week-header,.week-body{display:contents}.week-day-header{text-align:center;cursor:pointer;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 8px;transition:background .15s}.week-day-header:last-child{border-right:none}.week-day-header:hover{background:var(--bg3)}.week-day-header.today{background:#c9a84c14}.wdh-name{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-size:11px;display:block}.wdh-num{font-size:18px;font-family:var(--font-title);color:var(--text);margin-top:2px;display:block}.today .wdh-num{color:var(--gold)}.week-cell{border-right:1px solid var(--border);cursor:pointer;flex-direction:column;gap:3px;min-height:120px;padding:8px 4px;transition:background .15s;display:flex}.week-cell:last-child{border-right:none}.week-cell:hover{background:var(--bg3)}.week-cell.today{background:#c9a84c0d}.week-appt{white-space:nowrap;text-overflow:ellipsis;color:var(--text);border-left:2px solid;border-radius:3px;padding:3px 5px;font-size:11px;overflow:hidden}.week-appt-time{font-family:var(--font-mono);color:var(--text-dim);font-size:10px}.status-cancelled{opacity:.35}.week-empty{flex:1}.week-gcal-appt{color:#2563eb;background:#4285f41f!important;border-left-color:#4285f4!important}.agenda-month{border:1px solid var(--border);background:var(--bg2);border-radius:10px;overflow:hidden}.month-header{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid}.month-dow{text-align:center;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);border-right:1px solid var(--border);padding:10px 8px;font-size:11px}.month-dow:last-child{border-right:none}.month-grid{grid-template-columns:repeat(7,1fr);display:grid}.month-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;min-height:80px;padding:8px;transition:background .15s}.month-cell:nth-child(7n){border-right:none}.month-cell:nth-last-child(-n+7){border-bottom:none}.month-cell:hover{background:var(--bg3)}.month-cell.today{background:#c9a84c14}.month-cell.other-month{opacity:.35}.month-day-num{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.today .month-day-num{color:var(--gold);font-weight:700}.month-count{font-size:10px;font-family:var(--font-mono);color:var(--gold);margin-bottom:4px;display:block}.month-dots{flex-wrap:wrap;gap:3px;display:flex}.month-dot{background:var(--gold);opacity:.6;border-radius:50%;width:6px;height:6px}.qcc-overlay{z-index:300;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qcc-box{background:var(--bg2);border:1px solid var(--border);border-radius:10px;width:420px;max-width:95vw;padding:24px}.qcc-title{color:var(--text);margin-bottom:16px;font-size:15px;font-weight:600}.qcc-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.qcc-field{flex-direction:column;gap:4px;display:flex}.qcc-field label{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-size:11px}.qcc-field input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font-size:13px}.qcc-error{color:var(--danger);margin-bottom:10px;font-size:12px}.qcc-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.agenda-page{max-width:1200px}.agenda-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.agenda-title{font-family:var(--font-title);color:var(--gold);font-size:34px}.btn-new-appt{background:var(--gold);color:#000;cursor:pointer;letter-spacing:.02em;border:none;border-radius:6px;padding:9px 18px;font-size:14px;font-weight:700;transition:opacity .15s}.btn-new-appt:hover{opacity:.85}.btn-gcal-connect{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:500;transition:box-shadow .15s;display:flex}.btn-gcal-connect:hover{box-shadow:0 2px 8px #00000026}.gcal-status{color:var(--success);flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;font-size:13px;display:flex;position:relative}.btn-gcal-picker{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:flex}.btn-gcal-picker:hover{border-color:var(--gold)}.btn-gcal-disconnect{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:12px}.btn-gcal-disconnect:hover{color:var(--danger);border-color:var(--danger)}.gcal-picker-backdrop{z-index:1000;position:fixed;inset:0}.gcal-picker{z-index:1001;background:var(--card);border:1px solid var(--border);border-radius:8px;min-width:260px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #0003}.gcal-picker-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.gcal-picker-loading{color:var(--text-dim);padding:20px 16px;font-size:13px}.gcal-picker-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 16px;font-size:13px;transition:background .1s;display:flex}.gcal-picker-item:hover{background:var(--surface)}.gcal-picker-item.active{background:#d4af3714}.gcal-picker-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.gcal-picker-badge{color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:3px;margin-left:auto;padding:1px 5px;font-size:10px}.gcal-picker-check{color:var(--success);flex-shrink:0;margin-left:auto}.gcal-picker-reauth{color:var(--text-dim);padding:16px;font-size:13px}.gcal-picker-reauth p{margin:0 0 12px}.btn-gcal-reauth{background:var(--gold);color:#000;cursor:pointer;border:none;border-radius:5px;padding:8px 14px;font-size:13px;font-weight:600}.agenda-loading{color:var(--text-dim);text-align:center;padding:48px 0}.pending-panel{background:var(--card);border:1px solid #c9a84c44;border-radius:10px;margin-bottom:20px;overflow:hidden}.pending-panel-title{color:#c9a84c;background:#c9a84c14;border-bottom:1px solid #c9a84c22;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.pending-count{color:#fff;background:#e53935;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}.pending-card{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.pending-card:last-child{border-bottom:none}.pending-client{margin-bottom:3px;font-size:14px;font-weight:600}.pending-details{color:var(--text-dim);margin-bottom:2px;font-size:13px}.pending-contact{color:var(--text-dim);font-size:12px}.pending-source{background:var(--surface);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;border-radius:3px;margin-left:8px;padding:0 5px;font-size:10px;display:inline-block}.pending-actions{flex-shrink:0;gap:8px;display:flex}.btn-validate{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:5px;padding:7px 16px;font-size:13px;font-weight:600}.btn-validate:hover{background:#1b5e20}.btn-reject{color:var(--danger,#e53935);cursor:pointer;background:0 0;border:1px solid;border-radius:5px;padding:7px 14px;font-size:13px;font-weight:600}.btn-reject:hover{background:#e5393514}.pending-deposit-badge{color:#4caf50;background:#1a2e1a;border:1px solid #2e5a2e;border-radius:4px;margin-top:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.pending-deposit-waiting{color:#c9a84c;background:#1a1500;border-color:#3a3010}.client-list{background:var(--bg2);border:1px solid var(--border);border-radius:10px;max-height:calc(100vh - 200px);list-style:none;overflow:hidden auto}.cl-empty{color:var(--text-dim);background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:24px;font-size:13px}.client-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.client-row:last-child{border-bottom:none}.client-row:hover{background:var(--bg3)}.client-row.active{border-left:2px solid var(--gold);background:#c9a84c14}.client-avatar{background:var(--bg3);border:1px solid var(--border);width:36px;min-width:36px;height:36px;color:var(--gold);font-size:12px;font-weight:600;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;display:flex}.client-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.client-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.client-nom{color:var(--cream);letter-spacing:.5px}.client-sub{color:var(--text-dim);font-size:12px}.cl-right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.client-pts{font-family:var(--font-mono);color:var(--gold-dim);white-space:nowrap;font-size:11px}.cl-del{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:2px 7px;font-size:11px;transition:all .15s;display:none}.cl-del.danger{color:var(--danger);border-color:var(--danger);background:#dc354514;display:inline-flex}.client-row:hover .cl-del{display:inline-flex}.cl-del:hover{color:var(--danger);border-color:var(--danger);background:#dc354514}.cl-del-err{color:var(--danger);white-space:nowrap;font-size:10px}.tech-sheet{flex-direction:column;gap:12px;display:flex}.tech-header{justify-content:space-between;align-items:center;display:flex}.btn-add-tech{border:1px solid var(--border);color:var(--gold);background:0 0;border-radius:6px;padding:5px 12px;font-size:12px;transition:background .15s}.btn-add-tech:hover{background:#c9a84c1a}.tech-form{background:var(--bg3);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.tech-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.btn-save-tech{background:var(--gold);color:#080808;border:none;border-radius:6px;align-self:flex-end;padding:10px 20px;font-size:13px;font-weight:600;transition:opacity .2s}.btn-save-tech:disabled{opacity:.5;cursor:not-allowed}.btn-save-tech:hover:not(:disabled){opacity:.85}.tech-empty{color:var(--text-dim);font-size:13px;font-style:italic}.tech-records{flex-direction:column;gap:6px;display:flex}.tech-record{border:1px solid var(--border);border-radius:8px;overflow:hidden}.tech-record-header{cursor:pointer;background:var(--bg3);justify-content:space-between;align-items:center;padding:12px 14px;transition:background .15s;display:flex}.tech-record-header:hover{background:var(--bg)}.tech-record-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tech-date{color:var(--text);font-size:13px;font-weight:500}.tech-type{color:var(--gold);background:#c9a84c1f;border-radius:20px;padding:2px 8px;font-size:11px}.tech-staff{color:var(--text-dim);font-size:12px}.tech-expand{color:var(--text-dim);font-size:10px}.tech-record-body{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:14px;display:flex}.tech-field{gap:12px;font-size:13px;display:flex}.tech-field span:first-child{color:var(--text-dim);flex-shrink:0;min-width:120px}.tech-field span:last-child{color:var(--text)}.btn-delete-tech{color:var(--danger);background:0 0;border:1px solid #e052524d;border-radius:4px;align-self:flex-end;margin-top:4px;padding:4px 12px;font-size:12px;transition:background .15s}.btn-delete-tech:hover{background:#e052521a}.cr-grant-form{flex-direction:column;gap:16px;display:flex}.cr-client-selected{background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:6px;justify-content:space-between;align-items:center;padding:9px 14px;font-size:14px;display:flex}.cr-client-results{background:var(--bg3);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:2px;margin-top:4px;display:flex;overflow:hidden}.cr-client-results button{text-align:left;color:var(--text);background:0 0;border:none;padding:8px 14px;font-size:13px}.cr-client-results button:hover{color:var(--gold);background:#c9a84c1f}.cr-items-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:11px;font-weight:500;display:block}.cr-item-row{grid-template-columns:2fr 2fr 100px 70px 32px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.cr-item-remove{background:var(--bg3);border:1px solid var(--border);color:var(--danger);border-radius:6px;height:36px;font-size:16px}.cr-item-remove:disabled{opacity:.3}.cr-success{color:var(--success);margin:0;font-size:13px}.cr-list{flex-direction:column;gap:8px;display:flex}.cr-row{background:var(--bg3);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:14px 18px;display:flex}.cr-row-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cr-row-client{color:var(--text);font-size:14px;font-weight:500}.cr-row-amounts{color:var(--text-dim);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.cr-row-amounts strong{color:var(--gold);font-family:var(--font-mono)}.cr-row-date{color:var(--text-dim);font-size:12px}.cr-row-actions{flex-wrap:wrap;gap:8px;display:flex}.cr-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:500}.cr-badge-open{color:var(--gold);background:#e0b2521f}.cr-badge-settled{color:var(--success);background:#56b2561f}.cr-badge-cancelled{background:var(--bg);color:var(--text-dim);border:1px solid var(--border)}.cr-repay-form{border-top:1px dashed var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.cr-repay-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cr-repay-row input[type=number]{width:110px}.cr-repay-hint{color:var(--text-dim);margin:0;font-size:12px}.cr-history{border-top:1px dashed var(--border);color:var(--text-dim);flex-direction:column;gap:4px;padding-top:8px;font-size:12px;display:flex}.cr-history-item{justify-content:space-between;gap:10px;display:flex}@media (width<=640px){.cr-item-row{grid-template-columns:1fr 1fr}.cr-repay-row input[type=number]{width:90px}}.client-panel{background:var(--bg2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:20px 24px;display:flex}.panel-avatar{border:1px solid var(--gold-dim);width:48px;min-width:48px;height:48px;color:var(--gold);font-size:16px;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;background:#c9a84c1f;border-radius:50%;justify-content:center;align-items:center;display:flex}.panel-name-block{flex:1;min-width:0}.panel-name{font-family:var(--font-title);color:var(--cream);white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:400;overflow:hidden}.panel-since{color:var(--text-dim);font-size:12px}.panel-actions{align-items:center;gap:8px;display:flex}.btn-edit{background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:7px 14px;font-size:13px;transition:background .15s}.btn-edit:hover{background:var(--bg);border-color:var(--gold-dim)}.btn-delete{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:6px;padding:7px 14px;font-size:13px;transition:all .15s}.btn-delete:hover{color:var(--danger);border-color:var(--danger);background:#dc354514}.btn-delete-confirm{background:var(--danger);color:#fff;border:none;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600}.btn-delete-cancel{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:6px;padding:7px 14px;font-size:13px}.delete-error{color:var(--danger);text-align:right;max-width:200px;font-size:12px;line-height:1.3}.panel-close{color:var(--text-dim);background:0 0;border:none;border-radius:4px;padding:6px 8px;font-size:16px}.panel-close:hover{color:var(--text);background:var(--bg3)}@media (width<=860px){.panel-header{flex-wrap:wrap;row-gap:12px;padding:16px 18px}.panel-actions{flex-wrap:wrap;flex:100%}}.panel-kpis{border-bottom:1px solid var(--border);display:flex}.panel-kpi{border-right:1px solid var(--border);flex-direction:column;flex:1;gap:4px;padding:16px 20px;display:flex}.panel-kpi:last-child{border-right:none}.kpi-l{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-size:11px}.kpi-v{font-family:var(--font-mono);color:var(--text);font-size:18px}.panel-next-appt{border-bottom:1px solid var(--border);color:var(--text);background:#c9a84c0d;flex-direction:column;gap:4px;padding:14px 24px;font-size:13px;display:flex}.panel-tabs{border-bottom:1px solid var(--border);background:var(--bg2);display:flex}.panel-tabs button{color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 8px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s}.panel-tabs button.active{color:var(--gold);border-bottom-color:var(--gold)}.panel-tabs button:hover:not(.active){color:var(--text)}.panel-section{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:16px 24px;display:flex}.panel-section:last-child{border-bottom:none}.panel-remarks{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.panel-remarks p{color:var(--text);white-space:pre-wrap;font-size:13px;line-height:1.5}.panel-section-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);font-size:11px;font-weight:500}.panel-fields{flex-direction:column;gap:6px;display:flex}.panel-field{gap:16px;font-size:13px;display:flex}.panel-field span:first-child{color:var(--text-dim);min-width:70px}.panel-field span:last-child{color:var(--text)}.panel-empty{color:var(--text-dim);font-size:13px}.panel-history{flex-direction:column;gap:8px;max-height:280px;list-style:none;display:flex;overflow-y:auto}.history-item{background:var(--bg3);border-left:2px solid var(--border);border-radius:6px;padding:10px 12px}.history-item.status-completed{border-left-color:var(--success)}.history-item.status-refunded{border-left-color:var(--danger);opacity:.6}.history-top{justify-content:space-between;margin-bottom:3px;display:flex}.history-date{color:var(--text);font-size:13px}.history-amount{font-family:var(--font-mono);color:var(--gold);font-size:13px}.history-sub{color:var(--text-dim);font-size:12px}.import-modal{max-width:680px}.import-hint{color:var(--text-dim);font-size:13px;line-height:1.5}.import-summary{flex-wrap:wrap;gap:10px;display:flex}.import-count{border-radius:20px;padding:4px 12px;font-size:13px;font-weight:600}.import-count-valid{color:var(--success);background:#2ecc7126}.import-count-duplicate{background:var(--bg3);color:var(--text-dim)}.import-count-error{color:var(--danger);background:#e0525226}.import-table-wrap{border:1px solid var(--border);border-radius:8px;max-height:320px;overflow:auto}.import-table{border-collapse:collapse;width:100%;font-size:13px}.import-table th{background:var(--bg3);text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding:8px 10px;font-size:11px;position:sticky;top:0}.import-table td{border-top:1px solid var(--border);white-space:nowrap;padding:7px 10px}.import-row-duplicate td,.import-row-error td{color:var(--text-dim)}.import-badge{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.import-badge-valid{color:var(--success);background:#2ecc7126}.import-badge-duplicate{background:var(--bg3);color:var(--text-dim)}.import-badge-error{color:var(--danger);background:#e0525226}.import-reason{color:var(--text-dim);white-space:normal;font-size:12px}.import-done p{font-size:15px;line-height:1.6}@media (width<=600px){.import-table-wrap{max-height:240px}.import-table th,.import-table td{padding:6px;font-size:12px}}.clients-page{max-width:1200px}.clients-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.clients-title{font-family:var(--font-title);color:var(--gold);font-size:34px}.clients-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-google-contacts{color:var(--text);background:#1a1a1a;border:1px solid #333;border-radius:6px;align-items:center;gap:6px;padding:9px 14px;font-size:13px;font-weight:500;transition:border-color .2s;display:flex}.btn-google-contacts:hover{border-color:var(--gold)}.contacts-not-linked{color:#666;cursor:default;font-size:12px}.sync-contacts-panel{background:#141414;border:1px solid #2a2a2a;border-radius:10px;margin-bottom:20px;padding:18px 20px}.sync-contacts-info{color:#888;margin-bottom:14px;font-size:13px}.sync-contacts-info strong{color:var(--text)}.sync-contacts-actions{gap:16px;display:flex}.sync-action-block{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;flex:1;padding:14px 16px}.sync-action-label{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.sync-action-desc{color:#666;margin-bottom:12px;font-size:12px;line-height:1.5}.btn-sync{background:var(--gold);color:#080808;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .2s}.btn-sync:hover:not(:disabled){opacity:.85}.btn-sync:disabled{opacity:.5;cursor:not-allowed}.btn-sync-import{color:#4caf50;background:#1e3a1e;border:1px solid #2e5a2e}.btn-sync-import:hover:not(:disabled){background:#2e4a2e}.sync-result{border-radius:6px;margin-top:14px;padding:10px 14px;font-size:13px}.sync-result-ok{color:#7dcc7d;background:#1a2e1a;border:1px solid #2e5a2e}.sync-result-err{color:#cc7d7d;background:#2e1a1a;border:1px solid #5a2e2e}.sync-result strong{font-weight:700}.btn-new-client{background:var(--gold);color:#080808;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:opacity .2s}.btn-new-client:hover{opacity:.85}.clients-search{margin-bottom:12px}.clients-layout{align-items:flex-start;gap:20px;display:flex}.clients-left{flex:2;min-width:0}.clients-right{flex:3;display:none}.clients-right.open{display:block}.mobile-back-bar{display:none}@media (width<=860px){.clients-layout{flex-direction:column}.clients-left.has-selection{display:none}.clients-right{flex:none;width:100%}.mobile-back-bar{background:var(--bg2);border:1px solid var(--border);width:100%;color:var(--gold);text-align:left;border-radius:8px;align-items:center;margin-bottom:10px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.mobile-back-bar:hover{background:var(--bg3)}}.sale-form{width:100%}.form-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:18px;padding:24px;display:flex}.form-section-title{font-family:var(--font-title);color:var(--cream);margin-bottom:-4px;font-size:22px;font-weight:400}.field label,.items-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:11px;font-weight:500;display:block}.client-selected-wrap{align-items:center;gap:10px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.client-selected{color:var(--success);font-size:14px}.client-fiche-link{color:var(--gold);white-space:nowrap;font-size:12px}.client-fiche-link:hover{text-decoration:underline}.search-results{background:var(--bg3);border:1px solid var(--border);z-index:10;border-radius:6px;max-height:180px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-results li{cursor:pointer;padding:10px 14px;font-size:14px}.search-results li:hover{color:var(--gold);background:#c9a84c1f}.search-results li.search-create{color:var(--gold);border-top:1px solid var(--border);font-size:13px;font-style:italic}.search-results li.search-create:hover{background:#c9a84c2e}.items-section{flex-direction:column;gap:8px;display:flex}.quick-fav-row{flex-wrap:wrap;gap:6px;display:flex}.quick-fav-btn{border:1px solid var(--gold-dim);color:var(--gold);white-space:nowrap;background:#c9a84c14;border-radius:20px;padding:5px 10px;font-size:12px;transition:background .15s}.quick-fav-btn:hover{background:#c9a84c2e}.quick-code-row{align-items:center;gap:10px;display:flex}.quick-code-input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;width:220px;padding:6px 10px;font-size:13px}.quick-code-error{color:var(--danger);font-size:12px}.items-header{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;grid-template-columns:1fr 60px 90px 80px 28px;gap:8px;padding:0 4px;font-size:11px;display:grid}.item-row{grid-template-columns:1fr 60px 90px 80px 28px;align-items:center;gap:8px;display:grid}.item-service{flex-direction:column;gap:4px;display:flex}.item-label-fixed{color:var(--text-dim);padding:4px 0;font-size:12px}.item-group-header{color:var(--gold);text-transform:uppercase;letter-spacing:.5px;padding:10px 4px 2px;font-size:11px}.item-staff-select{border:1px solid var(--border);background:var(--bg2);color:var(--text-dim);border-radius:4px;padding:4px 6px;font-size:12px}.input-qty,.input-price{text-align:right;padding:8px}@media (width<=520px){.form-card{gap:14px;padding:16px}.items-header,.item-row{grid-template-columns:1fr 36px 58px 54px 22px;gap:4px;font-size:11px}.items-header{font-size:9px}.input-qty,.input-price{padding:6px 4px;font-size:12px}.quick-code-input{flex:1;width:100%}.quick-code-row{flex-wrap:wrap}}.item-total{font-family:var(--font-mono);color:var(--text);text-align:right;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;display:flex}.item-gross-strike{color:var(--text-dim);font-size:11px;text-decoration:line-through}.item-discount-row{align-items:center;gap:8px;padding:2px 4px 6px;display:flex}.item-discount-row select{flex:0 0 60px;width:auto;padding:4px 6px;font-size:12px}.item-discount-row input{text-align:right;flex:0 0 80px;width:auto;padding:4px 6px;font-size:12px}.btn-add-discount,.btn-remove-discount{color:var(--gold);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.btn-add-discount:hover,.btn-remove-discount:hover{text-decoration:underline}.btn-remove-discount{color:var(--text-dim)}.btn-remove-discount:hover{color:var(--danger)}.item-discount-amount{font-family:var(--font-mono);color:var(--danger);font-size:12px}.discount-global-row{display:flex}.discount-global-active{align-items:center;gap:8px;display:flex}.discount-global-active select{flex:0 0 60px;width:auto;padding:6px 8px;font-size:13px}.discount-global-active input{text-align:right;flex:0 0 90px;width:auto;padding:6px 8px;font-size:13px}.item-remove{color:var(--text-dim);background:0 0;border:none;border-radius:4px;padding:4px;font-size:12px}.item-remove:hover{color:var(--danger);background:#e052521a}.btn-add-item{border:1px dashed var(--border);color:var(--text-dim);text-align:left;background:0 0;border-radius:6px;padding:8px 14px;font-size:13px;transition:border-color .15s,color .15s}.btn-add-item:hover{border-color:var(--gold-dim);color:var(--gold)}.total-row{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:14px 0;display:flex}.total-line{justify-content:space-between;align-items:center;display:flex}.total-line span:first-child{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:13px}.total-line span:last-child{font-family:var(--font-mono);color:var(--text-dim);font-size:13px}.total-line-discount span:last-child{color:var(--danger)}.total-line-final span:first-child{font-size:13px}.total-amount{font-family:var(--font-mono);color:var(--gold);font-size:24px}.payment-btns{gap:8px;display:flex}.payment-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;flex:1;padding:10px;font-size:14px;transition:all .15s}.payment-btn:hover{border-color:var(--gold-dim);color:var(--text)}.payment-btn.active{border-color:var(--gold);color:var(--gold);background:#c9a84c1a}.btn-split-payment{color:var(--gold);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:12px}.payment-split-row input{flex:1;width:auto}.payment-split-total.balanced{color:var(--success)}.form-actions-row{gap:10px;display:flex}.btn-annuler{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:8px;padding:14px 18px;font-size:14px;transition:border-color .15s,color .15s}.btn-annuler:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.btn-annuler:disabled{opacity:.5;cursor:not-allowed}.btn-encaisser{background:var(--gold);color:#080808;letter-spacing:.5px;border:none;border-radius:8px;flex:1;padding:14px;font-size:16px;font-weight:700;transition:opacity .2s}.btn-encaisser:hover:not(:disabled){opacity:.85}.btn-encaisser:disabled{opacity:.5;cursor:not-allowed}.form-error{color:var(--danger);font-size:13px}.ticket-modal{max-width:400px}.ticket-header{border-bottom:1px solid var(--border);text-align:center;padding:24px 24px 16px}.ticket-logo{font-family:var(--font-title);color:var(--gold);letter-spacing:4px;margin-bottom:8px;font-size:20px}.ticket-ref{font-family:var(--font-mono);color:var(--text);letter-spacing:2px;font-size:13px}.ticket-date{color:var(--text-dim);margin-top:4px;font-size:12px}.ticket-body{flex-direction:column;gap:8px;padding:16px 24px;display:flex}.ticket-row{justify-content:space-between;font-size:13px;display:flex}.ticket-row span:first-child{color:var(--text-dim)}.ticket-row span:last-child{color:var(--text)}.ticket-divider{border-top:1px dashed var(--border);margin:4px 0}.ticket-item{grid-template-columns:1fr auto auto;align-items:baseline;gap:8px;font-size:13px;display:grid}.ticket-item-label{color:var(--text);flex-direction:column;gap:2px;display:flex}.ticket-item-qty{color:var(--text-dim);font-size:12px}.ticket-item-price{font-family:var(--font-mono);color:var(--text);text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.ticket-item-discount{color:var(--text-dim);font-size:11px;font-style:italic}.ticket-item-gross-strike{color:var(--text-dim);font-size:11px;text-decoration:line-through}.ticket-subtotal{font-size:12px}.ticket-discount-line span:last-child{color:var(--danger)}.ticket-total{justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.ticket-total span:first-child{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:13px}.ticket-total span:last-child{font-family:var(--font-mono);color:var(--gold);font-size:22px}.ticket-payment span:last-child{color:var(--text-dim)}.ticket-notes{color:var(--text-dim);padding-top:4px;font-size:12px;font-style:italic}.ticket-address{color:var(--text-dim);flex-direction:column;gap:2px;margin-top:4px;font-size:11px;display:flex}.ticket-legal{color:var(--text-dim);padding-top:2px;font-size:11px;line-height:1.6}.ticket-footer-text{text-align:center;color:var(--text-dim);padding-top:8px;font-size:12px}.ticket-actions{border-top:1px solid var(--border);padding:12px 24px 20px}.ticket-btns{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-ticket-action{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 14px;font-size:13px}.btn-ticket-action:hover{background:var(--surface-3)}.ticket-email-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ticket-email-input{background:var(--surface-2);border:1px solid var(--border);min-width:180px;color:var(--text);border-radius:6px;flex:1;padding:8px 12px;font-size:13px}.ticket-sent{color:#4caf50;margin-bottom:8px;font-size:13px;display:block}.ticket-email-err{color:var(--danger);font-size:12px}@media print{body>*{display:none!important}.modal-overlay{background:0 0!important;display:block!important;position:static!important}.modal.ticket-modal{box-shadow:none!important;border:none!important;max-width:100%!important;display:block!important}.no-print{display:none!important}.ticket-logo,.ticket-total span:last-child{color:#000!important}}.sale-list-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.sale-list-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sale-list-header h2{font-family:var(--font-body);text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);font-size:11px;font-weight:500}.sale-list-total{font-family:var(--font-mono);color:var(--gold);font-size:18px}.sale-list-empty{color:var(--text-dim);padding:24px 20px;font-size:13px}.sale-item{border-bottom:1px solid var(--border);padding:14px 20px;transition:background .15s}.sale-item:last-child{border-bottom:none}.sale-item:hover{background:var(--bg3)}.sale-item.status-refunded,.sale-item.status-cancelled{opacity:.55}.sale-item-top{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.sale-client{color:var(--text);font-size:14px;font-weight:500}.sale-staff{color:var(--text-dim);font-size:12px}.sale-amount{font-family:var(--font-mono);color:var(--text);font-size:15px}.sale-item-bottom{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sale-status{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:500}.status-completed{color:var(--success);background:#2ecc711f}.status-refunded{color:var(--danger);background:#e052521f}.status-cancelled{background:var(--bg3);color:var(--text-dim)}.sale-payment,.sale-time{color:var(--text-dim);font-size:12px}.sale-time{font-family:var(--font-mono);margin-left:auto}.btn-refund{color:var(--danger);background:0 0;border:1px solid #e052524d;border-radius:4px;padding:3px 10px;font-size:12px;transition:background .15s}.btn-refund:hover{background:#e052521a}.refund-confirm{align-items:center;gap:6px;display:flex}.btn-refund-yes{background:var(--danger);color:#fff;border:none;border-radius:4px;padding:4px 10px;font-size:12px}.btn-refund-no{background:var(--bg3);border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:4px 10px;font-size:12px}.sale-item-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.btn-sale-action{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:4px;padding:2px 7px;font-size:13px;line-height:1.4;transition:background .15s}.btn-sale-action:hover{background:var(--bg3)}.btn-sale-action:disabled{color:var(--text-dim);cursor:default;opacity:.5}.btn-cancel-sale{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:4px;padding:2px 7px;font-size:13px;transition:background .15s,color .15s}.btn-cancel-sale:hover{border-color:var(--danger);color:var(--danger);background:#e052521a}.cancel-sale-box{background:var(--bg3);border:1px solid #e052524d;border-radius:6px;flex-direction:column;gap:8px;margin-top:10px;padding:12px;display:flex}.cancel-sale-box label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.cancel-sale-box input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font-size:13px}.cancel-sale-error{color:var(--danger);font-size:12px}.cancel-sale-actions{gap:8px;display:flex}.cancel-sale-reason{color:var(--text-dim);margin-top:6px;font-size:12px;font-style:italic}.sale-locked{color:var(--text-dim);font-size:11px}.edit-sale-box{background:var(--bg3);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:10px;margin-top:10px;padding:12px;display:flex}.edit-sale-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.edit-sale-row label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.edit-sale-row select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px;font-size:13px}.edit-sale-items{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:6px;display:flex}.edit-payments{flex-direction:column;gap:6px;display:flex}.edit-payments>label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.btn-split-payment{color:var(--gold);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.btn-split-payment:hover{text-decoration:underline}.payment-split{flex-direction:column;gap:8px;display:flex}.payment-split-row{align-items:center;gap:8px;display:flex}.payment-split-row select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;flex:0 0 110px;width:auto;padding:6px 10px;font-size:13px}.payment-split-row input{background:var(--bg);border:1px solid var(--border);width:auto;color:var(--text);border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.payment-split-total{color:var(--text-dim);font-size:12px;font-family:var(--font-mono)}.edit-sale-item-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.edit-sale-item-label{color:var(--text);font-size:12px}.edit-sale-item-row select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 8px;font-size:12px}.split-badge{margin-left:6px;font-size:11px}.split-box{background:var(--bg);border:1px dashed var(--border);border-radius:6px;flex-direction:column;gap:8px;margin:6px 0 10px;padding:10px;display:flex}.split-hint{color:var(--text-dim);font-size:11px;font-style:italic}.split-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.split-comp-label{color:var(--text);font-size:12px}.split-row select{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 8px;font-size:12px}.closure-bar{background:var(--bg2);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:14px 20px;display:flex}.closure-bar-info{align-items:center;gap:12px;display:flex}.closure-bar-count{color:var(--text-dim);font-size:13px}.closure-bar-total{font-family:var(--font-mono);color:var(--gold);font-size:15px}.btn-closure{background:var(--gold);color:#1a1510;border:none;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:500}.closure-confirm{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.closure-warning{border:1px solid var(--gold);width:100%;color:var(--text);background:#d69e2e1f;border-radius:8px;padding:10px 14px;font-size:12.5px;line-height:1.5}.closure-understood{color:var(--text-dim);align-items:center;gap:6px;font-size:12.5px;display:flex}.closure-breakdown{color:var(--text-dim);gap:12px;font-size:12px;display:flex}.closure-confirm select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px;font-size:13px}.btn-closure-yes{background:var(--success);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:13px}.btn-closure-no{background:var(--bg3);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:6px 12px;font-size:13px}.closure-error{color:var(--danger);width:100%;font-size:12px}.bc-page{flex-direction:column;gap:20px;max-width:860px;display:flex}.bc-title{font-family:var(--font-title);color:var(--gold);font-size:32px;font-weight:400}.bc-tabs{border-bottom:1px solid var(--border);background:var(--bg2);border-radius:10px 10px 0 0;display:flex;overflow:hidden}.bc-tabs button{color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:13px 8px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s}.bc-tabs button.active{color:var(--gold);border-bottom-color:var(--gold)}.bc-tabs button:hover:not(.active){color:var(--text)}.bc-section{background:var(--bg2);border:1px solid var(--border);border-radius:0 0 10px 10px;flex-direction:column;gap:16px;padding:24px;display:flex}.bc-page .field label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.bc-page .field{flex-direction:column;display:flex}.bc-page .field input,.bc-page .field select{width:100%}.bc-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.bc-mode-row{flex-wrap:wrap;gap:8px;display:flex}.bc-mode-row button{background:var(--bg3);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:9px 16px;font-size:13px;transition:all .15s}.bc-mode-row button.active{color:var(--gold);border-color:var(--gold);background:#c9a84c1f}.bc-mode-row button:hover:not(.active){color:var(--text)}.bc-actions{justify-content:flex-end;display:flex}.bc-error{color:var(--danger);margin:0;font-size:13px}.bc-created{flex-direction:column;align-items:center;gap:16px;padding:12px 0;display:flex}.bc-created-msg{color:var(--text-dim);text-align:center;font-size:14px}.bc-created-card{background:var(--bg3);border:1px dashed var(--gold);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:22px 40px;display:flex}.bc-created-code{font-family:var(--font-mono);letter-spacing:2px;color:var(--text);font-size:22px;font-weight:700}.bc-created-amount{font-family:var(--font-title);color:var(--gold);font-size:30px}.bc-created-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.bc-list-filters{flex-wrap:wrap;gap:10px;display:flex}.bc-list-filters input{flex:2;min-width:180px}.bc-list-filters select{flex:1;min-width:140px}.bc-list{flex-direction:column;gap:8px;display:flex}.bc-empty{color:var(--text-dim);font-size:13px;font-style:italic}.bc-row{background:var(--bg3);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;display:flex}.bc-row-main{align-items:center;gap:10px;min-width:150px;display:flex}.bc-row-code{font-family:var(--font-mono);color:var(--text);letter-spacing:.5px;font-size:14px;font-weight:700}.bc-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:500}.bc-badge-active{color:var(--success);background:#56b2561f}.bc-badge-redeemed{background:var(--bg);color:var(--text-dim);border:1px solid var(--border)}.bc-badge-expired{color:var(--danger);background:#e052521f}.bc-row-info{min-width:160px;color:var(--text-dim);flex-direction:column;flex:1;gap:2px;font-size:12px;display:flex}.bc-row-info>span:first-child{color:var(--text);font-size:14px;font-weight:500}.bc-row-amount{font-family:var(--font-mono);color:var(--gold);font-size:13px}.bc-row-actions,.bc-redeem-confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bc-redeem-confirm select{min-width:110px}.bc-badge-cancelled{background:var(--bg);color:var(--text-dim);border:1px solid var(--border)}.bc-cancel-confirm{flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:8px;display:flex}.bc-cancel-confirm input{background:var(--bg);border:1px solid var(--border);min-width:220px;color:var(--text);border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.bc-cancel-confirm select{min-width:110px}.bc-cancel-reason{width:100%;color:var(--text-dim);margin-top:8px;font-size:12px;font-style:italic}.bc-theme-row{align-items:center;gap:8px;display:flex}.bc-theme-row select{flex:1}.bc-theme-delete{color:var(--danger);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.bc-theme-upload{background:var(--bg);border:1px dashed var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:12px;display:flex}.bc-theme-upload input[type=text]{background:var(--bg2);border:1px solid var(--border);min-width:160px;color:var(--text);border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.bc-theme-opacity-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.bc-theme-opacity-row label{color:var(--text-dim);white-space:nowrap;font-size:12px}.bc-theme-opacity-row input[type=range]{flex:1;min-width:120px}.bc-theme-live-preview{border:2px solid var(--gold);text-align:center;cursor:grab;border-radius:14px;max-width:320px;margin-top:14px;font-family:Georgia,Times New Roman,serif;position:relative;overflow:hidden}.bc-bg-image-layer{z-index:-1;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.bc-veil-layer{z-index:-1;position:absolute;inset:0}.bc-theme-live-header{color:#c9a84c;letter-spacing:2px;background:#111;padding:12px;font-family:Arial,sans-serif;font-size:14px;font-weight:700}.bc-theme-live-label{letter-spacing:3px;color:#999;text-transform:uppercase;margin-top:16px;font-size:11px}.bc-theme-live-amount{color:#111;margin:4px 0 14px;font-size:32px;font-weight:700}.bc-theme-live-names{color:#333;flex-direction:column;gap:4px;padding:0 16px 16px;font-family:Arial,sans-serif;font-size:12px;display:flex}.bc-theme-toggle-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.bc-text-canvas{aspect-ratio:420/640;border:2px solid var(--gold);cursor:grab;border-radius:14px;width:100%;max-width:420px;margin-top:14px;font-family:Georgia,Times New Roman,serif;position:relative;overflow:hidden}.bc-text-block{text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:4px;padding:2px 8px;font-weight:700;line-height:1.3;position:absolute;transform:translate(-50%,-50%)}.bc-text-block:hover{outline:1px dashed #0000004d}.bc-text-block.selected{outline:2px solid var(--gold);cursor:grabbing;background:#ffffff59}.bc-text-toolbar{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}.bc-text-toolbar input[type=range]{flex:1;min-width:100px}.bc-text-hint{color:var(--text-dim);margin-top:6px;font-size:11px}@media (width<=640px){.bc-form-grid{grid-template-columns:1fr}.bc-row{flex-direction:column;align-items:stretch}.bc-row-actions{justify-content:flex-start}}.bc-checkbox-row{color:var(--text-dim);text-transform:none;letter-spacing:normal;cursor:pointer;align-items:center;gap:8px;margin-top:10px;font-size:12px;font-weight:400;display:flex}.bc-checkbox-row input{width:auto}.caisse-page{max-width:1200px}.caisse-title{font-family:var(--font-title);color:var(--gold);margin-bottom:24px;font-size:34px}.caisse-layout{align-items:flex-start;gap:24px;display:flex}.caisse-left{flex:3}.caisse-right{flex:2}.caisse-mode-row{margin-bottom:14px}.caisse-credit-form{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:20px}@media (width<=900px){.caisse-layout{flex-direction:column}}.sale-date-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.sale-date-bar input[type=date]{border:1px solid var(--border);color:#111;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border-radius:6px;padding:5px 8px;font-size:13px}.sale-search-input{background:var(--bg2);border:1px solid var(--border);min-width:180px;color:var(--text);border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.sale-search-hint{color:var(--text-dim);margin-bottom:10px;font-size:11px}.fc-panel{background:var(--bg);border-top:1px solid var(--border);flex-direction:column;grid-column:1/-1;gap:10px;padding:14px 20px;display:flex}.fc-loading,.fc-empty{color:var(--text-dim);margin:0;font-size:13px}.fc-row{grid-template-columns:1fr 70px 80px 100px 300px;align-items:center;gap:10px;display:grid}.fc-name{color:var(--text);grid-column:1;font-size:13px}.fc-price{background:var(--bg2);border:1px solid var(--border);width:90px;color:var(--text);font-size:13px;font-family:var(--font-mono);border-radius:4px;grid-column:4;padding:5px 8px}.fc-remove{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:4px;grid-column:5;justify-self:start;width:26px;height:26px;font-size:12px}.fc-remove:hover{color:var(--danger);border-color:var(--danger)}.fc-add{gap:10px;margin-top:4px;display:flex}.fc-add select{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:4px;flex:1;padding:6px 8px;font-size:13px}.fc-add-btn{border:1px solid var(--gold-dim);color:var(--gold);background:0 0;border-radius:4px;padding:6px 14px;font-size:12px}.fc-add-btn:disabled{opacity:.4;cursor:not-allowed}.fc-add-btn:hover:not(:disabled){background:#c9a84c14}.fc-total{color:var(--text-dim);font-size:13px;font-family:var(--font-mono)}.fc-total.mismatch{color:var(--danger)}.fc-error{color:var(--danger);margin:0;font-size:13px}.fc-save{background:var(--gold);color:#080808;border:none;border-radius:6px;align-self:flex-start;padding:8px 18px;font-size:13px;font-weight:600}.fc-save:disabled{opacity:.5;cursor:not-allowed}.fc-save:hover:not(:disabled){opacity:.85}.services-page{flex-direction:column;gap:20px;max-width:900px;display:flex}.services-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.services-title{font-family:var(--font-title);color:var(--gold);font-size:32px;font-weight:400}.services-header-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.toggle-inactive{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13px;display:flex}.toggle-inactive input{accent-color:var(--gold)}.btn-new-service{background:var(--gold);color:#080808;border:none;border-radius:6px;padding:9px 18px;font-size:13px;font-weight:600;transition:opacity .2s}.btn-new-service:hover{opacity:.85}.services-tabs{border-bottom:1px solid var(--border);background:var(--bg2);border-radius:10px;display:flex;overflow:hidden}.services-tabs button{color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px 8px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s;display:flex}.services-tabs button.active{color:var(--gold);border-bottom-color:var(--gold)}.services-tabs button:hover:not(.active){color:var(--text)}.services-tab-count{font-family:var(--font-mono);color:var(--text-dim);background:var(--bg);border-radius:20px;padding:1px 7px;font-size:11px}.services-tabs button.active .services-tab-count{color:var(--gold)}.service-new-form{background:var(--bg2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:14px;padding:20px;display:flex}.snf-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.btn-save-service{background:var(--gold);color:#080808;border:none;border-radius:6px;align-self:flex-end;padding:9px 20px;font-size:13px;font-weight:600;transition:opacity .2s}.btn-save-service:disabled{opacity:.5;cursor:not-allowed}.btn-save-service:hover:not(:disabled){opacity:.85}.form-error{color:var(--danger);margin:0;font-size:13px}.services-summary{color:var(--text-dim);font-size:13px}.categories-list{flex-direction:column;gap:24px;display:flex}.category-block{background:var(--bg2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.category-title{font-family:var(--font-title);color:var(--cream);border-bottom:1px solid var(--border);background:var(--bg3);align-items:center;gap:10px;padding:14px 20px;font-size:18px;font-weight:400;display:flex}.category-count{font-family:var(--font-mono);color:var(--text-dim);background:var(--bg);border-radius:20px;padding:2px 8px;font-size:12px}.services-table{flex-direction:column;display:flex;overflow-x:auto}.st-head{text-transform:uppercase;letter-spacing:1px;min-width:620px;color:var(--text-dim);border-bottom:1px solid var(--border);grid-template-columns:1fr 70px 80px 100px 300px;padding:8px 20px;font-size:11px;display:grid}.st-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 70px 80px 100px 300px;align-items:center;min-width:620px;padding:10px 20px;transition:background .15s;display:grid}.st-row:last-child{border-bottom:none}.st-row:hover{background:#ffffff05}.st-row.inactive{opacity:.45}.st-name{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.st-fav-star{color:var(--gold);font-size:12px}.st-code{color:var(--text-dim);font-size:12px;font-family:var(--font-mono);letter-spacing:.5px}.st-dur{color:var(--text-dim);font-size:13px;font-family:var(--font-mono)}.st-price{font-size:14px;font-family:var(--font-mono);color:var(--gold)}.st-actions{align-items:center;gap:8px;display:flex}.btn-fav{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:4px;width:28px;height:28px;font-size:14px;transition:color .15s,border-color .15s}.btn-fav:hover{color:var(--gold);border-color:var(--gold-dim)}.btn-fav.active{color:var(--gold);border-color:var(--gold-dim);background:#c9a84c14}.st-form-error{grid-column:1/-1;margin:4px 0 0}.btn-edit-inline{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:4px;width:28px;height:28px;font-size:14px;transition:color .15s,border-color .15s}.btn-edit-inline:hover{color:var(--gold);border-color:var(--gold-dim)}.btn-toggle{border:1px solid;border-radius:20px;padding:4px 10px;font-size:11px;transition:all .15s}.btn-toggle.active{color:var(--success);background:#56b2560f;border-color:#56b2564d}.btn-toggle.inactive{color:var(--text-dim);border-color:var(--border);background:0 0}.btn-toggle.active:hover{background:#56b25626}.btn-toggle.inactive:hover{color:var(--text);background:var(--bg3)}.btn-delete-inline{border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;background:0 0;border-radius:4px;height:28px;padding:0 8px;font-size:13px;transition:color .15s,border-color .15s,background .15s}.btn-delete-inline:hover{color:var(--danger);border-color:var(--danger)}.btn-delete-inline.confirm{color:var(--danger);border-color:var(--danger);background:#dc50501a;font-size:11px}.btn-compose{border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;background:0 0;border-radius:4px;height:28px;padding:0 10px;font-size:11px;transition:color .15s,border-color .15s,background .15s}.btn-compose:hover{color:var(--gold);border-color:var(--gold-dim)}.btn-compose.active{color:var(--gold);border-color:var(--gold-dim);background:#c9a84c14}.st-edit-input{background:var(--bg);border:1px solid var(--gold-dim);color:var(--text);border-radius:4px;width:100%;padding:5px 8px;font-size:13px}.st-edit-name-group{align-items:center;gap:6px;min-width:0;display:flex}.st-edit-name-group .st-type{flex:0 0 90px}.st-edit-name-group .st-name,.st-edit-name-group .st-category{flex:auto;min-width:0}.btn-save-inline{background:var(--gold);color:#080808;border:none;border-radius:4px;width:28px;height:28px;font-size:14px;font-weight:700}.btn-cancel-inline{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:4px;width:28px;height:28px;font-size:14px}.staff-page{flex-direction:column;gap:20px;max-width:820px;display:flex}.staff-header{justify-content:space-between;align-items:center;display:flex}.staff-title{font-family:var(--font-title);color:var(--gold);align-items:center;gap:12px;font-size:32px;font-weight:400;display:flex}.staff-count{font-family:var(--font-mono);color:var(--text-dim);background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:2px 10px;font-size:16px}.btn-new-staff{background:var(--gold);color:#080808;border:none;border-radius:6px;padding:9px 20px;font-size:13px;font-weight:600;transition:opacity .2s}.btn-new-staff:hover{opacity:.85}.staff-quick-form{background:var(--bg2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:16px;padding:20px;display:flex}.staff-list{flex-direction:column;gap:12px;display:flex}.staff-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;transition:opacity .2s;overflow:hidden}.staff-card.inactive{opacity:.55}.sc-bar{height:4px}.sc-header{align-items:center;gap:14px;padding:16px 20px;display:flex}.sc-header:hover{background:#ffffff05}.sc-avatar{width:48px;min-width:48px;height:48px;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.sc-name-block{flex:1}.sc-name{font-family:var(--font-title);color:var(--cream);font-size:19px;font-weight:400}.sc-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.sc-status-badge{border-radius:20px;padding:2px 9px;font-size:11px;font-weight:500}.sc-contract{color:var(--text-dim);background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:2px 8px;font-size:11px}.sc-inactive-badge{color:var(--danger);border:1px solid #e052524d;border-radius:20px;padding:2px 8px;font-size:11px}.sc-chevron{color:var(--text-dim);font-size:10px}.sc-stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex}.sc-stat{border-right:1px solid var(--border);flex-direction:column;flex:1;gap:2px;padding:10px 16px;display:flex}.sc-stat:last-child{border-right:none}.sc-stat-l{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-size:10px}.sc-stat-v{font-family:var(--font-mono);color:var(--text);font-size:14px}.sc-stat-gold{color:var(--gold)}.sc-tabs,.sc-form-tabs{border-bottom:1px solid var(--border);background:var(--bg3);display:flex}.sc-tabs button,.sc-form-tabs button{color:var(--text-dim);text-transform:uppercase;letter-spacing:.7px;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 8px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s}.sc-tabs button.active,.sc-form-tabs button.active{color:var(--gold);border-bottom-color:var(--gold)}.sc-tabs button:hover:not(.active),.sc-form-tabs button:hover:not(.active){color:var(--text)}.sc-body{flex-direction:column;gap:14px;padding:16px 20px;display:flex}.sc-fields{flex-direction:column;gap:6px;display:flex}.sc-row{gap:16px;padding:3px 0;font-size:13px;display:flex}.sc-row-label{color:var(--text-dim);flex-shrink:0;min-width:130px}.sc-row-val{color:var(--text);flex:1}.sc-sep{border:none;border-top:1px solid var(--border);margin:6px 0}.sc-group-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);padding:8px 0 4px;font-size:10px;font-weight:500}.sc-text{color:var(--text);white-space:pre-wrap;font-size:13px;line-height:1.6}.sc-empty{color:var(--text-dim);font-size:13px;font-style:italic}.sc-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field.span2{grid-column:span 2}.sc-form-sep{border-top:1px solid var(--border);text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);grid-column:span 2;padding-top:10px;font-size:10px;font-weight:500}.status-btns{flex-wrap:wrap;gap:8px;display:flex}.status-btn{border:1px solid var(--border);background:var(--bg3);color:var(--text-dim);border-radius:6px;padding:7px 16px;font-size:13px;transition:all .15s}.status-btn:hover{color:var(--text);border-color:var(--gold-dim)}.status-btn.active{font-weight:600}.color-palette{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-swatch{border:2px solid #0000;border-radius:50%;width:26px;height:26px;transition:transform .1s,border-color .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--cream);transform:scale(1.15)}.color-custom{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;width:26px;height:26px;padding:0}.sc-edit-btn-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:4px;padding-top:4px;display:flex}.btn-sc-edit{background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:7px 16px;font-size:13px;transition:border-color .15s,color .15s}.btn-sc-edit:hover{border-color:var(--gold-dim);color:var(--gold)}.btn-sc-toggle{color:var(--danger);background:0 0;border:1px solid #e052524d;border-radius:6px;padding:7px 14px;font-size:13px;transition:background .15s}.btn-sc-toggle:hover{background:#e0525214}.btn-sc-save{background:var(--gold);color:#080808;border:none;border-radius:6px;padding:8px 22px;font-size:13px;font-weight:600;transition:opacity .2s}.btn-sc-save:disabled{opacity:.5;cursor:not-allowed}.btn-sc-save:hover:not(:disabled){opacity:.85}.btn-sc-cancel{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:6px;padding:8px 16px;font-size:13px}.btn-sc-cancel:hover{color:var(--text)}.fidelite-page{flex-direction:column;gap:20px;max-width:860px;display:flex}.fidelite-header{align-items:center;gap:16px;display:flex}.fidelite-title{font-family:var(--font-title);color:var(--gold);font-size:32px;font-weight:400}.fidelite-status{border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500}.fidelite-status.active{color:var(--success);background:#56b2561f;border:1px solid #56b2564d}.fidelite-status.inactive{background:var(--bg3);color:var(--text-dim);border:1px solid var(--border)}.fidelite-tabs{border-bottom:1px solid var(--border);background:var(--bg2);border-radius:10px 10px 0 0;display:flex;overflow:hidden}.fidelite-tabs button{color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:13px 8px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s}.fidelite-tabs button.active{color:var(--gold);border-bottom-color:var(--gold)}.fidelite-tabs button:hover:not(.active){color:var(--text)}@media (width<=480px){.fidelite-tabs{flex-wrap:wrap}.fidelite-tabs button{flex:50%;padding:11px 6px;font-size:11px}}.fidelite-section{background:var(--bg2);border:1px solid var(--border);border-radius:0 0 10px 10px;flex-direction:column;gap:20px;padding:24px;display:flex}.fidelite-rule-preview{color:var(--text);background:#c9a84c12;border:1px solid #c9a84c33;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.fidelite-rule-preview strong{color:var(--gold)}.fidelite-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.field-hint{color:var(--text-dim);margin-top:4px;font-size:11px;display:block}.toggle-row{align-items:center;margin-top:6px;display:flex}.toggle-btn{border:1px solid;border-radius:6px;padding:7px 20px;font-size:13px;font-weight:600;transition:all .15s}.toggle-btn.on{color:var(--success);background:#56b25626;border-color:#56b25666}.toggle-btn.off{background:var(--bg3);color:var(--text-dim);border-color:var(--border)}.fidelite-actions{justify-content:flex-end;display:flex}.btn-save-fidelite{background:var(--gold);color:#080808;border:none;border-radius:6px;padding:10px 24px;font-size:13px;font-weight:600;transition:opacity .2s}.btn-save-fidelite:disabled{opacity:.5;cursor:not-allowed}.btn-save-fidelite:hover:not(:disabled){opacity:.85}.paliers-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.paliers-intro{color:var(--text-dim);font-size:13px}.btn-add-palier{border:1px solid var(--border);color:var(--gold);background:0 0;border-radius:6px;padding:7px 14px;font-size:13px;transition:background .15s}.btn-add-palier:hover{background:#c9a84c14}.palier-form{background:var(--bg3);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:14px;padding:16px;display:flex}.palier-form-grid{flex-wrap:wrap;gap:12px;display:flex}.palier-form-grid .field{flex:1;min-width:140px}.paliers-list{flex-direction:column;gap:8px;display:flex}.palier-card{background:var(--bg3);border:1px solid var(--border);border-radius:8px;align-items:center;gap:16px;padding:14px 18px;transition:opacity .2s;display:flex}.palier-card.inactive{opacity:.45}.palier-pts{background:#c9a84c1a;border:1px solid #c9a84c40;border-radius:8px;flex-direction:column;align-items:center;min-width:56px;padding:8px;display:flex}.palier-pts-num{font-family:var(--font-mono);color:var(--gold);font-size:20px;font-weight:700;line-height:1}.palier-pts-label{color:var(--gold);text-transform:uppercase;letter-spacing:1px;font-size:10px}.palier-info{flex-direction:column;flex:1;gap:3px;display:flex}.palier-label{color:var(--text);font-size:14px;font-weight:500}.palier-value{color:var(--text-dim);font-size:12px}.palier-actions{align-items:center;gap:8px;display:flex}.btn-toggle-palier{border:1px solid;border-radius:20px;padding:4px 12px;font-size:11px;transition:all .15s}.btn-toggle-palier.active{color:var(--success);border-color:#56b2564d}.btn-toggle-palier:not(.active){color:var(--text-dim);border-color:var(--border)}.btn-del-palier{color:var(--danger);background:0 0;border:1px solid #e0525233;border-radius:4px;width:28px;height:28px;font-size:12px;transition:background .15s}.btn-del-palier:hover{background:#e052521a}.manual-block{background:var(--bg3);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.manual-title{color:var(--text);text-transform:uppercase;letter-spacing:1px;font-size:13px;font-weight:600}.manual-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.manual-form .field{flex:1;min-width:130px}.client-dropdown{background:var(--bg);border:1px solid var(--border);z-index:50;border-radius:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.client-dropdown-item{text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:9px 12px;font-size:13px;transition:background .1s;display:flex}.client-dropdown-item:hover{background:var(--bg3)}.client-pts{color:var(--gold);font-size:11px;font-family:var(--font-mono);margin-left:auto}.btn-manual{background:var(--gold);color:#080808;white-space:nowrap;border:none;border-radius:6px;align-self:flex-end;margin-bottom:0;padding:9px 18px;font-size:13px;font-weight:600;transition:opacity .2s}.btn-manual:disabled{opacity:.5;cursor:not-allowed}.section-subtitle{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);font-size:12px;font-weight:500}.top-clients-list{flex-direction:column;gap:6px;display:flex}.top-client-row{background:var(--bg3);border:1px solid var(--border);border-radius:8px;align-items:center;gap:14px;padding:12px 16px;display:flex}.rank{font-family:var(--font-mono);text-align:center;border-radius:6px;min-width:28px;padding:4px 6px;font-size:13px;font-weight:700}.rank-1{color:var(--gold);background:#c9a84c33}.rank-2{color:silver;background:#c0c0c026}.rank-3{color:#cd7f32;background:#b4643226}.rank-other{background:var(--bg);color:var(--text-dim)}.top-client-name{color:var(--text);flex-direction:column;flex:1;gap:2px;font-size:13px;display:flex}.top-client-phone{color:var(--text-dim);font-size:12px}.top-client-pts{align-items:baseline;gap:6px;display:flex}.pts-num{font-family:var(--font-mono);color:var(--gold);font-size:20px;font-weight:700}.pts-label{color:var(--text-dim);text-transform:uppercase;font-size:11px}.pts-euro{color:var(--text-dim);font-size:12px;font-family:var(--font-mono)}.tx-list{flex-direction:column;gap:6px;display:flex}.tx-row{background:var(--bg3);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:11px 16px;display:flex}.tx-row.type-earned{border-left-color:var(--success)}.tx-row.type-redeemed{border-left-color:#9b59b6}.tx-row.type-manual{border-left-color:#4a9bd4}.tx-row.type-expiry{border-left-color:var(--danger)}.tx-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.tx-badge{white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:500}.tx-badge.type-earned{color:var(--success);background:#56b2561f}.tx-badge.type-redeemed{color:#9b59b6;background:#9b59b61f}.tx-badge.type-manual{color:#4a9bd4;background:#4a9bd41f}.tx-badge.type-expiry{color:var(--danger);background:#e052521f}.tx-info{flex-direction:column;gap:1px;min-width:0;display:flex}.tx-client{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.tx-label{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.tx-right{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.tx-pts.positive{font-family:var(--font-mono);color:var(--success);font-size:15px;font-weight:700}.tx-pts.negative{font-family:var(--font-mono);color:var(--danger);font-size:15px;font-weight:700}.tx-date{color:var(--text-dim);font-size:11px}.fidelite-empty{color:var(--text-dim);font-size:13px;font-style:italic}.stats-page{flex-direction:column;gap:20px;max-width:960px;display:flex}.stats-header{align-items:center;gap:16px;display:flex}.stats-title{font-family:var(--font-title);color:var(--gold);font-size:32px;font-weight:400}.stats-loading{color:var(--text-dim);font-size:12px;font-style:italic}.period-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.period-btn{background:var(--bg2);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:7px 14px;font-size:12px;transition:all .15s}.period-btn:hover{color:var(--text);border-color:var(--gold-dim)}.period-btn.active{background:var(--gold);color:#080808;border-color:var(--gold);font-weight:600}.custom-range{color:var(--text-dim);align-items:center;gap:8px;margin-left:8px;font-size:13px;display:flex}.custom-range input{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px;font-size:12px}.kpi-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.kpi-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:18px 20px;display:flex}.kpi-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-size:11px}.kpi-value{font-family:var(--font-mono);color:var(--text);font-size:24px;font-weight:700}.kpi-gold{color:var(--gold)}.kpi-delta{margin-top:2px;font-size:11px;font-weight:500}.kpi-delta.up{color:var(--success)}.kpi-delta.down{color:var(--danger)}.n1-banner{color:var(--text-dim);background:#c9a84c12;border:1px solid #c9a84c33;border-radius:8px;padding:10px 16px;font-size:13px}.n1-banner strong{color:var(--gold)}.kpi-n1-row{align-items:center;gap:8px;margin-top:2px;display:flex}.kpi-n1-val{color:var(--text-dim);font-size:12px}.stat-section{background:var(--bg2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:14px;padding:20px;display:flex}.stat-section-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);font-size:12px;font-weight:500}.evo-chart{align-items:flex-end;gap:6px;height:140px;padding-bottom:28px;display:flex;position:relative;overflow-x:auto}.evo-col{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:32px;height:100%;display:flex;position:relative}.evo-val{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:9px}.evo-bar-wrap{flex:1;align-items:flex-end;width:100%;display:flex}.evo-bar{background:var(--gold);opacity:.85;border-radius:3px 3px 0 0;width:100%;min-height:3px;transition:height .3s}.evo-bar:hover{opacity:1}.evo-label{color:var(--text-dim);white-space:nowrap;transform-origin:top;font-size:9px;position:absolute;bottom:0;transform:rotate(-30deg)translate(-4px)}.stat-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stat-table{flex-direction:column;gap:10px;display:flex}.stat-row{flex-direction:column;gap:5px;display:flex}.stat-row-name{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.staff-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.svc-rank{font-family:var(--font-mono);color:var(--text-dim);min-width:18px;font-size:11px}.stat-row-data{align-items:center;gap:10px;display:flex}.stat-row-nums{flex-direction:column;gap:1px;min-width:90px;display:flex}.stat-revenue{font-family:var(--font-mono);color:var(--gold);font-size:13px;font-weight:600}.stat-count{color:var(--text-dim);font-size:11px}.stat-pct{font-family:var(--font-mono);color:var(--text-dim);text-align:right;min-width:32px;font-size:11px}.stat-bar-bg{background:var(--bg3);border-radius:3px;flex:1;height:6px;overflow:hidden}.stat-bar-fill{border-radius:3px;height:100%;transition:width .4s}.stat-empty{color:var(--text-dim);font-size:13px;font-style:italic}.n1-badge{white-space:nowrap;border-radius:20px;padding:1px 7px;font-size:11px}.n1-badge.up{color:var(--success);background:#56b2561a}.n1-badge.down{color:var(--danger);background:#e052521a}.n1-badge.neutral{color:var(--text-dim);background:var(--bg3)}.double-bar{flex-direction:column;flex:1;gap:3px;display:flex}.stat-section-header{justify-content:space-between;align-items:center;display:flex}.evo-legend{color:var(--text-dim);align-items:center;gap:12px;font-size:11px;display:flex}.legend-dot{border-radius:2px;width:10px;height:10px;margin-right:4px}.legend-dot.gold{background:var(--gold)}.legend-dot.dim{background:#c9a84c40}.evo-bar-group{flex:1;align-items:flex-end;gap:2px;width:100%;display:flex}.evo-bar-n1{background:#c9a84c4d;border-radius:2px 2px 0 0;flex:1;min-height:2px;transition:height .3s}.evo-bar{background:var(--gold);opacity:.9;border-radius:2px 2px 0 0;flex:1;min-height:2px;transition:height .3s}.evo-bar:hover,.evo-bar-n1:hover{opacity:1;filter:brightness(1.1)}.btn-export-pdf{background:var(--gold);color:#1a1510;border:none;border-radius:6px;margin-left:auto;padding:7px 14px;font-size:12px;font-weight:600}.stats-print-header{display:none}@media (width<=700px){.stats-title{font-size:24px}.kpi-row{grid-template-columns:repeat(2,1fr)}.stat-columns{grid-template-columns:1fr}}@media (width<=420px){.kpi-row{grid-template-columns:1fr}}@media print{.stats-page{--bg:#fff;--bg2:#fff;--bg3:#f3f4f6;--border:#e0e0e0;--text:#111;--text-dim:#666;--gold:#a5820a;--success:#16a34a;--danger:#dc2626;background:#fff;max-width:100%}.stats-header,.period-bar{display:none}.stats-print-header{margin-bottom:8px;display:block}.stats-print-header h1{margin:0 0 4px;font-size:20px}.stats-print-header span{color:#666;font-size:12px}.kpi-card,.stat-section{break-inside:avoid}.kpi-row{grid-template-columns:repeat(4,1fr)}.stat-columns{grid-template-columns:1fr 1fr}}.compta-page{max-width:960px;padding:24px}.compta-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.compta-header h1{margin:0;font-size:22px;font-weight:700}.compta-subtitle{color:#6b7280;margin-top:4px;font-size:14px}.compta-controls{align-items:center;gap:10px;display:flex}.compta-controls input[type=month]{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;font-size:14px}.btn-print{cursor:pointer;color:#374151;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.btn-print:hover{background:#e5e7eb}.compta-loading{color:#888;padding:40px}.compta-empty{color:#9ca3af;text-align:center;padding:32px;font-size:15px}.compta-cards{flex-wrap:wrap;gap:14px;margin-bottom:28px;display:flex}.compta-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex:1;min-width:140px;padding:18px 22px}.compta-card.main{background:#1e40af;border-color:#1e40af}.compta-card.main .cc-label,.compta-card.main .cc-value,.compta-card.main .cc-sub{color:#fff}.cc-label{text-transform:uppercase;color:#6b7280;letter-spacing:.04em;margin-bottom:6px;font-size:11px;font-weight:700}.cc-value{color:#111;font-size:22px;font-weight:800}.cc-sub{color:#9ca3af;margin-top:4px;font-size:12px}.compta-tables{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.compta-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;overflow-x:auto}.compta-section h2{color:#111;border-bottom:1px solid #f3f4f6;margin:0 0 14px;padding-bottom:10px;font-size:14px;font-weight:700}.compta-section table{border-collapse:collapse;width:100%;font-size:13px}.compta-section th{text-align:left;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f3f4f6;padding:0 8px 8px;font-size:11px;font-weight:700}.compta-section td{color:#374151;border-bottom:1px solid #f9fafb;padding:8px}.compta-section tfoot td{border-top:2px solid #e5e7eb;border-bottom:none;padding-top:10px}.compta-section tr:last-child td{border-bottom:none}.right{text-align:right}.bold{color:#111;font-weight:700}.muted{color:#9ca3af}.daily-section{grid-column:1/-1}.compta-print-header{display:none}@media (width<=700px){.compta-tables{grid-template-columns:1fr}}@media (width<=420px){.compta-card{flex:100%}}@media print{.compta-header{display:none}.compta-page{max-width:100%;padding:0}.compta-section,.compta-card{break-inside:avoid}.compta-tables{grid-template-columns:1fr 1fr}.compta-print-header{border-bottom:2px solid #111;margin-bottom:20px;padding-bottom:12px;display:block}.cph-name{color:#111;font-size:16px;font-weight:800}.cph-line{color:#444;gap:16px;margin-top:2px;font-size:12px;display:flex}.cph-title{color:#111;margin-top:10px;font-size:14px;font-weight:700}}.params-page{max-width:860px;padding:24px}.params-loading{color:#888;padding:40px}.params-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.params-header h1{margin:0;font-size:22px;font-weight:700}.btn-save{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:9px 22px;font-size:14px;font-weight:600;transition:background .15s}.btn-save:hover:not(:disabled){background:#1d4ed8}.btn-save:disabled{cursor:default;background:#6b7280}.params-sections{flex-direction:column;gap:28px;display:flex}.params-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.params-section h2{color:#111;border-bottom:1px solid #f3f4f6;margin:0 0 18px;padding-bottom:12px;font-size:15px;font-weight:700}.params-grid{grid-template-columns:1fr 1fr;gap:14px 20px;display:grid}.params-grid label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.params-grid label.full{grid-column:1/-1}.params-grid input{color:#111;background:#f9fafb;border:1px solid #d1d5db;border-radius:7px;padding:8px 11px;font-size:14px;transition:border-color .15s}.params-grid input:focus{background:#fff;border-color:#2563eb;outline:none}.params-hint{color:#9ca3af;text-transform:none;letter-spacing:normal;margin-top:6px;font-size:12px;font-weight:400;display:block}.params-error{color:#dc2626;margin-top:6px;font-size:12px;font-weight:600}.params-presets-row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.params-preset{background:var(--bg3);border:1px solid var(--border);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:5px 12px 5px 5px;transition:border-color .15s;display:flex}.params-preset:hover{border-color:var(--gold-dim)}.params-preset-active{border-color:var(--gold)}.params-preset-swatch{border:1px solid #00000026;border-radius:50%;flex-shrink:0;width:22px;height:22px}.params-preset-name{color:var(--text);font-size:12px;font-weight:600}.params-brand-row{gap:28px;margin-top:18px;display:flex}.params-color-field{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.params-color-input{align-items:center;gap:10px;display:flex}.params-color-input input[type=color]{cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:7px;width:44px;height:32px;padding:2px}.params-color-input span{color:#374151;text-transform:uppercase;font-size:13px;font-weight:600}.params-logo-row{border-top:1px solid #f3f4f6;align-items:center;gap:20px;margin-top:20px;padding-top:20px;display:flex}.params-logo-preview{background:#f9fafb;border:1px dashed #d1d5db;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:90px;height:90px;display:flex;overflow:hidden}.params-logo-preview img{object-fit:contain;max-width:100%;max-height:100%}.params-logo-empty{color:#9ca3af;text-align:center;padding:8px;font-size:11px}.btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600;transition:background .15s}.btn-secondary:hover:not(:disabled){background:#f3f4f6}.btn-secondary:disabled{opacity:.6;cursor:default}.params-toggle-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.params-toggle-label{color:#111;font-size:14px;font-weight:600}.params-toggle-desc{color:#6b7280;margin-top:3px;font-size:13px}.toggle-btn{cursor:pointer;background:#d1d5db;border:none;border-radius:12px;width:44px;min-width:44px;height:24px;padding:0;transition:background .2s;position:relative}.toggle-btn.on{background:#2563eb}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-btn.on .toggle-knob{left:23px}@media (width<=480px){.params-page{padding:16px}.params-header{flex-wrap:wrap;gap:12px}.params-grid{grid-template-columns:1fr}.params-brand-row{flex-wrap:wrap;gap:18px}.params-logo-row{flex-wrap:wrap}}*{box-sizing:border-box;margin:0;padding:0}.booking-page{color:#eee;background:#0f0f0f;min-height:100vh;font-family:Inter,Arial,sans-serif}.booking-header{text-align:center;background:#111;border-bottom:1px solid #222;padding:28px 20px 20px}.booking-salon-name{letter-spacing:4px;color:var(--gold);font-size:26px;font-weight:700}.booking-by{color:#444;letter-spacing:2px;margin-top:4px;font-size:11px}.booking-address{color:#666;margin-top:6px;font-size:13px}.booking-box{max-width:520px;margin:32px auto;padding:0 16px 60px}.booking-loading,.booking-error{text-align:center;color:#888;padding:60px 20px}.booking-done{text-align:center;padding:48px 20px}.booking-done-icon{border:2px solid var(--gold);width:64px;height:64px;color:var(--gold);background:#d4af3726;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:28px;display:flex}.booking-done h2{color:#eee;margin-bottom:12px;font-size:22px}.booking-done p{color:#888;line-height:1.7}.booking-steps{background:#1a1a1a;border-radius:10px;justify-content:space-between;gap:0;margin-bottom:32px;padding:14px 10px;display:flex;overflow:hidden}.booking-step{opacity:.35;flex:1;align-items:center;gap:6px;font-size:12px;display:flex}.booking-step.active{opacity:1}.booking-step.done{opacity:.65}.step-dot{background:#333;border:1.5px solid #444;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.booking-step.active .step-dot{background:var(--gold);border-color:var(--gold);color:#000}.step-label{color:#bbb;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}@media (width<=400px){.booking-steps{padding:12px 8px}.booking-step{gap:4px}.step-label{display:none}.booking-step.active .step-label{max-width:74px;display:block}}.booking-section h2{color:#eee;margin-bottom:6px;font-size:18px}.booking-sub{color:#888;margin-bottom:18px;font-size:13px}.booking-back{color:var(--gold);cursor:pointer;background:0 0;border:none;margin-bottom:18px;padding:0;font-size:13px;display:block}.booking-category{text-transform:uppercase;letter-spacing:.1em;color:#555;margin:18px 0 8px;font-size:11px;font-weight:700}.booking-service-btn{cursor:pointer;color:#eee;text-align:left;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.booking-service-btn:hover{border-color:var(--gold);background:#1f1a0f}.svc-name{font-size:14px;font-weight:500}.svc-meta{color:#888;font-size:12px}.booking-staff-list{flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}.booking-staff-btn{cursor:pointer;color:#eee;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:10px;min-width:120px;padding:20px 28px;font-size:14px;font-weight:500;transition:border-color .15s,background .15s;display:flex}.booking-staff-btn:hover{border-color:var(--gold);background:#1f1a0f}.staff-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.booking-date-input{color:#eee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;width:100%;margin-top:8px;margin-bottom:18px;padding:12px 14px;font-size:14px}.booking-slots{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.booking-slot{color:#eee;cursor:pointer;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;padding:9px 16px;font-size:14px;transition:all .15s}.booking-slot:hover{border-color:var(--gold)}.booking-slot.selected{background:var(--gold);border-color:var(--gold);color:#000;font-weight:700}.booking-slots-loading,.booking-no-slots{color:#666;padding:12px 0;font-size:13px}.booking-next{background:var(--gold);color:#000;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:8px;padding:13px 28px;font-size:15px;font-weight:700}.booking-recap{border-left:3px solid var(--gold);color:#bbb;background:#1a1a1a;border-radius:0 8px 8px 0;margin-bottom:22px;padding:12px 16px;font-size:13px}.booking-form .field{margin-bottom:16px}.booking-form label{color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;display:block}.booking-form input{color:#eee;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;width:100%;padding:12px 14px;font-size:14px}.booking-form input:focus{border-color:var(--gold);outline:none}.booking-form-error{color:#e57373;margin-bottom:12px;font-size:13px}.booking-submit{background:var(--gold);color:#000;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:700;transition:opacity .15s}.booking-submit:disabled{opacity:.5;cursor:not-allowed}.booking-payment{text-align:center}.booking-payment h2{margin:16px 0 8px}.booking-payment-info{color:#888;margin:0 0 24px;font-size:13px;line-height:1.5}.booking-payment-secure{color:#666;margin-top:12px;font-size:12px}.booking-deposit-notice{color:var(--gold);background:#1a1a0a;border:1px solid #3a3010;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.aide-page{max-width:820px}.aide-title{font-family:var(--font-title);color:var(--gold);margin-bottom:12px;font-size:34px}.aide-intro{color:var(--text-dim);margin-bottom:24px;font-size:14px;line-height:1.6}.aide-inline-btn{border:1px solid var(--border);width:20px;height:20px;color:var(--gold);vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.aide-accordion{flex-direction:column;gap:10px;display:flex}.aide-item{background:var(--bg2);border:1px solid var(--border);border-radius:10px;scroll-margin-top:20px;overflow:hidden}.aide-item.open{border-color:var(--gold-dim)}.aide-item-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;display:flex}.aide-item-header:hover{background:var(--bg3)}.aide-item-label{font-family:var(--font-title);color:var(--text);font-size:18px}.aide-item.open .aide-item-label{color:var(--gold)}.aide-item-chevron{color:var(--text-dim);font-size:11px}.aide-item-body{flex-direction:column;gap:16px;padding:0 20px 20px;display:flex}.aide-summary{color:var(--text-dim);border-left:2px solid var(--gold-dim);padding-left:12px;font-size:13px;font-style:italic}.aide-section h3{text-transform:uppercase;letter-spacing:1px;color:var(--gold);margin-bottom:8px;font-size:11px;font-weight:500}.aide-section ul{flex-direction:column;gap:6px;list-style:none;display:flex}.aide-section li{color:var(--text);padding-left:14px;font-size:13px;line-height:1.5;position:relative}.aide-section li:before{content:"·";color:var(--text-dim);position:absolute;left:0}:root{--c-bg:#0b0e13;--c-bg2:#12161d;--c-bg3:#191f28;--c-border:#262d38;--c-text:#e8ebef;--c-text-dim:#8a94a3;--c-accent:#4fb8c9;--c-danger:#e05252;--c-success:#56b256}.console-login-page{background:var(--c-bg);justify-content:center;align-items:center;height:100%;min-height:100vh;display:flex}.console-login-box{background:var(--c-bg2);border:1px solid var(--c-border);text-align:center;border-radius:12px;width:380px;max-width:calc(100vw - 32px);padding:40px}.console-logo{color:var(--c-text);letter-spacing:2px;font-family:Courier New,monospace;font-size:26px;font-weight:700}.console-logo span{color:var(--c-accent);font-weight:400}.console-login-subtitle{color:var(--c-text-dim);margin:8px 0 24px;font-size:13px}.console-login-form{text-align:left;flex-direction:column;gap:16px;display:flex}.c-field label{color:var(--c-text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.c-field input,.c-field select{background:var(--c-bg3);border:1px solid var(--c-border);width:100%;color:var(--c-text);border-radius:6px;padding:10px 12px;font-size:14px}.c-field input:focus,.c-field select:focus{border-color:var(--c-accent);outline:none}.password-field{position:relative}.password-field input{padding-right:40px}.password-toggle{color:var(--c-text-dim);opacity:.7;background:0 0;border:none;padding:6px;font-size:16px;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{opacity:1}.console-error{color:var(--c-danger);text-align:center;margin:0;font-size:13px}.console-login-btn,.console-btn-primary,.console-btn-connect{cursor:pointer;border:none;border-radius:6px;padding:11px 18px;font-size:13px;font-weight:600;transition:opacity .2s}.console-login-btn{background:var(--c-accent);color:#05171a;width:100%}.console-btn-primary,.console-btn-connect{background:var(--c-accent);color:#05171a}.console-login-btn:disabled,.console-btn-primary:disabled,.console-btn-connect:disabled{opacity:.5;cursor:not-allowed}.console-login-btn:hover:not(:disabled),.console-btn-primary:hover:not(:disabled),.console-btn-connect:hover:not(:disabled){opacity:.85}.console-btn-secondary{background:var(--c-bg3);border:1px solid var(--c-border);color:var(--c-text);cursor:pointer;border-radius:6px;padding:8px 14px;font-size:12px}.console-btn-secondary:hover{background:var(--c-bg2)}.console-page{background:var(--c-bg);min-height:100vh;color:var(--c-text)}.console-header{border-bottom:1px solid var(--c-border);background:var(--c-bg2);justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.console-header-right{align-items:center;gap:14px;display:flex}.console-admin-name{color:var(--c-text-dim);font-size:13px}.console-logout-btn{border:1px solid var(--c-border);color:var(--c-text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:7px 14px;font-size:12px}.console-logout-btn:hover{color:var(--c-text);border-color:var(--c-accent)}.console-main{flex-direction:column;gap:18px;max-width:960px;margin:0 auto;padding:28px 20px;display:flex}.console-toolbar{flex-wrap:wrap;gap:12px;display:flex}.console-search{background:var(--c-bg2);border:1px solid var(--c-border);min-width:200px;color:var(--c-text);border-radius:6px;flex:1;padding:10px 14px;font-size:14px}.console-search:focus{border-color:var(--c-accent);outline:none}.console-create-form{background:var(--c-bg2);border:1px solid var(--c-border);border-radius:10px;flex-direction:column;gap:14px;padding:20px;display:flex}.console-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.console-empty{color:var(--c-text-dim);font-size:13px;font-style:italic}.console-list{flex-direction:column;gap:8px;display:flex}.console-row{background:var(--c-bg2);border:1px solid var(--c-border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px;display:flex}.console-row-main{flex-direction:column;gap:2px;min-width:160px;display:flex}.console-row-name{color:var(--c-text);font-size:15px;font-weight:600}.console-row-slug{color:var(--c-text-dim);font-family:Courier New,monospace;font-size:12px}.console-row-info{color:var(--c-text-dim);flex-wrap:wrap;flex:1;align-items:center;gap:12px;font-size:12px;display:flex}.console-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:600}.console-badge.on{color:var(--c-success);background:#56b25626}.console-badge.off{color:var(--c-danger);background:#e0525226}.console-row-plan{text-transform:capitalize}.console-row-actions{gap:8px;margin-left:auto;display:flex}.console-pick-users{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.console-row-wrap{flex-direction:column;gap:0;display:flex}.console-row-days{color:var(--c-accent);font-weight:600}.console-badge.statut-essai{color:var(--c-accent);background:#4fb8c926}.console-badge.statut-actif{color:var(--c-success);background:#56b25626}.console-badge.statut-suspendu{color:var(--c-danger);background:#e0525226}.console-badge.statut-resilie{color:var(--c-text-dim);background:#8a94a326}.console-panel{background:var(--c-bg3);border:1px solid var(--c-border);border-top:none;border-radius:0 0 8px 8px;flex-direction:column;gap:16px;margin-top:-8px;padding:16px 20px;display:flex}.console-panel-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--c-text-dim);margin:0 0 8px;font-size:12px}.console-panel-row{flex-wrap:wrap;gap:18px;margin-bottom:8px;font-size:13px;display:flex}.console-panel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.console-mini-input{background:var(--c-bg2);border:1px solid var(--c-border);color:var(--c-text);border-radius:6px;padding:8px 10px;font-size:12px}.console-sms-log{width:100%;color:var(--c-text-dim);border-collapse:collapse;margin-top:10px;font-size:11px}.console-sms-log td{border-bottom:1px solid var(--c-border);padding:4px 8px 4px 0}@media (width<=640px){.console-form-grid{grid-template-columns:1fr}.console-row{flex-direction:column;align-items:stretch}.console-row-actions{margin-left:0}}
