:root{font-family:Segoe UI,Roboto,Arial,sans-serif;color:#e2e8f0;background:#020617}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(14,165,233,.16),transparent 46%),radial-gradient(circle at 80% 0%,rgba(34,197,94,.15),transparent 40%),#020617}.app-shell{width:min(1080px,100%);margin:0 auto;padding:24px 16px 40px}.hero{background:#0f172ae6;border:1px solid rgba(148,163,184,.25);border-radius:18px;padding:22px}.badge{display:inline-block;margin:0 0 10px;padding:6px 10px;border-radius:999px;background:#0ea5e929;color:#7dd3fc;font-size:.86rem}h1{margin:0 0 8px;font-size:clamp(1.45rem,2.8vw,2.2rem)}h2{margin:0 0 10px}h3{margin:0}.subtitle{margin:0;color:#cbd5e1;line-height:1.45}.actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1}.stack{display:grid;gap:12px}.btn{text-decoration:none;border:none;border-radius:12px;padding:10px 14px;font-weight:600;cursor:pointer;min-height:42px}.btn.small{padding:8px 10px;font-size:.86rem}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{color:#082f49;background:linear-gradient(90deg,#7dd3fc,#34d399)}.btn.ghost{color:#cbd5e1;background:#94a3b826}.btn.danger{color:#fecaca;background:#dc262638}.notice{margin-top:12px;padding:12px 14px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.notice.warn{border:1px solid rgba(250,204,21,.5);background:#facc151f;color:#fef08a}.notice.info{border:1px solid rgba(125,211,252,.5);background:#7dd3fc1f;color:#bae6fd}.notice.error{border:1px solid rgba(248,113,113,.45);background:#f871711f;color:#fecaca}.notice.success{border:1px solid rgba(74,222,128,.4);background:#4ade801f;color:#bbf7d0}.inline-action{border:none;border-radius:8px;padding:8px 10px;cursor:pointer;color:#082f49;font-weight:700;background:#7dd3fc}.tabs{margin-top:14px;display:flex;gap:8px}.tab{border:1px solid rgba(148,163,184,.25);background:#0f172ae6;color:#cbd5e1;padding:10px 12px;border-radius:10px;cursor:pointer;min-height:42px;white-space:nowrap}.tab.active{border-color:#7dd3fccc;color:#e2e8f0;background:#0ea5e92e}.main-tabs{flex-wrap:wrap}.auth-box{margin-top:14px;background:#0f172ae0;border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:14px}.field{display:grid;gap:6px}.field span,.field-label{color:#cbd5e1;font-size:.88rem}input,textarea{width:100%;border:1px solid rgba(148,163,184,.28);border-radius:10px;padding:10px;color:#e2e8f0;background:#0f172acc}select{width:100%;border:1px solid rgba(148,163,184,.28);border-radius:10px;padding:10px;color:#e2e8f0;background:#0f172af2}textarea{resize:vertical}.cards{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.card{background:#0f172ad6;border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:16px}.card.wide{grid-column:1 / -1}.muted{color:#cbd5e1;font-size:.92rem}.muted.tiny{font-size:.78rem}.link{color:#7dd3fc}.mono{font-family:Consolas,Courier New,monospace}.plain-list{margin:0;padding-left:18px;display:grid;gap:8px}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.service-item{display:grid;gap:4px;border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:8px;cursor:pointer}.service-item.checked{border-color:#34d399e6;background:#34d3991f}.service-item input{width:auto}.slot-grid{display:flex;flex-wrap:wrap;gap:8px}.slot{border:1px solid rgba(148,163,184,.25);border-radius:9px;background:#0f172ae6;color:#e2e8f0;padding:8px 10px;cursor:pointer}.slot.selected{border-color:#7dd3fccc;background:#0ea5e92e}.appointment-card{display:grid;gap:8px}.status{border-radius:999px;padding:4px 8px;font-size:.78rem;border:1px solid rgba(148,163,184,.3)}.status-pending-confirmation{color:#fde68a;border-color:#facc1580;background:#facc1524}.status-confirmed{color:#bbf7d0;border-color:#4ade8080;background:#4ade8024}.status-cancelled,.status-no-show{color:#fecaca;border-color:#f8717180;background:#f8717124}.status-completed{color:#bae6fd;border-color:#38bdf880;background:#38bdf824}.chat-box{max-height:380px;overflow:auto;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:10px;margin-bottom:10px;display:grid;gap:8px}.chat-message{border-radius:10px;padding:8px;border:1px solid rgba(148,163,184,.22);background:#1e293bcc}.chat-message.self{border-color:#34d39966;background:#34d3991f}.chat-message.admin{border-color:#7dd3fc66;background:#7dd3fc1f}.chat-message p{margin:0 0 4px}.top-space{margin-top:10px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.image-card{display:block;border:1px solid rgba(148,163,184,.25);border-radius:12px;overflow:hidden;background:#1e293bb3}.image-card img{display:block;width:100%;height:auto;object-fit:cover}.overlay{position:fixed;inset:0;background:#020617bf;padding:18px 12px;overflow:auto;z-index:30}.modal{margin:0 auto;max-width:860px}.footer{margin-top:16px;text-align:center;color:#cbd5e1bf;font-size:.82rem}@media(max-width:680px){.app-shell{padding:16px 10px calc(92px + env(safe-area-inset-bottom))}.hero{padding:16px}.row.between{flex-direction:column;align-items:flex-start}.overlay{padding:10px 8px}.modal{margin-top:0}.main-tabs{position:sticky;bottom:0;z-index:20;margin-top:18px;margin-bottom:4px;padding:8px 6px calc(8px + env(safe-area-inset-bottom));overflow-x:auto;flex-wrap:nowrap;background:#020617e0;border:1px solid rgba(148,163,184,.2);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.main-tabs .tab{flex:0 0 auto}.chat-box{max-height:52vh}}
