.start-visit{margin-top:var(--space-3);border-color:var(--color-accent-soft);background:linear-gradient(to bottom, var(--color-accent-soft), var(--color-surface) var(--space-8)), var(--color-surface)}.start-visit__form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.start-visit__form>:first-child{flex:200px}.start-visit__form>.btn{flex:1 0 auto}@media (width>=600px){.start-visit__form>.btn{padding:0 var(--space-6);flex:none}}.start-visit__hint{color:var(--color-text-muted);font-size:var(--text-sm)}.visit{gap:var(--space-4);flex-direction:column;display:flex}.visit__status{align-items:center;gap:var(--space-2);margin-top:calc(var(--space-2) * -1);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:inline-flex}.visit__status:before{content:"";border-radius:var(--radius-pill);background:var(--color-accent);width:8px;height:8px;box-shadow:0 0 0 4px var(--color-accent-soft);animation:pulse 2s var(--ease-out) infinite}@keyframes pulse{50%{box-shadow:0 0 0 1px var(--color-accent-soft)}}.visit__bar{top:calc(var(--header-height) + var(--space-2));z-index:5;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);display:flex;position:sticky}.visit__bar .progress{flex:1}.visit__percent,.visit__count{font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.visit-room__header{align-items:center;gap:var(--space-3);display:flex}.visit-room__header h3{font-size:var(--text-lg);flex:1}.visit-room__count{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.visit-room__tasks{margin:0 calc(var(--space-2) * -1);flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.visit-skip{min-height:var(--tap-target);padding:0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.visit-skip:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-sunken)}.visit-skip--on{background:var(--color-surface-sunken);color:var(--color-text)}.visit-room__note .field__label,.visit-room__note.field .field__label{color:var(--color-text-muted)}.visit-finish{border-color:var(--color-moderate-text);background:var(--color-moderate-bg);animation:rise var(--duration-base) var(--ease-out) both}.visit-finish p{color:var(--color-moderate-text);font-weight:var(--weight-semibold)}.visit-finish__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.visit-finish__actions>.btn{flex:140px}.visit-finish__button{min-height:calc(var(--tap-target) + var(--space-2));margin-top:var(--space-2);font-size:var(--text-lg);box-shadow:var(--shadow-md);align-self:stretch}.report{gap:var(--space-4);flex-direction:column;display:flex}.report__header{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;display:flex}.report__header h2{margin-bottom:var(--space-2);color:var(--color-text)}.report__client{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.015em}.report .card h3{font-size:var(--text-lg)}.report .card p+p{color:var(--color-text-muted)}.report__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.report__back{padding:var(--space-2);font-size:var(--text-sm);margin-left:auto}.report__issues{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.report__issues>li{padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.report__issues>li:first-child{border-top:0;padding-top:0}.report__issues .badge{margin-right:var(--space-1);text-transform:capitalize}@media print{.report{display:block}.report>*{margin-bottom:12pt}}.issues__form{gap:var(--space-4);display:grid}.issues__severity{gap:var(--space-2);border:0;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.issues__severity legend{margin-bottom:var(--space-2);padding:0}.issues__option{align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:0 var(--space-4) 0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);display:inline-flex}.issues__option:hover{background:var(--color-surface-sunken)}.issues__option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.issues__option input{cursor:pointer;width:18px;height:18px;margin:0}.issues__empty{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.issues__list{margin:var(--space-2) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.issues__item{align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);animation:rise var(--duration-base) var(--ease-out) both;grid-template-columns:1fr auto;display:grid}.issues__meta{align-items:center;gap:var(--space-2);grid-column:1;display:flex}.issues__room{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.issues__text{grid-column:1}.issues__item>.btn{font-size:var(--text-sm);color:var(--color-text-muted);grid-area:1/2/span 2}.issues__item>.btn:hover:not(:disabled){color:var(--color-danger);background:var(--color-danger-soft)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Inter", "SF Pro Text", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"SF Pro Display", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--leading-tight:1.2;--leading-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--content-max:720px;--gutter:var(--space-4);--tap-target:44px;--header-height:56px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--rise-distance:6px;--focus-width:3px;--focus-offset:2px;--color-bg:#f5f7f6;--color-surface:#fff;--color-surface-sunken:#edf1ef;--color-border:#dbe2df;--color-border-strong:#b4c0bb;--color-text:#15201c;--color-text-muted:#52605a;--color-accent:#0e7a6b;--color-accent-strong:#0a5f53;--color-accent-soft:#dff2ed;--color-on-accent:#fff;--color-danger:#b42318;--color-danger-strong:#8f1c13;--color-danger-soft:#fde7e5;--color-on-danger:#fff;--color-focus:#0e7a6b;--color-minor-bg:#fdf2d3;--color-minor-text:#75510a;--color-moderate-bg:#fde3c7;--color-moderate-text:#8a3b00;--color-urgent-bg:#fde2df;--color-urgent-text:#a11d14;--shadow-color:#10282214;--shadow-color-strong:#10282224;--shadow-sm:0 1px 2px var(--shadow-color);--shadow-md:0 1px 2px var(--shadow-color), 0 6px 16px -6px var(--shadow-color-strong);--shadow-lg:0 1px 2px var(--shadow-color), 0 12px 32px -12px var(--shadow-color-strong)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#0e1412;--color-surface:#161e1b;--color-surface-sunken:#1b2521;--color-border:#283430;--color-border-strong:#3d4c46;--color-text:#e5ece9;--color-text-muted:#9aa9a3;--color-accent:#3cc3ac;--color-accent-strong:#63d4c0;--color-accent-soft:#123a33;--color-on-accent:#04201b;--color-danger:#f2766d;--color-danger-strong:#f79a93;--color-danger-soft:#3d1714;--color-on-danger:#2a0704;--color-focus:#63d4c0;--color-minor-bg:#382c0c;--color-minor-text:#f2cd6b;--color-moderate-bg:#41260e;--color-moderate-text:#f6aa62;--color-urgent-bg:#471916;--color-urgent-text:#ff9e95;--shadow-color:#0000004d;--shadow-color-strong:#00000080}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;margin:0}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--leading-tight);margin:0}h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.025em}h3{font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.015em}h4{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}p{margin:0}:where(a){color:var(--color-accent-strong);font-weight:var(--weight-medium);text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-out), text-decoration-thickness var(--duration-fast) var(--ease-out);border-radius:4px;text-decoration-line:underline;text-decoration-thickness:1px}:where(a:hover){color:var(--color-accent);text-decoration-thickness:2px}input[type=radio],input[type=checkbox]{accent-color:var(--color-accent)}select.field__control{cursor:pointer}::selection{background:var(--color-accent-soft);color:var(--color-text)}.back-link{align-self:flex-start;align-items:center;gap:var(--space-1);min-height:var(--tap-target);margin:calc(var(--space-2) * -1) 0 calc(var(--space-2) * -1) calc(var(--space-2) * -1);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);text-decoration:none;display:inline-flex}.back-link:before{content:"";width:7px;height:7px;margin:0 var(--space-1) 0 2px;transition:transform var(--duration-fast) var(--ease-out);border-bottom:2px solid;border-left:2px solid;transform:rotate(45deg)}.back-link:hover{color:var(--color-text);background:var(--color-surface-sunken)}.back-link:hover:before{transform:translate(-2px)rotate(45deg)}.inline-empty{padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.confirm{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft);animation:rise var(--duration-base) var(--ease-out) both;flex-direction:column;display:flex}.confirm p{font-weight:var(--weight-semibold);margin:0}.confirm .client-actions{margin:0}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise-distance))}to{opacity:1;transform:none}}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.app{min-height:100dvh}.app-header{z-index:10;background:color-mix(in srgb, var(--color-surface) 86%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(12px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.app-header__inner{align-items:center;gap:var(--space-3);max-width:var(--content-max);min-height:var(--header-height);padding:var(--space-2) var(--gutter);margin:0 auto;display:flex}.app-header__mark{border-radius:var(--radius-sm);background:linear-gradient(var(--color-on-accent), var(--color-on-accent)) 7px 9px / 14px 2px no-repeat, linear-gradient(var(--color-on-accent), var(--color-on-accent)) 7px 13px / 10px 2px no-repeat, linear-gradient(var(--color-on-accent), var(--color-on-accent)) 7px 17px / 12px 2px no-repeat, var(--color-accent);width:28px;height:28px;box-shadow:var(--shadow-sm)}.app-header__title{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em}.app-main{max-width:var(--content-max);padding:var(--space-5) var(--gutter) var(--space-8);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.app-main>*{animation:rise var(--duration-slow) var(--ease-out) both}@media (width>=600px){:root{--gutter:var(--space-5)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);min-width:var(--tap-target);padding:0 var(--space-4);border-radius:var(--radius-md);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--color-accent-strong)}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.btn--danger{background:var(--color-danger);color:var(--color-on-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger-strong)}.btn--ghost{color:var(--color-accent-strong);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-accent-soft)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.field__control{min-height:var(--tap-target);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color var(--duration-fast) var(--ease-out)}.field__control:hover{border-color:var(--color-text-muted)}.field__control:focus-visible{border-color:var(--color-focus);outline-offset:0}.field__control--multiline{resize:vertical;line-height:var(--leading-normal)}.field__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.check-row{align-items:center;gap:var(--space-2);min-height:var(--tap-target);border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-out);display:flex}.check-row:hover{background:var(--color-surface-sunken)}.check-row__box{width:24px;height:24px;margin:0 0 0 var(--space-2);accent-color:var(--color-accent);cursor:pointer;flex:none}.check-row__label{min-height:var(--tap-target);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-1);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);flex:1;align-items:center;display:flex}.check-row--checked .check-row__label{color:var(--color-text-muted)}.check-row--muted .check-row__label{color:var(--color-text-muted);text-decoration:line-through}.check-row__trailing{flex:none;align-items:center;display:flex}.progress{border-radius:var(--radius-pill);background:var(--color-surface-sunken);width:100%;height:10px;overflow:hidden}.progress__fill{border-radius:inherit;background:var(--color-accent);height:100%;transition:width var(--duration-slow) var(--ease-out)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;line-height:1.5;display:inline-flex}.badge--neutral{background:var(--color-surface-sunken);color:var(--color-text-muted)}.badge--success{background:var(--color-accent-soft);color:var(--color-accent-strong)}.badge--minor{background:var(--color-minor-bg);color:var(--color-minor-text)}.badge--moderate{background:var(--color-moderate-bg);color:var(--color-moderate-text)}.badge--urgent{background:var(--color-urgent-bg);color:var(--color-urgent-text)}.empty{align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex}.empty__mark{width:56px;height:56px;margin-bottom:var(--space-2);border-radius:var(--radius-lg);background:linear-gradient(var(--color-accent), var(--color-accent)) 50% 50% / 24px 3px no-repeat, linear-gradient(var(--color-accent), var(--color-accent)) 50% 50% / 3px 24px no-repeat, var(--color-accent-soft)}.empty__title{font-size:var(--text-xl);font-weight:var(--weight-bold)}.empty__message{max-width:32ch;color:var(--color-text-muted)}.empty__action{margin-top:var(--space-3)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.app-header,.screen-only{display:none!important}body{background:0 0}.app-main{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid}}.client-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.client-list__item{gap:var(--space-1);padding:var(--space-4) var(--space-7) var(--space-4) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);flex-direction:column;display:flex;position:relative}.client-list__item:after{content:"";top:50%;right:var(--space-5);border-top:2px solid var(--color-text-muted);border-right:2px solid var(--color-text-muted);width:8px;height:8px;transition:transform var(--duration-base) var(--ease-out);pointer-events:none;position:absolute;transform:translateY(-50%)rotate(45deg)}.client-list__item:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.client-list__item:hover:after{transform:translate(3px,-50%)rotate(45deg)}.client-list__item:active{transform:scale(.99)}.client-list__item:has(.client-list__link:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.client-list__link{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em;text-decoration:none}.client-list__link:hover{color:var(--color-text)}.client-list__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.client-list__link:focus-visible{outline:none}.client-list__address{color:var(--color-text-muted);font-size:var(--text-sm)}.client-list__last-visit{align-items:center;gap:var(--space-2);margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;display:inline-flex}.client-list__last-visit:before{content:"";border-radius:var(--radius-pill);background:var(--color-accent);flex:none;width:6px;height:6px}.client-form{gap:var(--space-4);flex-direction:column;display:flex}.client-detail__address{margin-top:calc(var(--space-2) * -1);color:var(--color-text-muted)}.client-detail__notes{padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-accent-soft);white-space:pre-wrap}.client-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.rooms{gap:var(--space-3);margin-top:var(--space-5);flex-direction:column;display:flex}.rooms__add-title{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase}.room-card__name{font-size:var(--text-lg)}.room-card__tasks{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.room-card__tasks>li{border-bottom:1px solid var(--color-border)}.room-card__empty{color:var(--color-text-muted);font-size:var(--text-sm)}.task-row{align-items:center;gap:var(--space-1);min-height:var(--tap-target);display:flex}.task-row__name{min-width:0;padding:var(--space-2) 0;flex:auto}.task-row .btn,.room-card .client-actions .btn--ghost{padding:0 var(--space-3);font-size:var(--text-sm)}.task-row .btn--ghost{color:var(--color-text-muted)}.task-row .btn--ghost:hover{color:var(--color-accent-strong)}.task-row__form{gap:var(--space-3);padding:var(--space-3) 0;flex-direction:column;display:flex}.task-add{align-items:flex-end;gap:var(--space-2);display:flex}.task-add .field{flex:1;min-width:0}.room-card .client-actions{margin:0 calc(var(--space-3) * -1)}.visit-history{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.visit-history__item{align-items:center;gap:var(--space-1) var(--space-3);min-height:var(--tap-target);padding:var(--space-2) 0;border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.visit-history__link{font-weight:var(--weight-semibold);flex:auto}.visit-history__status,.visit-history__issues{color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.visit-history__status--open{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.6}
