:root{--red:#a71916;--red-dark:#7f0f0c;--blue:#0873bd;--ink:#17191d;--muted:#67707b;--line:#dfe3e7;--card:#fffffff0}*{box-sizing:border-box}html{background:#f7f8f9;min-height:100%}body{min-height:100%;color:var(--ink);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.site-shell{background-color:#fff;min-height:100vh;position:relative;overflow-x:hidden}.site-shell:before{content:none;display:none}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5;background:#fffffff5;border-bottom:1px solid #121c281a;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(16px,2.2vw,42px);min-height:88px;padding:8px clamp(24px,3.5vw,72px);display:grid;position:sticky;top:0}.brand-lockup{justify-self:start;align-items:center;min-width:0;display:flex}.brand-logo-link{border-radius:6px;flex:0 0 clamp(150px,12vw,210px);width:clamp(150px,12vw,210px);display:block}.brand-logo-link:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.brand-logo{object-fit:contain;object-position:left center;mix-blend-mode:multiply;flex:0 0 clamp(150px,12vw,210px);width:clamp(150px,12vw,210px);height:68px;display:block}.header-partner-logo{border-radius:8px;flex:0 0 clamp(110px,10vw,150px);align-items:center;width:clamp(110px,10vw,150px);height:58px;transition:transform .18s;display:flex;overflow:hidden}.header-partner-logo:hover{transform:scale(1.04);box-shadow:0 7px 20px #005c9140}.header-partner-logo:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.header-partner-logo img{object-fit:contain;width:100%;height:100%;display:block}.header-title{text-align:center;white-space:nowrap;justify-content:center;justify-self:center;align-items:baseline;gap:clamp(7px,.8vw,16px);min-width:0;line-height:1;display:flex}.header-title strong{color:var(--ink);letter-spacing:-.035em;font-size:clamp(22px,2.35vw,48px)}.header-title span{color:var(--red);font-size:clamp(14px,1.2vw,24px);font-weight:800}.topbar-right{justify-content:flex-end;justify-self:end;align-items:center;gap:clamp(10px,1.2vw,18px);min-width:0;display:flex}.top-actions{flex:none;align-items:center;gap:10px;display:flex}.save-state{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.save-state.saved{color:#1d7d3c;background:#e4f7e9}.save-state.saving{color:#725400;background:#fff3cd}.save-state.error{color:#b71919;background:#fde8e8}.report-button{color:#fff;background:var(--red);border:0;border-radius:10px;padding:11px 15px;font-weight:800;box-shadow:0 5px 12px #a719162e}.logout-button{color:#5d6570;background:#fff;border:1px solid #d6dbe0;border-radius:10px;padding:10px 13px;font-weight:800}.settings-button{color:#39424c;background:#fff;border:1px solid #c9d0d6;border-radius:10px;padding:10px 13px;font-weight:800}.settings-button:hover{border-color:var(--blue);color:var(--blue)}.view-switch{background:#eef0f2;border-radius:12px;padding:4px;display:flex}.view-switch button{color:#5d6570;background:0 0;border:0;border-radius:9px;padding:9px 14px;font-weight:700}.view-switch button.selected{color:var(--red);background:#fff;box-shadow:0 2px 8px #141c281a}.content{z-index:1;width:min(1220px,100% - 48px);margin:0 auto;padding:54px 0 48px;position:relative}.eyebrow{color:var(--red);letter-spacing:.16em;font-size:12px;font-weight:900}h1{letter-spacing:-.04em;margin:9px 0 10px;font-size:clamp(34px,5vw,56px);line-height:1}.subtitle{color:var(--muted);margin:0 0 26px;font-size:17px}.plan-selectors{background:#ffffffe6;border:1px solid #dce1e5;border-radius:13px;flex-wrap:wrap;align-items:start;gap:12px;width:min(100%,980px);margin:0 0 24px;padding:14px;display:flex;box-shadow:0 6px 18px #171c230d}.plan-selectors>label{flex:260px;gap:5px;display:grid}.plan-selectors>label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}.plan-selectors select{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd2d8;border-radius:9px;padding:10px 34px 10px 11px;font-weight:700}.manage-menu{flex:0 190px;align-self:end;position:relative}.manage-menu summary{color:#4c5560;cursor:pointer;background:#fff;border:1px solid #cbd2d8;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;min-height:42px;padding:9px 13px;font-size:14px;font-weight:800;list-style:none;display:flex}.manage-menu summary::-webkit-details-marker{display:none}.manage-menu summary:after{content:"⌄";color:var(--red);font-size:18px;line-height:1;transition:transform .18s}.manage-menu[open] summary:after{transform:rotate(180deg)}.manage-menu summary:hover,.manage-menu[open] summary{border-color:var(--red);color:var(--red)}.manage-menu-panel{z-index:25;background:#fff;border:1px solid #d7dce0;border-radius:11px;gap:7px;width:min(280px,100vw - 40px);padding:9px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 14px 34px #171c232e}.manage-menu-action{color:#404a54;width:100%;min-height:42px;font:inherit;text-align:left;cursor:pointer;background:#f5f6f7;border:0;border-radius:8px;align-items:center;padding:10px 12px;font-size:14px;font-weight:800;text-decoration:none;display:flex}.manage-menu-action:hover{color:#fff;background:var(--blue)}.manage-menu-action.delete{color:#b71919}.manage-menu-action.delete:hover:not(:disabled){color:#fff;background:#c72525}.manage-menu-action:disabled{color:#8b9299;cursor:not-allowed;background:#eef0f2}.manage-menu-action.disabled{opacity:.65;cursor:wait}.manage-menu-action input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.manage-menu-panel small{color:var(--muted);padding:3px 5px 1px;font-size:11px;line-height:1.25}.manage-menu-panel small.success{color:#1f7c40}.manage-menu-panel small.error{color:#b71919}.title-layout{grid-template-columns:minmax(0,900px) 190px;align-items:center;gap:clamp(20px,2.5vw,34px);display:grid}.customer-view .content{width:min(760px,100% - 32px);padding-top:34px}.customer-view .title-layout{display:block}.customer-view .planning-layout{max-width:none}.customer-view .subtitle{margin-bottom:18px}.partner-logo-link{aspect-ratio:1;background:#fff;border-radius:50%;width:104px;margin:0 auto;transition:transform .18s,box-shadow .18s;display:block;overflow:hidden;box-shadow:0 9px 24px #005c912e}.partner-logo-link:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 12px 28px #005c9140}.partner-logo-link:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.partner-logo-link img{object-fit:cover;width:100%;height:100%;display:block}.planning-layout{max-width:900px;display:block}.schedule-column{min-width:0}.appointments{gap:12px;display:grid}.appointment{background:var(--card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #222b351f;border-radius:17px;gap:16px;padding:18px;transition:transform .18s,opacity .18s;display:flex;box-shadow:0 8px 22px #171c230f}.appointment.done{border:2px solid #35a95d;box-shadow:0 10px 28px #35a95d29}.appointment.active{border-color:#0873bd73;box-shadow:0 10px 26px #0873bd1c}.appointment.missed{border:2px solid #d52f2f;box-shadow:0 10px 28px #d52f2f29}.sequence{color:#4b535c;background:#eff1f3;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.done .sequence{color:#1d7d3c;background:#e4f7e9}.active .sequence{color:var(--blue);background:#e7f4fd}.missed .sequence{color:#b71919;background:#fde8e8}.appointment-main{flex:1;min-width:0}.appointment-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.appointment time,.time-input{color:var(--red);font-size:15px;font-weight:900}.time-input{background:#fff;border:1px solid #cfd5da;border-radius:7px;width:180px;max-width:100%;padding:4px 9px}.appointment.dragging{opacity:.48;border-color:var(--red)}.appointment.drop-target{border-color:var(--blue);transform:translateY(3px);box-shadow:0 0 0 3px #0873bd29,0 10px 26px #0873bd1c}.appointment-head-actions,.reorder-controls{align-items:center;gap:7px;display:flex}.reorder-controls{background:#f5f6f7;border:1px solid #d7dce0;border-radius:8px;padding:3px}.reorder-controls button{color:#4c5560;width:29px;height:29px;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:6px;place-items:center;font-size:17px;font-weight:900;display:grid}.reorder-controls button:hover:not(:disabled){color:#fff;background:var(--red)}.reorder-controls button:disabled{opacity:.3;cursor:not-allowed}.drag-handle{letter-spacing:-4px;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab!important}.drag-handle:active{cursor:grabbing!important}.status-pill{white-space:nowrap;color:#59616b;background:#eef0f2;border-radius:99px;padding:6px 9px;font-size:12px;font-weight:800}.done .status-pill{color:#1d7d3c;background:#e4f7e9}.active .status-pill{color:var(--blue);background:#e7f4fd}.missed .status-pill{color:#b71919;background:#fde8e8}.address{margin:12px 0 2px;font-weight:700}.detail{color:var(--muted);margin:0}.resident-name{color:var(--ink);margin:5px 0 0;font-size:14px;font-weight:800;line-height:1.35}.record-meta{color:#4e5965;margin:6px 0 0;font-size:13px;font-weight:700}.apartment-size{color:#3f4852;background:#eef0f2;border-radius:999px;margin:7px 0 0;padding:4px 9px;font-size:13px;font-weight:800;display:inline-block}.contact-line{flex-wrap:wrap;gap:6px 16px;margin:8px 0 0;font-size:13px;display:flex}.contact-line a{color:var(--blue);font-weight:700;text-decoration:none}.notice{color:#7b5300;background:#fff3cd;border-radius:8px;margin-top:12px;padding:7px 10px;font-size:13px;font-weight:700;display:inline-block}.employee-controls{gap:10px;margin-top:13px;display:grid}.employee-controls label{gap:5px;display:grid}.employee-controls label span{color:#606975;font-size:12px;font-weight:800}.employee-controls label:first-child span:after{content:" · nicht für Kunden sichtbar";color:#9299a1;font-weight:600}.employee-controls input,.employee-controls textarea{width:100%;font:inherit;border:1px solid #ccd2d8;border-radius:9px;outline:none;padding:9px 10px}.employee-controls input:focus,.employee-controls textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0873bd1a}.employee-controls .internal-note-input{resize:vertical;min-height:72px;line-height:1.4}.appointment-photos{background:#f8f9fa;border:1px solid #dce1e5;border-radius:11px;gap:8px;padding:11px;display:grid}.photo-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-section-head strong{color:#505862;font-size:13px}.photo-section-head span{color:#7a838d;font-size:12px;font-weight:800}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;display:grid}.photo-tile{min-width:0;position:relative}.photo-preview{aspect-ratio:1;background:#e8ebee;border:1px solid #cfd5da;border-radius:9px;width:100%;padding:0;display:block;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.photo-delete{color:#fff;background:#a71916e6;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;font-size:20px;line-height:1;display:grid;position:absolute;top:5px;right:5px;box-shadow:0 2px 7px #00000038}.photo-upload{min-height:42px;color:var(--blue);text-align:center;cursor:pointer;background:#fff;border:1px dashed #aeb7c0;border-radius:9px;justify-content:center;align-items:center;padding:10px 12px;font-size:13px;font-weight:900;display:flex!important}.photo-upload:hover{border-color:var(--blue);background:#edf7fd}.photo-upload.disabled{opacity:.6;cursor:wait}.photo-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photo-message{color:var(--muted);font-size:12px;font-weight:700}.photo-message.success{color:#1d7d3c}.photo-message.error{color:#b71919}.status-buttons{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.status-buttons button{color:#505862;background:#fff;border:1px solid #cfd4d9;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800}.status-buttons button.finish{color:#fff;background:#1f8542;border-color:#1f8542}.status-buttons button.not-done{color:#fff;background:#c72525;border-color:#c72525}footer{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;padding:22px 4px 0;font-size:14px;display:flex}footer p{margin:0}footer a{color:var(--red);font-weight:800;text-decoration:none}.customer-contact{text-align:right;justify-content:flex-end;align-items:center;gap:11px;display:flex}.customer-contact-details{gap:3px;display:grid}.customer-contact-details>span{color:var(--muted);font-size:12px}.customer-contact strong{color:var(--ink);font-size:14px}.customer-phone{color:var(--red);font-size:16px;font-weight:900}.customer-contact-photo,.employee-picker-photo{color:#fff;background:#59616b;border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid;overflow:hidden}.customer-contact-photo{cursor:zoom-in;border:2px solid #fff;width:52px;height:52px;padding:0;box-shadow:0 3px 12px #171c2329}.customer-contact-photo:disabled{cursor:default}.customer-contact-photo:focus-visible{outline-offset:3px;outline:3px solid #0873bd59}.employee-picker-photo{grid-row:2;align-self:end;width:52px;height:52px}.customer-contact-photo img,.employee-picker-photo img{object-fit:cover;object-position:center 28%;width:100%;height:100%}.review-card{border:1px solid #d9dee3;border-left:4px solid var(--red);background:#ffffffeb;border-radius:14px;justify-content:space-between;align-items:center;gap:22px;margin-top:22px;padding:20px 22px;display:flex;box-shadow:0 8px 24px #171c230f}.review-copy{align-items:center;gap:16px;min-width:0;display:flex}.review-stars{color:#f1ad17;letter-spacing:1px;white-space:nowrap;font-size:22px}.review-card h2{color:var(--ink);margin:0 0 3px;font-size:18px}.review-card p{color:var(--muted);margin:0;font-size:14px}.review-card>a{color:#fff;background:var(--red);border-radius:9px;flex:none;padding:11px 16px;font-size:14px;font-weight:900;text-decoration:none;transition:transform .18s,box-shadow .18s}.review-card>a:hover{transform:translateY(-1px);box-shadow:0 7px 17px #c0192038}.review-card>a:focus-visible{outline-offset:3px;outline:3px solid #0873bd4d}.site-credit{z-index:1;justify-content:flex-end;align-items:center;gap:14px;width:min(1220px,100% - 48px);margin:-20px auto 0;padding:0 0 24px;display:flex;position:relative}.site-credit a,.employee-login-link,.password-change-link{color:#727a84;font-size:12px;font-weight:700;text-decoration:none}.employee-login-link,.password-change-link{background:0 0;border:0;padding:0}.site-credit a:hover,.employee-login-link:hover,.password-change-link:hover{color:var(--red);text-decoration:underline}.site-credit a:focus-visible,.employee-login-link:focus-visible,.password-change-link:focus-visible{outline-offset:4px;border-radius:3px;outline:3px solid #0873bd40}.employee-contact-box{background:#fff;border:1px solid #d9dee3;border-radius:12px;grid-template-columns:52px 1fr 1fr;gap:10px;width:min(100%,560px);padding:15px;display:grid;box-shadow:0 5px 14px #171c230a}.employee-contact-box>strong{grid-column:1/-1;font-size:14px}.employee-contact-box label{gap:4px;display:grid}.employee-contact-box label span{color:var(--muted);font-size:11px;font-weight:800}.employee-contact-box input,.employee-contact-box select{background:#fff;border:1px solid #ccd2d8;border-radius:8px;outline:none;width:100%;min-width:0;padding:8px 9px}.employee-contact-box input[readonly]{color:#59616b;background:#f5f6f7}.employee-contact-box input:focus,.employee-contact-box select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0873bd1a}.photo-overlay{z-index:90;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0e1218c7;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.photo-dialog{background:#fff;border-radius:18px;justify-items:center;gap:12px;width:min(430px,92vw);padding:16px 16px 20px;display:grid;position:relative;box-shadow:0 28px 80px #00000061}.photo-dialog img{object-fit:cover;object-position:center 28%;border-radius:12px;width:100%;max-height:min(68vh,520px)}.appointment-photo-dialog{width:min(780px,94vw)}.appointment-photo-dialog img{object-fit:contain;object-position:center;background:#17191d;max-height:76vh}.photo-dialog strong{color:var(--ink);font-size:18px}.photo-dialog button{z-index:1;color:#fff;cursor:pointer;background:#0e1218b8;border:0;border-radius:50%;width:38px;height:38px;font-size:27px;line-height:1;position:absolute;top:8px;right:8px}.photo-dialog button:focus-visible{outline-offset:2px;outline:3px solid #fff}.login-overlay{z-index:70;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0e1218ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-card{background:#fff;border-radius:18px;gap:14px;width:min(430px,100%);padding:34px;display:grid;position:relative;box-shadow:0 28px 80px #0000004d}.login-card h2{margin:0;font-size:32px}.login-card p{color:var(--muted);margin:-6px 0 4px;line-height:1.45}.login-card label{gap:6px;display:grid}.login-card label span{color:#59616b;font-size:12px;font-weight:800}.login-card input{border:1px solid #cbd2d8;border-radius:9px;outline:none;width:100%;padding:11px 12px}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0873bd1a}.login-mark{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}.login-close{color:#606975;background:#f0f2f4;border:0;border-radius:50%;width:34px;height:34px;font-size:22px;line-height:1;position:absolute;top:12px;right:14px}.login-submit{color:#fff;background:var(--red);border:0;border-radius:10px;padding:12px 16px;font-weight:900}.login-submit:disabled{opacity:.65;cursor:wait}.login-error{color:#a41616;background:#fde8e8;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:700}.password-hint{color:var(--muted);margin-top:-7px;font-size:12px}.password-message{border-radius:9px;padding:10px 12px;font-size:13px;font-weight:700}.password-message.error{color:#a41616;background:#fde8e8}.password-message.success{color:#176c36;background:#e4f7e9}.text-button{color:var(--blue);background:0 0;border:0;justify-self:center;padding:5px;font-weight:800}.text-button:hover{text-decoration:underline}.secondary-button{color:#39424c;background:#fff;border:1px solid #c9d0d6;border-radius:10px;padding:11px 15px;font-weight:800}.secondary-button:hover{border-color:var(--blue);color:var(--blue)}.recovery-code{border:2px solid var(--blue);color:#123a58;letter-spacing:.08em;text-align:center;overflow-wrap:anywhere;background:#edf7fd;border-radius:11px;padding:15px 12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(18px,5vw,24px);font-weight:900}.login-card .recovery-warning{color:#6d4e00;background:#fff5d6;border-radius:9px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.report-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e12189e;padding:32px 20px;position:fixed;inset:0;overflow-y:auto}.report-sheet{background:#fff;border-radius:18px;width:min(920px,100%);margin:0 auto;padding:36px 42px 44px;box-shadow:0 28px 80px #00000040}.report-actions{justify-content:flex-end;gap:9px;margin-bottom:28px;display:flex}.report-actions button{color:#515a64;background:#fff;border:1px solid #d2d7dc;border-radius:9px;padding:9px 13px;font-weight:800}.report-actions .print-button{border-color:var(--red);color:#fff;background:var(--red)}.customer-report-actions{flex-wrap:wrap;align-items:flex-end}.print-orientation{gap:5px;margin-right:auto;display:grid}.print-orientation>span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}.print-orientation>div{background:#eef0f2;border-radius:10px;padding:3px;display:flex}.report-actions .print-orientation button{background:0 0;border:0;min-width:92px;padding:7px 10px;font-size:13px}.report-actions .print-orientation button.selected{color:#fff;background:var(--blue);box-shadow:0 2px 6px #0873bd33}.report-header{border-bottom:3px solid var(--red);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:23px;display:flex}.report-brand{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}.report-header h2{margin:7px 0 0;font-size:36px}.report-meta{text-align:right;color:var(--muted);gap:3px;font-size:14px;display:grid}.report-meta strong{color:var(--ink);font-size:17px}.report-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0;display:grid}.report-summary div{background:#f2f4f6;border-radius:11px;gap:2px;padding:14px 16px;display:grid}.report-summary span{color:var(--muted);font-size:12px;font-weight:700}.report-summary strong{font-size:22px}.report-list{gap:12px;display:grid}.report-day{break-inside:avoid;gap:10px;display:grid}.report-day-heading{border-bottom:2px solid #dfe3e7;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 2px 2px;display:flex}.report-day-heading h3{margin:0;font-size:18px}.report-day-heading span{color:var(--muted);font-size:13px;font-weight:800}.report-day-entries{gap:10px;display:grid}.report-entry{break-inside:avoid;border:1px solid #dfe3e7;border-radius:12px;padding:18px}.report-entry.done{border:2px solid #35a95d}.report-entry.missed{border:2px solid #d52f2f}.report-entry-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.report-entry-head>div{align-items:baseline;gap:10px;display:flex}.report-entry-head>div strong{color:var(--red)}.report-status{color:#59616b;background:#eef0f2;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:800}.report-status.done{color:#1d7d3c;background:#e4f7e9}.report-status.active{color:var(--blue);background:#e7f4fd}.report-status.missed{color:#b71919;background:#fde8e8}.report-address{gap:2px;margin-top:12px;display:grid}.report-address span{color:var(--muted)}.report-notes{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.report-notes>div{background:#f7f8f9;border-radius:9px;padding:11px 12px}.report-notes span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.report-notes p{margin:5px 0 0;line-height:1.4}.report-signatures{grid-template-columns:1fr 1fr;gap:42px;margin-top:50px;display:grid}.report-signatures div{color:var(--muted);border-top:1px solid #7a8189;gap:3px;padding-top:8px;font-size:12px;display:grid}.report-signatures strong{color:var(--ink);font-size:14px}.photo-report-sheet{width:min(1120px,100%)}.photo-report-screen-heading{border-bottom:3px solid var(--red);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:18px;display:flex}.photo-report-screen-heading h2{margin:7px 0 0;font-size:36px}.photo-report-empty{color:var(--muted);text-align:center;background:#f2f4f6;border-radius:12px;margin-top:22px;padding:28px;font-weight:700}.report-photo-pages{gap:24px;margin-top:36px;display:grid}.report-photo-page{background:#fff;border:1px solid #d9dee3;border-radius:14px;grid-template-rows:auto 1fr;gap:16px;min-height:620px;padding:24px;display:grid}.report-photo-header{border-bottom:3px solid var(--red);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:14px;display:flex}.report-photo-header>div{gap:3px;display:grid}.report-photo-header>div:last-child{color:var(--muted);text-align:right;justify-items:end;font-size:13px}.report-photo-header>div:first-child>span{color:var(--red);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.report-photo-header h3{margin:3px 0 0;font-size:26px}.report-photo-header strong{color:var(--ink)}.report-photo-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-height:0;display:grid}.report-photo-grid figure{background:#f0f2f4;border:1px solid #d7dce0;border-radius:9px;min-width:0;min-height:0;margin:0;position:relative;overflow:hidden}.report-photo-grid img{object-fit:contain;width:100%;height:100%;display:block}.customer-plan-card{border:1px solid #cfd9e1;border-left:4px solid var(--blue);background:#ffffffeb;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:18px 20px;display:flex}.customer-plan-card h2{margin:0 0 3px;font-size:18px}.customer-plan-card p{color:var(--muted);margin:0;font-size:14px}.customer-plan-card button{color:#fff;background:var(--blue);font:inherit;cursor:pointer;border:0;border-radius:9px;flex:none;padding:11px 16px;font-size:14px;font-weight:900}.customer-report-note{color:#48525c;background:#f1f4f6;border-radius:8px;margin:16px 0 10px;padding:9px 12px;font-size:13px}.customer-report-logo{object-fit:contain;object-position:left center;width:210px;height:64px;display:block}.customer-report-header{grid-template-columns:minmax(350px,1fr) auto;align-items:start;display:grid}.customer-report-brand{width:max-content;min-width:0;padding-top:72px;position:relative}.customer-report-brandline{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex;position:absolute;inset:0 0 auto}.customer-report-qr{width:160px;color:var(--ink);grid-template-columns:68px minmax(0,1fr);align-items:center;gap:8px;text-decoration:none;display:grid}.customer-report-qr svg{flex:none;width:68px;height:68px}.customer-report-qr span{gap:2px;min-width:0;line-height:1.2;display:grid}.customer-report-qr strong{color:var(--red);white-space:nowrap;font-size:11px}.customer-report-qr small{color:var(--muted);font-size:11px;font-weight:700}.customer-report-header h2{white-space:nowrap;width:max-content;margin-top:4px}.customer-report-brandline .customer-report-logo{width:170px}.customer-report-list{gap:14px;display:grid}.customer-report-day{break-inside:auto}.customer-report-day-heading{border-bottom:2px solid #cfd5da;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 2px 5px;display:flex}.customer-report-day-heading h3{margin:0;font-size:17px}.customer-report-day-heading span{color:var(--muted);font-size:12px;font-weight:800}.customer-report-columns,.customer-report-entry{grid-template-columns:92px minmax(0,1fr) 92px;align-items:start;gap:12px;display:grid}.customer-report-columns{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:5px 8px 3px;font-size:10px;font-weight:800}.customer-report-entry{break-inside:avoid;border-top:1px solid #e1e5e8;padding:8px}.customer-report-entry:first-of-type{border-top:0}.customer-report-time{color:var(--red);font-size:14px}.customer-report-address{gap:1px;font-size:13px;line-height:1.3;display:grid}.customer-report-address>span{color:var(--muted)}.customer-report-address p{color:#303840;margin:3px 0 0}.customer-report-empty{background:#f2f4f6;border-radius:10px;margin:22px 0;padding:16px}.customer-report-footer{color:var(--muted);border-top:1px solid #cfd5da;margin-top:22px;padding-top:9px;font-size:11px}@media (width<=1000px){.title-layout{grid-template-columns:minmax(0,1fr) 100px}.partner-logo-link{width:82px}}@media (width<=620px){.topbar{grid-template-columns:1fr;align-items:stretch;gap:8px;height:auto;min-height:72px;padding:8px 12px}.brand-lockup,.topbar-right{justify-self:stretch}.brand-logo{object-position:center;width:190px;height:58px;margin:0 auto}.header-title{gap:5px;width:100%}.header-title strong{font-size:clamp(15px,5vw,20px)}.header-title span{font-size:clamp(10px,3.3vw,13px)}.top-actions{flex-direction:column}.report-button,.settings-button,.logout-button,.view-switch{width:100%}.view-switch button{flex:1;padding:8px}.manage-menu{flex-basis:100%;width:100%}.manage-menu-panel{width:100%;left:0;right:auto}.employee-view .appointment-head{flex-wrap:wrap}.employee-view .appointment-head-actions{justify-content:space-between;width:100%}.content{width:min(100% - 24px,720px);padding-top:24px;padding-bottom:34px}.site-credit{width:calc(100% - 24px);margin-top:-16px;padding-bottom:20px}.title-layout{grid-template-columns:minmax(0,1fr) 72px;gap:12px}.partner-logo-link{width:68px}h1{font-size:36px}.appointment{gap:11px;padding:14px 13px}.employee-controls .internal-note-input{min-height:112px}.sequence{flex-basis:36px;width:36px;height:36px}footer{flex-direction:column;align-items:flex-start}.customer-contact{text-align:left;justify-content:flex-start;width:100%}.review-card{flex-direction:column;align-items:stretch;padding:18px}.review-copy{flex-direction:column;align-items:flex-start;gap:8px}.review-card>a{text-align:center;width:100%}.customer-plan-card{flex-direction:column;align-items:stretch}.customer-plan-card button{width:100%}.customer-report-columns,.customer-report-entry{grid-template-columns:76px minmax(0,1fr) 78px;gap:8px}.customer-report-header{grid-template-columns:1fr;gap:12px}.customer-report-brand{width:100%;padding-top:0}.customer-report-brandline{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr);gap:14px;display:grid;position:static}.customer-report-brandline .customer-report-logo{width:min(210px,100%)}.customer-report-qr{width:100%}.customer-report-header .report-meta{text-align:left}.employee-contact-box{grid-template-columns:52px minmax(0,1fr)}.employee-contact-box>strong{grid-column:1/-1}.employee-contact-box label:last-child{grid-column:2}.report-overlay{padding:0}.report-sheet{border-radius:0;min-height:100vh;padding:24px 18px 36px}.report-header,.report-entry-head,.photo-report-screen-heading,.report-photo-header{flex-direction:column;align-items:flex-start}.report-photo-header>div:last-child{text-align:left;justify-items:start}.report-meta{text-align:left}.report-summary,.report-notes{grid-template-columns:1fr}.report-photo-grid{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}.login-card{padding:30px 22px 24px}.customer-view .topbar{grid-template-columns:96px minmax(0,1fr) 72px;align-items:center;min-height:66px;padding:7px 12px}.customer-view .brand-lockup{justify-self:start}.customer-view .brand-logo-link{flex-basis:96px;width:96px}.customer-view .brand-logo{object-position:left center;flex:0 0 96px;width:96px;height:44px;margin:0}.customer-view .header-partner-logo{flex-basis:72px;width:72px;height:40px}.customer-view .topbar-right{justify-self:end}.customer-view .header-title{text-align:center;justify-items:center;line-height:1.1;display:grid}.customer-view .header-title strong{font-size:16px}.customer-view .header-title span{font-size:11px}.customer-view .content{width:calc(100% - 20px);padding:18px 0 30px}.customer-view .eyebrow{letter-spacing:.12em;font-size:10px}.customer-view h1{margin:5px 0 6px;font-size:clamp(25px,8vw,34px);line-height:1.05}.customer-view .subtitle{margin-bottom:14px;font-size:15px;line-height:1.35}.customer-view .appointments{gap:9px}.customer-view .appointment{border-radius:13px;gap:10px;padding:13px 12px;box-shadow:0 4px 14px #171c230f}.customer-view .sequence{flex-basis:32px;width:32px;height:32px;font-size:14px}.customer-view .appointment-head{align-items:center;gap:8px}.customer-view .appointment time{font-size:15px}.customer-view .status-pill{padding:5px 8px;font-size:11px}.customer-view .detail{color:var(--ink);margin-top:6px;font-size:14px;font-weight:700;line-height:1.3}.customer-view .resident-name{color:var(--muted);margin-top:4px;font-size:14px;font-weight:700}.customer-view .notice{margin-top:9px;font-size:13px;line-height:1.35;display:block}.customer-view footer{gap:10px;padding:17px 2px 0}.customer-view footer>p{font-size:12px}.customer-view .customer-phone{width:fit-content;min-height:0;color:var(--red);background:0 0;margin-top:3px;padding:0;font-size:15px;display:inline}.customer-view .review-card{gap:13px;margin-top:16px;padding:15px}.customer-view .review-stars{font-size:18px}.customer-view .review-card h2{font-size:16px}.customer-view .review-card p{font-size:13px}.customer-view .site-credit{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:-10px}.customer-view .topbar:has(.top-actions) .topbar-right{display:contents}.customer-view .topbar:has(.top-actions) .top-actions{grid-area:2/1/auto/-1;width:100%}.customer-view .topbar:has(.top-actions) .header-partner-logo{grid-area:1/3}}@media (width<=400px){.site-shell:before{background-size:auto 58%}}@media print{@page{margin:10mm}html,body{background:#fff;width:auto;height:auto;min-height:0;overflow:visible!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-shell{min-height:0;background:#fff!important;overflow:visible!important}.site-shell:before{content:none!important;background:0 0!important;display:none!important}.site-shell>*{display:none!important}.site-shell>.report-overlay{display:block!important}.topbar,.content,.site-credit,.report-actions{display:none!important}.report-overlay{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;height:auto;padding:0;background:#fff!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.report-sheet{z-index:1;width:100%;height:auto;box-shadow:none;border-radius:0;margin:0;padding:0;display:block;position:relative;overflow:visible;background:#fff!important}.report-header,.report-summary{break-inside:avoid-page;page-break-inside:avoid}.report-header h2{font-size:28px}.report-list,.report-day,.report-day-entries{display:block!important}.report-day{page-break-inside:auto;break-inside:auto!important}.report-day+.report-day{margin-top:12px}.report-day-heading{break-after:avoid-page;page-break-after:avoid;margin-bottom:9px}.report-entry{break-inside:avoid-page;page-break-inside:avoid;margin:0 0 9px;padding:12px}.report-entry:last-child{margin-bottom:0}.report-entry-head,.report-address,.report-notes{break-inside:avoid-page;page-break-inside:avoid}.report-notes{margin-top:9px}.report-signatures{break-inside:avoid-page;page-break-inside:avoid;margin-top:34px}.report-photo-pages{margin:0;display:block}.photo-report-screen-heading,.photo-report-empty{display:none!important}.report-photo-page{break-before:page;page-break-before:always;break-after:page;page-break-after:always;border:0;border-radius:0;gap:5mm;width:100%;height:190mm;min-height:190mm;max-height:190mm;padding:0;overflow:hidden}.report-photo-page:first-child{break-before:auto;page-break-before:auto}.report-photo-page:last-child{break-after:auto;page-break-after:auto}.report-photo-header{gap:8mm;min-height:22mm;padding-bottom:3mm}.report-photo-header h3{font-size:20pt}.report-photo-header>div:last-child{font-size:8.5pt}.report-photo-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:3mm}.report-photo-grid figure{break-inside:avoid;border-radius:2mm}.customer-report-overlay{background:#fff!important;width:100%!important;min-height:0!important;position:static!important;inset:auto!important}.customer-report-overlay .report-sheet{font-size:9pt;background:#fff!important;width:100%!important;max-width:none!important}.customer-report-overlay .report-header{padding-bottom:10px}.customer-report-overlay .report-header h2{font-size:28px}.customer-report-logo{width:150px;height:44px}.customer-report-header{grid-template-columns:minmax(280px,1fr) auto;gap:18px}.customer-report-brand{width:max-content;padding-top:60px}.customer-report-brandline{gap:8px;display:flex;position:absolute}.customer-report-brandline .customer-report-logo{width:128px}.customer-report-qr{grid-template-columns:52px minmax(0,1fr);gap:6px;width:128px}.customer-report-qr svg{width:52px;height:52px}.customer-report-qr strong{font-size:8pt}.customer-report-qr small{font-size:7pt}.customer-report-overlay .report-meta{font-size:9pt}.customer-report-note{margin:8px 0 5px;padding:5px 7px;font-size:8pt}.customer-report-list{display:block}.customer-report-day{break-inside:auto;page-break-inside:auto;margin:0 0 7px}.customer-report-day-heading{break-after:avoid;page-break-after:avoid;padding:4px 0 3px}.customer-report-day-heading h3{font-size:11pt}.customer-report-day-heading span{font-size:8pt}.customer-report-columns,.customer-report-entry{grid-template-columns:62px minmax(0,1fr) 68px;gap:7px}.customer-report-columns{padding:3px 4px 1px;font-size:7pt}.customer-report-entry{break-inside:avoid-page;page-break-inside:avoid;padding:4px}.customer-report-time{font-size:9pt}.customer-report-address{font-size:8.5pt;line-height:1.2}.customer-report-address p{margin-top:1px}.customer-report-entry .report-status{text-align:center;padding:3px 5px;font-size:7.5pt}.customer-report-footer{margin-top:10px;padding-top:5px;font-size:7.5pt}}
