:root{--primary: #2563EB;--primary-dark: #1D4ED8;--bg: #F8FAFC;--card: #FFFFFF;--border: #E2E8F0;--text: #0F172A;--text-soft: #64748B;--green: #16A34A;--red: #DC2626;--amber: #D97706;--font: "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font)}h1{font-size:1.6rem;margin:0 0 .25rem}h2{font-size:1.15rem;margin:2rem 0 1rem}.page-sub{color:var(--text-soft);margin:0 0 1.5rem}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:2.5rem;width:100%;max-width:380px}.login-card h1{font-size:1.4rem}.login-sub{color:var(--text-soft);font-size:.9rem;margin-bottom:1.5rem}.admin-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--card);border-right:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column}.sidebar-brand{font-weight:700;font-size:1.05rem;margin-bottom:2rem;padding:0 .5rem}.sidebar nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.sidebar nav a{color:var(--text-soft);text-decoration:none;padding:.6rem .75rem;border-radius:6px;font-size:.92rem}.sidebar nav a:hover{background:var(--bg)}.sidebar nav a.active{background:#eff6ff;color:var(--primary);font-weight:600}.logout-btn{background:none;border:1px solid var(--border);padding:.6rem;border-radius:6px;cursor:pointer;color:var(--text-soft)}.logout-btn:hover{background:var(--bg)}.content{flex:1;padding:2rem 2.5rem;max-width:1000px}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:1rem;color:var(--text)}input,textarea,select{display:block;width:100%;padding:.55rem .7rem;margin-top:.35rem;border:1px solid var(--border);border-radius:6px;font-family:var(--font);font-size:.95rem}button{background:var(--primary);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem}button:hover{background:var(--primary-dark)}button:disabled{background:#cbd5e1;cursor:not-allowed}.form-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.5rem;max-width:480px;margin-bottom:1.5rem}.form-error{color:var(--red);font-size:.88rem}.form-success{color:var(--green);font-size:.88rem}.page-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.inline-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.data-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.data-table th,.data-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.9rem}.data-table th{background:var(--bg);font-weight:600;color:var(--text-soft)}.data-table select{width:auto;margin:0;padding:.35rem .5rem;font-size:.85rem}.badge{padding:.2rem .6rem;border-radius:20px;font-size:.78rem;font-weight:600;text-transform:capitalize}.badge.pending{background:#fef3c7;color:var(--amber)}.badge.confirmed{background:#dcfce7;color:var(--green)}.badge.cancelled{background:#fee2e2;color:var(--red)}.badge.completed{background:#e0e7ff;color:var(--primary)}.stat-row{display:flex;gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.5rem;flex:1}.stat-number{display:block;font-size:1.8rem;font-weight:700}.stat-label{color:var(--text-soft);font-size:.85rem}.toggle-btn{padding:.3rem .8rem;border-radius:20px;font-size:.8rem;border:none}.toggle-btn.open{background:#dcfce7;color:var(--green)}.toggle-btn.closed{background:#fee2e2;color:var(--red)}.link-btn{background:none;color:var(--text-soft);padding:0;font-weight:500}.link-btn.danger{color:var(--red)}.link-btn:hover{background:none;text-decoration:underline}.slot-chip-grid{display:flex;flex-wrap:wrap;gap:.6rem}.slot-chip{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:.4rem .7rem .4rem 1rem;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.slot-chip.booked{background:#f1f5f9;color:var(--text-soft)}.slot-chip button{background:none;color:var(--text-soft);padding:0;font-size:1rem;line-height:1}.chip-tag{font-size:.7rem;background:#e2e8f0;padding:.1rem .5rem;border-radius:10px}.filter-row{display:flex;gap:1rem;margin-bottom:1.5rem;max-width:500px}.filter-row select{margin:0}.weekly-hours-editor-row{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--border)}.weekly-hours-editor-row:last-of-type{border-bottom:none}.day-checkbox{display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.9rem;margin-bottom:0;min-width:110px}.day-checkbox input{width:auto;margin:0}.time-inputs{display:flex;align-items:center;gap:.5rem}.time-inputs input{width:auto;margin:0;padding:.4rem .6rem;font-size:.85rem}.time-inputs span{color:var(--text-soft);font-size:.82rem}.closed-tag{color:var(--text-soft);font-size:.85rem}.upcoming-slots-list{display:flex;flex-direction:column;gap:1rem}.upcoming-slot-day{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.2rem}.upcoming-slot-date{font-weight:700;font-size:.88rem;margin-bottom:.6rem}.icon-upload-row{display:flex;align-items:center;gap:1rem;margin-top:.35rem}.icon-preview{width:48px;height:48px;border-radius:10px;object-fit:cover;border:1px solid var(--border);background:var(--bg)}.icon-preview-small{width:36px;height:36px;border-radius:8px}.icon-preview-empty{display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--text-soft)}.profile-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem;flex-wrap:wrap}.profile-tab{background:none;color:var(--text-soft);border:none;border-bottom:2px solid transparent;border-radius:0;padding:.7rem 1rem;font-weight:600;font-size:.88rem;cursor:pointer}.profile-tab:hover{color:var(--text);background:none}.profile-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.profile-tab-content{max-width:560px}.list-items{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.list-item{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:.9rem 1.1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.list-item>div:first-child{flex:1}.billing-status-card{border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:2rem;border:1px solid var(--border);background:var(--card)}.billing-status-card.active{border-color:#bbf7d0;background:#f0fdf4}.billing-status-card.overdue{border-color:#fde68a;background:#fffbeb}.billing-status-card.suspended{border-color:#fecaca;background:#fef2f2}.billing-status-label{display:inline-block;font-weight:700;font-size:.85rem;margin-bottom:.4rem}.billing-status-card.active .billing-status-label{color:var(--green)}.billing-status-card.overdue .billing-status-label{color:var(--amber)}.billing-status-card.suspended .billing-status-label{color:var(--red)}.billing-status-card p{margin:0;color:var(--text);font-size:.92rem}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:640px;margin-bottom:2rem}.plan-card{background:var(--card);border:2px solid var(--border);border-radius:10px;padding:1.25rem 1rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem}.plan-card.selected{border-color:var(--primary);background:#eff6ff}.plan-name{font-size:.85rem;color:var(--text-soft);font-weight:600}.plan-price{font-size:1.5rem;font-weight:700}.plan-per{font-size:.78rem;color:var(--text-soft)}.autopay-badge{margin-top:.75rem!important;font-size:.85rem!important;font-weight:600;color:#1d4ed8!important}.danger-btn{background:#fee2e2;color:var(--red)}.danger-btn:hover{background:#fecaca}.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.gallery-admin-item{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.gallery-admin-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery-admin-item .link-btn{position:absolute;bottom:0;left:0;right:0;background:#ffffffeb;padding:.4rem;text-align:center;font-size:.8rem}.banner-preview{width:120px;height:68px;border-radius:8px;object-fit:cover;border:1px solid var(--border);background:var(--bg)}.banner-preview-empty{display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-soft)}.banner-thumb{width:64px;height:40px;border-radius:6px;object-fit:cover}
