@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg:#f4efe7;--bg-soft:#fbf7f1;--card:#fff;--card-line:#eadfd0;--text:#2c2118;--muted:#7b6a5c;--primary:#7a5a3b;--primary-deep:#61452d;--primary-soft:#f0e2d4;--green:#5d8f56;--green-soft:#e8f3e3;--amber:#bc6d2c;--amber-soft:#fff1e4;--gold:#aa8750;--gold-soft:#f8eddb;--shadow:0 18px 48px #4c332114;--radius-xl:22px;--radius-lg:18px;--radius-md:14px;--radius-sm:10px;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(#f4efe7 0%,#f8f4ee 42%,#f0e8dd 100%);font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 100% 0,#aa875029,#0000 24%),radial-gradient(circle at 0,#7a5a3b14,#0000 20%),linear-gradient(#f4efe7 0%,#f8f4ee 42%,#f0e8dd 100%);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;color:var(--text);background:#fff;border:1px solid #eadfd0;border-radius:12px;padding:.95rem 1rem;transition:border-color .18s,box-shadow .18s,transform .18s}input::placeholder,textarea::placeholder{color:#ab9887}input:focus,select:focus,textarea:focus{border-color:#c7a889;outline:none;box-shadow:0 0 0 4px #7a5a3b1c}#app{width:100%}a{color:inherit}.app-shell,.landing-shell{min-height:100vh}.topbar{background:linear-gradient(90deg,#715134 0%,#8a6541 100%);box-shadow:0 3px 10px #47301f33}.landing-topbar{padding:22px 0 0}.landing-topbar-inner,.landing-main{width:min(1320px,100% - 32px);margin:0 auto}.landing-topbar-inner{justify-content:space-between;align-items:center;gap:20px;min-height:90px;padding:0 0 18px;display:flex}.topbar-inner,.dashboard{width:min(1320px,100% - 32px);margin:0 auto}.topbar-inner{justify-content:space-between;align-items:center;gap:18px;min-height:100px;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.brand-lockup{color:#fbfbf6;align-items:center;gap:16px;display:flex}.brand-lockup-dark{color:var(--text)}.brand-mark{color:#fbfbf6;background:#ffffff24;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.brand-mark-dark{color:var(--primary);background:#7a5a3b14}.brand-mark svg{width:24px;height:24px}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{letter-spacing:-.04em;font-size:2rem;font-weight:800}.brand-lockup span{color:#fbfbf6bd;margin-top:.15rem;font-size:.98rem}.brand-lockup-dark span{color:#8b7868}.topbar-button,.primary-button,.secondary-button,.day-chip,.edit-button,.complete-button,.profile-button{border:0;justify-content:center;align-items:center;line-height:1;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.topbar-button{color:#7a5a3b;background:#fff;border-radius:14px;align-items:center;gap:.55rem;padding:1rem 1.35rem;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #47301f2e}.topbar-button-secondary{color:#fff;box-shadow:none;background:#ffffff2e;border:1px solid #ffffff3d}.topbar-button span{font-size:1.35rem;line-height:1}.profile-button{color:#fff;width:54px;height:54px;box-shadow:none;background:#ffffff2e;border:1px solid #ffffff3d;border-radius:18px;font-weight:800}.profile-button span{letter-spacing:.02em;font-size:1rem}.dashboard{gap:18px;padding:28px 0 42px;display:grid}.landing-main{gap:22px;padding:18px 0 48px;display:grid}.hero-card,.landing-section,.feature-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border:1px solid #eadfd0e0;border-radius:28px}.hero-card{grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);align-items:stretch;gap:26px;padding:34px;display:grid}.hero-copy{align-content:start;gap:18px;display:grid}.hero-eyebrow,.landing-section-heading span,.landing-cta span{color:#946f4a;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;font-weight:800}.hero-copy h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.98}.hero-copy p,.feature-card p,.landing-cta strong,.hero-panel-header span{color:#735f4f;margin:0;line-height:1.6}.hero-actions,.hero-proof{flex-wrap:wrap;gap:12px;display:flex}.hero-button{min-height:54px;padding:.95rem 1.3rem;text-decoration:none}.hero-proof span{color:#7d664f;background:#f5ede3;border-radius:999px;padding:.8rem 1rem;font-weight:700}.hero-panel{background:linear-gradient(#fffdfa 0%,#f8f0e7 100%);border:1px solid #ebdfd0;border-radius:24px;gap:14px;padding:22px;display:grid}.hero-panel-header{gap:4px;display:grid}.hero-panel-header strong,.landing-section-heading strong,.landing-cta strong{letter-spacing:-.04em;font-size:1.5rem}.hero-preview-card{background:#fff;border:1px solid #ecdfd0;border-radius:20px;gap:12px;padding:16px;display:grid}.hero-preview-card strong,.feature-card strong{font-size:1.1rem}.hero-preview-card p{color:#7d6c5c;margin:.35rem 0 0}.hero-preview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.hero-preview-metrics article,.feature-card{padding:18px}.hero-preview-metrics span{color:#8f7761;font-size:.88rem;font-weight:700;display:block}.hero-preview-metrics strong{letter-spacing:-.05em;margin-top:.35rem;font-size:1.7rem;display:block}.landing-section{gap:22px;padding:28px;display:grid}.landing-section-heading{gap:8px;display:grid}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.feature-card{background:#fff}.landing-cta{justify-content:space-between;align-items:center;gap:18px;display:flex}.card{background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.stat-card{align-content:start;gap:8px;min-height:108px;padding:22px 20px;display:grid}.stat-card span{color:#927355;font-size:.95rem;font-weight:700}.stat-card strong{letter-spacing:-.05em;font-size:clamp(2rem,3vw,2.7rem);font-weight:800}.search-card{gap:18px;padding:18px;display:grid}.search-wrap input{min-height:58px;font-size:1.08rem}.day-filter-row{flex-wrap:wrap;gap:10px;display:flex}.day-chip{color:#7d6b5c;background:#f7f1ea;border-radius:12px;padding:.9rem 1.25rem;font-weight:700}.day-chip.is-active,.day-chip:hover{background:var(--primary);color:#fff;box-shadow:0 10px 24px #7a5a3b33}.roster-card{overflow:hidden}.section-bar{color:#fff;background:linear-gradient(90deg,#7a5a3b 0%,#936c47 100%);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 20px;font-weight:800;display:flex}.section-bar span{color:#ffffffd1;font-size:.9rem;font-weight:700}.roster-list{display:grid}.roster-row{text-align:left;transform-origin:0 0;will-change:transform;background:#fff;border:0;border-top:1px solid #f1e8de;justify-content:space-between;align-items:start;gap:18px;padding:22px 20px;display:flex}.roster-select{text-align:left;color:inherit;background:0 0;border:0;flex:auto;padding:0}.roster-row:hover,.roster-row.is-selected{background:#fcf8f4}.roster-row.is-selected{box-shadow:inset 4px 0 0 var(--primary)}.roster-row.is-today{background:linear-gradient(90deg,#aa875014,#fff0)}.roster-row.is-complete.is-today{background:linear-gradient(90deg,#5d8f5614,#fff0)}.roster-main strong{letter-spacing:-.03em;font-size:1.05rem;font-weight:800;display:block}.roster-main p,.side-detail,.detail-empty p,.detail-grid p,.detail-notes p,.empty-roster p,.modal-header span{color:var(--muted);margin:0}.roster-main p{margin-top:.35rem;font-size:.98rem}.callback-note{color:#a2602c;margin-top:.45rem;font-size:.92rem;font-weight:700}.tag-row{flex-wrap:wrap;gap:10px;margin-top:.8rem;display:flex}.meta-chip,.status-pill{border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:0 .8rem;font-size:.88rem;font-weight:700;line-height:1;display:inline-flex}.meta-chip{background:var(--primary-soft);color:#866548}.meta-chip.money{color:#3b9c61;background:#dff8ea}.meta-chip.warranty-chip.warranty-active{color:#4d8b47;background:#eef8e6}.meta-chip.warranty-chip.warranty-expired{color:#bc6d2c;background:#fff1e4}.meta-chip.service-flag-due{color:#b06d2f;background:#fff0df}.meta-chip.service-flag-complete{color:#4d8b47;background:#e6f4e0}.meta-chip.service-flag-missed{color:#bc5648;background:#fde8e5}.meta-chip.service-flag-callback{color:#bc6d2c;background:#fff1e4}.today-chip{color:#b06d2f;background:#fff0df}.roster-row.is-complete .today-chip{color:#4d8b47;background:#e6f4e0}.status-pill.tone-green{background:var(--green-soft);color:var(--green)}.status-pill.tone-amber{background:var(--amber-soft);color:var(--amber)}.status-pill.tone-gold{background:var(--gold-soft);color:var(--gold)}.status-pill.tone-red{color:#bc5648;background:#fde8e5}.roster-side{justify-items:end;gap:12px;min-width:170px;display:grid}.roster-actions{justify-items:end;gap:10px;display:grid}.complete-button,.missed-button{border-radius:999px;min-height:36px;padding:.65rem .95rem;font-size:.85rem;font-weight:800;line-height:1}.complete-button{color:#fff;background:#2e2e2e;box-shadow:0 8px 18px #2c21181f}.complete-button.is-complete{background:#5d8f56}.missed-button{color:#b85a4a;background:#fff4f1;border:1px solid #ebc8c1}.missed-button.is-missed{color:#fff;background:#bc5648;border-color:#bc5648}.side-detail{text-align:right;font-size:.98rem}.detail-card-shell{min-height:340px;overflow:hidden}.detail-card{display:grid}.detail-topbar{color:#fff;background:linear-gradient(90deg,#745437 0%,#906a46 100%);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.detail-topbar strong,.modal-header strong{letter-spacing:-.04em;font-size:1.85rem;font-weight:800;display:block}.detail-topbar span{color:#ffffffd1;margin-top:.18rem;display:block}.detail-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.edit-button{color:#fff;background:#ffffff29;border-radius:12px;padding:.85rem 1rem;font-weight:800}.detail-complete{box-shadow:none;background:#2c211838}.detail-complete.is-complete{background:#5d8f56eb}.detail-missed{color:#7e2e23;background:#fff4f1eb;border-color:#ffffff38}.detail-missed.is-missed{color:#fff;background:#bc5648eb}.detail-body{gap:18px;padding:22px;display:grid}.history-list{gap:10px;display:grid}.history-row{background:#fff;border:1px solid #efe5da;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.history-row strong{letter-spacing:-.02em;font-size:.96rem;display:block}.history-row p{margin-top:.28rem;font-size:.92rem}.detail-subgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.detail-grid article,.detail-notes{background:#fdfaf6;border:1px solid #efe5da;border-radius:16px;flex-direction:column;justify-content:center;padding:16px 18px;display:flex}.detail-grid article>span,.detail-notes>span,.field>span{color:#927355;letter-spacing:.02em;text-transform:uppercase;margin-bottom:.5rem;font-size:.82rem;font-weight:800;display:block}.detail-grid p,.detail-notes p{font-size:1rem;line-height:1.5}.detail-chip-row{flex-wrap:wrap;gap:10px;margin-top:.9rem;display:flex}.detail-mini-note+.detail-mini-note{margin-top:.55rem}.detail-empty{text-align:center;place-items:center;gap:14px;min-height:338px;display:grid}.detail-ring{border:4px solid #ecdcc9;border-radius:999px;width:68px;height:68px;box-shadow:inset 0 0 0 6px #fdf9f4}.empty-roster{padding:28px 20px}.empty-roster strong{margin-bottom:.4rem;font-size:1rem;display:block}.modal-overlay{z-index:10;background:#2f211757;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.modal-card{background:#fff;border-radius:22px;grid-template-rows:auto minmax(0,1fr);width:min(860px,100%);max-height:calc(100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 28px 80px #3b281b3d}.modal-header{color:#fff;background:linear-gradient(90deg,#7a5a3b 0%,#956d46 100%);padding:22px 28px}.modal-header span{color:#ffffffd1;margin-top:.3rem;display:block}.modal-form{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:18px 16px;padding:26px 28px 28px;display:grid;overflow:auto}.profile-modal-card{width:min(720px,100%)}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary{background:#fbf7f1;border:1px solid #eadfd0;border-radius:18px;align-items:center;gap:18px;padding:18px;display:flex}.profile-avatar-large{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#7a5a3b 0%,#9a744f 100%);border-radius:22px;place-items:center;width:72px;height:72px;font-size:1.2rem;font-weight:800;display:grid}.profile-summary strong,.profile-summary span,.profile-summary p{margin:0;display:block}.profile-summary span,.profile-summary p{color:#806d5c}.field{display:grid}.field[hidden]{display:none!important}.field-group{border:0;gap:10px;margin:0;padding:0;display:grid}.field-group legend{color:#927355;letter-spacing:.02em;text-transform:uppercase;padding:0;font-size:.82rem;font-weight:800}.flag-stack{gap:10px;display:grid}.checkbox-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.checkbox-chip{display:flex;position:relative}.checkbox-chip input{opacity:0;pointer-events:none;position:absolute}.checkbox-chip span{color:#7b6a5c;text-align:center;background:#fbf7f1;border:1px solid #eadfd0;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:.75rem .85rem;font-size:.9rem;font-weight:700;transition:border-color .18s,background .18s,color .18s,transform .18s;display:inline-flex}.checkbox-chip input:checked+span{color:#6f5034;background:#f0e2d4;border-color:#c7a889}.checkbox-chip input:focus-visible+span{box-shadow:0 0 0 4px #7a5a3b1c}.full-width{grid-column:1/-1}.modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.secondary-button,.primary-button{border-radius:14px;min-height:58px;font-weight:800}.secondary-button{color:#5a4737;background:#f6f1eb}.primary-button{color:#fff;background:linear-gradient(90deg,#aa8750 0%,#7a5a3b 100%)}.modal-submit{width:100%}.catalog-modal-card{width:min(1080px,100%)}.catalog-modal-body{gap:18px;padding:24px 28px 28px;display:grid;overflow:auto}.catalog-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.catalog-toolbar{justify-content:space-between;align-items:start;gap:16px;display:flex}.catalog-summary-card,.card-lite,.catalog-category-card{background:#fdfaf6;border:1px solid #efe5da;border-radius:18px}.catalog-summary-card{gap:6px;padding:18px 20px;display:grid}.catalog-summary-card span,.catalog-form strong,.catalog-category-header strong,.catalog-service-row strong{color:#8c6c4f}.catalog-summary-card span{text-transform:uppercase;letter-spacing:.02em;font-size:.88rem;font-weight:800}.catalog-summary-card strong{letter-spacing:-.04em;font-size:2rem;font-weight:800}.catalog-form{gap:14px;padding:18px;display:grid}.catalog-composer{background:#fff}.catalog-composer-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.catalog-form strong,.catalog-category-header strong,.catalog-service-row strong{letter-spacing:-.02em;font-size:1rem;font-weight:800;display:block}.catalog-submit{min-height:50px}.catalog-service-entry-list{gap:10px;display:grid}.catalog-service-entry-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.catalog-inline-add-button,.catalog-service-remove-button{color:#7a5a3b;background:#fffaf4;border:1px solid #e5d6c7;border-radius:12px;font-weight:800}.catalog-inline-add-button{justify-self:start;min-height:46px;margin-top:10px;padding:.8rem 1rem}.catalog-service-remove-button{min-height:46px;padding:.8rem .95rem}.catalog-service-remove-button:disabled{cursor:not-allowed;color:#b29d89;background:#f8f1e9}.catalog-add-button{min-height:50px;padding-inline:1.15rem}.catalog-helper-text{color:#8f7761;margin:-.2rem 0 0;font-size:.92rem}.required-mark{color:#bf4539}.catalog-category-list{gap:16px;display:grid}.catalog-category-card{cursor:pointer;gap:14px;padding:18px;transition:border-color .18s,box-shadow .18s,background .18s;display:grid}.catalog-category-card:hover{border-color:#e1d0be;box-shadow:0 10px 24px #4c33210f}.catalog-category-header,.catalog-service-row{justify-content:space-between;align-items:start;gap:16px;display:flex}.catalog-category-trigger{flex:auto}.catalog-category-actions,.catalog-service-actions{flex-flow:column wrap;justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}.catalog-service-list{gap:10px;display:grid}.catalog-service-row{background:#fff;border:1px solid #efe5da;border-radius:14px;padding:14px 16px}.catalog-toggle-button{color:#8b633c;background:#fff6ec;border:1px solid #d7c1aa;border-radius:999px;min-width:96px;min-height:38px;font-weight:800}.catalog-toggle-button.is-enabled{color:#4d8b47;background:#eaf5e5;border-color:#cde3c4}.catalog-icon-button{color:#7a5a3b;background:#fff;border:1px solid #e5d6c7;border-radius:999px;min-height:38px;padding:.55rem .85rem;font-weight:800}.catalog-icon-button:disabled{cursor:not-allowed;color:#b29d89;background:#f8f1e9}.catalog-expand-hint{color:#b4a08d;white-space:nowrap;opacity:.9;margin-top:8px;padding-top:10px;font-size:.8rem;font-weight:600;line-height:1}.topbar-button:hover,.primary-button:hover,.secondary-button:hover,.edit-button:hover{transform:translateY(-1px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.topbar-inner,.dashboard,.landing-topbar-inner,.landing-main{width:min(100%,100% - 20px)}.topbar-inner,.landing-topbar-inner{flex-direction:column;align-items:stretch;min-height:auto;padding:18px 0}.brand-lockup strong{font-size:1.65rem}.stats-grid,.detail-grid,.detail-subgrid,.catalog-summary-grid,.modal-form,.modal-actions,.checkbox-grid,.feature-grid,.hero-preview-metrics{grid-template-columns:1fr}.roster-row,.detail-topbar,.catalog-category-header,.catalog-service-row,.landing-cta{flex-direction:column;align-items:start}.hero-card{grid-template-columns:1fr;padding:24px}.hero-copy h1{font-size:clamp(2.2rem,10vw,3.4rem)}.catalog-service-entry-row{grid-template-columns:1fr}.section-bar{align-items:start}.catalog-toolbar{flex-direction:column;align-items:stretch}.roster-side{justify-items:start;min-width:0}.side-detail{text-align:left}.modal-overlay{padding:12px}.modal-card{max-height:calc(100dvh - 24px)}.modal-form,.catalog-modal-body{padding:18px}}
