.landing-page{min-height:100vh;color:var(--text-primary)}.landing-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.landing-section{position:relative;padding:56px 0}.landing-section--soft{background:linear-gradient(180deg,#ffffffc2,#ffffffeb),radial-gradient(circle at top left,rgba(212,165,154,.14),transparent 44%)}.landing-section--tint{background:linear-gradient(180deg,#ffffff8a,#ffffffe6),linear-gradient(135deg,#7a9b7f1f,#d4a59a0f)}.landing-section--faq{padding-bottom:calc(72px + var(--safe-bottom))}.landing-header{position:sticky;top:0;z-index:120;padding-top:var(--safe-top);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#faf8f5d6;border-bottom:1px solid rgba(58,54,50,.08)}.landing-header__inner{width:min(1180px,calc(100% - 24px));min-height:72px;margin:0 auto;display:flex;align-items:center;gap:20px}.landing-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.03em;font-size:18px}.landing-brand__mark{width:14px;height:14px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#a9bba9,#7a9b7f 52%,#6a8a6f);box-shadow:0 0 0 6px #7a9b7f1a}.landing-nav{margin-left:auto;display:flex;align-items:center;gap:8px}.landing-nav__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:999px;color:var(--text-secondary);font-size:14px;font-weight:600;transition:background .18s ease,color .18s ease,transform .18s ease}.landing-nav__link:hover,.landing-nav__link:focus-visible{background:#7a9b7f14;color:var(--text-primary);outline:none}.landing-nav__cta{margin-left:8px}.landing-menu-button{display:none;margin-left:auto;min-height:44px;padding:0 16px;border:1px solid rgba(58,54,50,.1);border-radius:999px;background:#ffffffb8;color:var(--text-primary);font:inherit;font-size:14px;font-weight:700}.landing-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#68846c}.landing-kicker:before{content:"";width:28px;height:1px;background:#68846c73}.landing-title-xl,.landing-title-lg{font-family:Fraunces,Iowan Old Style,Palatino Linotype,serif;letter-spacing:-.045em;color:#2f2b28}.landing-title-xl{font-size:clamp(48px,7vw,76px);line-height:.98;margin-top:18px}.landing-title-lg{font-size:clamp(34px,4.4vw,54px);line-height:1.02;margin-top:16px}.landing-body-lg,.landing-body-md{color:#3a3632c7;max-width:640px}.landing-body-lg{margin-top:24px;font-size:clamp(18px,2vw,22px);line-height:1.55}.landing-body-md{margin-top:18px;font-size:18px;line-height:1.72}.landing-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid transparent;font-size:15px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.landing-button:hover{transform:translateY(-1px)}.landing-button:focus-visible{outline:3px solid rgba(122,155,127,.24);outline-offset:3px}.landing-button--large{min-height:54px;padding:0 24px}.landing-button--primary{background:linear-gradient(180deg,#7e9f83,#6c8c72);color:#fffdf8;box-shadow:0 16px 28px #7a9b7f38}.landing-button--primary:hover{box-shadow:0 18px 32px #7a9b7f47}.landing-button--secondary{background:#ffffffc2;border-color:#3a36321f;color:var(--text-primary)}.landing-button--secondary:hover{background:#fff}.landing-hero{padding-top:38px;padding-bottom:72px}.landing-hero:before{content:"";position:absolute;inset:0 0 auto;height:78%;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.88),transparent 24%),radial-gradient(circle at 82% 14%,rgba(212,165,154,.18),transparent 22%),linear-gradient(180deg,rgba(255,255,255,.34),transparent 100%);pointer-events:none}.landing-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:44px;align-items:center}.landing-hero__copy{position:relative;z-index:1}.landing-cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:32px}.landing-cta-row--center{justify-content:center}.landing-hero__notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.landing-note-card{padding:18px 18px 20px;border-radius:22px;background:#ffffffb3;border:1px solid rgba(58,54,50,.08);box-shadow:0 12px 24px #3a363214}.landing-note-card__label{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7a9b7f}.landing-note-card p{color:#3a3632bd;font-size:15px;line-height:1.6}.landing-hero__visual{position:relative;min-height:760px;display:grid;align-items:center}.landing-app-window{position:absolute;overflow:hidden;border-radius:30px;background:#ffffffe6;border:1px solid rgba(255,255,255,.82);box-shadow:0 30px 55px #3a363224,inset 0 1px #ffffffe0}.landing-app-window--homes{top:6px;left:0;width:min(388px,62%);z-index:1}.landing-app-window--equipment{right:0;bottom:0;width:min(620px,100%);z-index:2}.landing-app-window__topbar{display:flex;align-items:center;gap:8px;padding:14px 18px;background:#f5f0eaeb;border-bottom:1px solid rgba(58,54,50,.08)}.landing-app-window__topbar span{width:10px;height:10px;border-radius:999px;background:#8c878157}.landing-app-window__body{display:grid;gap:14px;padding:18px}.landing-app-page-header,.landing-app-panel__header,.landing-app-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.landing-app-page-header--row{align-items:center}.landing-app-page-header h3,.landing-app-panel__header h4,.landing-app-card__header h4{margin:0;font-size:20px;line-height:1.12;letter-spacing:-.03em}.landing-app-page-header__eyebrow{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3a363273}.landing-app-page-header__copy,.landing-app-card__header p,.landing-app-subcard p,.landing-app-task-row p{margin:6px 0 0;font-size:13px;line-height:1.55;color:#3a3632ad}.landing-app-create{display:flex}.landing-app-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-primary);font:inherit;font-size:12px;font-weight:700;white-space:nowrap}.landing-app-button--primary{background:var(--accent);color:#fff}.landing-app-button--secondary{background:#fff;border-color:#3a36321f}.landing-app-button--danger{background:#c48f7e29;color:#8d6459}.landing-app-panel,.landing-app-card{display:grid;gap:12px;padding:14px;border-radius:18px;background:#ffffffdb;border:1px solid rgba(58,54,50,.08)}.landing-app-card__actions,.landing-app-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.landing-app-dashboard{display:grid;gap:10px}.landing-app-subcard{display:grid;gap:6px;padding:12px;border-radius:14px;background:#f7f2ede0;border:1px solid rgba(58,54,50,.06)}.landing-app-subcard h5,.landing-app-detail-section h5{margin:0;font-size:14px;line-height:1.3;letter-spacing:-.02em}.landing-app-task-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.landing-app-task-row strong,.landing-app-subcard strong,.landing-app-spec-row strong{font-size:13px;line-height:1.4;letter-spacing:-.02em}.landing-app-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700}.landing-app-badge--warning{background:var(--state-due-today-subtle);color:var(--state-due-today)}.landing-app-badge--danger{background:var(--state-overdue-subtle);color:var(--state-overdue)}.landing-app-badge--neutral{background:var(--state-upcoming-subtle);color:var(--state-upcoming)}.landing-app-specs,.landing-app-detail-section{display:grid;gap:10px}.landing-app-spec-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:0 12px;border-radius:10px;background:#f7f2ede0;border:1px solid rgba(58,54,50,.06)}.landing-app-spec-row span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#3a363294}.landing-scene-card{position:absolute;inset:18px auto auto 0;width:min(270px,54%);padding:24px;border-radius:28px;background:linear-gradient(140deg,#ffffffe6,#fffaf5bf),linear-gradient(135deg,#d4a59a1f,#7a9b7f14);border:1px solid rgba(255,255,255,.74);box-shadow:0 22px 40px #3a36321c}.landing-scene-card__eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8d6f67}.landing-scene-card__copy{margin-top:10px;font-size:16px;line-height:1.6;color:#3a3632c2}.landing-product-frame{position:relative;width:min(100%,620px);margin:72px 0 0 auto;padding:24px;border-radius:36px;background:linear-gradient(180deg,#ffffffeb,#f9f5f0d1),linear-gradient(135deg,#7a9b7f1a,#d4a59a14);border:1px solid rgba(255,255,255,.88);box-shadow:0 34px 60px #3a363224,inset 0 1px #ffffffc2}.landing-product-frame:before{content:"";position:absolute;inset:-16px 40px auto auto;width:130px;height:130px;border-radius:32px;background:radial-gradient(circle at 30% 30%,#ffffffad,#d4a59a1f);filter:blur(2px)}.landing-product-frame__header,.landing-ui-card__header,.landing-overview-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.landing-product-frame__label,.landing-ui-card__header span,.landing-overview-card__header span{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3a363275}.landing-product-frame__header h2,.landing-ui-card h3,.landing-overview-card h3{margin:6px 0 0;font-size:21px;line-height:1.15;letter-spacing:-.03em}.landing-status-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:34px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:700}.landing-status-pill--sage{background:#7a9b7f24;color:#5f7963}.landing-status-pill--amber{background:#d8ae7b2e;color:#9b6b43}.landing-status-pill--clay{background:#c48f7e29;color:#8d6459}.landing-product-frame__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:22px}.landing-ui-card,.landing-overview-card,.landing-step-card,.landing-feature-card,.landing-reassurance-card,.landing-story-card,.landing-final-cta,.landing-faq-item{border-radius:28px;background:#ffffffd1;border:1px solid rgba(58,54,50,.08);box-shadow:0 18px 34px #3a363214}.landing-ui-card{padding:20px}.landing-ui-card--history{grid-column:1 / -1}.landing-equipment-list,.landing-task-groups,.landing-history-stack{display:grid;gap:12px;margin:18px 0 0}.landing-equipment-list{padding:0;list-style:none}.landing-equipment-list li,.landing-history-item,.landing-task-group{display:grid;gap:4px;padding:14px 16px;border-radius:20px;background:#f7f2ede0}.landing-equipment-list strong,.landing-history-item strong,.landing-task-group strong,.landing-overview-highlight{font-size:15px;letter-spacing:-.02em}.landing-equipment-list span,.landing-history-item span,.landing-task-group p,.landing-overview-list span,.landing-history-stack span,.landing-overview-card small{margin:0;color:#3a3632a8;font-size:14px;line-height:1.5}.landing-task-group{gap:6px;background:#7a9b7f1a}.landing-task-group--overdue{background:#c48f7e1f}.landing-history-item+.landing-history-item{margin-top:10px}.landing-floating-plan{position:absolute;right:18px;bottom:26px;width:min(280px,52%);padding:22px;border-radius:24px;background:linear-gradient(180deg,#708f76f5,#66826cf2);color:#ffffffeb;box-shadow:0 28px 48px #5c76623d}.landing-floating-plan__label{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff9e}.landing-floating-plan strong{display:block;font-size:18px;line-height:1.4}.landing-floating-plan p{margin-top:10px;font-size:14px;line-height:1.55;color:#ffffffbd}.landing-copy-block{max-width:560px}.landing-problem,.landing-storytelling,.landing-reassurance{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:28px;align-items:center}.landing-problem__cards,.landing-reassurance__grid{display:grid;gap:18px}.landing-story-card{padding:28px}.landing-story-card--muted{background:#ffffffad}.landing-story-card--accent{background:linear-gradient(180deg,#7a9b7f1f,#ffffffdb)}.landing-story-card__tag{display:inline-block;margin-bottom:16px;padding:8px 12px;border-radius:999px;background:#ffffffbd;color:#3a3632b8;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.landing-story-card ul{display:grid;gap:14px;margin:0;padding:0;list-style:none}.landing-story-card li{position:relative;padding-left:28px;color:#3a3632bd;line-height:1.65}.landing-story-card li:before{content:"";position:absolute;top:9px;left:0;width:12px;height:12px;border-radius:999px;background:#7a9b7f59;box-shadow:inset 0 0 0 3px #ffffffc7}.landing-section-heading{max-width:720px}.landing-steps-grid,.landing-features-grid{display:grid;gap:18px;margin-top:34px}.landing-steps-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-features-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-step-card,.landing-feature-card,.landing-reassurance-card{padding:28px}.landing-step-card__eyebrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#7a9b7f1f;color:#658069;font-size:13px;font-weight:800;letter-spacing:.1em}.landing-step-card h3,.landing-feature-card h3,.landing-reassurance-card h3{margin-top:18px;font-size:23px;letter-spacing:-.03em}.landing-step-card p,.landing-feature-card p,.landing-reassurance-card p,.landing-faq-item p{margin-top:12px;color:#3a3632bd;font-size:16px;line-height:1.7}.landing-feature-card span{display:block;margin-top:16px;color:#68846c;font-size:14px;line-height:1.55}.landing-storytelling__visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.landing-overview-card{padding:22px}.landing-overview-card--wide{grid-column:1 / -1}.landing-overview-list,.landing-status-list{display:grid;gap:12px;margin-top:18px}.landing-overview-list div,.landing-history-stack div{display:grid;gap:4px;padding:14px 0}.landing-overview-list div+div,.landing-history-stack div+div{border-top:1px solid rgba(58,54,50,.08)}.landing-status-list{display:flex;gap:10px;flex-wrap:wrap}.landing-final-cta{padding:40px;text-align:center;background:linear-gradient(180deg,#ffffffe0,#f8f3eee6),linear-gradient(135deg,#7a9b7f1a,#d4a59a14)}.landing-final-cta .landing-body-md{margin-left:auto;margin-right:auto}.landing-faq-list{display:grid;gap:14px;margin-top:32px}.landing-faq-item{padding:0 24px}.landing-faq-item summary{position:relative;padding:22px 36px 22px 0;cursor:pointer;list-style:none;font-size:19px;font-weight:700;letter-spacing:-.03em}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"+";position:absolute;top:18px;right:0;color:#3a36328a;font-size:28px;line-height:1}.landing-faq-item[open] summary:after{content:"−"}.landing-faq-item p{margin:0;padding:0 0 24px}@media (max-width: 1080px){.landing-hero__grid,.landing-problem,.landing-storytelling,.landing-reassurance,.landing-steps-grid,.landing-features-grid{grid-template-columns:1fr}.landing-hero__visual{min-height:auto;gap:18px;padding-top:0;align-items:start}.landing-app-window{position:relative;width:100%}.landing-app-window--homes,.landing-app-window--equipment{inset:auto}.landing-app-window--homes{max-width:420px}.landing-app-window--equipment{margin-top:-42px;margin-left:auto}.landing-storytelling__visual{order:-1}}@media (max-width: 860px){.landing-menu-button{display:inline-flex;align-items:center;justify-content:center}.landing-nav{position:absolute;top:calc(100% + 10px);left:12px;right:12px;display:none;flex-direction:column;align-items:stretch;gap:6px;padding:14px;border-radius:24px;background:#faf8f5fa;border:1px solid rgba(58,54,50,.08);box-shadow:0 22px 34px #3a36321f}.landing-nav--open{display:flex}.landing-nav__cta{margin-left:0;margin-top:4px}.landing-nav__link{justify-content:flex-start;padding:0 16px;background:#ffffffb3}.landing-hero{padding-top:20px}.landing-hero__notes,.landing-product-frame__grid,.landing-storytelling__visual{grid-template-columns:1fr}.landing-app-window--equipment{margin-top:0}.landing-app-page-header--row,.landing-app-task-row{align-items:flex-start;flex-direction:column}.landing-floating-plan,.landing-scene-card{position:relative;inset:auto;width:100%}.landing-hero__visual{gap:18px;padding-top:0}.landing-app-card__actions,.landing-app-inline-actions{width:100%}.landing-product-frame{margin-left:0;width:100%}}@media (max-width: 640px){.landing-header__inner{min-height:64px}.landing-shell{width:min(100% - 20px,1180px)}.landing-section{padding:44px 0}.landing-title-xl{font-size:42px}.landing-title-lg{font-size:34px}.landing-body-lg,.landing-body-md{font-size:17px}.landing-note-card,.landing-step-card,.landing-feature-card,.landing-reassurance-card,.landing-story-card,.landing-ui-card,.landing-overview-card,.landing-final-cta,.landing-faq-item{border-radius:24px}.landing-product-frame{padding:18px;border-radius:28px}.landing-final-cta{padding:32px 20px}.landing-faq-item{padding:0 18px}}:root{--warm-cream: #faf8f5;--warm-sand: #e8e3da;--warm-stone: #c9c1b5;--warm-gray: #8c8781;--warm-charcoal: #3a3632;--muted-green: #7a9b7f;--muted-green-dark: #6a8a6f;--soft-terracotta: #d4a59a;--soft-clay: #c48f7e;--state-due-today: #e8a87c;--state-due-today-subtle: rgba(232, 168, 124, .16);--state-overdue: #c48f7e;--state-overdue-subtle: rgba(196, 143, 126, .14);--state-completed: #7a9b7f;--state-completed-subtle: rgba(122, 155, 127, .14);--state-upcoming: #a8b5a8;--state-upcoming-subtle: rgba(168, 181, 168, .16);--bg: var(--warm-cream);--surface: #ffffff;--surface-muted: var(--warm-cream);--surface-raised: #ffffff;--text-primary: var(--warm-charcoal);--text-secondary: var(--warm-gray);--text-disabled: #b5aea9;--text-inverse: #ffffff;--accent: var(--muted-green);--accent-strong: var(--muted-green-dark);--accent-subtle: rgba(122, 155, 127, .1);--success: var(--state-completed);--success-subtle: rgba(122, 155, 127, .1);--warning: #d4a876;--warning-subtle: rgba(212, 168, 118, .1);--danger: var(--soft-clay);--danger-strong: #b37d6d;--danger-subtle: rgba(196, 143, 126, .1);--info: var(--warm-stone);--info-subtle: rgba(201, 193, 181, .1);--border: rgba(58, 54, 50, .12);--border-muted: rgba(58, 54, 50, .06);--border-strong: rgba(58, 54, 50, .18);--focus: var(--accent);--focus-ring: rgba(122, 155, 127, .18);--focus-outline: rgba(122, 155, 127, .38);--shadow-sm: 0 1px 4px rgba(58, 54, 50, .08);--shadow-md: 0 4px 16px rgba(58, 54, 50, .1);--shadow-lg: 0 8px 32px rgba(58, 54, 50, .12);--accent-shadow-sm: 0 4px 12px rgba(122, 155, 127, .24);--accent-shadow-md: 0 4px 14px rgba(122, 155, 127, .28);--header-backdrop: rgba(250, 248, 245, .88);--hero-copy-muted: rgba(255, 255, 255, .88);--hero-copy-subtle: rgba(255, 255, 255, .62);--auth-hero-gradient: linear-gradient(155deg, var(--muted-green-dark) 6%, var(--warm-stone) 54%, var(--soft-terracotta) 100%);--skeleton-highlight: rgba(255, 255, 255, .72);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--font-ui: "Inter", "Manrope", sans-serif;--font-display: "Manrope", "Inter", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--container-max: 1200px;--shell-header-h: 56px;--nav-rail-w: 220px}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;font-family:var(--font-ui);font-size:16px;line-height:1.5;color:var(--text-primary);background:radial-gradient(860px 420px at 92% -12%,rgba(212,165,154,.18),transparent 72%),radial-gradient(760px 420px at -14% 118%,rgba(122,155,127,.1),transparent 72%),var(--bg)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin:0;line-height:1.15}p{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:flex;flex-direction:column;min-height:100vh;padding-top:var(--safe-top)}.app-header{position:sticky;top:0;z-index:100;height:var(--shell-header-h);background:var(--header-backdrop);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-muted);display:flex;align-items:center;padding:0 var(--space-5);gap:var(--space-4)}.app-header__logo{font-family:var(--font-display);font-size:17px;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;text-decoration:none}.app-header__logo-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.app-header__nav{display:flex;align-items:center;gap:var(--space-1);flex:1}.app-header__actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:14px;font-weight:600;color:var(--text-secondary);text-decoration:none;transition:background .15s ease,color .15s ease;white-space:nowrap;min-height:44px}.nav-link:hover,.nav-link.active,.nav-link[aria-current=page]{background:var(--accent-subtle);color:var(--accent)}.nav-link:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.app-main{flex:1;padding:var(--space-6) var(--space-5);padding-bottom:calc(var(--space-6) + var(--safe-bottom));max-width:var(--container-max);width:100%;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:40px;border-radius:var(--radius-md);font-family:var(--font-ui);font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.btn:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn--primary{background:var(--accent);color:var(--text-inverse)}.btn--primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:var(--accent-shadow-sm)}.btn--secondary{background:var(--surface);border-color:var(--border);color:var(--text-primary)}.btn--secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--text-primary)}.btn--danger{background:var(--danger);color:var(--text-inverse)}.btn--danger:hover:not(:disabled){background:var(--danger-strong)}.btn--sm{height:32px;padding:0 var(--space-3);font-size:13px;border-radius:var(--radius-sm)}.btn--lg{height:48px;padding:0 var(--space-6);font-size:15px;border-radius:var(--radius-lg)}.card{background:var(--surface);border:1px solid var(--border-muted);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card--interactive{cursor:pointer;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.card--interactive:hover{box-shadow:var(--shadow-md);border-color:var(--border);transform:translateY(-1px)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.page-header__title{font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.page-header__subtitle{font-size:14px;color:var(--text-secondary);margin-top:var(--space-1)}.homes-page{display:grid;gap:var(--space-5)}.home-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:start}.home-form--collapsed{grid-template-columns:1fr}.home-form--collapsed .btn{width:100%}.home-form__input{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:16px;min-height:44px;padding:0 var(--space-4);width:100%}.home-form__input:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.home-form__error{grid-column:1 / -1;color:var(--danger);font-size:13px;background:var(--danger-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0}.home-success{color:var(--success);font-size:14px;background:var(--success-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0}.homes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4);align-items:start}.home-card{display:grid;gap:var(--space-3);padding:var(--space-4)}.list-card{border-color:var(--border);box-shadow:var(--shadow-sm);align-content:start}.list-card__header{display:grid;gap:4px}.list-card__meta{margin:0}.list-card__footer{display:grid;gap:var(--space-2)}.list-card__primary-action{width:100%}.list-card__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.list-card__actions .btn{flex:1 1 120px}.home-card__title{font-size:20px;font-weight:800;letter-spacing:-.02em}.home-card__meta{font-size:13px;color:var(--text-secondary)}.home-card__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.home-card__edit{display:grid;gap:var(--space-3)}.home-card__input{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:16px;min-height:40px;padding:0 var(--space-3);width:100%}.home-card__input:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.home-card-skeleton{min-height:150px}.home-error{padding:var(--space-4);display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}.home-error__title{font-size:15px;font-weight:600}.equipment-page{display:grid;gap:var(--space-5)}.equipment-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}.equipment-form{display:grid;gap:var(--space-3);padding:var(--space-4)}.equipment-create-action{display:flex;align-items:center;width:100%}.equipment-create-action .btn{width:100%}.equipment-form--collapsed{display:flex;align-items:center;width:100%}.equipment-form--collapsed .btn{width:100%}.equipment-form__title{font-size:18px;font-weight:700;letter-spacing:-.01em}.equipment-form__field{display:grid;gap:var(--space-2)}.equipment-form__field>span{font-size:13px;color:var(--text-secondary)}.equipment-form__field input,.equipment-form__field select{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:16px;min-height:40px;padding:0 var(--space-3);width:100%}.equipment-form__field input:focus-visible,.equipment-form__field select:focus-visible,.equipment-form__field textarea:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.equipment-form__field textarea{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:16px;line-height:1.5;min-height:84px;padding:var(--space-2) var(--space-3);resize:vertical;width:100%}.equipment-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start}@media (min-width: 1025px){.equipment-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.equipment-card{display:grid;gap:var(--space-3);padding:var(--space-4)}.equipment-card__specs{display:grid;gap:var(--space-2)}.equipment-card__spec{align-items:center;background:var(--surface-muted);border:1px solid var(--border-muted);border-radius:var(--radius-sm);display:flex;justify-content:space-between;gap:var(--space-3);min-height:40px;padding:0 var(--space-3)}.equipment-card__label{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.equipment-card__value{color:var(--text-primary);font-size:14px;font-weight:600;text-align:right;word-break:break-word}.equipment-card__details{background:var(--surface-muted);border:1px solid var(--border-muted);border-radius:var(--radius-md);display:grid;gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-4)}.equipment-form--detail{border:none;padding:0}.reveal-panel{animation:reveal-down .2s ease}@keyframes reveal-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.plan-section{border-top:1px solid var(--border-muted);display:grid;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-4)}.plan-section--first{border-top:none;margin-top:0;padding-top:0}.plan-list{display:grid;gap:var(--space-3)}.plan-card{border:1px solid var(--border-muted);border-radius:var(--radius-md);display:grid;gap:var(--space-2);padding:var(--space-3)}.plan-card__title{font-size:16px;font-weight:700;letter-spacing:-.01em}.dashboard-groups{display:grid;gap:var(--space-3);padding:var(--space-4)}.dashboard-groups__grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.dashboard-group-card{align-content:start}.dashboard-task-row{align-items:center;border:1px solid var(--border-muted);border-radius:var(--radius-sm);display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-2) var(--space-3)}.dashboard-task-row__title{font-size:14px;font-weight:700;margin:0}.dashboard-task-row__actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-7) var(--space-5);gap:var(--space-4)}.empty-state__icon{width:64px;height:64px;border-radius:var(--radius-xl);background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;font-size:28px}.empty-state__title{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-primary)}.empty-state__description{font-size:14px;color:var(--text-secondary);max-width:360px;line-height:1.6}.tabs{display:flex;align-items:center;gap:var(--space-1);border-bottom:1px solid var(--border-muted);margin-bottom:var(--space-5);overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:14px;font-weight:600;color:var(--text-secondary);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .15s ease,border-color .15s ease;min-height:44px}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab:focus-visible{outline:2px solid var(--focus-outline);outline-offset:-2px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,var(--border-muted) 25%,var(--skeleton-highlight) 50%,var(--border-muted) 75%);background-size:800px 100%;animation:shimmer 1.4s ease-in-out infinite}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6}.badge--success{background:var(--state-completed-subtle);color:var(--state-completed)}.badge--warning{background:var(--state-due-today-subtle);color:var(--state-due-today)}.badge--danger{background:var(--state-overdue-subtle);color:var(--state-overdue)}.badge--info{background:var(--info-subtle);color:var(--info)}.badge--neutral{background:var(--state-upcoming-subtle);color:var(--state-upcoming)}.language-switcher{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.language-switcher__label{font-size:12px;color:var(--text-secondary)}.language-switcher__buttons{display:inline-flex;gap:8px}.language-switcher--dropdown{gap:0}.language-switcher__select-wrap{position:relative;display:inline-flex;align-items:center}.language-switcher__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:112px;height:42px;padding:0 40px 0 14px;border:1px solid rgba(58,54,50,.1);border-radius:999px;background:#fffffff5;color:var(--text-primary);font:inherit;font-size:14px;font-weight:600;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;box-shadow:0 10px 22px #3a363214,inset 0 1px #ffffffd9}.language-switcher__select:hover:not(:disabled){border-color:#3a36322e}.language-switcher__select:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.language-switcher__select:disabled{opacity:.55;cursor:not-allowed}.language-switcher__chevron{position:absolute;right:14px;pointer-events:none;color:var(--text-secondary);font-size:12px}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;padding-top:calc(20px + var(--safe-top));padding-bottom:calc(20px + var(--safe-bottom))}.auth-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1100px;overflow:hidden;width:100%}.auth-shell__brand{background:var(--auth-hero-gradient);color:var(--text-inverse);display:flex;flex-direction:column;justify-content:space-between;min-height:560px;padding:var(--space-6)}.auth-brand-copy{max-width:360px}.auth-brand-copy__eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 var(--space-3);opacity:.75}.auth-brand-copy__title{font-family:var(--font-display);font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1.04;margin:0}.auth-brand-copy__description{color:var(--hero-copy-muted);font-size:16px;line-height:1.55;margin:var(--space-4) 0 0}.auth-brand-copy__hint{color:var(--hero-copy-subtle);font-size:12px;margin:0}.auth-shell__form-side{align-items:center;background:var(--surface-muted);display:flex;justify-content:center;min-height:560px;padding:var(--space-6)}.auth-shell__form-column{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-3)}.auth-shell__controls{display:flex;justify-content:flex-end;margin-bottom:2px}.auth-card{background:var(--surface);border:1px solid var(--border-muted);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);width:100%}.auth-card__title{font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0 0 var(--space-5)}.auth-form{display:grid;gap:var(--space-3)}.auth-input{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:16px;height:44px;padding:0 var(--space-4);width:100%;transition:border-color .15s ease,box-shadow .15s ease}.auth-input::placeholder{color:var(--text-disabled)}.auth-input:hover{border-color:var(--border-strong)}.auth-input:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.auth-error{color:var(--danger);font-size:13px;background:var(--danger-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0}.auth-button{align-items:center;border-radius:var(--radius-md);display:flex;font-family:var(--font-ui);font-size:15px;font-weight:700;height:44px;justify-content:center;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease}.auth-button--primary{background:var(--accent);border:1.5px solid transparent;color:var(--text-inverse)}.auth-button--primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:var(--accent-shadow-md)}.auth-button--secondary{background:var(--surface);border:1.5px solid var(--border);color:var(--text-primary)}.auth-button--secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted)}.auth-button:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.auth-button:active{transform:translateY(1px)}.auth-button:disabled{cursor:not-allowed;opacity:.55;transform:none}@media (max-width: 1024px){.auth-brand-copy__title{font-size:38px}.app-main{padding:var(--space-5) var(--space-4)}.equipment-layout{grid-template-columns:1fr}}@media (max-width: 860px){.auth-shell{grid-template-columns:1fr}.auth-shell__brand{min-height:200px;padding:var(--space-5)}.auth-brand-copy__title{font-size:32px}.auth-shell__form-side{min-height:auto;padding:var(--space-5)}}@media (max-width: 520px){.auth-page{padding:var(--space-3)}.auth-brand-copy__title{font-size:28px}.auth-card__title{font-size:24px}.auth-card{padding:var(--space-5)}.language-switcher__select{min-width:96px;height:40px;padding-left:12px;padding-right:34px;font-size:13px}.language-switcher__chevron{right:12px}.page-header__title{font-size:22px}.home-form{grid-template-columns:1fr}.dashboard-task-row{align-items:flex-start;flex-direction:column}.app-header{padding:0 var(--space-3);gap:var(--space-2)}.app-header__logo-text{display:none}.app-header__logo-dot{width:24px;height:24px}.nav-link{padding:var(--space-2);font-size:13px}.btn--sm{padding:0 var(--space-2);font-size:12px;height:30px}}@media (display-mode: standalone){html{overscroll-behavior:none}body{padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right)}.app-header{top:var(--safe-top)}.app-shell{padding-top:0}}
