*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#171717,#303030);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1f2937;padding:18px}.booking-card{width:100%;max-width:520px;margin:auto;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px #0007}.salon-header{background:#1a1a1a;color:#fff;text-align:center;padding:28px 20px;border-bottom:3px solid #d4af37}.salon-header h1{margin:0;font-size:24px;letter-spacing:2px}.salon-header p{margin:6px 0 0;color:#cbd5e1;font-size:12px}.form{padding:22px;display:grid;gap:15px}.form label{font-size:12px;font-weight:800;text-transform:uppercase;color:#475569}.form input:not([type=checkbox]),.form select,.form textarea{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid #dbe2ea;border-radius:12px;background:#f8fafc;font-size:14px}.form textarea{resize:vertical}.check{display:flex!important;gap:8px;align-items:flex-start;text-transform:none!important;font-weight:600!important}.check input{margin-top:2px}.summary{display:flex;justify-content:space-between;background:#111827;color:#fff;border-radius:14px;padding:14px}.btn-success{border:0;background:#059669;color:#fff;border-radius:13px;padding:15px;font-weight:800;font-size:15px;cursor:pointer}.alert{margin:18px 22px 0;padding:13px;border-radius:12px;background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.admin-wrap{max-width:1400px;margin:auto}.topnav{background:#111;color:#fff;padding:14px 18px;border-bottom:3px solid #d4af37;display:flex;justify-content:space-between;gap:10px;align-items:center}.topnav a{color:#fff;text-decoration:none;margin-left:10px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:20px 0}.card,.panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px}.card b{font-size:25px;display:block}.panel{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left;font-size:13px;white-space:nowrap}.btn{border:0;border-radius:9px;padding:8px 11px;cursor:pointer;text-decoration:none;display:inline-block;background:#111;color:#fff}.btn.green{background:#059669}.btn.red{background:#dc2626}.btn.gray{background:#64748b}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters input,.filters select{padding:10px;border:1px solid #ddd;border-radius:9px}.calendar{min-width:900px}.cal-grid{display:grid;grid-template-columns:70px repeat(7,1fr)}.cal-grid>div{border:1px solid #e5e7eb;min-height:50px;padding:5px;background:#fff}.event{background:#e0f2fe;border-left:4px solid #0284c7;border-radius:7px;padding:6px;margin:3px;font-size:11px}.muted{color:#64748b;font-size:12px}@media(max-width:700px){body{padding:8px}.topnav{flex-wrap:wrap}.calendar{min-width:760px}}

a{color:#0f766e}.topnav nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.topnav a.active{color:#facc15;font-weight:800}.link-card{color:#1f2937;text-decoration:none;display:block}.link-card small{display:block;color:#64748b;margin-top:5px}.notice{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:12px;margin:14px 0}.quick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:center}.form-grid input,.form-grid select,.form-grid textarea{padding:10px;border:1px solid #dbe2ea;border-radius:9px;background:#f8fafc}.form-grid button{justify-self:start}.inline{display:inline-flex;gap:4px;margin:2px}.calendar-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:20px 0}.calendar-panel{padding:0}.day-calendar{table-layout:fixed;min-width:950px}.day-calendar th,.day-calendar td{white-space:normal;vertical-align:top;height:28px}.day-calendar th{position:sticky;top:0;background:#111;color:#fff;z-index:2}.day-calendar .time-col{width:65px;background:#f8fafc;vertical-align:middle}.day-calendar td{height:28px;padding:3px}.day-calendar .cal-empty{background:#fff}.day-calendar .cal-booking{background:#e0f2fe;border:2px solid #0284c7;border-radius:8px;padding:7px;position:relative}.cal-booking a{text-decoration:none;color:#075985;display:block;height:100%}.feature-nav{display:flex;gap:4px;flex-wrap:wrap;margin:20px 0}.feature-nav a{padding:9px 12px;border-radius:9px;text-decoration:none;background:#f1f5f9;color:#334155}.feature-nav a.active{background:#111;color:#fff}.service-picks{grid-column:1/-1;border:1px solid #e5e7eb;border-radius:10px;padding:10px;display:flex;gap:8px;flex-wrap:wrap}.service-picks label{font-size:12px;background:#f8fafc;padding:6px;border-radius:8px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:20px 0}.status{display:inline-block;padding:3px 7px;border-radius:999px;background:#f1f5f9;font-size:11px}
@media(max-width:700px){.topnav nav{width:100%}.topnav a{margin:0 5px}.calendar-toolbar{align-items:flex-start;flex-direction:column}}

/* ===== Long's Nails Admin polish ===== */
body{background:#f4f6f8;padding:0;color:#18212f}
.topnav{position:sticky;top:0;z-index:50;background:rgba(17,24,39,.96);backdrop-filter:blur(12px);padding:15px 28px;border-bottom:1px solid #c9a84d;box-shadow:0 4px 18px rgba(15,23,42,.12)}
.topnav b{letter-spacing:.8px}.topnav a{padding:8px 10px;border-radius:8px;margin:0;color:#dbe4ee}.topnav a:hover,.topnav a.active{background:#2b3444;color:#f4ce62}
.admin-wrap{max-width:1500px;padding:24px 28px 50px}.panel,.card{border:1px solid #e7ebf0;border-radius:18px;box-shadow:0 7px 24px rgba(15,23,42,.05)}
.cards{gap:16px;margin:0 0 18px}.card{padding:19px;background:#fff;transition:.18s transform,.18s box-shadow}.card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.09)}.card b{font-size:30px;margin:7px 0}.link-card span{font-weight:700;color:#64748b}.link-card small{color:#94a3b8}
.panel{padding:18px;margin-bottom:18px}.btn{border-radius:10px;padding:9px 13px;font-weight:700;background:#1f2937}.btn:hover{filter:brightness(1.08)}.btn.green{background:#15803d}.btn.red{background:#dc2626}.btn.gray{background:#64748b}
.filters form,.date-form{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.filters input,.filters select,.date-form input,.status-editor select{border:1px solid #d8dee7;background:#fff;border-radius:10px;padding:10px 12px;color:#273244}
.notice{box-shadow:0 4px 14px rgba(16,185,129,.08)}
/* calendar */
.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px}.calendar-head h1{margin:4px 0 3px;font-size:24px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#8b6b1f}.calendar-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.calendar-shell{padding:0;overflow:hidden}.calendar-staff-head{display:grid;grid-template-columns:86px repeat(var(--staff-count),minmax(190px,1fr));background:#111827;color:#fff;min-width:760px}.time-head{padding:15px 10px;font-size:10px;font-weight:800;color:#9ca3af;display:flex;align-items:center}.staff-head{padding:11px 12px;display:flex;gap:10px;align-items:center;border-left:1px solid #303949;min-width:0}.staff-head strong,.staff-head small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-head small{color:#9ca3af;font-size:11px;margin-top:2px}.avatar{width:40px;height:40px;min-width:40px;border-radius:50%;background:linear-gradient(135deg,#e7d5a1,#a98a43);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;overflow:hidden;border:2px solid rgba(255,255,255,.55)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-lg{width:76px;height:76px;min-width:76px;font-size:24px}.calendar-body{display:grid;grid-template-columns:86px 1fr;min-width:760px;height:780px;overflow:auto}.time-axis{position:relative;background:#fafbfc;border-right:1px solid #e5e7eb}.time-label{position:absolute;right:10px;transform:translateY(-50%);font-size:11px;color:#7b8797}.staff-columns{display:grid;grid-template-columns:repeat(var(--staff-count),minmax(190px,1fr));position:relative;background:#fff}.staff-column{position:relative;border-right:1px solid #e5e7eb;height:100%;min-width:190px;overflow:hidden}.grid-line{position:absolute;left:0;right:0;border-top:1px solid #f0f2f5}.grid-line.hour{border-top-color:#dfe4ea}.calendar-event{position:absolute;left:6px;right:6px;min-height:30px;border-radius:10px;padding:7px 9px;text-decoration:none;color:#17324d;overflow:hidden;box-shadow:0 3px 8px rgba(15,23,42,.08);border-left:4px solid #64748b;background:#eef2f7;z-index:3;transition:.15s transform,.15s box-shadow}.calendar-event:hover{transform:scale(1.01);box-shadow:0 8px 18px rgba(15,23,42,.14);z-index:5}.calendar-event strong,.calendar-event span,.calendar-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event strong{font-size:12px}.calendar-event span{font-size:11px;margin-top:2px}.calendar-event small{font-size:10px;margin-top:3px;color:#667085}.event-time{font-size:10px;font-weight:800;margin-bottom:2px}.status-pending{background:#fff7e6;border-left-color:#f59e0b}.status-confirmed{background:#ecfdf3;border-left-color:#16a34a}.status-checkedin{background:#eff6ff;border-left-color:#2563eb}.status-inservice{background:#f5f3ff;border-left-color:#7c3aed}.status-completed{background:#f0fdf4;border-left-color:#15803d}.status-noshow{background:#fef2f2;border-left-color:#ef4444}.status-cancelled{background:#f8fafc;border-left-color:#94a3b8}.status{font-weight:700}.status-editor{display:flex;gap:7px;align-items:center;margin-top:12px}
/* staff */
.staff-layout{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(500px,1.2fr);gap:18px}.staff-editor h2,.section-title h2{margin:4px 0 16px}.photo-editor{grid-column:1/-1;display:flex;gap:15px;align-items:center;padding:12px;background:#f8fafc;border:1px dashed #cfd7e3;border-radius:14px}.file-label{font-weight:700}.file-label input{display:block;margin-top:7px}.file-label small{display:block;color:#64748b;margin-top:4px}.form-grid label{font-size:11px;font-weight:800;color:#526071}.form-grid label input{display:block;width:100%;margin-top:5px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.staff-list{display:grid;gap:8px}.staff-row{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid #edf0f4;border-radius:13px;background:#fff}.staff-main{min-width:0;flex:1}.staff-main strong,.staff-main span,.staff-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-main span{font-size:12px;color:#64748b}.staff-main small{font-size:11px;color:#94a3b8;margin-top:2px}.pill{font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px}.pill-active{background:#dcfce7;color:#166534}.pill-muted{background:#f1f5f9;color:#64748b}.row-actions{white-space:nowrap}
/* tables / forms */
table{border-collapse:separate;border-spacing:0}th{background:#f8fafc;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.5px}th:first-child{border-radius:10px 0 0 0}th:last-child{border-radius:0 10px 0 0}td{border-bottom:1px solid #edf0f4}.quick{background:#fff}
@media(max-width:900px){.staff-layout{grid-template-columns:1fr}.calendar-head{align-items:flex-start;flex-direction:column}.calendar-actions{width:100%}.calendar-body{height:680px}}
@media(max-width:700px){.admin-wrap{padding:14px 10px 35px}.topnav{padding:12px}.topnav b{width:100%}.calendar-staff-head,.staff-columns{grid-template-columns:86px repeat(var(--staff-count),180px)}.calendar-staff-head{grid-template-columns:86px repeat(var(--staff-count),180px)}.staff-column{min-width:180px}}

/* Notification / staff portal / mobile admin improvements */
.field-hint{display:block;color:#64748b;font-size:12px;margin-top:4px}.form-grid hr{grid-column:1/-1;width:100%;border:0;border-top:1px solid #e5e7eb;margin:8px 0}.channel-picks{grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px;background:#f8fafc;border-radius:10px}.channel-picks label{background:#fff;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px}.schedule-editor{grid-column:1/-1;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#f8fafc}.schedule-row{display:grid;grid-template-columns:100px 1fr 25px 1fr;gap:8px;align-items:center;margin-top:8px}.schedule-row input[type=time]{padding:8px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}.table-scroll{overflow:auto}.staff-portal{max-width:1000px;margin:0 auto;padding:20px}.staff-portal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;padding:20px;background:#111827;color:#fff;border-radius:18px}.staff-portal-head h1{margin:4px 0}.staff-portal-head p{margin:0;color:#cbd5e1}.staff-hours{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.staff-hours>div{display:flex;justify-content:space-between;padding:12px;background:#f8fafc;border-radius:10px}.staff-appointments{display:grid;gap:9px}.staff-appointments article{padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.staff-appointments article strong,.staff-appointments article span,.staff-appointments article small{display:block;margin-top:3px}.appt-date{font-size:11px;color:#64748b;font-weight:800;text-transform:uppercase}.ineligible-staff{color:#9ca3af;background:#f3f4f6}.eligible-staff{font-weight:800}@media(max-width:700px){.admin-wrap{padding:10px 7px 30px}.topnav nav{gap:2px}.topnav a{font-size:13px;padding:7px}.cards{grid-template-columns:1fr 1fr}.calendar-head{padding:14px}.calendar-shell{border-radius:12px}.calendar-body{height:calc(100vh - 250px);min-height:500px}.day-calendar{min-width:0}.schedule-row{grid-template-columns:72px 1fr 15px 1fr}.staff-hours{grid-template-columns:1fr}.staff-portal{padding:10px}.staff-portal-head{padding:15px}.feature-nav{overflow-x:auto;flex-wrap:nowrap}.feature-nav a{white-space:nowrap}}

/* Booking payment choices and staff calendar */
.payment-choices{display:grid;gap:10px}.payment-choice{margin:0}.payment-choice button{width:100%;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:15px;padding:15px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:3px 12px}.payment-choice button:hover{border-color:#059669;box-shadow:0 5px 15px rgba(15,23,42,.08)}.payment-title{font-weight:900;font-size:14px}.payment-choice small{color:#64748b}.payment-choice b{grid-row:1/3;grid-column:2;align-self:center;font-size:16px}.bank-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.bank-box p{margin:7px 0}.appointment-counts{display:flex;gap:25px;margin:7px 0}.appointment-counts div{display:grid;gap:2px}.appointment-counts div small{font-size:10px;text-transform:uppercase;letter-spacing:.6px}.appointment-counts div b{font-size:27px}.reminder-settings-form{margin-bottom:12px}.staff-calendar-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.staff-day-calendar{height:780px;display:grid;grid-template-columns:70px 1fr;border:1px solid #e5e7eb;border-radius:14px;overflow:auto;background:#fff}.staff-time-axis{position:relative;background:#f8fafc;border-right:1px solid #e5e7eb}.staff-time-axis div{position:absolute;right:9px;transform:translateY(-50%);font-size:11px;color:#64748b}.staff-day-column{position:relative;min-width:420px;height:100%}.staff-grid-line{position:absolute;left:0;right:0;border-top:1px solid #f0f2f5}.staff-grid-line.hour{border-top-color:#d9e0e8}.staff-calendar-event{position:absolute;left:10px;right:10px;min-height:42px;padding:9px 11px;border-radius:12px;text-decoration:none;color:#17324d;background:#eef2f7;border-left:4px solid #64748b;box-shadow:0 4px 12px rgba(15,23,42,.08);overflow:hidden}.staff-calendar-event b,.staff-calendar-event span,.staff-calendar-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-calendar-event b{font-size:13px}.staff-calendar-event span{font-size:11px;margin-top:3px}.staff-calendar-event small{font-size:10px;color:#64748b;margin-top:3px}.staff-calendar-event.status-pending{background:#fff7e6;border-left-color:#f59e0b}.staff-calendar-event.status-confirmed{background:#ecfdf3;border-left-color:#16a34a}.staff-calendar-event.status-checkedin{background:#eff6ff;border-left-color:#2563eb}.staff-calendar-event.status-inservice{background:#f5f3ff;border-left-color:#7c3aed}.staff-calendar-event.status-completed{background:#f0fdf4;border-left-color:#15803d}
@media(max-width:700px){.appointment-counts{gap:16px}.staff-day-calendar{height:calc(100vh - 230px);min-height:520px}.staff-day-column{min-width:320px}.staff-calendar-top{align-items:flex-start;flex-direction:column}}

/* Calendar event containment fixes */
.calendar-event{box-sizing:border-box;max-width:calc(100% - 12px);overflow:hidden}
.staff-day-column{position:relative;height:780px;overflow:hidden;background:#fff}
.staff-calendar-event{position:absolute;left:8px;right:8px;box-sizing:border-box;overflow:hidden;border-radius:10px;padding:8px 10px;text-decoration:none;color:#17324d;box-shadow:0 3px 8px rgba(15,23,42,.08);z-index:3}
.staff-calendar-event b,.staff-calendar-event span,.staff-calendar-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.staff-calendar-event b{font-size:12px}.staff-calendar-event span{font-size:11px;margin-top:3px}.staff-calendar-event small{font-size:10px;margin-top:3px;color:#667085}
.staff-day-calendar{display:grid;grid-template-columns:70px minmax(520px,1fr);height:780px;overflow:auto;border:1px solid #e5e7eb;border-radius:12px}
.staff-time-axis{position:relative;background:#fafbfc;border-right:1px solid #e5e7eb;height:780px}
.staff-time-axis>div{position:absolute;right:8px;transform:translateY(-50%);font-size:11px;color:#7b8797}
.staff-grid-line{position:absolute;left:0;right:0;border-top:1px solid #f0f2f5}
.staff-grid-line.hour{border-top-color:#dfe4ea}
.staff-portal{max-width:1200px;margin:0 auto;padding:20px}
.staff-portal-head{background:#111827;color:#fff;padding:20px 24px;border-radius:16px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}
.staff-portal-head h1{margin:4px 0}.staff-portal-head p{margin:0;color:#cbd5e1}
.staff-calendar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.staff-hours{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.staff-hours>div{padding:10px 12px;background:#f8fafc;border-radius:10px}.staff-hours b,.staff-hours span{display:block}.staff-hours span{font-size:12px;color:#64748b;margin-top:3px}

/* ===== Calendar readability fix: 15-minute rows are 30px high ===== */
.calendar-body{height:auto;min-height:900px}
.calendar-body .time-axis,.calendar-body .staff-columns{min-height:inherit}
.staff-column{min-height:100%}
.grid-line{height:0}
.calendar-event{min-height:72px;padding:8px 10px}
.calendar-event strong,.calendar-event span,.calendar-event small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
.calendar-event .event-time{white-space:nowrap}

.form select option.ineligible-staff{color:#9ca3af;background:#f3f4f6}.form select option.eligible-staff{font-weight:800;color:#111827;background:#fff}

/* ===== Staff dashboard booking overflow fix ===== */
.staff-calendar-event{
  max-width:calc(100% - 16px);
  padding:6px 9px;
  overflow:hidden;
}
.staff-calendar-event b,
.staff-calendar-event span,
.staff-calendar-event small{
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.1;
  margin:0;
}
.staff-calendar-event b{font-size:11px;line-height:13px}
.staff-calendar-event span{font-size:10px;line-height:11px;margin-top:2px}
.staff-calendar-event small{font-size:9px;line-height:10px;margin-top:2px}


/* =========================================================
   LONG'S NAILS — Luxury Salon UI v2
   Non-destructive presentation layer
   ========================================================= */
:root{
  --ln-ink:#1c1916;--ln-ink-2:#2b2722;--ln-cream:#f7f3ec;--ln-paper:#fffdfa;
  --ln-gold:#b7925a;--ln-gold-dark:#8f6d3f;--ln-line:#e8e0d5;--ln-muted:#746d64;
  --ln-success:#2f6c55;--ln-danger:#a94747;--ln-shadow:0 20px 60px rgba(35,28,20,.10);
}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.site-public{padding:0;background:var(--ln-cream);color:var(--ln-ink)}
.public-shell{min-height:100vh;background:radial-gradient(circle at 86% 5%,rgba(183,146,90,.12),transparent 26%),var(--ln-cream)}
.public-nav{height:82px;max-width:1220px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(143,109,63,.16)}
.public-brand,.admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.public-brand strong,.admin-brand b{display:block;letter-spacing:.15em;font-size:13px}.public-brand small,.admin-brand small{display:block;margin-top:3px;color:var(--ln-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.brand-mark{width:40px;height:40px;border:1px solid var(--ln-gold);display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-size:15px;color:var(--ln-gold-dark)}
.public-nav-cta,.hero-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--ln-ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:12px;font-weight:750;letter-spacing:.04em;transition:.2s}.public-nav-cta:hover,.hero-primary:hover{transform:translateY(-1px);background:#000}
.public-main{max-width:1220px;margin:auto;padding:60px 28px 80px}.luxury-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;min-height:540px;padding:30px 0 80px}.hero-kicker,.booking-step-badge{font-size:10px;font-weight:850;letter-spacing:.18em;color:var(--ln-gold-dark)}.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,7vw,94px);font-weight:400;line-height:.93;letter-spacing:-.045em;margin:18px 0 25px}.hero-copy>p{max-width:620px;color:var(--ln-muted);font-size:16px;line-height:1.8}.hero-actions{display:flex;gap:18px;align-items:center;margin-top:30px}.hero-note{font-size:12px;color:var(--ln-muted)}
.hero-feature-card{min-height:420px;background:linear-gradient(145deg,#24201c,#100f0e);color:white;border-radius:32px;padding:42px;box-shadow:0 30px 70px rgba(34,28,21,.22);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.hero-feature-card:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(183,146,90,.18);border-radius:50%;right:-75px;top:-70px}.feature-monogram{font-family:Georgia,serif;font-size:72px;color:var(--ln-gold);line-height:1}.hero-feature-card>div:nth-child(2) span{display:block;color:#b8afa5;font-size:10px;letter-spacing:.18em;margin-bottom:12px}.hero-feature-card strong{font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1.12}.hero-points{display:flex;flex-wrap:wrap;gap:8px}.hero-points span{border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:8px 11px;font-size:10px;color:#ddd5cb}
.booking-section{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:start;padding-top:65px;border-top:1px solid var(--ln-line)}.booking-intro{position:sticky;top:30px}.booking-intro h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:10px 0}.booking-intro p{color:var(--ln-muted);line-height:1.75}.luxury-booking-card{max-width:none;margin:0;border-radius:28px;background:var(--ln-paper);box-shadow:var(--ln-shadow);border:1px solid rgba(143,109,63,.12)}.luxury-booking-card .salon-header{background:transparent;color:var(--ln-ink);text-align:left;border:0;border-bottom:1px solid var(--ln-line);padding:30px 32px}.luxury-booking-card .salon-header h2{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:8px 0 3px}.luxury-booking-card .salon-header p{color:var(--ln-muted)}.luxury-form{padding:30px 32px;gap:18px}.booking-field{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start}.field-number{font-family:Georgia,serif;color:var(--ln-gold-dark);font-size:12px;padding-top:13px}.booking-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.luxury-form label{color:#504940;letter-spacing:.04em}.luxury-form input,.luxury-form select,.luxury-form textarea{border:1px solid #ddd5ca!important;background:#fff!important;border-radius:13px!important;padding:13px 14px!important;box-shadow:none!important;transition:.2s}.luxury-form input:focus,.luxury-form select:focus,.luxury-form textarea:focus{outline:none;border-color:var(--ln-gold)!important;box-shadow:0 0 0 3px rgba(183,146,90,.10)!important}.luxury-summary{border:1px solid var(--ln-line);background:#faf7f2!important;border-radius:16px;padding:15px 17px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.luxury-summary div{display:flex;justify-content:space-between;align-items:center}.luxury-summary span{font-size:11px;color:var(--ln-muted)}.luxury-summary b{font-size:15px}.customer-title{margin-top:8px;padding-top:22px;border-top:1px solid var(--ln-line)}.customer-title span{font-size:9px;letter-spacing:.17em;color:var(--ln-gold-dark);font-weight:800}.customer-title h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:5px 0 0}.consent-check{display:flex!important;align-items:flex-start;gap:9px;text-transform:none!important;font-weight:500!important;letter-spacing:0!important;line-height:1.45}.consent-check input{width:auto!important;margin-top:2px}.luxury-submit{border:0!important;background:var(--ln-ink)!important;border-radius:14px!important;padding:15px 18px!important;display:flex;justify-content:space-between;align-items:center;letter-spacing:.02em}.public-footer{max-width:1220px;margin:auto;padding:25px 28px 45px;border-top:1px solid var(--ln-line);display:flex;justify-content:space-between;color:var(--ln-muted);font-size:10px;letter-spacing:.12em}

/* Admin luxury shell */
.admin-body{background:#f5f2ed;color:var(--ln-ink);padding:0}.luxury-admin-nav{min-height:76px;background:#191714;color:#f7f3ec;border-bottom:1px solid rgba(255,255,255,.08);padding:0 24px;display:flex;align-items:center;gap:26px;position:sticky;top:0;z-index:100}.luxury-admin-nav .admin-brand{min-width:190px;color:#fff}.luxury-admin-nav .admin-brand small{color:#9f968c}.luxury-admin-nav .brand-mark{width:38px;height:38px;color:#d3ae72;border-color:#8d704a}.luxury-admin-nav nav{display:flex;align-items:center;gap:3px;flex:1;overflow-x:auto;scrollbar-width:none}.luxury-admin-nav nav::-webkit-scrollbar{display:none}.luxury-admin-nav a{white-space:nowrap}.luxury-admin-nav nav>a{color:#bdb6ae;text-decoration:none;padding:10px 11px;border-radius:9px;font-size:12px;font-weight:650}.luxury-admin-nav nav>a:hover,.luxury-admin-nav nav>a.active{background:rgba(255,255,255,.08);color:#fff}.luxury-admin-nav .logout-link{margin-left:auto;color:#e1b3ad}.nav-divider{height:22px;width:1px;background:rgba(255,255,255,.12);margin:0 5px}.admin-wrap{max-width:1440px!important;margin:0 auto!important;padding:32px 26px 55px!important}.admin-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.admin-page-head h1{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:5px 0 4px;color:var(--ln-ink)}.admin-page-head p{margin:0;color:var(--ln-muted);font-size:13px}.page-head-actions{display:flex;gap:8px}.eyebrow{font-size:9px!important;letter-spacing:.18em!important;color:var(--ln-gold-dark)!important;font-weight:850!important}.panel{background:#fffdfa!important;border:1px solid #e7dfd5!important;border-radius:18px!important;box-shadow:0 8px 28px rgba(39,31,22,.045)!important;padding:20px!important}.panel h2,.panel h3{color:var(--ln-ink)}.cards.luxury-stat-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.luxury-stat-cards .card{background:#fffdfa!important;border:1px solid #e7dfd5!important;border-radius:17px!important;box-shadow:none!important;padding:17px!important;transition:.2s}.luxury-stat-cards .card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(39,31,22,.08)!important;border-color:#d8c7ae!important}.luxury-stat-cards .card span{color:var(--ln-muted);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.luxury-stat-cards .card>b,.luxury-stat-cards .appointment-counts b{font-family:Georgia,serif;font-weight:400;color:var(--ln-ink)}.btn{border-radius:10px!important;border:1px solid #dbd3c8!important;background:#fff!important;color:#39342e!important;font-weight:700!important;box-shadow:none!important}.btn:hover{border-color:#bba482!important;background:#fbf7f1!important}.btn.green{background:var(--ln-ink)!important;border-color:var(--ln-ink)!important;color:#fff!important}.btn.red{background:#fff5f4!important;border-color:#e7c0bb!important;color:#913e37!important}.btn.gray{background:#f7f4ef!important}.filters form,.list-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.list-toolbar input,.table-search{min-width:270px}.admin-body input,.admin-body select,.admin-body textarea{border:1px solid #ddd5ca;border-radius:10px;padding:9px 11px;background:#fff;color:var(--ln-ink)}.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{outline:none;border-color:var(--ln-gold);box-shadow:0 0 0 3px rgba(183,146,90,.09)}.admin-body table{width:100%}.admin-body th{background:#f8f4ee!important;color:#766d63!important;border-bottom:1px solid #e6ded3!important}.admin-body td{border-bottom:1px solid #eee7de!important;padding-top:11px!important;padding-bottom:11px!important}.admin-body tbody tr:hover td{background:#fcfaf6}.status{border-radius:999px!important;padding:5px 8px!important;font-size:10px!important;font-weight:800!important}.quick{display:flex;gap:7px;flex-wrap:wrap}.notice{border-radius:12px!important}.table-scroll{border-radius:12px}.staff-row{border-color:#e9e1d7!important;background:#fffdfa!important}.avatar{background:#eee5d8!important;color:#826a49!important}.pill-active{background:#e8f1ec!important;color:#2f6c55!important}.calendar-shell{border-color:#e2d9cf!important;box-shadow:0 12px 32px rgba(39,31,22,.06)!important}.calendar-staff-head{background:#f8f4ee!important}.calendar-event{border-radius:10px!important;box-shadow:0 5px 12px rgba(30,26,20,.08)!important}.feature-nav a{border-radius:999px!important}
@media(max-width:1100px){.cards.luxury-stat-cards{grid-template-columns:repeat(3,1fr)}.luxury-hero{grid-template-columns:1fr .8fr;gap:35px}.booking-section{grid-template-columns:1fr}.booking-intro{position:static}.luxury-admin-nav{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 16px}.luxury-admin-nav nav{width:100%}}
@media(max-width:760px){.public-nav{height:70px;padding:0 16px}.public-brand small{display:none}.public-nav-cta{padding:10px 13px}.public-main{padding:34px 16px 55px}.luxury-hero{grid-template-columns:1fr;min-height:auto;padding:15px 0 55px}.hero-copy h1{font-size:54px}.hero-feature-card{min-height:320px;padding:28px}.booking-section{gap:28px;padding-top:45px}.booking-intro h2{font-size:35px}.luxury-booking-card .salon-header,.luxury-form{padding:24px 18px}.booking-pair{grid-template-columns:1fr}.booking-field{grid-template-columns:30px 1fr}.luxury-summary{grid-template-columns:1fr}.public-footer{padding:22px 16px 35px;flex-direction:column;gap:7px}.admin-wrap{padding:20px 10px 40px!important}.admin-page-head{align-items:flex-start;flex-direction:column}.admin-page-head h1{font-size:31px}.page-head-actions{width:100%;flex-wrap:wrap}.cards.luxury-stat-cards{grid-template-columns:1fr 1fr}.panel{padding:14px!important}.list-toolbar input,.table-search{min-width:0;width:100%}.luxury-admin-nav .admin-brand{min-width:0}.nav-divider{display:none}}

/* ===== Booking status month overview / customer portal ===== */
.mini-calendar-details{margin:0 0 18px;background:#fff;border:1px solid #e7ebf0;border-radius:16px;box-shadow:0 5px 18px rgba(15,23,42,.05);overflow:hidden}
.mini-calendar-details>summary{cursor:pointer;list-style:none;padding:14px 16px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-weight:800}
.mini-calendar-details>summary::-webkit-details-marker{display:none}
.mini-calendar-details>summary small{font-weight:600;color:#64748b}
.mini-calendar{padding:0 16px 16px;max-width:620px}
.mini-cal-head{display:grid;grid-template-columns:40px 1fr 40px;gap:8px;align-items:center;text-align:center;margin-bottom:10px}
.mini-cal-head .btn{padding:7px}
.mini-week,.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.mini-week span{text-align:center;font-size:10px;font-weight:900;color:#94a3b8;padding:5px}
.mini-day{min-height:48px;border:1px solid #e5e7eb;border-radius:10px;padding:6px;text-decoration:none;color:#334155;background:#fff;display:flex;flex-direction:column;justify-content:space-between}
.mini-day:hover{border-color:#94a3b8;transform:translateY(-1px)}
.mini-day.has-confirmed{background:#ecfdf3;border:2px solid #16a34a}
.mini-day.has-pending{background:#fff7e6;border:2px solid #f59e0b}
.mini-day.has-both{background:linear-gradient(135deg,#ecfdf3 0 50%,#fff7e6 50%);border:2px solid #d97706}
.mini-day b{font-size:13px}
.mini-day small{display:flex;gap:4px;flex-wrap:wrap}
.mini-dot{font-style:normal;font-size:9px;border-radius:999px;padding:2px 5px;font-weight:900}
.mini-dot.confirmed{background:#bbf7d0;color:#166534}.mini-dot.pending{background:#fde68a;color:#92400e}
.customer-booking-list{display:grid;gap:10px}.customer-booking{border:1px solid #e5e7eb;border-left:5px solid #94a3b8;border-radius:12px;padding:13px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center}.customer-booking span,.customer-booking small{display:block;margin-top:4px;color:#64748b}.customer-booking.status-confirmed{border-left-color:#16a34a;background:#f0fdf4}.customer-booking.status-pending{border-left-color:#f59e0b;background:#fffaf0}.customer-manage-card{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff}.customer-manage-card .summary{align-items:center}.customer-manage-card .form-grid{margin-top:10px}.admin-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form{padding:14px;background:#f8fafc;border-radius:12px}.compact-admin-edit{margin-top:8px;min-width:420px}.revenue-detail-card{text-decoration:none;color:#1f2937}.revenue-detail-card small{display:block;color:#64748b;margin-top:6px}
@media(max-width:700px){.mini-calendar-details>summary{align-items:flex-start;flex-direction:column}.mini-calendar{padding:0 9px 10px}.mini-day{min-height:42px}.admin-security-grid{grid-template-columns:1fr}.customer-booking{align-items:flex-start;flex-direction:column}}


/* 2026-09-14 portal/admin refinements */
.calendar-legend{display:flex!important;align-items:center;gap:12px;flex-wrap:wrap}.calendar-legend>span{display:inline-flex;align-items:center;gap:5px}.legend-swatch{width:14px;height:14px;border-radius:4px;border:1px solid transparent;display:inline-block}.legend-swatch.confirmed{background:#ecfdf3;border-color:#16a34a}.legend-swatch.pending{background:#fff7e6;border-color:#f59e0b}.period-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.completed-card{border-color:#c9dfd3!important}.admin-body .panel>table,.admin-body .booking-group>table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.calendar-shell{overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-staff-head,.calendar-body{min-width:max(720px,calc(120px + var(--staff-count,1) * 190px))}.customer-manage-card .form-grid small{grid-column:1/-1}
@media(max-width:760px){.luxury-admin-nav{position:sticky;top:0;gap:6px;padding:9px 10px}.luxury-admin-nav .admin-brand{width:100%}.luxury-admin-nav nav{gap:2px;padding-bottom:4px}.luxury-admin-nav nav>a{padding:8px 9px;font-size:11px}.cards.luxury-stat-cards{grid-template-columns:1fr 1fr}.calendar-head{align-items:flex-start!important}.calendar-actions{width:100%;display:flex;flex-wrap:wrap;gap:6px}.calendar-actions .date-form{flex:1 1 150px}.calendar-actions input,.calendar-actions select,.calendar-actions .btn{max-width:100%}.calendar-shell{margin-left:-14px;margin-right:-14px;border-radius:0!important}.calendar-staff-head,.calendar-body{min-width:max(680px,calc(100px + var(--staff-count,1) * 180px))}.mini-calendar-details>summary{gap:8px}.calendar-legend{gap:8px!important}.admin-body td,.admin-body th{font-size:12px;padding:9px 8px!important}.compact-admin-edit{min-width:280px}.customer-manage-card .form-grid{grid-template-columns:1fr}.customer-manage-card .btn{width:100%}}
@media(max-width:480px){.cards.luxury-stat-cards{grid-template-columns:1fr}.admin-page-head h1{font-size:28px}.mini-day{padding:4px;min-height:40px}.mini-week,.mini-grid{gap:3px}}

/* 2026-09-14 dashboard refinements */
.calendar-legend .legend-icon{font-style:normal;font-size:16px;line-height:1;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.calendar-legend .legend-icon.confirmed{color:#16a34a}.calendar-legend .legend-icon.pending{color:#f59e0b}.calendar-event.status-completed{background:#dff4e7;border-left-color:#15803d;color:#123b2b}.calendar-event.status-completed strong{font-weight:950;color:#14532d}.calendar-event.status-completed small{font-weight:900;color:#166534}.calendar-event.status-completed .event-time{font-weight:900;color:#166534}


/* 2026-09-14 completed + calendar legend final */
.calendar-legend .legend-swatch{width:18px!important;height:18px!important;min-width:18px!important;display:inline-block!important;border-radius:3px!important;border:1px solid #9ca3af!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.calendar-legend .legend-swatch.confirmed{background:#16a34a!important;border-color:#15803d!important}
.calendar-legend .legend-swatch.pending{background:#f59e0b!important;border-color:#d97706!important}
.calendar-legend>span{gap:7px!important;font-weight:750!important}
.calendar-event.status-completed{background:#cfeedd!important;border:2px solid #15803d!important;border-left-width:6px!important;color:#123b2b!important;box-shadow:0 6px 16px rgba(21,128,61,.18)!important}
.calendar-event.status-completed .event-time,.calendar-event.status-completed strong,.calendar-event.status-completed span,.calendar-event.status-completed small,.calendar-event.status-completed .event-status-label{font-weight:900!important;color:#14532d!important}
.calendar-event.status-completed .event-status-label{letter-spacing:.02em!important}


/* 2026-09-14 final calendar visibility fix */
.calendar-legend .legend-box{width:22px!important;height:18px!important;min-width:22px!important;display:inline-block!important;border-radius:3px!important;border:2px solid #64748b!important;box-sizing:border-box!important;vertical-align:middle!important}
.calendar-legend .legend-box.confirmed{background:#16a34a!important;border-color:#15803d!important}
.calendar-legend .legend-box.pending{background:#f59e0b!important;border-color:#d97706!important}
.calendar-legend>span{display:inline-flex!important;align-items:center!important;gap:8px!important;font-weight:800!important}
.calendar-event.completed-event{background:#bfe8cc!important;border:3px solid #15803d!important;border-left-width:7px!important;color:#123b2b!important;box-shadow:0 6px 18px rgba(21,128,61,.28)!important}
.calendar-event.completed-event .event-time,.calendar-event.completed-event strong,.calendar-event.completed-event span,.calendar-event.completed-event small,.calendar-event.completed-event .event-status-label{font-weight:950!important;color:#0f5b2b!important}
.calendar-event.completed-event .event-status-label{text-transform:uppercase!important;letter-spacing:.04em!important}
@media(max-width:760px){.calendar-legend .legend-box{width:20px!important;height:17px!important;min-width:20px!important}}


/* 2026-09-14 calendar mobile alignment + staff header */
.calendar-staff-head{
  grid-template-columns:70px repeat(var(--staff-count),minmax(0,1fr))!important;
  min-width:0!important;
  width:max(100%,calc(70px + var(--staff-count,1) * 150px));
}
.calendar-staff-head .staff-head{
  min-width:0!important;
  color:var(--ln-ink)!important;
  background:#f8f4ee!important;
  border-left:1px solid #e2d9cf!important;
}
.calendar-staff-head .staff-head strong{
  color:var(--ln-ink)!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.2!important;
}
.calendar-staff-head .staff-head small{
  color:var(--ln-muted)!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:600!important;
}
.calendar-body{
  grid-template-columns:70px minmax(0,1fr)!important;
  min-width:0!important;
  width:max(100%,calc(70px + var(--staff-count,1) * 150px));
}
.staff-columns{
  min-width:0!important;
  grid-template-columns:repeat(var(--staff-count),minmax(0,1fr))!important;
}
.staff-column{min-width:0!important}
.calendar-event{left:4px!important;right:4px!important;max-width:none!important;min-width:0!important}

@media(max-width:760px){
  .calendar-staff-head,
  .calendar-body{
    width:max(100%,calc(54px + var(--staff-count,1) * 125px));
  }
  .calendar-staff-head{
    grid-template-columns:54px repeat(var(--staff-count),minmax(0,1fr))!important;
  }
  .calendar-body{
    grid-template-columns:54px minmax(0,1fr)!important;
  }
  .calendar-staff-head .staff-head{
    padding:8px 6px!important;
    gap:6px!important;
  }
  .calendar-staff-head .staff-head strong{
    font-size:11px!important;
  }
  .calendar-staff-head .staff-head small{display:none!important}
  .calendar-staff-head .avatar{
    width:30px!important;height:30px!important;min-width:30px!important;
    border-width:1px!important;font-size:11px!important;
  }
  .calendar-event{left:3px!important;right:3px!important;padding:6px 7px!important}
  .calendar-event strong{font-size:11px!important}
  .calendar-event span{font-size:9px!important}
  .calendar-event small{font-size:9px!important}
}
