:root{font-family:system-ui,-apple-system,sans-serif;color:#332a42;background:#faf7fc}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}h1{font-size:clamp(1.5rem,2.5vw,2.2rem);margin:.3rem 0}h2{margin:0 0 .5rem}p{color:#81788f;line-height:1.55}.brand{font-size:1.5rem;font-weight:800;color:#835cc1;display:flex;align-items:center;gap:10px}.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:1.5px;color:#9989a8}.app{min-height:100vh;display:flex}aside{width:245px;flex-shrink:0;background:#fff;border-right:1px solid #eee8f2;padding:30px 16px;display:flex;flex-direction:column}aside .eyebrow{margin:38px 13px 12px}nav{display:grid;gap:7px}nav button,footer button{border:0;background:transparent;text-align:left;color:#756c83;padding:13px;border-radius:12px;display:flex;align-items:center;gap:12px;font-weight:700}nav button.active,nav button:hover,.mobile-nav button.active{background:#eee4fa;color:#734ab6}footer{margin-top:auto;display:grid;gap:12px;color:#9689a1;font-size:.8rem}footer span{display:flex;gap:8px;align-items:center}.content{flex:1;padding:45px 5vw;max-width:1500px;margin:auto;align-self:stretch}.content header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.tag{background:#e9f6e9;color:#397444;border-radius:30px;padding:8px 14px;font-size:.78rem;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat,.panel{background:#fff;border:1px solid #eee8f2;border-radius:20px;padding:23px;box-shadow:0 8px 25px #38225308}.stat{display:flex;flex-direction:column;gap:12px}.stat svg{color:#9972c9}.stat strong{font-size:1.8rem}.stat span{font-size:.88rem;color:#81788f}.panels{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}label{font-size:.86rem;font-weight:700;color:#62566f;display:grid;gap:8px}input:not([type=checkbox]){width:100%;border:1px solid #dfd6e6;padding:12px;border-radius:10px;outline-color:#956dc5}.check{display:flex;align-items:center;margin:15px 0 22px;gap:9px}.row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #eee6f4}.row strong{color:#8054bd;font-size:1.35rem}.pink{background:#fdf6ff}.mascots{font-size:3.5rem;text-align:center;margin:35px}.login,.loading{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top left,#eee0fc,transparent 45%),#faf7fc}.login-card{width:min(450px,100%);background:#fff;border-radius:25px;padding:40px;border:1px solid #eee3f2;box-shadow:0 15px 55px #5e3c8312}.login-card h1{margin-top:40px}.login-card form{display:grid;gap:16px;margin:25px 0}.primary{background:#835cc1;border:0;color:#fff;border-radius:11px;padding:14px;font-weight:800}.alert{background:#fff4e9;color:#885938;padding:14px;border-radius:10px}.login-card small{color:#95899f}.mobile,.mobile-nav{display:none}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.panels{grid-template-columns:1fr}}@media(max-width:700px){aside{display:none}.content{padding:20px}.mobile{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.mobile button{border:0;background:none;color:#8054bd}.mobile-nav{display:flex;gap:8px;overflow-x:auto;margin:0 -20px 18px;padding:0 20px 8px}.mobile-nav button{border:1px solid #eee6f3;background:#fff;padding:9px;border-radius:9px;white-space:nowrap}.stat{padding:15px}.stat strong{font-size:1.4rem}.panel{padding:18px}.fields{grid-template-columns:1fr}}.record-form{display:grid;gap:13px;margin-top:18px}.record-form textarea{width:100%;border:1px solid #dfd6e6;border-radius:10px;padding:12px;font:inherit;resize:vertical;outline-color:#956dc5}.record-form button,.record-actions button{border:1px solid #e6d9f2;border-radius:9px;padding:10px 12px;background:#f7f1fc;color:#6e4b9f;font-weight:700}.record-form button.primary{background:#835cc1;color:#fff;border:0}.record-list{display:grid;gap:10px;margin-top:14px}.record-item{border:1px solid #eee6f4;border-radius:12px;padding:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.record-item p{margin:5px 0;font-size:.85rem;overflow-wrap:anywhere}.record-actions{display:flex;gap:5px;flex-wrap:wrap}.record-actions button{padding:7px 9px;font-size:.8rem}.success-message{background:#e8f6ec;color:#2e6a40;padding:13px;border-radius:10px}@media(max-width:700px){.record-item{flex-direction:column}}.record-form select,.record-item select,.panel select{width:100%;border:1px solid #dfd6e6;padding:12px;border-radius:10px;background:#fff;color:#332a42;font:inherit}.record-actions button.primary{background:#835cc1;color:#fff;border-color:#835cc1}.record-form .check{margin:0;display:flex;align-items:center;font-weight:500}.record-form .check input{width:auto}.customer-combobox{position:relative;display:grid;gap:8px}.customer-combobox>label{font-size:.86rem;font-weight:700;color:#62566f}.combo-wrap{position:relative}.combo-wrap input{padding-right:40px!important}.combo-wrap>button{position:absolute;right:3px;top:3px;bottom:3px;width:36px;border:0;background:transparent;color:#6e4b9f;font-size:1.4rem}.combo-options{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #dfd6e6;border-radius:10px;box-shadow:0 12px 28px #38225322;margin-top:3px;padding:5px}.combo-options>button{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;background:#fff;border:0;border-radius:7px;padding:11px;color:#332a42}.combo-options>button:hover,.combo-options>button.combo-active{background:#eee4fa}.combo-options small{color:#81788f}.combo-options p{margin:8px}.booking-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.service-options{border:1px solid #eee6f4;border-radius:12px;padding:15px;display:grid;gap:13px;min-width:0}.service-options legend{font-weight:800;color:#62566f;padding:0 6px}.service-option{display:flex;justify-content:space-between;align-items:center;gap:12px}.service-option input{max-width:95px}.service-options .check{margin:3px 0}@media(max-width:700px){.booking-filters{grid-template-columns:1fr}}.booking-title{font:inherit;font-weight:800;color:#6946a1;background:transparent;border:0;padding:0;text-align:left;text-decoration:underline;text-underline-offset:3px}.booking-detail{margin:15px 0;padding:15px;background:#faf7fc;border:1px solid #eee6f4;border-radius:12px}.booking-detail h3{margin:0 0 8px}.booking-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#21172a99;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.booking-modal{width:min(720px,100%);max-height:90vh;overflow-y:auto;background:#fff;border-radius:20px;padding:clamp(20px,4vw,34px);box-shadow:0 22px 75px #24133455;color:#332a42;font-size:1rem;line-height:1.6}.booking-modal p{font-size:1rem}.booking-modal h2{font-size:1.6rem}.booking-modal h3{font-size:1.14rem;margin:22px 0 12px;color:#332a42}.booking-modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.booking-modal-header button{border:1px solid #e6d9f2;background:#f7f1fc;color:#6946a1;border-radius:10px;padding:10px 14px;white-space:nowrap}.booking-section{border-top:1px solid #eee6f4;margin-top:15px;padding-top:6px}.booking-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:12px 0}.booking-info-grid>div{display:grid;gap:3px}.booking-info-grid small,.booking-service-row small{font-size:.83rem;color:#756c83}.booking-info-grid strong{font-size:1.03rem;overflow-wrap:anywhere}.booking-service-list{display:grid;gap:0}.booking-service-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #eee6f4}.booking-service-row span{display:grid;gap:2px}.booking-service-row strong{white-space:nowrap}.booking-balance{font-size:1.15rem;color:#6946a1;font-weight:800}.booking-meta{font-size:.8rem!important;overflow-wrap:anywhere}.booking-modal .record-actions{margin-top:20px;gap:10px}.booking-modal .record-actions button{font-size:.95rem;padding:11px 14px}@media(max-width:550px){.booking-modal-backdrop{padding:8px}.booking-modal{max-height:96vh;padding:18px}.booking-info-grid{grid-template-columns:1fr}.booking-modal h2{font-size:1.35rem}}
