.ruby-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:var(--bg-0)}.ruby-auth:before{background:radial-gradient(70% 60% at 85% 0,rgba(201,162,75,.16),transparent 60%),radial-gradient(60% 60% at 0 100%,rgba(44,84,126,.08),transparent 55%)}.ruby-auth:after,.ruby-auth:before{content:"";position:absolute;inset:0;pointer-events:none}.ruby-auth:after{opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Ccircle cx='20' cy='20' r='6'/%3E%3Ccircle cx='20' cy='34' r='6'/%3E%3Cpath d='M25 24 L55 44 M25 30 L55 12'/%3E%3C/g%3E%3C/svg%3E")}.ruby-auth-card{position:relative;z-index:1;width:min(420px,100%);background:var(--bg-glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:40px 36px;box-shadow:var(--shadow-pop);animation:rubyIn .5s cubic-bezier(.22,1,.36,1) both}.ruby-auth-card:before{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,var(--border-gold),transparent)}.ruby-auth-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px}.ruby-auth-mark{width:60px;height:60px;border-radius:18px;background:var(--paper-1);border:1px solid var(--border-gold);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md,var(--shadow-card)),inset 0 1px 0 rgba(255,255,255,.6)}.ruby-auth-word{font-family:var(--font-display);font-size:40px;line-height:1;color:var(--fg-0)}.ruby-auth-tag{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text);font-weight:600}.ruby-auth-sub{text-align:center;color:var(--fg-2);font-size:var(--fs-md);margin:-10px 0 24px}.ruby-field{margin-bottom:16px}.ruby-field label{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--fg-1);margin-bottom:7px}.ruby-input{width:100%;background:var(--bg-2);border:1px solid var(--border);border-radius:11px;padding:12px 14px;font-size:var(--fs-base);font-family:inherit;color:var(--fg-0);outline:none;transition:border-color .15s,box-shadow .15s}.ruby-input::placeholder{color:var(--fg-3)}.ruby-input:focus{border-color:var(--ruby);box-shadow:0 0 0 3px var(--ruby-soft)}.ruby-auth-error{background:var(--danger-soft);border:1px solid color-mix(in oklch,var(--danger),transparent 70%);color:var(--danger);border-radius:10px;padding:10px 12px;font-size:var(--fs-md);margin-bottom:16px;display:flex;align-items:center;gap:8px}.ruby-auth-submit{width:100%;justify-content:center;padding:13px;font-size:var(--fs-base);margin-top:6px}.ruby-auth-demos{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.ruby-auth-demos-l{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--fg-3);margin-bottom:10px;text-align:center}.ruby-demo-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.ruby-demo-btn{display:flex;align-items:center;gap:8px;padding:9px 11px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;font-size:var(--fs-sm);color:var(--fg-1);text-align:left;transition:all .15s}.ruby-demo-btn:hover{border-color:var(--ruby);color:var(--fg-0);background:var(--bg-3)}.ruby-demo-btn b{display:block;color:var(--fg-0);font-size:var(--fs-md)}.ruby-demo-btn span{font-size:var(--fs-xs);color:var(--fg-2)}.ruby-auth-foot{text-align:center;margin-top:22px;font-size:var(--fs-sm);color:var(--fg-3)}.ruby-auth-foot b{color:var(--gold-text)}.ruby-sim-grid{display:grid;grid-template-columns:360px 1fr;grid-gap:22px;gap:22px;align-items:start}.ruby-phone{background:#15100e;border-radius:40px;padding:12px;box-shadow:var(--shadow-pop),0 0 0 2px oklch(1 0 0/.04) inset;position:relative;margin:0 auto;width:100%;max-width:360px}.ruby-phone-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:38%;height:24px;background:#15100e;border-radius:0 0 14px 14px;z-index:5}.ruby-phone-screen{background:#0b141a;border-radius:30px;overflow:hidden;height:600px;display:flex;flex-direction:column}.ruby-wa-head{background:#1f2c33;color:#e9edef;display:flex;align-items:center;gap:10px;padding:42px 14px 10px}.ruby-wa-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--ruby),var(--ruby-dark));display:grid;place-items:center;color:#fff;font-weight:700}.ruby-wa-name{font-weight:600;font-size:var(--fs-base);line-height:1.1}.ruby-wa-status{font-size:var(--fs-xs);opacity:.7}.ruby-wa-chat{flex:1 1;padding:14px 12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;background-color:#0b141a;background-image:radial-gradient(oklch(1 0 0/.02) 1px,transparent 0);background-size:18px 18px}.ruby-wa-msg{max-width:82%;padding:7px 10px 5px;border-radius:10px;font-size:var(--fs-md);line-height:1.4;position:relative;white-space:pre-wrap;word-break:break-word;animation:waPop .3s cubic-bezier(.2,.9,.3,1.2) both}@keyframes waPop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.ruby-wa-in{background:#202c33;color:#e9edef;align-self:flex-start;border-top-left-radius:3px}.ruby-wa-out{background:#005c4b;color:#e9edef;align-self:flex-end;border-top-right-radius:3px}.ruby-wa-msg b,.ruby-wa-msg strong{font-weight:700}.ruby-wa-time{display:block;font-size:10px;opacity:.55;text-align:right;margin-top:2px}.ruby-wa-typing{align-self:flex-start;background:#202c33;padding:10px 12px;border-radius:10px;border-top-left-radius:3px;display:inline-flex;gap:4px}.ruby-wa-typing span{width:7px;height:7px;border-radius:50%;background:#8696a0;animation:waBounce 1.2s infinite}.ruby-wa-typing span:nth-child(2){animation-delay:.15s}.ruby-wa-typing span:nth-child(3){animation-delay:.3s}@keyframes waBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}.ruby-wa-bar{display:flex;gap:8px;padding:10px 12px;background:#1f2c33;align-items:center}.ruby-wa-input{flex:1 1;background:#2a3942;border:none;border-radius:20px;padding:10px 14px;color:#e9edef;font-size:var(--fs-md);outline:none}.ruby-wa-input::placeholder{color:#8696a0}.ruby-wa-send{width:40px;height:40px;border-radius:50%;background:var(--ruby);display:grid;place-items:center;color:#fff;flex-shrink:0}.ruby-wa-send:disabled{opacity:.5}.ruby-sim-side{display:flex;flex-direction:column;gap:16px}.ruby-sim-chips{display:flex;flex-wrap:wrap;gap:8px}.ruby-sim-chip{padding:8px 13px;border-radius:999px;background:var(--bg-2);border:1px solid var(--border);font-size:var(--fs-md);color:var(--fg-1);transition:all .15s}.ruby-sim-chip:hover{border-color:var(--ruby);color:var(--ruby);background:var(--ruby-soft)}.ruby-conv-list{display:flex;flex-direction:column}.ruby-conv{display:flex;align-items:center;gap:12px;padding:13px 8px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;position:relative}.ruby-conv:hover{background:var(--bg-2)}.ruby-conv-main{flex:1 1;min-width:0}.ruby-conv-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ruby-conv-name{font-size:var(--fs-md);font-weight:600;color:var(--fg-0)}.ruby-conv-time{font-size:var(--fs-xs);color:var(--fg-2)}.ruby-conv-preview{font-size:var(--fs-md);color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.ruby-conv-unread{background:var(--ruby);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;padding:0 5px}.ruby-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.ruby-toggle-track{width:42px;height:24px;border-radius:999px;background:var(--bg-3);border:1px solid var(--border);position:relative;transition:background .2s,border-color .2s;flex-shrink:0}.ruby-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--fg-2);transition:transform .2s,background .2s}.ruby-toggle.is-on .ruby-toggle-track{background:var(--action);border-color:var(--action)}.ruby-toggle.is-on .ruby-toggle-knob{transform:translateX(18px);background:#fff}.ruby-settings-grid{display:grid;grid-gap:18px;gap:18px}.ruby-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.ruby-setting-row:last-child{border-bottom:none}.ruby-setting-info h4{font-size:var(--fs-md);font-weight:600;color:var(--fg-0);margin:0}.ruby-setting-info p{font-size:var(--fs-sm);color:var(--fg-2);margin:3px 0 0;max-width:52ch}.ruby-fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.ruby-tenant{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:18px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s}.ruby-tenant:hover{transform:translateY(-3px);border-color:var(--border-strong)}.ruby-tenant.is-self{border-color:var(--border-gold);background:linear-gradient(180deg,var(--gold-soft),transparent),var(--bg-1)}.ruby-tenant-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.ruby-tenant-mark{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-size:18px;flex-shrink:0}.ruby-tenant-name{font-size:var(--fs-base);font-weight:700;color:var(--fg-0)}.ruby-tenant-city{font-size:var(--fs-sm);color:var(--fg-2)}.ruby-tenant-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.ruby-tenant-stat{text-align:center}.ruby-tenant-stat-v{font-family:var(--font-display);font-size:22px;color:var(--fg-0);line-height:1}.ruby-tenant-stat-v.is-gold{color:var(--gold)}.ruby-tenant-stat-l{font-size:10px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.ruby-recovery{background:linear-gradient(135deg,var(--ruby-soft),transparent),var(--bg-1);border:1px solid var(--ruby);border-radius:var(--radius);padding:16px 18px;display:flex;align-items:center;gap:14px;animation:rubyIn .4s ease both}.ruby-recovery-ic{width:42px;height:42px;border-radius:12px;background:var(--ruby);color:#fff;display:grid;place-items:center;flex-shrink:0}.ruby-recovery-txt{flex:1 1}.ruby-recovery-txt h4{margin:0;font-size:var(--fs-base);color:var(--fg-0)}.ruby-recovery-txt p{margin:3px 0 0;font-size:var(--fs-md);color:var(--fg-1)}.ruby-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));grid-gap:8px;gap:8px}.ruby-slot{padding:10px;border-radius:10px;background:var(--bg-2);border:1px solid var(--border);font-size:var(--fs-md);font-weight:600;color:var(--fg-1);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:all .15s}.ruby-slot.is-sel,.ruby-slot:hover{background:var(--ruby-soft);border-color:var(--ruby);color:var(--ruby)}.ruby-divider{height:1px;background:var(--border);margin:4px 0}.ruby-link{color:var(--ruby);font-weight:600;cursor:pointer}.ruby-link:hover{text-decoration:underline}.ruby-inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ruby-muted-note{font-size:var(--fs-sm);color:var(--fg-2);line-height:1.5}@media (max-width:980px){.ruby-sim-grid{grid-template-columns:1fr}}.ruby-ai{display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;height:calc(100vh - 220px);min-height:460px}.ruby-ai-head{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--bg-2)}.ruby-ai-head-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--fg-2);font-weight:600}.ruby-ai-select{background:var(--bg-1);border:1px solid var(--border);border-radius:9px;padding:6px 10px;font-size:var(--fs-md);color:var(--fg-0);font-family:inherit;outline:none;cursor:pointer}.ruby-ai-select:focus{border-color:var(--ruby)}.ruby-ai-head .ruby-badge{margin-left:auto}.ruby-ai-mic{width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--bg-2);border:1px solid var(--border);color:var(--fg-1);display:grid;place-items:center;transition:all .15s}.ruby-ai-mic:hover{color:var(--ruby);border-color:var(--ruby)}.ruby-ai-mic.is-on{background:var(--ruby);color:#fff;border-color:var(--ruby);animation:rubyMicPulse 1.4s infinite}@keyframes rubyMicPulse{0%{box-shadow:0 0 0 0 var(--ruby-soft)}to{box-shadow:0 0 0 10px transparent}}.ruby-ai-chat{flex:1 1;overflow-y:auto;padding:22px 22px 8px;display:flex;flex-direction:column;gap:16px}.ruby-ai-msg{display:flex;gap:10px;align-items:flex-start;max-width:84%}.ruby-ai-user{align-self:flex-end;flex-direction:row-reverse}.ruby-ai-avatar{width:30px;height:30px;border-radius:9px;background:var(--gold-soft);border:1px solid var(--border-gold);color:var(--gold);display:grid;place-items:center;flex-shrink:0}.ruby-ai-bubble{padding:11px 14px;border-radius:14px;font-size:var(--fs-md);line-height:1.5;color:var(--fg-0)}.ruby-ai-assistant .ruby-ai-bubble{background:var(--bg-2);border:1px solid var(--border);border-top-left-radius:4px}.ruby-ai-user .ruby-ai-bubble{background:var(--ruby-soft);border:1px solid color-mix(in oklch,var(--ruby),transparent 70%);border-top-right-radius:4px}.ruby-ai-bubble b{font-weight:700;color:var(--fg-0)}.ruby-ai-tools{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);color:var(--fg-3)}.ruby-ai-tool{font-size:10px;background:var(--bg-3);color:var(--fg-2);padding:2px 7px;border-radius:999px}.ruby-ai-suggest{flex-wrap:wrap;gap:8px;padding:8px 22px 14px}.ruby-ai-bar,.ruby-ai-suggest{display:flex;border-top:1px solid var(--border)}.ruby-ai-bar{gap:10px;align-items:center;padding:14px 18px;background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ruby-ai-input{flex:1 1;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:var(--fs-base);color:var(--fg-0);outline:none;transition:border-color .15s,box-shadow .15s}.ruby-ai-input::placeholder{color:var(--fg-3)}.ruby-ai-input:focus{border-color:var(--ruby);box-shadow:0 0 0 3px var(--ruby-soft)}.ruby-ai-bar .ruby-btn{padding:11px 16px}@media (max-width:720px){.ruby-ai{height:calc(100vh - 200px)}.ruby-ai-msg{max-width:92%}}.ruby-btn-danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-clay)}.ruby-btn-danger:hover{background:color-mix(in oklch,var(--danger),#000 8%)}.ruby-btn-danger:active{box-shadow:var(--shadow-clay-press)}.ruby-toasts{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:min(380px,92vw)}.ruby-toast{display:flex;gap:11px;align-items:flex-start;background:var(--bg-1);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-sm);padding:12px 13px;box-shadow:var(--shadow-pop);animation:rubyToastIn .28s cubic-bezier(.2,.8,.2,1)}@keyframes rubyToastIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.ruby-toast-success{border-left-color:var(--success)}.ruby-toast-error{border-left-color:var(--danger)}.ruby-toast-info{border-left-color:var(--violet)}.ruby-toast-warning{border-left-color:var(--warning)}.ruby-toast-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.ruby-toast-success .ruby-toast-icon{background:var(--success-soft);color:var(--success)}.ruby-toast-error .ruby-toast-icon{background:var(--danger-soft);color:var(--danger)}.ruby-toast-info .ruby-toast-icon{background:var(--violet-soft);color:var(--violet)}.ruby-toast-warning .ruby-toast-icon{background:var(--warning-soft);color:var(--warning)}.ruby-toast-body{flex:1 1;min-width:0}.ruby-toast-title{font-size:var(--fs-md);font-weight:600;color:var(--fg-0)}.ruby-toast-desc{font-size:var(--fs-md);color:var(--fg-2);margin-top:2px}.ruby-toast-close{background:none;border:none;color:var(--fg-3);cursor:pointer;padding:2px;border-radius:6px;display:grid;place-items:center}.ruby-toast-close:hover{color:var(--fg-0);background:var(--bg-2)}.ruby-modal-overlay{position:fixed;inset:0;z-index:1100;background:rgba(15,42,69,.32);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px;animation:rubyFade .18s ease}@keyframes rubyFade{0%{opacity:0}to{opacity:1}}.ruby-modal{width:min(420px,100%);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:22px;animation:rubyPop .22s cubic-bezier(.2,.8,.2,1)}@keyframes rubyPop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}.ruby-modal-title{font-family:var(--font-display);font-size:19px;color:var(--fg-0);margin:0 0 6px}.ruby-modal-msg{font-size:var(--fs-base);color:var(--fg-1);line-height:1.6;margin:0 0 18px}.ruby-modal-actions{display:flex;gap:10px;justify-content:flex-end}.ruby-drawer-overlay{position:fixed;inset:0;z-index:1050;background:rgba(15,42,69,.32);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;animation:rubyFade .2s ease}.ruby-drawer{background:var(--bg-1);height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-pop);border-left:1px solid var(--border);animation:rubyDrawerIn .3s cubic-bezier(.2,.8,.2,1)}@keyframes rubyDrawerIn{0%{transform:translateX(100%)}to{transform:none}}.ruby-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.ruby-drawer-eyebrow{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--gold-text);font-weight:600}.ruby-drawer-title{font-family:var(--font-display);font-size:22px;color:var(--fg-0);line-height:1.15;margin-top:2px;word-break:break-word}.ruby-drawer-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.ruby-drawer-body{flex:1 1;overflow-y:auto;padding:20px}@media (max-width:720px){.ruby-drawer{width:100vw!important}}.ruby-menu{position:fixed;z-index:1080;min-width:200px;background:var(--bg-1);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-pop);padding:6px;animation:rubyPop .16s ease}.ruby-menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;padding:9px 10px;border-radius:8px;font-size:var(--fs-md);color:var(--fg-1);cursor:pointer}.ruby-menu-item:hover:not(:disabled){background:var(--bg-2);color:var(--fg-0)}.ruby-menu-item:disabled{opacity:.45;cursor:not-allowed}.ruby-menu-item.is-danger{color:var(--danger)}.ruby-menu-item.is-danger:hover:not(:disabled){background:var(--danger-soft)}.ruby-tip-wrap{position:relative;display:inline-flex;outline:none}.ruby-tip{bottom:calc(100% + 8px);z-index:1090;background:var(--fg-0);color:var(--bg-0);font-size:var(--fs-sm);line-height:1.45;padding:8px 10px;border-radius:8px;box-shadow:var(--shadow-pop);width:max-content;max-width:240px;pointer-events:none;animation:rubyFade .14s ease;white-space:normal}.ruby-tip,.ruby-tip:after{position:absolute;left:50%;transform:translateX(-50%)}.ruby-tip:after{content:"";top:100%;border:5px solid transparent;border-top:5px solid var(--fg-0)}.ruby-fchips{display:flex;flex-wrap:wrap}.ruby-fchip,.ruby-fchips{gap:6px;align-items:center}.ruby-fchip{display:inline-flex;background:var(--ruby-soft);color:var(--ruby-dark);border:1px solid color-mix(in oklch,var(--ruby),transparent 70%);border-radius:999px;padding:4px 6px 4px 11px;font-size:var(--fs-sm);font-weight:500}.ruby-fchip button{background:none;border:none;color:inherit;cursor:pointer;display:grid;place-items:center;padding:2px;border-radius:999px;opacity:.7}.ruby-fchip button:hover{opacity:1;background:rgba(0,0,0,.07)}.ruby-fchip-clear{background:none;border:none;color:var(--fg-2);font-size:var(--fs-sm);cursor:pointer;text-decoration:underline;padding:4px}.ruby-fchip-clear:hover{color:var(--ruby)}.ruby-toolbar-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ruby-select{background:var(--bg-2);border:1px solid var(--border);border-radius:9px;padding:7px 10px;font-size:var(--fs-md);color:var(--fg-0);cursor:pointer;outline:none}.ruby-select:focus{border-color:var(--ruby);box-shadow:0 0 0 3px var(--ruby-soft)}.ruby-result-count{font-size:var(--fs-md);color:var(--fg-2);white-space:nowrap}.ruby-checkbox{width:17px;height:17px;border:1.6px solid var(--border-strong);border-radius:5px;display:inline-grid;place-items:center;cursor:pointer;background:var(--bg-1);color:transparent;transition:all .12s;flex-shrink:0}.ruby-checkbox.is-checked{background:var(--ruby);border-color:var(--ruby);color:#fff}.ruby-bulkbar{position:-webkit-sticky;position:sticky;bottom:14px;z-index:40;display:flex;align-items:center;gap:12px;background:var(--fg-0);color:var(--bg-0);border-radius:999px;padding:8px 10px 8px 18px;box-shadow:var(--shadow-pop);margin:14px auto 0;width:-moz-fit-content;width:fit-content;max-width:96%;animation:rubyToastIn .25s;flex-wrap:wrap;justify-content:center}.ruby-bulkbar-count{font-size:var(--fs-md);font-weight:600;white-space:nowrap}.ruby-bulkbar .ruby-btn{padding:7px 13px}.ruby-score-ring{position:relative;display:grid;place-items:center}.ruby-score-ring svg{transform:rotate(-90deg)}.ruby-score-ring-num{position:absolute;font-family:var(--font-display);font-weight:700;color:var(--fg-0);display:flex;flex-direction:column;align-items:center;line-height:1}.ruby-score-ring-num small{font-size:10px;color:var(--fg-2);font-family:var(--font-body);font-weight:500;margin-top:2px;letter-spacing:.04em}.ruby-sb-row{display:grid;grid-template-columns:18px 1fr auto;align-items:center;grid-gap:9px;gap:9px;font-size:var(--fs-md);padding:4px 0}.ruby-sb-row.is-off{opacity:.42}.ruby-sb-check{color:var(--success);display:grid;place-items:center}.ruby-sb-row.is-off .ruby-sb-check{color:var(--fg-3)}.ruby-sb-pts{font-weight:700;font-family:var(--font-num);color:var(--success)}.ruby-sb-row.is-off .ruby-sb-pts{color:var(--fg-3)}.ruby-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.ruby-tab{background:none;padding:9px 13px;font-size:var(--fs-md);font-weight:500;color:var(--fg-2);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:7px}.ruby-tab:hover{color:var(--fg-0)}.ruby-tab.is-active{color:var(--ruby);border-bottom-color:var(--ruby);font-weight:600}.ruby-dl{display:grid;grid-gap:9px;gap:9px;font-size:var(--fs-md)}.ruby-dl-row{display:flex;gap:8px}.ruby-dl-row>span:first-child{color:var(--fg-2);min-width:92px;flex-shrink:0}.ruby-dl-row>span:last-child{color:var(--fg-0);min-width:0;word-break:break-word}.ruby-act{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--border)}.ruby-act:last-child{border-bottom:none}.ruby-act-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:var(--bg-2);color:var(--fg-1)}.ruby-act-main{flex:1 1;min-width:0}.ruby-act-head{display:flex;gap:8px;align-items:baseline;justify-content:space-between}.ruby-act-title{font-size:var(--fs-md);font-weight:600;color:var(--fg-0)}.ruby-act-when{font-size:var(--fs-sm);color:var(--fg-3);white-space:nowrap}.ruby-act-body{font-size:var(--fs-md);color:var(--fg-1);margin-top:3px;white-space:pre-wrap}.ruby-kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;align-items:flex-start}.ruby-kanban-col{flex:0 0 268px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 300px);transition:border-color .15s,box-shadow .15s}.ruby-kanban-col.is-over{border-color:var(--ruby);box-shadow:0 0 0 2px var(--ruby-soft)}.ruby-kanban-col-head{display:flex;align-items:center;gap:8px;padding:12px 13px;border-bottom:1px solid var(--border)}.ruby-kanban-col-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.ruby-kanban-col-title{font-size:var(--fs-md);font-weight:600;color:var(--fg-0);flex:1 1}.ruby-kanban-col-count{font-size:var(--fs-xs);font-weight:600;color:var(--fg-2);background:var(--bg-0);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.ruby-kanban-col-body{padding:10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:60px}.ruby-kanban-card{background:var(--bg-1);border:1px solid var(--border);border-radius:12px;padding:11px 12px;cursor:-webkit-grab;cursor:grab;box-shadow:var(--shadow-xs);transition:box-shadow .15s,transform .15s}.ruby-kanban-card:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.ruby-kanban-card:active{cursor:-webkit-grabbing;cursor:grabbing}.ruby-kanban-card.is-dragging{opacity:.45}.ruby-kanban-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.ruby-kanban-card-name{font-size:var(--fs-md);font-weight:600;color:var(--fg-0);line-height:1.25}.ruby-kanban-card-meta{font-size:var(--fs-sm);color:var(--fg-2);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.ruby-kanban-empty{font-size:var(--fs-sm);color:var(--fg-3);text-align:center;padding:16px 8px;border:1px dashed var(--border);border-radius:10px}.ruby-linklike{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--fg-0);cursor:pointer}.ruby-linklike:hover{color:var(--ruby)}.ruby-detail-h{font-size:var(--fs-md);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-2);margin:0 0 10px}.ruby-funnel{display:flex;flex-direction:column;gap:7px}.ruby-funnel-row{display:grid;grid-template-columns:104px 1fr 34px;align-items:center;grid-gap:10px;gap:10px;font-size:var(--fs-md)}.ruby-funnel-label{color:var(--fg-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ruby-funnel-track{height:22px;background:var(--bg-2);border-radius:7px;overflow:hidden}.ruby-funnel-fill{height:100%;border-radius:7px;min-width:2px;transition:width .5s cubic-bezier(.2,.8,.2,1)}.ruby-funnel-val{font-family:var(--font-num);font-weight:700;color:var(--fg-0);text-align:right}.ruby-leads-cards{gap:10px}.ruby-leadcard{background:var(--bg-1);border:1px solid var(--border);border-radius:14px;padding:12px 13px;box-shadow:var(--shadow-xs)}.ruby-leadcard-top{display:flex;align-items:center;gap:9px}.ruby-leadcard-top .ruby-linklike{font-size:var(--fs-base)}.ruby-leadcard-meta{font-size:var(--fs-md);color:var(--fg-2);margin:6px 0 8px}.ruby-th-sort{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.ruby-th-sort:hover{color:var(--fg-0)}.ruby-th-sort:focus-visible{outline:2px solid var(--ruby);outline-offset:2px;border-radius:4px}.ruby-tab-dot{width:7px;height:7px;border-radius:999px;background:var(--warning);display:inline-block;margin-left:5px;vertical-align:middle}.ruby-checkbox:focus-visible,.ruby-menu-item:focus-visible,.ruby-pill:focus-visible,.ruby-tab:focus-visible,.ruby-toggle:focus-visible{outline:2px solid var(--ruby);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ruby-bulkbar,.ruby-drawer,.ruby-drawer-overlay,.ruby-menu,.ruby-modal,.ruby-modal-overlay,.ruby-tip,.ruby-toast{animation:none!important}.ruby-funnel-fill,.ruby-kanban-card,.ruby-score-ring circle{transition:none!important}}.ruby-rte{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-1)}.ruby-rte-bar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:5px 8px;border-bottom:1px solid var(--border);background:var(--bg-2)}.ruby-rte-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:none;color:var(--fg-1);font-size:var(--fs-base);line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ruby-rte-btn:hover{background:var(--bg-3)}.ruby-rte-btn:focus-visible{outline:2px solid var(--ruby);outline-offset:1px}.ruby-rte-sep{width:1px;height:18px;background:var(--border);margin:0 4px}.ruby-rte-area{padding:12px 14px;min-height:120px;max-height:460px;overflow-y:auto;font-size:var(--fs-base);line-height:1.55;color:var(--fg-1);outline:none}.ruby-rte-area:empty:before{content:attr(data-placeholder);color:var(--fg-3);pointer-events:none}.ruby-rte-area a{color:var(--ruby);text-decoration:underline}.ruby-rte-area p{margin:0 0 8px}.ruby-rte-area ol,.ruby-rte-area ul{margin:0 0 8px;padding-left:22px}.ruby-email-preview{border:1px dashed var(--border);border-radius:8px;padding:12px 14px;background:var(--bg-2);font-size:var(--fs-base);line-height:1.5;overflow-wrap:break-word}.ruby-email-preview p{margin:0 0 8px}a.ruby-miniweek-day{text-decoration:none;color:inherit;cursor:pointer}a.ruby-miniweek-day:hover{border-color:var(--gold)}.ruby-miniweek-day.is-selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.ruby-cal-week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;margin:8px 0 6px}.ruby-cal-week span{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);text-align:center}.ruby-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.ruby-cal-cell{display:flex;flex-direction:column;gap:6px;min-height:92px;padding:8px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit;background:transparent;transition:border-color .15s ease,transform .15s ease}.ruby-cal-grid.is-wide .ruby-cal-cell{min-height:120px}.ruby-cal-cell:hover{border-color:var(--gold);transform:translateY(-1px)}.ruby-cal-cell.is-out{opacity:.38}.ruby-cal-cell.is-today{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.ruby-cal-cell-top{display:flex;justify-content:space-between;align-items:baseline}.ruby-cal-daynum{font-family:var(--font-display);font-size:15px;color:var(--fg-0)}.ruby-cal-cell.is-today .ruby-cal-daynum{color:var(--gold)}.ruby-cal-count{font-size:var(--fs-xs);font-weight:700;color:var(--gold-text);background:color-mix(in srgb,var(--gold) 14%,transparent);border-radius:999px;padding:1px 7px}.ruby-cal-pills{display:flex;flex-direction:column;gap:3px;overflow:hidden}.ruby-cal-pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--fg-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ruby-cal-pill b{color:var(--fg-0);font-weight:700}.ruby-cal-pill-dot{width:7px;height:7px;border-radius:999px;flex:none}.ruby-cal-more{font-size:var(--fs-xs);color:var(--fg-2)}@media (max-width:720px){.ruby-cal-cell{min-height:56px;padding:6px}.ruby-cal-pills{display:none}}.ruby-wl-row{display:flex;align-items:center;gap:12px;padding:14px 8px;border-bottom:1px solid var(--border)}.ruby-wl-row:last-child{border-bottom:none}.ruby-wl-main{flex:1 1;min-width:0}.ruby-wl-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.ruby-wl-meta{font-size:var(--fs-md);color:var(--fg-2);margin-top:3px}.ruby-wl-actions{display:flex;align-items:center;gap:6px;flex:none}@media (max-width:720px){.ruby-wl-row{flex-wrap:wrap;row-gap:8px}.ruby-wl-main{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 50px)}.ruby-wl-actions{width:100%;padding-left:50px;justify-content:flex-start}}.ruby-thread-card{max-width:760px;width:100%;margin-inline:auto}.ruby-thread-scroll{display:flex;flex-direction:column;gap:6px;padding:10px 4px;max-height:480px;overflow-y:auto}.ruby-bubble-row{display:flex;justify-content:flex-start}.ruby-bubble-row.is-mine{justify-content:flex-end}.ruby-bubble{max-width:78%;padding:8px 12px;border-radius:12px;font-size:var(--fs-md);line-height:1.45;white-space:pre-wrap;background:var(--bg-2);border:1px solid var(--line)}.ruby-bubble.is-mine{background:var(--gold-soft)}.ruby-bubble-meta{font-size:var(--fs-xs);color:var(--fg-3);margin-top:4px;text-align:right}@media (max-width:720px){.ruby-bubble{max-width:88%}.ruby-thread-scroll{max-height:min(480px,55vh)}}.ruby-composer{border-top:1px solid var(--line);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.ruby-composer-row{display:flex;gap:8px;align-items:flex-end}.ruby-composer-row .ruby-input{flex:1 1;resize:none}.ruby-composer-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.ruby-composer-hint{font-size:var(--fs-sm);color:var(--fg-2)}.ruby-composer-error{color:var(--danger);font-size:var(--fs-md);display:flex;align-items:center;gap:6px}@media (max-width:720px){.ruby-composer-send-text{display:none}.ruby-wa-connect{order:2}a.ruby-miniweek-day{padding:10px 2px;min-height:44px}.ruby-cal-count{background:color-mix(in srgb,var(--gold) 22%,transparent);padding:1px 6px;font-size:var(--fs-xs)}}.ruby-bell-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:160}@media (max-width:720px){.ruby-ai-input,.ruby-input,.ruby-rte-area,.ruby-search-input,.ruby-select,.ruby-topbar-search-input{font-size:var(--fs-lg)}}.ruby-form-2col{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:720px){.ruby-form-2col{grid-template-columns:1fr}}.ruby-msheet-overlay{position:fixed;inset:0;z-index:240;background:rgba(15,42,69,.32);animation:rubyFade .18s ease-out}.ruby-msheet{position:fixed;left:0;right:0;bottom:0;z-index:250;background:var(--bg-1);border-top-left-radius:22px;border-top-right-radius:22px;border-top:1px solid var(--border);box-shadow:var(--shadow-pop);padding:10px 16px calc(16px + env(safe-area-inset-bottom, 0px));max-height:82vh;overflow-y:auto;animation:rubySheetIn .26s cubic-bezier(.2,.8,.2,1)}@keyframes rubySheetIn{0%{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}.ruby-msheet-grip{width:40px;height:4px;border-radius:999px;background:var(--border-strong);margin:2px auto 10px}.ruby-msheet-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-2);font-weight:600;margin:14px 2px 8px}.ruby-msheet-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.ruby-msheet-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px 10px;border-radius:12px;background:var(--bg-2);border:1px solid var(--border);font-size:var(--fs-sm);font-weight:600;color:var(--fg-1);text-align:center;position:relative;min-height:64px}.ruby-msheet-item svg{color:var(--fg-2)}.ruby-msheet-item.is-active{border-color:var(--ruby);color:var(--ruby);background:var(--ruby-soft)}.ruby-msheet-item.is-active svg{color:var(--ruby)}.ruby-msheet-item:focus-visible{outline:2px solid var(--ruby);outline-offset:2px}.ruby-msheet-badge{position:absolute;top:6px;right:8px;background:var(--ruby);color:var(--action-on);font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:grid;place-items:center;padding:0 4px}.ruby-msheet-foot{margin-top:16px}button.ruby-mtab-item{background:none;border:0;font:inherit;cursor:pointer}:root[data-theme]{--radius-sm:6px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:10px;--bg-glass:rgba(252,248,240,0.94);--shadow-card:0 1px 2px rgba(15,34,51,0.05);--shadow-pop:0 10px 28px rgba(15,34,51,0.1)}body:before{background:radial-gradient(720px 420px at 100% -10%,rgba(227,178,62,.07),transparent 65%),radial-gradient(640px 420px at -10% 110%,rgba(22,50,79,.04),transparent 65%)}.ruby-content{padding-top:28px;padding-bottom:36px}.ruby-sidebar{width:256px;background:rgba(252,248,240,.98)}.ruby-sidebar-brand{padding-top:20px;padding-bottom:16px}.ruby-nav-label{padding-top:18px;color:var(--fg-2);letter-spacing:.12em}.ruby-nav-item{min-height:42px;border-radius:var(--radius-sm)}.ruby-nav-item.is-active{background:var(--action-soft)}.ruby-nav-item.is-active:before{left:-12px;height:26px;background:var(--gold)}.ruby-topbar{min-height:64px;padding:12px 32px;background:rgba(252,248,240,.94)}.ruby-topbar-search{min-height:40px;max-width:520px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-1)}.ruby-topbar-search:hover{border-color:var(--border-strong)}.ruby-btn{min-height:40px;border-radius:var(--radius-pill)}.ruby-btn-sm{min-height:34px;border-radius:var(--radius-sm)}.ruby-btn-primary{box-shadow:none}.ruby-btn-primary:hover{box-shadow:none;transform:none}.ruby-btn-primary:active{transform:translateY(1px);box-shadow:none}.ruby-ai,.ruby-card,.ruby-stat,.ruby-tenant{box-shadow:var(--shadow-card)}.ruby-hero{background:radial-gradient(80% 120% at 100% 0,rgba(227,178,62,.14),transparent 58%),linear-gradient(135deg,var(--bg-1),color-mix(in srgb,var(--bg-1) 78%,var(--paper-2)));border-color:var(--border-strong);padding:26px 28px}.ruby-hero-title,.ruby-page-title{font-family:var(--font-body);font-weight:700;letter-spacing:-.03em}.ruby-hero-title{font-size:clamp(30px,3vw,44px);line-height:1.08}.ruby-hero-stat{border-radius:var(--radius-sm);background:rgba(252,248,240,.72)}.ruby-stat,.ruby-tenant{border-radius:var(--radius)}.ruby-mtopbar-copy{min-width:0}.ruby-mtopbar-title{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-body);font-size:var(--fs-base);font-weight:700;color:var(--fg-0)}.ruby-mtopbar-context{margin-top:1px;color:var(--fg-2);font-size:var(--fs-xs);line-height:1.2}.ruby-ai-status{align-self:center;display:inline-flex;align-items:center;gap:8px;max-width:420px;margin:auto;padding:10px 12px;border:1px solid var(--border-gold);border-radius:var(--radius-sm);background:var(--gold-soft);color:var(--gold-text);font-size:var(--fs-sm)}.ruby-field-help{margin:4px 0 10px;color:var(--fg-2);font-size:var(--fs-sm);line-height:1.45}.ruby-color-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.ruby-color-option{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-1);color:var(--fg-1);font-size:var(--fs-sm);font-weight:600;text-align:left}.ruby-color-option.is-selected,.ruby-color-option:hover{border-color:var(--action);background:var(--action-soft);color:var(--action-ink)}.ruby-color-option:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 55%,transparent);outline-offset:2px}.ruby-color-swatch{width:18px;height:18px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--ink-900) 20%,transparent);border-radius:50%}.ruby-credentials-grid,.ruby-edit-barber-grid,.ruby-staff-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.ruby-credentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ruby-edit-barber-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ruby-field-stack{display:grid;min-width:0;grid-gap:6px;gap:6px}.ruby-field-stack>label,.ruby-staff-services legend{color:var(--fg-0);font-size:var(--fs-sm);font-weight:700}.ruby-field-stack p,.ruby-staff-services>p{margin:0;color:var(--fg-2);font-size:var(--fs-xs);line-height:1.4}.ruby-staff-services{display:grid;grid-gap:8px;gap:8px;margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.ruby-staff-services legend{padding:0 4px}.ruby-service-choice{display:inline-flex;min-height:32px;align-items:center;gap:7px;color:var(--fg-1);font-size:var(--fs-sm);cursor:pointer}.ruby-access-toggle input,.ruby-service-choice input{accent-color:var(--action)}.ruby-login-section{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-2)}.ruby-login-form h3,.ruby-login-section h3{margin:0;color:var(--fg-0);font-size:var(--fs-base)}.ruby-edit-barber-form{display:grid;grid-gap:12px;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-2)}.ruby-edit-barber-form fieldset{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;border:0}.ruby-edit-barber-form legend{padding:0;color:var(--fg-0);font-size:var(--fs-base);font-weight:700}.ruby-password-control{display:flex;align-items:stretch;gap:6px}.ruby-password-control .ruby-input{min-width:0;flex:1 1}.ruby-password-control .ruby-btn{flex:0 0 auto}.ruby-access-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 0;border-top:1px solid var(--border)}.ruby-access-status,.ruby-access-toggle{display:flex;align-items:center;gap:9px;min-width:0;color:var(--fg-1);font-size:var(--fs-sm)}.ruby-access-status>div,.ruby-access-toggle>span{display:grid;grid-gap:2px;gap:2px;min-width:0}.ruby-access-status strong,.ruby-access-toggle strong{color:var(--fg-0)}.ruby-access-status span:not(.ruby-access-dot),.ruby-access-toggle small{color:var(--fg-2);overflow-wrap:anywhere}.ruby-access-dot{width:9px;height:9px;flex:0 0 auto;border:2px solid var(--border-strong);border-radius:50%;background:var(--bg-2)}.ruby-access-dot.is-active{border-color:var(--action);background:var(--action);box-shadow:0 0 0 3px var(--action-soft)}.ruby-access-toggle{align-items:flex-start;cursor:pointer}.ruby-access-toggle input{margin-top:3px}.ruby-login-form{display:grid;grid-gap:9px;gap:9px;max-width:520px}.ruby-login-form-card{margin-top:14px;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-2)}.ruby-login-form p{margin:0;color:var(--fg-2);font-size:var(--fs-sm);line-height:1.45}.ruby-form-error{margin:0;color:var(--danger);font-size:var(--fs-sm)}.ruby-staff-overview{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 16px;color:var(--fg-2);font-size:var(--fs-sm)}.ruby-staff-overview span{display:inline-flex;align-items:baseline;gap:4px}.ruby-staff-card-footer b,.ruby-staff-overview b{color:var(--fg-0)}.ruby-staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ruby-staff-card,.ruby-staff-grid{display:grid;grid-gap:16px;gap:16px}.ruby-staff-card{align-content:start;min-width:0;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);box-shadow:var(--shadow-card)}.ruby-staff-card.is-inactive{background:color-mix(in srgb,var(--bg-1) 92%,var(--bg-2))}.ruby-staff-card-footer,.ruby-staff-card-head,.ruby-staff-panel-actions,.ruby-staff-person,.ruby-staff-state{display:flex;align-items:center}.ruby-staff-card-head{justify-content:space-between;gap:12px}.ruby-staff-person{min-width:0;gap:12px}.ruby-staff-person>div:last-child{min-width:0}.ruby-staff-person h2{margin:0;color:var(--fg-0);font-size:18px;line-height:1.2;overflow-wrap:anywhere}.ruby-staff-person p{margin:3px 0 0;color:var(--fg-2);font-size:var(--fs-sm);overflow-wrap:anywhere}.ruby-staff-state{flex:0 0 auto;gap:8px}.ruby-staff-state-label{padding:4px 7px;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--fg-2);font-size:var(--fs-xs);font-weight:700}.ruby-staff-state-label.is-active{border-color:color-mix(in srgb,var(--action) 25%,var(--border));background:var(--action-soft);color:var(--action)}.ruby-staff-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0}.ruby-staff-summary>div{min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2)}.ruby-staff-summary dt{color:var(--fg-2);font-size:var(--fs-xs)}.ruby-staff-summary dd{margin:3px 0 0;color:var(--fg-0);font-size:var(--fs-sm);font-weight:700;overflow-wrap:anywhere}.ruby-staff-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;padding:4px;border-radius:var(--radius-sm);background:var(--bg-2)}.ruby-staff-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:40px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--fg-2);font:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer}.ruby-staff-tabs button:hover{color:var(--fg-0);background:color-mix(in srgb,var(--bg-1) 70%,transparent)}.ruby-staff-tabs button.is-active{border-color:var(--border);background:var(--bg-1);color:var(--action);box-shadow:0 1px 2px rgba(15,34,51,.06)}.ruby-schedule-add:focus-visible,.ruby-service-choice:focus-within,.ruby-staff-tabs button:focus-visible{outline:3px solid color-mix(in srgb,var(--action) 36%,transparent);outline-offset:2px}.ruby-staff-panel{display:grid;grid-gap:12px;gap:12px;min-width:0}.ruby-staff-panel-copy{display:grid;grid-gap:3px;gap:3px}.ruby-staff-panel-copy h3{margin:0;color:var(--fg-0);font-size:var(--fs-base)}.ruby-staff-action-form p,.ruby-staff-form-intro,.ruby-staff-panel-copy p{margin:0;color:var(--fg-2);font-size:var(--fs-sm);line-height:1.45}.ruby-staff-services-preview{display:flex;flex-wrap:wrap;gap:6px}.ruby-staff-empty-inline{color:var(--fg-2);font-size:var(--fs-sm)}.ruby-staff-panel-actions{flex-wrap:wrap;gap:8px}.ruby-staff-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;margin:0;padding:0;list-style:none}.ruby-staff-week li{display:grid;grid-gap:3px;gap:3px;min-width:0;padding:8px 4px;border:1px solid var(--border);border-radius:5px;background:var(--bg-2);color:var(--fg-2);text-align:center}.ruby-staff-week li.is-working{border-color:color-mix(in srgb,var(--action) 24%,var(--border));background:var(--action-soft);color:var(--action)}.ruby-staff-week span{font-size:10px;font-weight:800;text-transform:uppercase}.ruby-staff-week strong{color:inherit;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ruby-staff-exceptions{display:grid;grid-gap:6px;gap:6px;margin:0;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);list-style:none}.ruby-staff-exceptions li{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--fg-1);font-size:var(--fs-sm)}.ruby-staff-exceptions li>span{min-width:0;overflow-wrap:anywhere}.ruby-staff-exceptions b{color:var(--fg-0)}.ruby-staff-card-footer{justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--border);color:var(--fg-2);font-size:var(--fs-sm)}.ruby-staff-action-form,.ruby-staff-drawer-form{display:grid;grid-gap:12px;gap:12px}.ruby-staff-action-form{padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-2)}.ruby-staff-action-form fieldset{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;border:0}.ruby-staff-action-form legend{padding:0;color:var(--fg-0);font-size:var(--fs-sm);font-weight:800}.ruby-staff-choice-grid{display:flex;flex-wrap:wrap;gap:6px 12px}.ruby-staff-choice-grid .ruby-service-choice{min-height:40px}.ruby-schedule-form fieldset{gap:8px}.ruby-schedule-day{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;min-height:44px;padding:8px 0;border-top:1px solid var(--border)}.ruby-schedule-day h4{margin:0;color:var(--fg-0);font-size:var(--fs-sm)}.ruby-schedule-free{color:var(--fg-2);font-size:var(--fs-sm)}.ruby-schedule-range{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px;min-width:0}.ruby-schedule-range label{display:grid;min-width:0;grid-gap:3px;gap:3px;color:var(--fg-2);font-size:var(--fs-xs)}.ruby-schedule-range .ruby-input{width:92px}.ruby-schedule-add{justify-self:start;display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 0;border:0;background:transparent;color:var(--action);font:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer}.ruby-exception-fields{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);grid-gap:10px;gap:10px}.ruby-drawer-form-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}@media (max-width:720px){.ruby-mtopbar{min-height:60px;padding:8px 12px;background:rgba(252,248,240,.97)}.ruby-mtopbar-l{min-width:0;gap:8px}.ruby-mtopbar-r{gap:2px}.ruby-mtab{position:fixed;right:0;bottom:0;left:0;min-height:68px;padding:5px 6px calc(5px + env(safe-area-inset-bottom));background:rgba(252,248,240,.98);box-shadow:0 -8px 24px rgba(15,34,51,.08)}.ruby-mtab-item{min-width:0;min-height:52px;border-radius:8px;font-size:10px}.ruby-mtab-item.is-active .ruby-mtab-icon-wrap:after{inset:-7px -10px;border-radius:10px}.ruby-mtab-indicator{display:none}.ruby-content{padding:18px 14px calc(96px + env(safe-area-inset-bottom))}.ruby-screen{gap:16px}.ruby-page-title{font-size:28px;line-height:1.12}.ruby-hero{gap:18px;padding:18px}.ruby-hero-eyebrow{letter-spacing:.1em}.ruby-hero-title{font-size:30px}.ruby-hero-sub{font-size:var(--fs-base)}.ruby-hero-stat{padding:14px 16px}.ruby-card,.ruby-tenant{padding:16px}.ruby-color-options{grid-template-columns:1fr}.ruby-color-option{min-height:44px}.ruby-credentials-grid,.ruby-edit-barber-grid,.ruby-staff-form-grid{grid-template-columns:1fr}.ruby-staff-services{padding:14px}.ruby-service-choice{min-height:44px}.ruby-password-control .ruby-btn{min-width:64px}.ruby-access-panel{align-items:flex-start;flex-direction:column}.ruby-access-panel>.ruby-btn,.ruby-access-panel>span{width:100%}.ruby-access-panel>span>.ruby-btn{width:100%;justify-content:center}.ruby-login-form{max-width:none}.ruby-staff-overview{display:grid;grid-template-columns:1fr;grid-gap:4px;gap:4px;margin-bottom:12px}.ruby-staff-grid{grid-template-columns:1fr;gap:12px}.ruby-staff-card{gap:14px;padding:16px}.ruby-staff-state-label{display:none}.ruby-staff-summary{gap:6px}.ruby-staff-summary>div{padding:8px}.ruby-staff-summary dd{font-size:12px}.ruby-staff-tabs button{min-height:46px;font-size:12px}.ruby-staff-panel-actions{display:grid;grid-template-columns:1fr}.ruby-staff-panel-actions>*{width:100%}.ruby-staff-panel-actions .ruby-btn{width:100%;justify-content:center}.ruby-staff-week{gap:3px}.ruby-staff-week li{padding:7px 2px}.ruby-staff-week strong{font-size:9px;letter-spacing:-.03em}.ruby-staff-card-footer{align-items:flex-start;flex-direction:column;gap:3px}.ruby-staff-action-form{padding:12px}.ruby-staff-choice-grid{display:grid;grid-template-columns:1fr;grid-gap:2px;gap:2px}.ruby-schedule-day{grid-template-columns:1fr;align-items:start;gap:6px}.ruby-schedule-range{display:grid;grid-template-columns:1fr 1fr;align-items:end}.ruby-schedule-range .ruby-input{width:100%}.ruby-schedule-range .ruby-btn{grid-column:1/-1;width:100%;justify-content:center}.ruby-schedule-add{min-height:44px}.ruby-exception-fields{grid-template-columns:1fr}.ruby-exception-form .ruby-inline-form{display:grid;grid-template-columns:1fr}.ruby-exception-form .ruby-inline-form .ruby-btn{width:100%;justify-content:center}.ruby-drawer-form-actions{display:grid;grid-template-columns:1fr}.ruby-drawer-form-actions .ruby-btn{width:100%;justify-content:center}.ruby-btn-sm,.ruby-toggle{min-height:44px}.ruby-toggle{min-width:48px;justify-content:center}.ruby-sim-chip,.ruby-wa-input{min-height:44px}.ruby-wa-send{width:44px;height:44px}.ruby-settings-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;overflow:visible;grid-gap:4px;gap:4px;padding:4px}.ruby-settings-tabs button{min-width:0;min-height:48px;padding:6px 5px;white-space:normal;line-height:1.15;text-align:center}.ruby-ai{min-height:360px;height:calc(100dvh - 274px);max-height:600px}.ruby-ai-chat{padding:16px 14px 8px}}.ruby-conv,.ruby-countup,.ruby-dot,.ruby-hero-stat-bar-fill,.ruby-stagger>*,.ruby-wl-row{animation:none!important}.ruby-empty-img{animation:none}@media (min-width:721px) and (max-width:1100px){.ruby-topbar-date{display:none}.ruby-content{padding-right:24px;padding-left:24px}}.ruby-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ruby-ai-heading{display:grid;min-width:0;grid-gap:2px;gap:2px}.ruby-ai-head-help{overflow:hidden;color:var(--fg-2);font-size:var(--fs-xs);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.ruby-ai-readonly{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;margin-left:auto;padding:5px 8px;border:1px solid color-mix(in oklch,var(--ruby),transparent 75%);border-radius:var(--radius-pill);background:var(--ruby-soft);color:var(--ruby-dark);font-size:11px;font-weight:700;line-height:1}.ruby-ai-head .ruby-ai-select{min-height:36px;margin-left:auto}.ruby-ai-bar .ruby-btn:focus-visible,.ruby-ai-mic:focus-visible,.ruby-ai-suggest .ruby-sim-chip:focus-visible{outline:3px solid color-mix(in oklch,var(--ruby),transparent 62%);outline-offset:2px}@media (max-width:720px){.ruby-ai-head{align-items:flex-start;gap:10px;padding:12px 14px}.ruby-ai-heading{flex:1 1}.ruby-ai-head-help{white-space:normal}.ruby-ai-readonly{min-height:32px;margin-top:1px}.ruby-ai-suggest{flex-wrap:nowrap;overflow-x:auto;padding:10px 14px 12px;scroll-snap-type:x proximity;-ms-overflow-style:none;scrollbar-width:none}.ruby-ai-suggest::-webkit-scrollbar{display:none}.ruby-ai-suggest .ruby-sim-chip{flex:0 0 auto;max-width:min(78vw,300px);scroll-snap-align:start;text-align:left}.ruby-ai-bar{gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px))}.ruby-ai-bar .ruby-btn,.ruby-ai-mic{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;justify-content:center}}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_a4bae9{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_a4bae9{--font-display-next:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Hanken Grotesk;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8be08aafa95b757b-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/cd210f5b8f519d96-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/5d86bf8a390298b9-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df6935a4b8387403-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/313510e2713fb214-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk Fallback;src:local("Arial");ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.00%;size-adjust:100.94%}.__className_192aad{font-family:Hanken Grotesk,Hanken Grotesk Fallback}.__variable_192aad{--font-body-next:"Hanken Grotesk","Hanken Grotesk Fallback"}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/59829bb575d36b50-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e02f7a71372872a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/59829bb575d36b50-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e02f7a71372872a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/59829bb575d36b50-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e02f7a71372872a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spline Sans Mono Fallback;src:local("Arial");ascent-override:71.59%;descent-override:17.57%;line-gap-override:0.00%;size-adjust:134.59%}.__className_49c017{font-family:Spline Sans Mono,Spline Sans Mono Fallback;font-style:normal}.__variable_49c017{--font-mono-next:"Spline Sans Mono","Spline Sans Mono Fallback"}