:root{
  --ink:#102b35;
  --muted:#5c7380;
  --teal:#087f82;
  --teal2:#13a3a1;
  --mint:#e9f7f4;
  --cream:#fbf7ef;
  --line:#dfe9ea;
  --white:#fff;
  --shadow:0 24px 70px rgba(16,43,53,.13);
  --radius:28px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0%,#f8fbfb 45%,#fff 100%);line-height:1.6}
a{color:inherit;text-decoration:none}
.admin-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,3rem);border-bottom:1px solid rgba(223,233,234,.75)}
.brand{display:flex;gap:.8rem;align-items:center}.brand-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:.05em}.brand strong{display:block;font-weight:800}.brand small{display:block;color:var(--muted);font-size:.75rem}
.admin-nav{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;font-size:.93rem;font-weight:700}.admin-nav a{border:1px solid transparent;border-radius:999px;padding:.62rem .9rem;color:#22434d}.admin-nav a.active{background:var(--mint);border-color:#cfebe6;color:var(--teal)}.admin-nav a:last-child{background:#0d3038;color:#fff}
.admin-main{width:min(1180px,92vw);margin:0 auto;padding:clamp(2.5rem,5vw,4.5rem) 0}.page-head{margin-bottom:2rem}.eyebrow{margin:0 0 .8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-weight:800;font-size:.76rem}h1,h2{font-family:'Playfair Display',Georgia,serif;line-height:1.04;margin:0 0 1rem}h1{font-size:clamp(2.4rem,5vw,4.8rem)}h2{font-size:clamp(1.8rem,3vw,2.6rem)}.muted{color:var(--muted)}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.3rem}.summary-card,.panel,.login-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem}.summary-card strong{display:block;color:var(--teal);font-size:clamp(2rem,4vw,3rem);line-height:1;margin:.8rem 0}.summary-card p{color:var(--muted);margin:0}.card-label{font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#24575f;font-size:.72rem}.muted-card{background:linear-gradient(135deg,var(--mint),#fff)}
.panel{padding:clamp(1.4rem,3vw,2.2rem);margin-bottom:1.3rem}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.status-list{margin:0;padding-left:1.2rem}.status-list li{margin:.55rem 0;color:#294751}.placeholder-panel p{max-width:780px;color:var(--muted)}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:.85rem;text-align:left;vertical-align:top}.admin-table th{color:#24575f;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.text-link{color:var(--teal);font-weight:800;text-decoration:underline;text-underline-offset:3px}.status-pill{display:inline-flex;border-radius:999px;padding:.28rem .62rem;font-size:.78rem;font-weight:900;background:var(--mint);color:var(--teal)}.status-cancelled,.status-no_show{background:#fff2f2;color:#8a1f1f}.status-converted,.status-completed{background:#eef3ff;color:#284b9b}.status-confirmed{background:#effaf5;color:#166338}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.detail-list{display:grid;grid-template-columns:minmax(130px,.4fr) 1fr;gap:.65rem 1rem}.detail-list dt{font-weight:900;color:#24575f}.detail-list dd{margin:0;color:#294751}.message-box,.note-card{border:1px solid var(--line);border-radius:18px;background:#fbfefe;padding:1rem}.admin-form{display:grid;gap:1rem;max-width:760px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-form label{display:grid;gap:.45rem;font-weight:900;color:#294751}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:.9rem 1rem;font:inherit;color:var(--ink);background:#fff}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:3px solid rgba(19,163,161,.18);border-color:var(--teal)}.filter-links{display:flex;gap:.5rem;flex-wrap:wrap}.filter-links a{border:1px solid var(--line);border-radius:999px;padding:.55rem .85rem;font-weight:900;color:#24575f}.filter-links a.active{background:var(--mint);border-color:#cfebe6;color:var(--teal)}.calendar-day{margin-top:1.5rem}.calendar-day h3{margin:0 0 .6rem;color:#24575f}.note-list{display:grid;gap:1rem}.note-card p{margin-top:0}.note-card small{color:var(--muted);font-weight:800}.admin-footer{text-align:center;padding:2rem 1rem;background:#071f25;color:#dbecef}.admin-footer p{margin:0}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--mint),#fff 55%,var(--cream))}.login-shell{width:min(520px,92vw);padding:2rem 0}.login-brand{margin-bottom:1.4rem}.login-card h1{font-size:clamp(2.2rem,6vw,3.8rem)}.login-form{display:grid;gap:1rem;margin-top:1.4rem}.login-form label{display:grid;gap:.4rem;color:#294751;font-weight:800}.login-form input{width:100%;border:1px solid var(--line);border-radius:16px;padding:.9rem 1rem;font:inherit;color:var(--ink);background:#fff}.login-form input:focus{outline:3px solid rgba(19,163,161,.18);border-color:var(--teal)}.btn{border:0;border-radius:999px;padding:.92rem 1.25rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;box-shadow:0 14px 32px rgba(8,127,130,.25)}.alert{background:#fff2f2;border:1px solid #f0b7b7;color:#8a1f1f;border-radius:16px;padding:1rem;margin:1rem 0}.alert.success{background:#effaf5;border-color:#b9e3ce;color:#166338}
@media (max-width:1000px){.admin-header{align-items:flex-start;flex-direction:column}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-search-row{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.admin-main{width:min(100% - 2rem,1180px)}.dashboard-grid,.detail-grid,.form-grid,.calendar-search-row{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr}.admin-nav{width:100%}.admin-nav a{flex:1;text-align:center}.brand small{display:none}.filter-actions{align-items:stretch;flex-direction:column}.filter-actions .btn{width:100%}}
.btn.secondary{background:#fff;border:1px solid var(--line);color:#24575f}.field-hint{display:block;color:var(--muted);font-weight:600;font-size:.85rem}.edit-appointment-form,.create-appointment-form{max-width:920px}.create-appointment-form h3{margin:.5rem 0 0;color:#24575f}.quick-actions h2{font-size:clamp(1.5rem,2vw,2rem)}.quick-action-links,.calendar-head-actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.calendar-filter-form,.contact-filter-form{max-width:none;margin:1.2rem 0}.calendar-search-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:1rem;align-items:end}.contact-filter-form .calendar-search-row{grid-template-columns:2fr 1fr auto}.filter-actions{display:flex;gap:.6rem;align-items:center}.calendar-result-count{margin:.5rem 0 1rem}.empty-state{border:1px dashed #bdd7d8;border-radius:20px;background:#fbfefe;padding:1.2rem;color:var(--muted)}.empty-state strong{display:block;color:#24575f;margin-bottom:.25rem}.empty-state p{margin:0}.calendar-table .calendar-row{background:#fff}.calendar-table .calendar-row:hover{background:#fbfefe}.status-row-cancelled,.status-row-no_show{opacity:.78}.calendar-panel .filter-links{justify-content:flex-end}.source-pill{display:inline-flex;border-radius:999px;border:1px solid var(--line);padding:.24rem .58rem;font-size:.76rem;font-weight:900;color:#24575f;background:#fff}.source-manual{background:var(--mint);border-color:#cfebe6;color:var(--teal)}.status-new{background:#fff8e6;color:#805500}.status-reviewed{background:var(--mint);color:var(--teal)}.status-contacted{background:#eef3ff;color:#284b9b}.status-closed{background:#f2f4f5;color:#40545c}
@media (max-width:1000px){.calendar-search-row{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.calendar-search-row{grid-template-columns:1fr}.filter-actions{align-items:stretch;flex-direction:column}.filter-actions .btn{width:100%}}

/* Sprint 4A admin usability upgrade */
.admin-nav .nav-primary-action{background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;box-shadow:0 10px 24px rgba(8,127,130,.18)}
.admin-nav .nav-primary-action.active{color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal2))}.admin-nav a:last-child{background:#0d3038;color:#fff}.today-hero{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;background:linear-gradient(135deg,#fff 0%,#f0fbf8 100%);margin-bottom:1.3rem}.today-hero h2{font-size:clamp(2rem,3.4vw,3.4rem);margin-bottom:.75rem}.today-hero-copy{max-width:760px}.today-hero-copy .muted{font-size:1.05rem}.today-hero-copy strong{color:var(--teal)}.dashboard-kicker{display:inline-flex;border-radius:999px;background:var(--mint);border:1px solid #cfebe6;color:var(--teal);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;padding:.38rem .75rem;margin-bottom:.9rem}.today-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.dashboard-grid-friendly{margin-bottom:1.3rem}.clickable-card{display:block;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.clickable-card:hover{transform:translateY(-2px);border-color:#c4e4df;box-shadow:0 30px 80px rgba(16,43,53,.16)}.urgent-card{background:linear-gradient(135deg,#fff 0%,#fff8f2 100%)}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.3rem;align-items:start}.lower-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.work-panel{min-height:100%;padding:clamp(1.25rem,2.5vw,1.8rem)}.compact-head{align-items:center;margin-bottom:1rem}.compact-head h2{font-size:clamp(1.55rem,2.2vw,2.1rem);margin-bottom:.3rem}.compact-head p{margin:0}.small-btn{padding:.62rem .9rem;font-size:.88rem}.task-list{display:grid;gap:.75rem}.task-card{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;border:1px solid var(--line);border-radius:20px;background:#fff;padding:1rem;transition:transform .18s ease,border-color .18s ease,background .18s ease}.task-card:hover{transform:translateY(-1px);border-color:#c4e4df;background:#fbfefe}.task-time{display:grid;place-items:center;min-width:64px;border-radius:16px;background:var(--mint);color:var(--teal);font-weight:900;padding:.65rem .75rem}.task-body{display:grid;gap:.15rem}.task-body strong{line-height:1.25}.task-body small{color:var(--muted);font-weight:650}.task-action{color:var(--teal);font-weight:900;text-decoration:underline;text-underline-offset:3px}.request-task{grid-template-columns:auto 1fr auto}.message-task{grid-template-columns:1fr auto}.health-pill{display:inline-flex;border-radius:999px;background:#effaf5;color:#166338;font-weight:900;padding:.42rem .75rem;border:1px solid #b9e3ce}.chatbot-card{display:grid;gap:.45rem;border:1px solid #cfebe6;border-radius:22px;background:linear-gradient(135deg,var(--mint),#fff);padding:1.15rem}.chatbot-card strong{font-size:1.25rem}.chatbot-card small{color:var(--muted);font-weight:700}.summary-card p .text-link{margin-top:.45rem;display:inline-block}.source-website_chatbot{background:#eef3ff;border-color:#d5def8;color:#284b9b}.source-ai_receptionist{background:#f4ecff;border-color:#dfcbff;color:#5b2d87}.source-website_form{background:#fff;border-color:var(--line);color:#24575f}.source-website_contact{background:#fff;border-color:var(--line);color:#24575f}
@media (max-width:1100px){.dashboard-grid-friendly{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns,.lower-columns{grid-template-columns:1fr}.today-hero{align-items:flex-start;flex-direction:column}.today-hero-actions{justify-content:flex-start}}
@media (max-width:760px){.task-card,.request-task,.message-task{grid-template-columns:1fr;align-items:start}.task-time{width:max-content}.today-hero-actions .btn{width:100%}.today-hero-actions{width:100%}.admin-nav .nav-primary-action{order:-1}.compact-head{align-items:flex-start;flex-direction:column}.compact-head .btn{width:100%}}

/* Quotations Patch 6 create line-items UX */
.create-quotation-form{max-width:980px}.quote-items-card{border:1px solid var(--line);border-radius:22px;background:#fbfefe;padding:1rem;display:grid;gap:1rem}.quote-items-head,.quote-items-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.quote-items-head h3{margin:.15rem 0 .25rem;color:#24575f}.quote-items-head p{margin:0}.quote-items-table-wrap{border:1px solid var(--line);border-radius:18px;background:#fff}.quote-items-table th,.quote-items-table td{vertical-align:middle}.quote-items-table td:first-child{min-width:280px}.quote-items-table input{min-width:120px;padding:.72rem .85rem;border-radius:14px}.quote-items-table td:first-child input{min-width:260px}.quote-line-total{display:inline-flex;min-width:92px;font-weight:900;color:#24575f}.quote-item-remove{white-space:nowrap}.quote-item-remove:disabled{opacity:.45;cursor:not-allowed}.quote-items-actions{align-items:center}.quote-items-actions .field-hint{max-width:560px}
@media (max-width:760px){.quote-items-head,.quote-items-actions{align-items:stretch;flex-direction:column}.quote-items-head .btn,.quote-items-actions .btn{width:100%}.quote-items-table td:first-child,.quote-items-table td:first-child input{min-width:220px}}

/* Admin Help / Guided Tour Phase 1 */
.admin-help-trigger{border:1px solid #cfebe6;border-radius:999px;background:var(--mint);color:var(--teal);padding:.62rem .9rem;font:inherit;font-weight:800;cursor:pointer}.admin-help-trigger:focus-visible,.admin-help-close:focus-visible,.admin-help-drawer a:focus-visible,.admin-help-drawer button:focus-visible,.admin-tour-card button:focus-visible{outline:3px solid rgba(19,163,161,.28);outline-offset:3px}.admin-help-backdrop{position:fixed;inset:0;z-index:80;background:rgba(7,31,37,.38);backdrop-filter:blur(2px)}.admin-help-drawer{position:fixed;top:0;right:0;z-index:90;width:min(440px,92vw);height:100vh;background:#fff;border-left:1px solid var(--line);box-shadow:-24px 0 70px rgba(16,43,53,.18);transform:translateX(104%);transition:transform .22s ease;display:flex;flex-direction:column;padding:clamp(1.2rem,3vw,2rem);overflow-y:auto}.admin-help-drawer.is-open{transform:translateX(0)}.admin-help-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.admin-help-drawer-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0}.admin-help-close{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:#24575f;font-size:1.7rem;line-height:1;cursor:pointer}.admin-help-drawer-body{display:grid;gap:1rem}.admin-help-list{margin:.25rem 0 .5rem;padding-left:1.2rem}.admin-help-list li{margin:.65rem 0;color:#294751}.admin-help-tour-group{display:grid;gap:.65rem;border-top:1px solid var(--line);padding-top:1rem}.admin-help-section-title{margin:0;color:#24575f;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.admin-workflow-tour-start,.admin-tour-start{width:100%;justify-content:flex-start}.admin-help-workflows{background:#fbfefe;border:1px solid var(--line);border-radius:20px;padding:1rem}.admin-help-workflows .field-hint{margin:.1rem 0 0}.admin-help-guide-link{width:max-content}.help-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.help-topic{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.2rem}.help-topic h3{margin:.1rem 0 .65rem;color:#24575f}.help-topic ul{margin:.5rem 0 0;padding-left:1.2rem}.help-topic li{margin:.45rem 0;color:#294751}.admin-tour-overlay{position:fixed;inset:0;z-index:100;background:rgba(7,31,37,.56);pointer-events:none}.admin-tour-active{position:relative;z-index:110;box-shadow:0 0 0 4px rgba(19,163,161,.35),0 18px 54px rgba(16,43,53,.28)!important;border-radius:22px;background:#fff}.admin-tour-card{position:fixed;z-index:120;left:50%;bottom:clamp(1rem,4vw,2rem);transform:translateX(-50%);width:min(460px,calc(100vw - 2rem));background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:1.2rem}.admin-tour-card h2{font-size:clamp(1.45rem,3vw,2rem);margin-bottom:.55rem}.admin-tour-card p{margin:.35rem 0;color:#294751}.admin-tour-progress{font-weight:900;color:var(--teal);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.admin-tour-actions{display:flex;gap:.6rem;justify-content:space-between;flex-wrap:wrap;margin-top:1rem}.admin-tour-actions .btn{padding:.72rem 1rem}.admin-tour-actions-left,.admin-tour-actions-right{display:flex;gap:.6rem;flex-wrap:wrap}@media (max-width:760px){.admin-help-guide-link{width:100%}.help-guide-grid{grid-template-columns:1fr}.admin-tour-card{bottom:1rem}.admin-tour-actions,.admin-tour-actions-left,.admin-tour-actions-right{width:100%}.admin-tour-actions .btn{flex:1}}

/* Admin Available Slots Assist */
.available-slots-card{border:1px solid #cfebe6;border-radius:22px;background:linear-gradient(135deg,var(--mint),#fff);padding:1rem;margin:1rem 0 1.2rem;display:grid;gap:1rem}.available-slots-card h3{margin:.15rem 0 .25rem;color:#24575f}.available-slots-card p{margin:0}.slot-check-form{max-width:none}.slot-check-form .btn{width:max-content}.slot-chip-list{display:flex;flex-wrap:wrap;gap:.6rem}.slot-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfebe6;border-radius:999px;background:#fff;color:var(--teal);font-weight:900;padding:.62rem .85rem;text-decoration:none}.slot-chip:hover{background:var(--mint)}
@media (max-width:640px){.slot-check-form .btn,.slot-chip{width:100%}.slot-chip-list{display:grid}}

/* De La Vie logo asset upgrade */
.brand-logo{display:block;width:162px;height:auto;max-height:50px;object-fit:contain;flex:0 0 auto}.brand .brand-logo+span{display:none}.brand-mark{display:none}@media (max-width:640px){.brand-logo{width:128px;max-height:40px}.brand{gap:.55rem}}
