:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#f5f5f7;background:#08090d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0%,#281018 0%,#090b11 48%,#06070a 100%);min-height:100vh}.shell{max-width:1300px;margin:auto;padding:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid #34313a;padding-bottom:22px}.logo{font-size:26px;letter-spacing:.18em;font-weight:900;text-shadow:0 0 24px #f33b4c44}.logo span{color:#fa344d}.eyebrow{font-size:10px;letter-spacing:.22em;color:#9a9aa6}.pill{border:1px solid #a33b49;color:#ffa3ae;border-radius:20px;padding:8px 12px;font-size:12px}.nav{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.nav button,button{cursor:pointer;color:#e9e9ed;border:1px solid #3a3d48;background:#181b24;border-radius:10px;padding:11px 14px;font-weight:650}.nav button.active,.primary{background:linear-gradient(135deg,#ab102a,#ef3650);border-color:#e43c53;color:white}button:hover{filter:brightness(1.2)}h1{font-size:29px;margin:0 0 8px}h2{font-size:17px;margin:0 0 14px}p,.muted{color:#a7a8b4}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{background:#11151ee8;border:1px solid #323542;border-radius:16px;padding:18px;box-shadow:0 8px 25px #0005}.stat{font-size:28px;font-weight:800;margin-top:8px}.two{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.appointment{border-left:4px solid #ee4255;background:#1c202b;border-radius:8px;padding:12px;margin:9px 0}.appointment small{color:#9fa8b9}label{display:block;color:#b8bbc7;font-size:12px;margin:13px 0 5px}input,select{width:100%;background:#0c1019;color:white;border:1px solid #454855;border-radius:9px;padding:12px;font-size:14px}input[type=checkbox]{width:auto}button:disabled{opacity:.4;cursor:not-allowed}.hint{font-size:12px;color:#a3a7b5;line-height:1.5}.notice{padding:12px;background:#202333;border:1px solid #42465b;border-radius:9px;margin:12px 0;color:#dce1ec}.good{color:#62d7b1}.bad{color:#ff8091}.section{display:none}.section.active{display:block}.chip{display:inline-block;padding:5px 8px;border-radius:8px;border:1px solid #3e485c;margin:3px;font-size:12px}.mini{font-size:12px}.service{border-bottom:1px solid #303542;padding:13px 0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:600px}th,td{text-align:left;padding:12px;border-bottom:1px solid #303542;font-size:13px}th{color:#a7a8b4}.footer{margin:32px 0 10px;font-size:12px;color:#888b98}.banner{background:linear-gradient(100deg,#270b15,#131923);padding:20px;border:1px solid #67303d;border-radius:14px;margin-bottom:18px}@media(max-width:780px){.shell{padding:14px}.two,.grid{grid-template-columns:1fr}.logo{font-size:20px}.stat{font-size:24px}}

:root{--laser:#ef2344;--chrome:#d7e1eb}body{background:radial-gradient(ellipse at 52% 20%,#251019 0%,#070a10 48%,#030407 100%);background-attachment:fixed}.shell{max-width:1540px}.top{border-bottom:1px solid #752333}.logo{font-size:30px;background:linear-gradient(180deg,#fff,#8e98a4,#fff);color:transparent;background-clip:text}.logo span{color:#f32b45}.nav{position:sticky;top:0;z-index:20;padding:12px 0;background:#070910ed;backdrop-filter:blur(18px);border-bottom:1px solid #612032}.nav button{border-radius:3px;background:linear-gradient(140deg,#191b23,#0a0d14);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.nav button.active{background:linear-gradient(120deg,#570a1b,#bd1731);box-shadow:0 0 19px #d22c4a55}.card{border-radius:5px;background:linear-gradient(130deg,#12151ce8,#080b12f2);border-color:#51313d;box-shadow:inset 0 1px #ffffff0c,0 10px 32px #0007}.banner{display:none}.holo-stage{position:relative;min-height:570px;overflow:hidden;border:1px solid #753247;background:radial-gradient(ellipse at 50% 55%,#381020 0%,#0b101b 38%,#05070c 76%);margin-bottom:18px;isolation:isolate}.holo-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:42px 42px;transform:perspective(650px) rotateX(65deg) scale(1.8);transform-origin:bottom;mask-image:linear-gradient(transparent,#000);pointer-events:none}.holo-stage:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 100px #020305;pointer-events:none}.holo-head{position:relative;z-index:3;display:flex;justify-content:space-between;gap:12px;padding:22px 28px;align-items:flex-start}.holo-head h1{font-size:24px;letter-spacing:.12em;text-transform:uppercase;color:#e8edf3;text-shadow:0 0 20px #fff5}.holo-head .eyebrow{color:#ff5068}.holo-core{position:relative;width:min(92%,850px);height:390px;margin:-2px auto 0;perspective:900px;transform-style:preserve-3d}.holo-rig{position:absolute;inset:15px 30px;transform-style:preserve-3d;animation:orbit 32s linear infinite}.holo-ring{position:absolute;inset:12% 9%;border:1px solid #f14a67b8;border-radius:50%;box-shadow:0 0 15px #ec234c88,inset 0 0 20px #ec234c44;transform:rotateX(65deg) rotateZ(-14deg)}.holo-ring:nth-child(2){inset:18% 16%;border-color:#aebdccb0;transform:rotateY(64deg) rotateX(20deg);box-shadow:0 0 20px #d8eaff66}.holo-ring:nth-child(3){inset:8% 26%;transform:rotateY(-65deg) rotateX(23deg);border-color:#e54d65}.holo-ring:nth-child(4){inset:27% 4%;transform:rotateX(75deg);border:2px dashed #bfcbd4a0}.holo-beam{position:absolute;left:50%;top:49%;width:68%;height:2px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#ff355c,#e2f2ff,#ff355c,transparent);box-shadow:0 0 22px #ff284f}.holo-calendar{position:absolute;z-index:4;left:50%;top:48%;width:min(82%,560px);transform:translate(-50%,-50%) rotateX(8deg);background:linear-gradient(135deg,#16202cdd,#080a13f2);border:1px solid #e94465;box-shadow:0 0 22px #eb31514d,inset 0 0 40px #6d1e3750,0 35px 75px #0009;backdrop-filter:blur(10px);padding:15px 17px}.calendar-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b62d4b;padding-bottom:10px;margin-bottom:10px}.calendar-top strong{letter-spacing:.16em;font-size:13px;color:#fff}.calendar-top span{font-size:10px;color:#ff6e84;letter-spacing:.15em}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-days .dow{text-align:center;color:#8495a7;font-size:10px;letter-spacing:.1em;padding:6px}.calendar-days button{padding:9px 2px;background:#101824a6;border:1px solid #2d3c4b;border-radius:2px;font-size:12px;color:#d4e2ec}.calendar-days button:hover,.calendar-days button.selected{border-color:#ff4b69;background:#5a142b;box-shadow:0 0 16px #e7254a66;color:white}.calendar-days button.other{opacity:.25}.calendar-days button.has-bookings:after{content:'•';display:block;color:#ff5572;font-size:14px;line-height:4px}.holo-bottom{position:relative;z-index:4;text-align:center;margin:-5px 0 20px;color:#b5c6d4;letter-spacing:.21em;font-size:10px}.holo-bottom strong{color:#ff5673}.holo-side{position:absolute;z-index:5;top:43%;width:175px;padding:14px;border:1px solid #563242;background:#080d16b8;box-shadow:0 0 18px #a91d3840}.holo-side.left{left:18px}.holo-side.right{right:18px}.holo-side .big{font-size:27px;font-weight:800;color:#fff}.holo-side .eyebrow{margin-bottom:10px}.holo-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;position:relative;z-index:6;padding:0 12px 20px}.holo-actions button{border:1px solid #a8314b;background:#230c18;letter-spacing:.08em;font-size:11px;text-transform:uppercase}.holo-crest{font-size:11px;letter-spacing:.32em;color:#d9e2e8;text-align:center;padding-top:8px;text-shadow:0 0 12px #fff7}.blueprint-quote{font-size:10px;color:#b5a3aa;letter-spacing:.14em;text-align:center;margin-top:9px}.holo-streak{position:absolute;height:1px;width:170px;background:linear-gradient(90deg,transparent,#f63b5c,transparent);opacity:.6;animation:scan 7s linear infinite}.holo-streak.a{top:32%;left:9%}.holo-streak.b{bottom:26%;right:7%;animation-delay:-3s}@keyframes orbit{0%{transform:rotateY(0deg) rotateZ(-8deg)}100%{transform:rotateY(360deg) rotateZ(-8deg)}}@keyframes scan{0%,100%{opacity:.15;transform:translateY(-24px)}50%{opacity:.9;transform:translateY(24px)}}@media(max-width:900px){.holo-side{display:none}.holo-stage{min-height:540px}.holo-core{height:380px}}@media(max-width:550px){.holo-head{padding:16px}.holo-head h1{font-size:17px}.holo-core{width:100%;height:340px}.holo-calendar{width:92%;padding:10px}.calendar-days{gap:3px}.calendar-days button{font-size:11px;padding:8px 1px}.holo-stage{min-height:485px}.holo-bottom{font-size:8px;letter-spacing:.1em}.holo-actions{padding-bottom:12px}.holo-actions button{font-size:10px;padding:9px}.holo-crest{font-size:9px}}
@media(prefers-reduced-motion:reduce){.holo-rig,.holo-streak{animation:none}}


.finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.finance-card{border:1px solid #66303d;background:linear-gradient(140deg,#18131d,#090d15);border-radius:15px;padding:17px;box-shadow:inset 0 0 22px #fa264111}.finance-card .num{font-size:clamp(19px,2.5vw,30px);font-weight:800;color:#fff;margin:10px 0}.finance-card .eyebrow{color:#e4a5b3}.goal-track{height:8px;background:#28222e;border-radius:9px;overflow:hidden;margin:10px 0}.goal-fill{height:100%;background:linear-gradient(90deg,#7e142a,#ff385a,#e4e8ef);width:0;transition:width .4s}.finance-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.finance-controls label{margin:0}.finance-controls input{max-width:170px}.finance-controls button{align-self:end}.staff-calendar{display:grid;grid-template-columns:85px repeat(7,minmax(110px,1fr));min-width:870px;gap:3px}.staff-calendar>div{background:#10131c;border:1px solid #29303b;padding:10px 7px;min-height:58px;border-radius:5px}.staff-calendar .cal-head{background:#26121c;text-align:center;font-size:11px;color:#eee;min-height:35px}.staff-calendar .cal-name{font-weight:800;display:flex;align-items:center;gap:8px}.experience-dot{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 12px currentColor}.shift-chip{font-size:11px;border-left:3px solid;padding:7px;background:#ffffff09;border-radius:4px;line-height:1.6}.experience-legend{display:flex;gap:15px;flex-wrap:wrap;margin:12px 0}.experience-legend span{font-size:12px}.closeout-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.closeout-row input{width:180px}.muted-note{font-size:11px;color:#a8aab5}.finance-card strong{color:#f9cbd3}@media(max-width:750px){.finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-card{padding:12px}.finance-card .num{font-size:21px}}


.shop-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0}.shop-toolbar label{min-width:150px}.shop-toolbar select,.shop-toolbar input{max-width:210px}.shop-calendar-scroll{overflow:auto;max-height:690px;border:1px solid #66313e;background:#090d15}.shop-timeline{display:grid;grid-template-columns:76px repeat(var(--columns),minmax(150px,1fr));min-width:max-content;position:relative}.shop-timeline .shop-head{position:sticky;top:0;z-index:4;background:#23131d;border-bottom:1px solid #b72a46;padding:12px 8px;color:white;font-size:12px}.shop-timeline .shop-hour{background:#11131b;border-right:1px solid #4b303c;color:#aeb9c7;padding:10px 8px;font-size:11px;height:78px;border-bottom:1px solid #26313c}.shop-slot{height:78px;position:relative;border-right:1px solid #34303b;border-bottom:1px solid #27303b;background:repeating-linear-gradient(to bottom,transparent 0,transparent 18px,#ffffff0a 19px,transparent 20px)}.shop-event{position:absolute;left:4px;right:4px;top:3px;z-index:2;border-left:4px solid #f04462;background:#50212c;color:#fff;padding:5px;font-size:10px;overflow:hidden;border-radius:3px;box-shadow:0 0 12px #f0446222}.shop-key{display:flex;gap:15px;flex-wrap:wrap;margin:10px 0;font-size:12px}.shop-key b{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.shop-banner{border:1px solid #7d3546;background:#230e1a;padding:12px;font-size:12px;color:#d9c4ce}.shop-head small{display:block;color:#b6b9c6;margin-top:4px}.shop-event small{display:block;color:#e9b6c2}.shop-timeline .shop-hour.corner{height:auto}


/* Razorhouse v2.3 compact timeline */
.shop-timeline{grid-template-columns:58px repeat(var(--columns),minmax(116px,1fr))}.shop-timeline .shop-slot{height:48px!important;min-height:48px!important}.shop-timeline .shop-hour{height:48px!important;min-height:48px!important;font-size:10px!important}.shop-timeline .shop-head{padding:7px 5px;font-size:10px}.shop-event{font-size:9px;padding:3px}.staff-calendar{gap:1px;grid-template-columns:64px repeat(7,minmax(115px,1fr))}.staff-calendar>div{padding:4px;min-height:34px}.shift-chip{font-size:10px;padding:4px}.rh-toast{position:fixed;right:20px;top:20px;z-index:9999;max-width:350px;background:#171b27;border:1px solid #f04462;border-radius:13px;box-shadow:0 15px 45px #000b,0 0 24px #f0446233;padding:17px;color:white}.rh-toast button{margin:5px 5px 0 0}.customer-hero{padding:28px;background:radial-gradient(ellipse at 50% 0%,#5c0a20,#0b0c12 70%);border:1px solid #5e2735;border-radius:16px;text-align:center}.customer-hero h2{font-size:clamp(26px,4vw,50px);letter-spacing:.15em}.customer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:18px 0}.customer-tile{border:1px solid #4a2b38;border-radius:12px;background:#12151d;padding:18px}.customer-tile h3{margin-top:0}.rh-badge{font-size:10px;color:#ff9aad;letter-spacing:.1em}.rh-notice{color:#bfc5d1;font-size:12px}.rh-dialog{border:1px solid #c43c55;border-radius:12px;padding:14px;background:#21131b;margin-top:10px}.rh-dialog input{width:100%}.rh-schedule{overflow:auto;border:1px solid #66313e;border-radius:8px}.rh-schedule table{border-collapse:collapse;min-width:740px;width:100%;font-size:11px}.rh-schedule th,.rh-schedule td{border:1px solid #34313c;padding:5px;min-width:90px}.rh-schedule th{background:#25131c}.rh-schedule td{height:32px}.rh-schedule .filled{background:#35202d;border-left:3px solid #f04462}.rh-schedule .off{color:#858b9b;background:#10121a}@media(max-width:650px){.rh-toast{left:12px;right:12px;top:12px}}

/* v0.3 fixes */
.holo-rig{z-index:1;opacity:.55}.holo-calendar{z-index:6;transform:translate(-50%,-50%) translateZ(60px) rotateX(8deg)}
.calendar-days button{position:relative;z-index:2;background:#0d1520f0}
.shop-timeline .shop-slot{overflow:visible}
.status-booked{border-left-color:#ee4255}.status-completed{border-left-color:#62d7b1;opacity:.85}
.status-cancelled,.status-late_cancelled,.status-no_show{border-left-color:#6b6f7c;opacity:.6}
.appointment .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.appointment .acts button{padding:6px 9px;font-size:11px}
.slots{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.slots button{padding:8px 10px;font-size:12px}.slots button.sel{background:#5a142b;border-color:#ff4b69}
.policy-box{max-height:220px;overflow:auto;background:#0c1019;border:1px solid #454855;border-radius:9px;padding:12px;font-size:12px;line-height:1.55;color:#cfd3dd}
.policy-box b{color:#fff}.err{color:#ff8091}.ok{color:#62d7b1}
.modal-bg{position:fixed;inset:0;background:#000a;z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px}
.modal{max-width:440px;width:100%;background:#151923;border:1px solid #c43c55;border-radius:12px;padding:20px}
.audit td{font-size:11px}.denied{color:#ff8091}
:focus-visible{outline:2px solid #ff4b69;outline-offset:2px}
