@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--chrome-bg:#0f0f1aeb;--chrome-scrim:#08080f99;--cta-fade-start:#0f0f1a00;--cta-fade-mid:#0f0f1aeb;--toast-bg:#1a1a2ef5;--salon-hero-overlay:#0f0f1ad9;--salon-hint-bg:#1a1a2ef0;--sheet-shadow:0 -16px 40px #00000080}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--night:#f5f0e8;--ivory:#0f0f1a;--bronze:#5a4a38;--ink:#ede8e0;--night-900:#e8e3db;--night-800:#ddd8d0;--ink-700:#4a4a58;--surface:#fff;--surface-2:#f0ebe3;--paper:#fff;--fill-1:#0f0f1a0d;--fill-2:#0f0f1a17;--fill-3:#0f0f1a24;--fill-hair:#0f0f1a12;--border:#0f0f1a14;--border-2:#0f0f1a1f;--hairline-d:#0f0f1a1a;--on-dark-1:#0f0f1a;--on-dark-2:#0f0f1ad1;--on-dark-3:#0f0f1a85;--placeholder:#5a4a38b8;--gold-tint:#d4a84b29;--chrome-bg:#f5f0e8f0;--chrome-scrim:#0f0f1a59;--cta-fade-start:#f5f0e800;--cta-fade-mid:#f5f0e8f0;--toast-bg:#fffffffa;--salon-hero-overlay:#f5f0e8c7;--salon-hint-bg:#fffffff5;--sheet-shadow:0 -16px 40px #0f0f1a1f;--sh-dark:0 12px 40px #0f0f1a1f}}:root[data-theme=light]{--night:#f5f0e8;--ivory:#0f0f1a;--bronze:#5a4a38;--ink:#ede8e0;--night-900:#e8e3db;--night-800:#ddd8d0;--ink-700:#4a4a58;--surface:#fff;--surface-2:#f0ebe3;--paper:#fff;--fill-1:#0f0f1a0d;--fill-2:#0f0f1a17;--fill-3:#0f0f1a24;--fill-hair:#0f0f1a12;--border:#0f0f1a14;--border-2:#0f0f1a1f;--hairline-d:#0f0f1a1a;--on-dark-1:#0f0f1a;--on-dark-2:#0f0f1ad1;--on-dark-3:#0f0f1a85;--placeholder:#5a4a38b8;--gold-tint:#d4a84b29;--chrome-bg:#f5f0e8f0;--chrome-scrim:#0f0f1a59;--cta-fade-start:#f5f0e800;--cta-fade-mid:#f5f0e8f0;--toast-bg:#fffffffa;--salon-hero-overlay:#f5f0e8c7;--salon-hint-bg:#fffffff5;--sheet-shadow:0 -16px 40px #0f0f1a1f;--sh-dark:0 12px 40px #0f0f1a1f}.qbarber-logo-lockup-wrap .qbarber-logo-lockup--on-light{display:none}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .qbarber-logo-lockup-wrap .qbarber-logo-lockup--on-dark{display:none}:root:not([data-theme=dark]) .qbarber-logo-lockup-wrap .qbarber-logo-lockup--on-light{display:block}}:root[data-theme=light] .qbarber-logo-lockup-wrap .qbarber-logo-lockup--on-dark{display:none}:root[data-theme=light] .qbarber-logo-lockup-wrap .qbarber-logo-lockup--on-light{display:block}:root[data-theme=dark] .qbarber-logo-lockup-wrap .qbarber-logo-lockup--on-light{display:none}:root[data-theme=dark] .qbarber-logo-lockup-wrap .qbarber-logo-lockup--on-dark{display:block}:root{--night:#0f0f1a;--gold:#d4a84b;--ivory:#f5f0e8;--ink:#2a2a3a;--bronze:#8c7355;--green:#639922;--amber:#ba7517;--red:#a32d2d;--blue:#185fa5;--green-soft:#63992226;--amber-soft:#ba751726;--red-soft:#a32d2d26;--blue-soft:#185fa526;--green-line:#6399224d;--amber-line:#ba75174d;--red-line:#a32d2d4d;--blue-line:#185fa54d;--cat-simple:var(--gold);--cat-standard:var(--bronze);--cat-premium:var(--ink-700);--gold-press:#e0b655;--gold-tint:#d4a84b1f;--night-900:#0a0a12;--night-800:#15151f;--ink-700:#32323f;--surface:#1a1a2e;--surface-2:#222236;--border:#f5f0e80f;--border-2:#f5f0e81f;--fill-1:#f5f0e809;--fill-2:#f5f0e80f;--fill-3:#f5f0e81a;--fill-hair:#f5f0e80d;--hairline-d:#f5f0e814;--hairline-l:#0f0f1a12;--paper:#fff;--on-dark-1:#f5f0e8;--on-dark-2:#f5f0e8a8;--on-dark-3:#f5f0e866;--on-light-1:#0f0f1a;--on-light-2:#3d3d4a;--on-light-3:#5a4a38;--placeholder:#8c7355b8;--on-gold:#412402;--font-serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans:"DM Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--t-hero:52px;--t-h1:34px;--t-h2:24px;--t-h3:18px;--t-lg:17px;--t-base:15px;--t-sm:13px;--t-xs:11px;--t-2xs:10px;--t-stat:48px;--lh-tight:1.1;--lh-snug:1.3;--lh-body:1.6;--ls-tight:-.02em;--ls-over:.12em;--ls-logo:.18em;--logo-lockup-h-header:68px;--logo-lockup-h-login:80px;--logo-lockup-h-sidebar:62px;--logo-icon-size:52px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:28px;--r-pill:999px;--sh-1:0 1px 2px #0f0f1a0d;--sh-2:0 4px 16px #0f0f1a0f;--sh-3:0 12px 40px #0f0f1a1a;--sh-dark:0 12px 40px #00000080;--ease:cubic-bezier(.22,.61,.36,1);--dur:.2s}.t-logo{font-family:var(--font-serif);letter-spacing:var(--ls-logo);font-weight:300}.t-hero{font-family:var(--font-serif);font-weight:300;font-size:var(--t-hero);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.t-serif{font-family:var(--font-serif);font-weight:300}.t-h1{font-family:var(--font-sans);font-weight:500;font-size:var(--t-h1);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.t-h2{font-family:var(--font-sans);font-weight:500;font-size:var(--t-h2);line-height:var(--lh-snug);letter-spacing:var(--ls-tight)}.t-h3{font-family:var(--font-sans);font-weight:600;font-size:var(--t-h3);line-height:var(--lh-snug)}.t-body{font-family:var(--font-sans);font-weight:400;font-size:var(--t-base);line-height:var(--lh-body)}.t-sm{font-family:var(--font-sans);font-weight:400;font-size:var(--t-sm);line-height:var(--lh-body)}.t-over{font-family:var(--font-sans);font-weight:500;font-size:var(--t-xs);letter-spacing:var(--ls-over);text-transform:uppercase}.t-stat{font-family:var(--font-sans);font-weight:500;font-size:var(--t-stat);letter-spacing:var(--ls-tight);font-variant-numeric:tabular-nums}.btn{cursor:pointer;font-family:var(--font-sans);transition:all var(--dur) var(--ease);white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;gap:8px;font-weight:500;display:inline-flex}.btn-gold{background:var(--gold);color:var(--night);border-radius:var(--r-pill);padding:13px 26px;font-size:13px}.btn-gold:hover{background:var(--gold-press)}.btn-gold:active{transform:scale(.98)}.btn-primary{background:var(--fill-2);color:var(--ivory);border-radius:var(--r-pill);padding:13px 26px;font-size:13px}.btn-primary:hover{background:var(--fill-3)}.btn-secondary{color:var(--ivory);border-radius:var(--r-pill);background:0 0;padding:13px 22px;font-size:13px}.btn-secondary:hover{background:var(--fill-1)}.btn-ghost{color:var(--bronze);border-radius:var(--r-pill);background:0 0;padding:11px 16px;font-size:12px}.btn-ghost:hover{color:var(--ivory)}.btn-danger{color:var(--red);border-radius:var(--r-pill);background:0 0;padding:13px 22px;font-size:13px}.btn-danger:hover{background:var(--red-soft)}.btn-sm{padding:9px 16px;font-size:11px}.btn-lg{padding:16px 34px;font-size:14px}.btn:disabled{opacity:.32;cursor:not-allowed}.btn-block{width:100%}.btn-icon{width:40px;height:40px;color:var(--bronze);cursor:pointer;transition:all var(--dur) var(--ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-icon:hover{background:var(--fill-2);color:var(--ivory)}.input-wrap{width:100%;max-width:100%;display:block;position:relative}.input{background:var(--fill-2);border-radius:var(--r-md);font-family:var(--font-sans);color:var(--ivory);width:100%;max-width:100%;transition:box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);border:none;outline:none;padding:13px 16px;font-size:16px}.input.has-icon{padding-left:42px}.input.has-prefix{padding-left:62px}.input::placeholder{color:var(--placeholder)}.input:focus{background:var(--fill-3);box-shadow:inset 0 0 0 1.5px var(--gold)}.input-error{box-shadow:inset 0 0 0 1.5px var(--red)}.input-icon{color:var(--bronze);pointer-events:none;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.input-prefix{color:var(--bronze);font-size:15px;font-weight:500;font-family:var(--font-sans);pointer-events:none;letter-spacing:.02em;position:absolute;top:50%;left:14px;transform:translateY(-50%)}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=search],input[type=number],input[type=time],input:not([type]),select,textarea{font-size:16px}.time-input{background:var(--fill-2);border-radius:var(--r-md);border:none;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.time-input-lbl{color:var(--ivory);font-size:13px}.time-input-ctrl{align-items:center;gap:16px;display:flex}.time-input-ctrl .val{color:var(--ivory);font-variant-numeric:tabular-nums;text-align:center;min-width:56px;font-size:15px;font-weight:500}.time-btn{background:var(--fill-2);width:30px;height:30px;color:var(--ivory);cursor:pointer;transition:all var(--dur) var(--ease);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.time-btn:hover{background:var(--fill-3);color:var(--gold)}.toggle{border-radius:var(--r-pill);cursor:pointer;width:40px;height:23px;transition:background var(--dur) var(--ease);flex:none;align-items:center;padding:2px;display:flex}.toggle-on{background:var(--gold);justify-content:flex-end}.toggle-off{background:var(--fill-3);justify-content:flex-start}.toggle-thumb{background:#fff;border-radius:50%;width:19px;height:19px;box-shadow:0 1px 3px #00000059}.pill{border-radius:var(--r-pill);align-items:center;gap:7px;padding:5px 12px;font-size:11px;font-weight:500;display:inline-flex}.pill-dot{border-radius:50%;width:6px;height:6px}.pill-open{background:var(--gold-tint);color:var(--ivory)}.pill-open .pill-dot{background:var(--gold)}.pill-busy{background:var(--fill-2);color:var(--bronze)}.pill-busy .pill-dot{background:var(--bronze)}.pill-closed{background:var(--fill-2);color:var(--bronze)}.pill-closed .pill-dot{background:var(--on-dark-3)}.badge{border-radius:var(--r-pill);letter-spacing:.02em;align-items:center;gap:6px;padding:4px 10px;font-size:10px;font-weight:500;display:inline-flex}.badge-app{background:var(--fill-2);color:var(--bronze)}.badge-cat{background:var(--fill-2);color:var(--ivory)}.badge-cat-dot{border-radius:50%;flex:none;width:6px;height:6px}.badge-physical{background:var(--fill-2);color:var(--bronze)}.badge-gold{background:var(--gold-tint);color:var(--gold)}.q-num{font-variant-numeric:tabular-nums;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:500;display:flex}.q-num-default{background:var(--fill-2);color:var(--gold)}.q-num-active{background:var(--gold);color:var(--night)}.list-flat{background:var(--fill-1);border-radius:var(--r-lg);padding:6px}.salon-card{border-radius:var(--r-md);transition:background var(--dur) var(--ease);cursor:pointer;align-items:center;gap:14px;padding:15px 16px;display:flex}.salon-card:hover{background:var(--fill-2)}.salon-avatar{border-radius:var(--r-md);background:var(--fill-3);width:46px;height:46px;color:var(--gold);flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex}.salon-info{flex:1;min-width:0}.salon-name{color:var(--ivory);font-size:14px;font-weight:500}.salon-meta{color:var(--bronze);margin-top:3px;font-size:12px}.queue-item{border-radius:var(--r-md);transition:background var(--dur) var(--ease);align-items:center;gap:14px;min-width:0;padding:14px 16px;display:flex}.queue-item:hover{background:var(--fill-2)}.q-client{flex:1;min-width:0}.q-client-name{color:var(--ivory);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.q-client-meta{color:var(--bronze);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.coiffeur-row{background:var(--fill-1);border-radius:var(--r-md);border:none;align-items:center;gap:12px;padding:13px 16px;display:flex}.coiffeur-row+.coiffeur-row{margin-top:8px}.coiffeur-dot{border-radius:50%;flex:none;width:8px;height:8px}.coiffeur-name{color:var(--ivory);flex:1;font-size:13px}.coiffeur-status{color:var(--bronze);font-size:11px}.banner{background:var(--fill-1);border-radius:var(--r-lg);border:none;justify-content:space-between;align-items:center;min-width:0;padding:20px 14px;display:flex;overflow:hidden}.banner-stat{text-align:center;flex:1;min-width:0;padding:0 4px}.banner-val{color:var(--ivory);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,6vw,28px);font-weight:500;overflow:hidden}.banner-lbl{color:var(--bronze);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.banner-divider{background:var(--fill-hair);width:1px;height:40px}.stat-row{gap:10px;min-width:0;display:flex}.stat-card{background:var(--fill-1);border-radius:var(--r-md);text-align:center;border:none;flex:1;min-width:0;padding:18px 10px}.stat-val{color:var(--ivory);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(20px,6vw,26px);font-weight:500;overflow:hidden}.stat-lbl{color:var(--bronze);text-transform:uppercase;letter-spacing:.07em;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.position-hero{background:var(--fill-1);border-radius:var(--r-xl);text-align:center;border:none;padding:36px}.position-num{color:var(--gold);font-variant-numeric:tabular-nums;font-size:72px;font-weight:500;line-height:1}.position-lbl{color:var(--bronze);margin-top:8px;font-size:12px}.position-salon{color:var(--ivory);margin-top:14px;font-size:14px;font-weight:500}.progress-track{background:var(--fill-2);border:none;border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:var(--gold);border-radius:3px;height:100%}.alert{border-radius:var(--r-md);background:var(--fill-2);color:var(--on-dark-2);align-items:flex-start;gap:12px;padding:15px 17px;font-size:13px;line-height:1.55;display:flex}.alert-success{background:var(--fill-2);color:var(--ivory)}.alert-warning{background:var(--fill-2);color:var(--bronze)}.alert-error{background:var(--red-soft);color:var(--red)}.alert-info{background:var(--fill-2);color:var(--bronze)}.app-navbar{background:0 0;border-top:none;padding:12px 0 8px;display:flex}.app-navbar .nav-item{cursor:pointer;font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:5px;padding:0;display:flex}.nav-item i{color:var(--bronze);transition:color var(--dur) var(--ease)}.nav-item span{color:var(--bronze);font-size:9px}.nav-item.active i,.nav-item.active span{color:var(--ivory)}.nav-active-dot{background:var(--gold);border-radius:50%;width:4px;height:4px}.qbarber-logo-lockup-wrap{height:var(--logo-lockup-h-header);flex:none;line-height:0;display:block}.qbarber-logo-lockup-wrap--login{height:var(--logo-lockup-h-login)}.qbarber-logo-lockup-wrap--sidebar{height:var(--logo-lockup-h-sidebar)}.qbarber-logo-lockup{width:auto;height:100%;max-height:var(--logo-lockup-h-header);flex:none;display:block}.qbarber-logo-lockup--login{max-height:var(--logo-lockup-h-login);margin-bottom:var(--sp-6)}.qbarber-logo-lockup--sidebar{max-height:var(--logo-lockup-h-sidebar);margin-bottom:var(--sp-8);padding-left:var(--sp-2);padding-right:var(--sp-2)}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!sticky{position:sticky!important}.sticky{position:sticky}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-\[14px\]{margin-bottom:14px}.mb-\[7px\]{margin-bottom:7px}.mt-1{margin-top:4px}.mt-4{margin-top:16px}.mt-\[18px\]{margin-top:18px}.block{display:block}.inline{display:inline}.flex{display:flex}.h-4{height:16px}.w-4{width:16px}.w-full{width:100%}.flex-1{flex:1}.flex-none{flex:none}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-\[12px\]{border-radius:12px}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-current{border-color:currentColor}.border-t-transparent{border-top-color:#0000}.text-center{text-align:center}.font-serif{font-family:Cormorant Garamond,Georgia,Times New Roman,serif}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[18px\]{font-size:18px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-tight{letter-spacing:-.02em}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--night);color:var(--ivory);-webkit-font-smoothing:antialiased;min-width:1280px;min-height:100dvh}.web-app{min-height:100dvh}.web-login{justify-content:center;align-items:center;min-width:1280px;min-height:100dvh;padding:32px;display:flex}.web-login-card{background:var(--fill-1);border-radius:20px;width:100%;max-width:440px;padding:36px 32px}.web-login-eyebrow{letter-spacing:.06em;color:var(--bronze);margin-bottom:20px;font-size:11px}.web-login-demo{color:var(--bronze);box-shadow:inset 0 1px 0 var(--fill-hair);margin-top:24px;padding-top:20px;font-size:12px}.dashboard-layout{min-height:100dvh;display:flex}.dashboard-sidebar{background:var(--night-800);flex-direction:column;flex:none;gap:4px;width:240px;padding:24px 16px;display:flex}.dashboard-main{flex:1;min-width:0;padding:32px 48px}.nav-item{color:var(--bronze);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:13px;text-decoration:none;transition:all .2s cubic-bezier(.22,.61,.36,1);display:flex}.nav-item.on,.nav-item:hover,a.nav-item.active{background:var(--fill-2);color:var(--ivory)}.ro-badge{color:var(--bronze);background:var(--fill-2);border-radius:var(--r-pill);align-items:center;gap:6px;padding:8px 12px;font-size:11px;display:inline-flex}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.kpi{background:var(--fill-1);border-radius:16px;padding:20px}.kpi .k{color:var(--bronze);align-items:center;gap:7px;font-size:11px;display:flex}.kpi .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:14px;font-size:38px;font-weight:500}.kpi .t{align-items:center;gap:4px;margin-top:6px;font-size:11px;display:flex}.up,.down{color:var(--bronze)}.panel-grid{grid-template-columns:1.5fr 1fr;gap:14px;display:grid}.panel-x{background:var(--fill-1);border-radius:16px;padding:22px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-head h3{font-size:14px;font-weight:600}.panel-leg{color:var(--bronze);font-size:11px}.chart{align-items:flex-end;gap:8px;height:150px;display:flex}.chart-sm{height:80px}.chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.chart-bar{background:var(--fill-3);border-radius:4px 4px 0 0;width:100%;min-height:4px}.chart-bar.peak{background:var(--gold)}.chart-hr{color:var(--bronze);font-size:9px}.donut{border-radius:50%;width:130px;height:130px;margin:0 auto;position:relative}.donut-center{background:var(--night);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:26px}.donut-center .n{font-size:24px;font-weight:500}.donut-center .l{color:var(--bronze);font-size:9px}.legend-row{flex-direction:column;gap:10px;margin-top:20px;display:flex}.legend-row .lr{align-items:center;gap:9px;font-size:12px;display:flex}.legend-row .lr .dot{border-radius:50%;width:9px;height:9px}.legend-row .lr .pct{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.cmp-row{align-items:center;gap:12px;padding:12px 0;display:flex}.cmp-row+.cmp-row{box-shadow:inset 0 1px 0 var(--fill-hair)}.cmp-cat{align-items:center;gap:7px;width:90px;font-size:12px;display:flex}.cmp-cat .cat-dot{border-radius:50%;flex:none;width:7px;height:7px}.cmp-bars{flex-direction:column;flex:1;gap:5px;display:flex}.cmp-bar{border-radius:4px;height:7px}.cmp-val{color:var(--bronze);font-variant-numeric:tabular-nums;text-align:right;width:92px;font-size:11px}.dash-table{border-collapse:collapse;width:100%}.dash-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze);padding:12px 14px;font-size:11px;font-weight:600}.dash-table td{box-shadow:inset 0 1px 0 var(--fill-hair);padding:14px;font-size:13px}.dash-table td.muted{color:var(--bronze)}.dash-table td.name{font-weight:500}@media (width<=1280px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.panel-grid{grid-template-columns:1fr}}
