/* sshtqw studio shell; existing client forms and visit tools remain reusable. */
:root{--accent:#EC168F;--muted:#BBAFC2;--line:#ffffff0d;--panel:#241328;--tg-content-top:0px;--tg-bottom:0px;background:#0B0610;color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body{background:radial-gradient(ellipse at 50% 0,#3e0b2a33,transparent 55%),#0B0610;min-width:320px;overflow-x:hidden;padding-top:var(--tg-content-top);padding-bottom:calc(18px + env(safe-area-inset-bottom))}body.master-mode{padding-bottom:calc(88px + max(env(safe-area-inset-bottom),var(--tg-bottom)))}
.topbar,header,main,footer,.bottom-nav{max-width:440px;margin-left:auto;margin-right:auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:15px 18px 12px;min-height:68px}.icon-button{position:relative;width:40px;height:40px;min-height:40px;border:0;background:transparent;padding:8px;color:#eb7bd4}.icon-button svg,svg{width:23px;height:23px;flex-shrink:0}.studio-logo{display:flex;align-items:center;flex-direction:column;color:#fff;text-shadow:0 0 8px #ec168f,0 0 20px #ec168f}.studio-logo span{font-size:26px;line-height:1.1;font-weight:850;letter-spacing:-1.5px}.studio-logo small{font-size:7px;letter-spacing:3px;margin-top:4px}
header{min-height:104px;height:104px;padding:18px 17px;margin-bottom:8px;width:calc(100% - 28px);max-width:412px;border:1px solid #ec168f20;border-radius:16px;background:linear-gradient(110deg,#2a0a26,#190d1c);overflow:hidden}header:after{background:linear-gradient(90deg,#230b24 0,#230b24e6 45%,transparent 70%);z-index:-1}.brand-art{width:164px;height:164px;right:-4px;top:-22px;object-fit:cover;opacity:1;z-index:-2}.hero-copy{max-width:77%}header h1{font-size:22px;line-height:1.18;margin:3px 0 7px;letter-spacing:-.5px}#mode{font-size:11px;line-height:1.5;max-width:240px;color:#d7c6de}.brand-name,.eyebrow{display:none}main{padding:0 14px}footer{font-size:10px;padding:22px 12px 8px}.master-mode footer{display:none}button{font-size:13px;background:#241328;padding:10px 12px;border-radius:12px;transition:background .18s,border-color .18s,box-shadow .18s;min-height:44px}button:hover{border-color:#ec168f55}button:disabled{opacity:.45}.primary,.actions button{background:linear-gradient(110deg,#d8067d,#f017a5);border-color:#ff35b055;box-shadow:0 0 22px #ec168f15;color:#fff}.primary:hover{background:#FF35B0}.quiet{color:var(--muted);font-size:12px}.panel{border-radius:16px;padding:12px;background:linear-gradient(135deg,#241328,#1a101e);margin:10px 0;box-shadow:none;border-color:#ffffff0d}.master-mode #admin-tabs{display:none}.sectionhead{margin:13px 0 9px}.sectionhead h2,h2{font-size:15px;font-weight:700;letter-spacing:-.2px}.sectionhead .quiet{padding:4px 7px;min-height:32px;font-size:11px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0}.stat{min-width:0;min-height:78px;padding:10px 6px;border-radius:13px;text-align:left;background:linear-gradient(140deg,#2c1833,#1f1124);border-color:#ffffff05}.stat>div{display:flex;align-items:center;gap:7px;justify-content:center;margin-bottom:8px}.stat svg{color:#ef4fc3;width:22px;height:22px;filter:drop-shadow(0 0 5px #ec168f55)}.stat:nth-child(2) svg{color:#168DE0}.stat:nth-child(4) svg{color:#c6a0ec}.stat strong{font-size:17px;font-weight:650}.stat small{display:block;text-align:center;font-size:9px;line-height:1.25;color:#d7c8df;max-width:68px;margin:auto}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}.quick-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 3px;min-height:78px;border-color:#ffffff05}.quick-action svg{color:#f363d1;width:25px;height:25px}.quick-action.primary svg{color:#fff}.quick-action span{font-size:11px;line-height:1.3;text-align:center}
.calendar-panel{padding:10px 9px 12px}.monthbar{gap:6px;min-height:34px}.monthbar h2{font-size:14px;margin:0;text-transform:capitalize;text-align:center}.monthbar button{width:34px;min-width:34px;min-height:34px;height:34px;border-radius:10px;background:#301B35;color:#dfb2dc;font-size:23px}.week{margin:10px 0 7px;font-size:10px;gap:4px}.week,#calendar{gap:4px}#calendar button{height:34px;min-height:34px;border-radius:9px;font-size:12px;padding:0;background:#ffffff04;color:#eee7f1;border:1px solid transparent}#calendar .occupied{background:#149B62;color:#fff;border-color:#28cb8240}#calendar .open,#calendar .occupied.open{background:#168DE0;color:#fff;border-color:#5cb8f740}#calendar .chosen,#calendar .chosen:not(.open):not(.occupied){outline:2px solid #ff83da;outline-offset:1px;border-color:#ff9ddf;box-shadow:0 0 13px #ec168f99}#calendar .chosen:not(.open):not(.occupied){background:#ec168f}#calendar .today:not(.chosen){border-color:#ffffff30}.legend{display:flex;justify-content:space-between;gap:5px;font-size:8px;line-height:1.4;margin:13px 0 0}.legend span{display:flex;align-items:center;gap:5px}.dot{display:inline-block;width:10px;height:10px;flex-shrink:0;border-radius:50%}.dot.green{background:#149B62}.dot.blue{background:#168DE0}.dot.neutral{border:1px solid #49354D}.actions{margin:12px 0}.actions button{min-height:43px;font-size:13px}.segments{display:flex;gap:5px;background:#1c1022;border:1px solid #ffffff0c;border-radius:13px;padding:3px;margin:10px 0}.segments button{flex:1;background:transparent;border:0;font-size:12px;min-height:36px;padding:7px}.segments button.active{background:#ec168f;color:white;box-shadow:0 0 18px #ec168f22}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:10px 0}.week-strip button{display:flex;flex-direction:column;gap:8px;align-items:center;min-width:0;padding:7px 1px;font-size:13px;background:#1e1124}.week-strip small{font-size:10px}.week-strip .open{background:#168DE0}.week-strip .occupied{background:#149B62}.week-strip .chosen{outline:2px solid #ff83da;outline-offset:1px}#week-picker{padding:10px;background:#1c1022;border-radius:16px}
.studio-visit{display:flex;align-items:center;gap:8px;padding:9px 8px;margin:7px 0;border-radius:13px;border-color:#ffffff07;background:linear-gradient(110deg,#201323,#170e1c);box-shadow:none;min-height:58px}.studio-visit .time{min-width:38px;font-size:11px;color:#fff;background:#301B35;border-radius:7px;padding:6px 3px;text-align:center}.avatar{display:flex;align-items:center;justify-content:center;width:33px;height:33px;flex-shrink:0;border-radius:50%;font-size:14px;background:linear-gradient(140deg,#703450,#362041);color:#f7cadf}.studio-visit .visit-info{flex:1;min-width:0}.studio-visit strong{font-size:11px;line-height:1.25;margin:0 0 3px}.studio-visit .muted{display:block;font-size:9px;line-height:1.3;overflow:hidden;max-height:2.6em}.status{display:inline-block;border-radius:9px;padding:5px 6px;white-space:nowrap;font-size:8px;font-weight:500}.confirmed{color:#54d5a0;background:#0c664336}.pending{color:#edc571;background:#68450f44}.cancelled{color:#ffb1c4;background:#65304044}.chevron{color:#ba93bf;font-size:20px;flex-shrink:0}.empty-state{font-size:12px;line-height:1.6;color:var(--muted);padding:18px 10px;border-radius:13px;border:1px dashed #49354D;background:#20132333}.free-window{display:flex;gap:10px;align-items:center;color:#bce6ff;background:#168de01f;border-color:#168de055;width:100%;text-align:left;margin:7px 0}.free-window svg{width:19px;height:19px}.timeline-mode #visits{border-left:1px solid #49354D;padding-left:10px}.timeline-mode .studio-visit{min-height:70px}.timeline-mode .studio-visit .muted{font-size:10px}#new-appointment{margin:12px 0 6px;width:100%;min-height:44px}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 7px calc(8px + max(env(safe-area-inset-bottom),var(--tg-bottom)));background:#0b0610f5;border-top:1px solid #71305799;border-radius:20px 20px 0 0;box-shadow:0 -8px 35px #0007;backdrop-filter:blur(14px)}.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:0;min-height:46px;border-radius:10px;padding:3px 1px;color:#c4accf}.bottom-nav button span:not(.badge){font-size:9px}.bottom-nav button svg{width:21px;height:21px}.bottom-nav button.active{color:#ff35b0;text-shadow:0 0 13px #ec168f}.bottom-nav button.active svg{filter:drop-shadow(0 0 8px #ec168f)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:50%;padding:2px 4px;background:#ec168f;color:white;font-size:10px;line-height:1}.icon-button>.badge{position:absolute;top:2px;right:2px}.bottom-nav .badge{position:absolute;top:-2px;left:calc(50% + 5px);font-size:8px;height:15px;min-width:15px}.dialog-filters{display:flex;gap:5px;margin:12px 0}.dialog-filters button{flex:1;min-width:0;padding:7px 3px;font-size:10px;min-height:33px;border-radius:11px;background:#241328}.dialog-filters .active{background:#ec168f;color:#fff}.studio-search{display:flex;align-items:center;gap:6px;background:#241328;padding:4px 7px;border-radius:12px;border:1px solid #ffffff09;margin:12px 0}.studio-search input{min-width:0;flex:1;font:inherit;color:#fff;background:transparent;border:0;height:36px;padding:4px;font-size:11px}.studio-search svg{color:#b49fc0;width:18px}.studio-search button{padding:5px 7px;background:#301B35;min-height:34px;display:flex;align-items:center}.studio-search button span{display:none}.dialog-row{display:flex;align-items:center;gap:9px;width:100%;padding:12px 9px;margin:7px 0;min-height:76px;background:linear-gradient(110deg,#241328,#1c1020);text-align:left}.dialog-row .avatar{width:40px;height:40px}.dialog-info{min-width:0;flex:1}.dialog-info strong{font-size:12px;font-weight:650}.dialog-info .muted{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-info .status{margin-top:3px}.dialog-meta{display:flex;flex-direction:column;align-items:end;gap:8px;color:var(--muted)}.dialog-meta small{font-size:10px}.more-action{display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:54px;margin:8px 0}.more-action svg{color:#ec75c8}.skeleton{height:62px;border-radius:13px;margin:8px 0;background:linear-gradient(90deg,#241328,#38203d,#241328);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{to{background-position:-200% 0}}
#roles{display:none!important}.client-tabs{margin:10px 0;gap:6px}.client-tabs .active{background:#ec168f}.client-calendar button{min-height:36px}.client-calendar .available{background:#168de0}.client-action{background:#241328;font-size:13px;border-radius:13px}dialog{background:#241328;border-radius:18px;padding:17px;max-height:calc(90dvh - var(--tg-content-top));border-color:#73426c66}dialog h2{font-size:18px}.message-bubble{font-size:13px}.global-notice{max-width:412px;margin:4px auto 10px!important}#notice:not(:empty){font-size:11px;padding:8px 11px;line-height:1.5}.times{gap:6px}.times input{font-size:12px}.window-count{font-size:12px}.client-compose input,.client-compose select,.client-compose textarea{font-size:14px}.choice{padding:14px;border-radius:15px;background:#241328}.choice strong{font-size:14px}.client-visit{border-radius:16px;padding:15px}.master-mode #admin-extra>h2{margin:14px 0 10px}.master-mode #admin-extra .client-compose:has(input[placeholder]){display:flex;gap:7px}.master-mode #admin-extra .client-compose:has(input[placeholder]) input{min-width:0;flex:1;margin:0}#publisher{scroll-margin-top:20px}.topbar button:focus-visible,button:focus-visible{outline:2px solid #ff83da;outline-offset:2px}
@media(max-width:359px){header h1{font-size:19px}.stat{padding:8px 3px}.stat>div{gap:5px}.stat svg{width:18px}.stat strong{font-size:15px}.stat small{font-size:8px}.quick-action span{font-size:10px}.legend{font-size:7px;gap:3px}.legend span{gap:3px}.studio-visit{gap:5px}.studio-visit .avatar{width:27px;height:27px}.studio-visit .status{font-size:7px;padding:4px}.brand-art{right:-19px}.dialog-filters button{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#calendar .chosen:not(.open):not(.occupied){background:#ffffff04;color:#fff}
