*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f7fb;color:#101828}.hidden{display:none!important}.admin-shell{min-height:100vh}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(520px,100%);background:#fff;border:1px solid #e4e7ec;border-radius:24px;padding:30px;box-shadow:0 20px 60px rgba(16,24,40,.08)}.admin-logo{width:120px;height:auto}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;color:#667085;margin:12px 0 6px}.auth-card h1{font-size:34px;margin:0 0 8px}.muted{color:#667085;line-height:1.55}.auth-form{display:grid;gap:14px;margin-top:22px}.auth-form input,.modal-form input,.modal-form select,.content-grid input,.content-grid textarea,.filters input,.filters select,.schedule-grid input,.pricing-grid input{width:100%;border:1px solid #d0d5dd;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.user-setup{display:grid;gap:10px;padding:16px;border:1px solid #eaecf0;border-radius:16px}.user-setup h3{margin:0}.primary,.secondary,.ghost{border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{background:#1769e8;color:#fff}.secondary{background:#eef4ff;color:#175cd3}.ghost{background:transparent;color:#475467}.small{padding:10px 13px}.error{color:#d92d20}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#0f1728;color:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh}.brand-row{display:flex;align-items:center;gap:12px}.brand-row img{width:58px;background:#fff;border-radius:12px;padding:4px}.brand-row div{display:grid;gap:2px}.brand-row span{font-size:11px;color:#a9b5c7;text-transform:uppercase}.sidebar nav{display:grid;gap:8px}.nav-btn{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:12px 14px;border-radius:10px;font-weight:700;cursor:pointer}.nav-btn.active,.nav-btn:hover{background:#1f2a44;color:#fff}.danger-text{margin-top:auto;color:#fca5a5;text-align:left}.main-panel{padding:24px 28px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h2{margin:0;font-size:30px}.user-chip{background:#fff;border:1px solid #e4e7ec;border-radius:999px;padding:9px 14px;display:grid}.user-chip small{color:#667085}.panel-view{display:none}.panel-view.active{display:block}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stats article,.card{background:#fff;border:1px solid #e4e7ec;border-radius:18px;box-shadow:0 8px 28px rgba(16,24,40,.04)}.stats article{padding:20px}.stats span{display:block;color:#667085;font-size:13px}.stats strong{display:block;font-size:34px;margin-top:6px}.card{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.card-head h3{font-size:24px;margin:0}.filters{display:grid;grid-template-columns:1fr 180px;gap:10px;margin-bottom:14px}.appointment-item{display:grid;grid-template-columns:1.3fr 1fr .9fr auto;gap:14px;align-items:center;padding:15px 0;border-top:1px solid #eaecf0}.appointment-item:first-child{border-top:0}.appointment-item h4{margin:0 0 3px}.appointment-item p,.appointment-item small{margin:0;color:#667085}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.status.pending{background:#fff7e6;color:#b54708}.status.confirmed{background:#ecfdf3;color:#027a48}.status.cancelled{background:#fef3f2;color:#b42318}.actions{display:flex;flex-wrap:wrap;gap:6px}.actions button{border:1px solid #d0d5dd;background:#fff;border-radius:9px;padding:7px 9px;cursor:pointer}.schedule-grid{display:grid;gap:10px;margin-top:18px}.schedule-row{display:grid;grid-template-columns:130px 80px 1fr 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #eaecf0;border-radius:12px}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.price-card{border:1px solid #eaecf0;border-radius:14px;padding:14px}.price-card h4{margin:0 0 10px}.price-row{display:grid;grid-template-columns:1fr 110px 110px;gap:8px;align-items:center;margin-top:8px}.content-grid{display:grid;gap:14px}.content-grid label,.modal-form label{display:grid;gap:6px;font-weight:700}.content-grid textarea{min-height:110px;resize:vertical}.user-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #eaecf0;border-radius:14px;padding:16px;margin-top:12px}.user-card h4{margin:0}.user-card p{margin:3px 0 0;color:#667085}.notice{margin-top:16px;padding:14px;border-radius:12px;background:#fff7e6;border:1px solid #fedf89;color:#7a2e0e}dialog{border:0;border-radius:20px;width:min(560px,92vw);padding:0;box-shadow:0 24px 70px rgba(16,24,40,.22)}dialog::backdrop{background:rgba(15,23,40,.55)}.modal-form{padding:22px;display:grid;gap:13px}.modal-head,.modal-actions{display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0}.icon-btn{border:0;background:transparent;font-size:28px;cursor:pointer}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(3,1fr)}.danger-text{margin-top:0}.stats{grid-template-columns:repeat(2,1fr)}.main-panel{padding:18px}.appointment-item{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr}}@media(max-width:560px){.sidebar nav{grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start;gap:12px}.stats{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr 70px 1fr 1fr}.price-row{grid-template-columns:1fr 90px 90px}.auth-card{padding:22px}.auth-card h1{font-size:29px}}
.login-help{margin:8px 0 0;color:#667085;font-size:14px;line-height:1.45}
.user-create-box{margin-top:18px;padding:16px;border:1px solid #dbe5f2;border-radius:14px;background:#f8fbff}
.user-create-box h4{margin:0 0 6px}
.create-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.create-admin-grid input{width:100%;border:1px solid #d0d5dd;border-radius:12px;padding:12px 14px;font:inherit}
.create-admin-grid .primary{grid-column:1/-1}
@media(max-width:650px){.create-admin-grid{grid-template-columns:1fr}}

.account-role{display:inline-flex;margin-top:9px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.02em}.account-role.owner{background:#eef4ff;color:#1849a9}.account-role.admin{background:#ecfdf3;color:#027a48}

/* Password recovery */
.forgot-link{display:block;margin:14px auto 2px;border:0;background:transparent;color:#2563eb;font:inherit;font-weight:700;cursor:pointer;padding:8px 12px}
.forgot-link:hover{text-decoration:underline}
.reset-help{margin:0 0 4px}
.status-text{margin:14px 0 0;line-height:1.45}
.status-text.success{color:#16794a}
.status-text.error{color:#d23b2d}

/* Visual website editor */
.website-editor-view{padding-bottom:40px}.website-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.website-toolbar h3{margin:.2rem 0}.website-toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.website-toolbar-actions select{min-width:190px}.editor-link-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.visual-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.site-preview-card{padding:0;overflow:hidden}.preview-bar{height:44px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:12px;font-weight:700}.preview-dots{display:flex;gap:5px}.preview-dots i{width:8px;height:8px;background:#fff8;border-radius:50%}.site-preview-card iframe{width:100%;height:72vh;min-height:650px;border:0;background:white;display:block}.element-editor{position:sticky;top:18px}.element-editor textarea{min-height:130px;resize:vertical}.selected-image-preview{border:1px solid #dbe2ea;border-radius:12px;padding:10px;background:#f8fafc;margin:10px 0 14px}.selected-image-preview img{width:100%;max-height:220px;object-fit:contain;border-radius:8px}.editor-actions{display:grid;gap:8px;margin-top:14px}.element-editor label{display:grid;gap:7px;margin:12px 0;font-weight:700}.element-editor input,.element-editor textarea{width:100%}@media(max-width:980px){.visual-editor-layout{grid-template-columns:1fr}.element-editor{position:static}.site-preview-card iframe{height:68vh;min-height:560px}.website-toolbar{align-items:flex-start;flex-direction:column}.website-toolbar-actions{width:100%}.website-toolbar-actions select{flex:1}}@media(max-width:600px){.main-panel{padding:12px}.site-preview-card iframe{height:62vh;min-height:500px}.website-toolbar-actions>*{width:100%}.visual-editor-layout{gap:12px}}


/* Compact GLEMI footer logo */
footer .footer-logo,
.footer .footer-logo{
  width:140px !important;
  height:auto !important;
  background:transparent !important;
}
footer .footer-logo img,
.footer .footer-logo img,
footer .glemi-footer-logo,
.footer .glemi-footer-logo{
  display:block !important;
  width:140px !important;
  max-width:140px !important;
  height:auto !important;
  object-fit:contain !important;
  background:transparent !important;
  filter:none !important;
  opacity:1 !important;
}


/* Square GLEMI footer logo */
.footer .footer-logo,
footer .footer-logo{
  display:block !important;
  width:140px !important;
  height:140px !important;
  background:#fff !important;
  border-radius:10px !important;
  overflow:hidden !important;
}
.footer .footer-logo img,
footer .footer-logo img{
  display:block !important;
  width:140px !important;
  height:140px !important;
  max-width:140px !important;
  object-fit:contain !important;
  background:#fff !important;
  filter:none !important;
  opacity:1 !important;
}


/* Final footer logo: one logo only, compact */
.footer .footer-logo, footer .footer-logo{
  width:115px!important;
  height:auto!important;
  background:transparent!important;
  overflow:visible!important;
}
.footer .footer-logo img, footer .footer-logo img{
  display:block!important;
  width:115px!important;
  max-width:115px!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
  background:transparent!important;
}


/* FINAL footer branding */
.service-bottom-image{display:none!important}
.footer .footer-logo, footer .footer-logo{
  display:block!important;
  width:115px!important;
  height:115px!important;
  background:#fff!important;
  border-radius:10px!important;
  padding:5px!important;
  overflow:hidden!important;
}
.footer .footer-logo img, footer .footer-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  background:#fff!important;
  filter:none!important;
  opacity:1!important;
}


/* IMPORTANT PAYMENT NOTICE — approved blue design */
.payment-security,
.payment-notice,
.security-note,
.payment-security-note {
  background: #eef7ff !important;
  border: 1.5px solid #9dcbff !important;
  border-radius: 16px !important;
  color: #0b2f70 !important;
  padding: 20px 18px !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
}
.payment-security strong,
.payment-notice strong,
.security-note strong,
.payment-security-note strong {
  color: #1267e8 !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .1px !important;
}


.payment-blue-notice{
  background:#eef7ff!important;
  border:1.5px solid #9dcbff!important;
  border-radius:16px!important;
  color:#0b2f70!important;
  padding:20px 18px!important;
  font-size:18px!important;
  line-height:1.45!important;
}
.payment-blue-notice strong{
  color:#1267e8!important;
  font-size:19px!important;
  font-weight:800!important;
  line-height:1.25!important;
}


/* 10% promotional code */
.promo-code-box{margin:22px 0 8px}
.promo-code-box label{display:block;margin-bottom:9px;color:#172238;font-size:17px}
.promo-code-row{display:flex;gap:10px}
.promo-code-row input{min-width:0;flex:1;border:1.5px solid #d9e1ec;border-radius:12px;padding:14px 13px;font-size:16px;text-transform:uppercase}
.promo-code-row button{border:0;border-radius:12px;padding:0 18px;background:#1769e8;color:#fff;font-weight:800;font-size:14px}
.promo-code-message{min-height:22px;margin-top:7px;font-size:14px;font-weight:700}
.promo-code-message.success{color:#1267e8}
.promo-code-message.error{color:#b42318}
