body{padding-bottom:110px}.app-header{height:80px;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#111d27}.app-header .brand img{width:164px;height:auto}.header-actions{display:flex;align-items:center;gap:8px}.profile-button{border:0;border-radius:50%;width:44px;height:44px;background:#55dbbc;color:#111d27;font-weight:800}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;justify-content:center;gap:8px;padding:10px 8px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e1e5e8;z-index:20}.bottom-nav .nav-item{flex:1;max-width:150px;padding:10px 4px;font-size:12px}.bottom-nav .nav-item span{font-size:21px;display:block}.bottom-nav .active{color:#087daa;background:#eaf6fb;border-radius:10px}#main{max-width:1100px;margin:0 auto;padding:28px 22px}.login-card{max-width:430px;margin:6vh auto;background:white;padding:30px;border-radius:24px;border:1px solid #e0e7ec}.login-card h1{font-size:29px}.form label{display:grid;gap:7px;font-weight:600;margin:14px 0}.form input,.form select,.form textarea{width:100%;padding:13px;border:1px solid #cfd9e0;border-radius:10px;background:white;min-height:46px;color:#172937}.form button{min-height:46px}.form-error{color:#a52036;white-space:pre-wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.muted,.note{color:#657888;line-height:1.6}.small{font-size:13px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;min-height:46px;border-radius:12px}.secondary{border:1px solid #d1dce3;background:white;color:#153148;padding:12px}.full{width:100%}.account-actions{display:grid;gap:12px}.checklist-item,.customer-item,.team-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dce5eb;border-radius:14px;padding:18px;background:white;margin:10px 0;text-align:left;color:#183145}.checklist-item small,.customer-item small,.team-item small{display:block;margin-top:5px;color:#6b7a84}.date-strip{display:flex;gap:12px;margin:20px 0;align-items:center}.date-strip input{padding:10px;min-height:44px;border:1px solid #cfd9e0;border-radius:10px}.notice-error{background:#fff0f0;border:1px solid #f1b5b5;padding:16px;border-radius:12px;margin:14px 0}.ready-badge{color:#087b58}.appointment{width:100%}.appointment-content{min-width:0}.appointment-content p{white-space:normal}.card-actions{display:grid;gap:10px;margin:18px 0}.permission-grid{display:grid;gap:8px}.permission-grid label{grid-template-columns:1fr 150px;align-items:center}.history{padding:14px;border-top:1px solid #dde4ea}.history p{white-space:pre-wrap}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.offline{color:#a52036}.locked-message{padding:40px}.app-header .icon-button{color:white}#sheet{border:0;border-radius:22px;max-width:590px;width:calc(100% - 24px);max-height:88dvh;padding:0}#sheet::backdrop{background:#08152199}.sheet-head{position:sticky;top:0;background:white;display:flex;justify-content:space-between;gap:12px;padding:22px;z-index:2}.sheet-content{padding:0 22px 24px}.sheet-head button{width:44px;height:44px;border:0;background:#edf3f6;border-radius:50%;font-size:24px}.sheet-head h2{font-size:22px}.badge{display:inline-block}.list-search{width:100%;padding:14px;border:1px solid #cfd9e0;border-radius:12px}.install-help{background:#eaf6fb;padding:15px;border-radius:12px;line-height:1.6}@media(max-width:520px){#main{padding:24px 16px}.app-header{padding:14px 18px}.page-top h1{font-size:30px}.login-card{margin:20px 0;padding:24px}.quick-actions{margin-bottom:20px}.permission-grid label{grid-template-columns:1fr}.form-grid{gap:10px}.bottom-nav{gap:0}.summary{gap:5px}.summary-item{padding:14px 8px}.summary-item strong{font-size:27px}.summary-item span{font-size:11px}}[hidden]{display:none!important}

.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(620px,100%);border-radius:18px 18px 0 0}.bottom-nav .nav-item{font-size:14px}.nav-item svg{width:22px;height:22px;display:block;margin:0 auto 5px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-header .icon-button{background:#273946}.app-header .icon-button svg{width:23px;height:23px;fill:none;stroke:white;stroke-width:1.8}.profile-button{justify-content:center;overflow:hidden}.app-header .brand img{display:block}

#main.full-agenda{padding:0;max-width:none;height:calc(100dvh - 170px);overflow:hidden}#complete-agenda{display:block;width:100%;height:100%;border:0;background:#f8fafb}#checklist-appointments{max-height:48dvh;overflow:auto;margin:14px 0}#checklist-appointment-search{position:sticky;top:0;background:white}

.overview-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.overview-summary .summary-item{border:1px solid #dce6ec;cursor:pointer;text-align:left;font:inherit;background:#fff;border-radius:14px;padding:16px;min-width:0}.overview-summary .summary-item.highlight{background:#eef8fb}.overview-summary .summary-item span{line-height:1.35}.overview-summary .summary-item:hover{border-color:#2799b6}.delivery-line{display:grid;gap:3px;margin-bottom:13px;padding-bottom:10px;border-bottom:1px solid #e7eef2}.delivery-line small{color:#617785;font-size:12px;text-transform:uppercase;letter-spacing:.7px}.delivery-line strong{color:#176988;font-size:17px}.appointment .appointment-content{flex:1;min-width:0}.appointment h3,.appointment p{overflow-wrap:anywhere}.appointment .badge{margin-right:6px;margin-top:5px}.urgent-badge,.urgent-filter{color:#a63828;background:#fff0e9}.urgent-filter{border:1px solid #efc3b5;border-radius:10px;padding:10px 12px;white-space:nowrap;font:inherit;font-size:14px;cursor:pointer}.urgent-filter strong{margin-left:5px}.urgent-appointment{border-left:3px solid #dd7953}.badge.rescheduled{color:#725296;background:#f3eefa}.badge.cancelled{color:#697684;background:#eff2f4}.home-section{margin:24px 0}.pinned-deliveries{border:1px solid #bbdee8;background:#f2fafc;border-radius:17px;padding:0 14px 4px}.section-count{background:#e6edf2;border-radius:20px;padding:4px 9px;color:#58717e;font-size:13px}.notice-board{margin:30px 0}.notice-board>.section-head{flex-wrap:wrap;gap:6px}.team-notice{background:white;border:1px solid #dce6ec;border-radius:14px;padding:18px;margin:12px 0}.notice-author{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.notice-author small{color:#718491;font-size:12px}.team-notice p,.notice-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.team-notice .text-button{padding-left:0}.inline-toggle{display:flex!important;align-items:center;gap:10px!important;line-height:1.5}.inline-toggle input{width:20px!important;height:20px;min-height:20px;flex:0 0 20px}.checklist-record{background:white;border:1px solid #dce6ec;border-radius:14px;margin:12px 0;overflow:hidden}.checklist-record .checklist-item{border:0;margin:0}.checklist-actions{display:flex;gap:8px;justify-content:flex-end;padding:0 12px 9px;flex-wrap:wrap}.checklist-actions a{text-decoration:none}.danger-text{color:#b43f36}.summary-item:focus-visible,.urgent-filter:focus-visible{outline:3px solid #2799b6;outline-offset:3px}
@media(max-width:650px){.overview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-summary .summary-item{padding:14px}.overview-summary .summary-item:last-child{grid-column:1/-1;display:flex;align-items:center;gap:12px}.home-section .section-head h2{font-size:18px}.pinned-deliveries{padding:0 10px 2px}.delivery-line strong{font-size:16px}.section-head{gap:10px}.section-head>.note{font-size:12px}.team-notice{padding:15px}}

.home-refresh{align-self:flex-start;flex-shrink:0;white-space:nowrap}.home-refresh span{font-size:21px;line-height:1}

.message-recipients{border:1px solid #dce6ec;border-radius:14px;padding:12px 14px;margin:0;min-width:0}.message-recipients legend{font-weight:700;padding:0 5px}.message-person{padding:12px 0;border-top:1px solid #e7eef2}.message-person span{display:grid;gap:4px;min-width:0}.message-person strong{overflow-wrap:anywhere}.message-person small{color:#617785;font-size:12px;font-weight:400}.message-select-all{padding:5px 0 15px}.message-body{font-size:17px;padding:12px 0 22px;border-bottom:1px solid #e7eef2}.message-recipient-result{display:grid;gap:6px;padding:14px 0;border-bottom:1px solid #e7eef2}.message-result{color:#846428;font-size:14px}.message-result.success{color:#18755f}.message-recipient-result small{color:#617785}.message-history{margin-top:18px}.message-history-item{width:100%;text-align:left;font:inherit}.message-history-item>span:first-child{min-width:0}.message-history-item strong,.message-history-item small{overflow-wrap:anywhere}.message-history-pages{display:flex;gap:10px;justify-content:space-between;margin-top:18px}

.page-top:has(.home-top-actions){flex-wrap:wrap;align-items:flex-start}.home-top-actions{display:flex;gap:8px;margin-left:auto;align-items:flex-start}.home-top-actions button{white-space:nowrap;min-height:47px}.board-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:50%;background:#d9f4ee;color:#174d40;margin-left:4px;font-size:12px}.sheet-content>.notice-board{margin:0}.sheet-content .notice-board>.section-head{margin-top:0}

.daily-message{margin:-4px 0 22px;padding:12px 16px;border-left:3px solid #55bfa8;border-radius:0 10px 10px 0;background:#edf7f3;color:#28594c;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.page-top:has(.home-top-actions)>div:first-child{min-width:0;overflow-wrap:anywhere}
.page-top:has(.clients-top-actions){flex-wrap:wrap;align-items:flex-start;gap:16px}.clients-top-actions{margin-left:auto}.clients-top-actions button{white-space:nowrap}.clients-summary{margin:14px 0 8px}#client-directory .customer-item>span:first-child{min-width:0;overflow-wrap:anywhere}#client-directory .customer-item>span:last-child{flex-shrink:0}.client-vehicle-fields{border:1px solid var(--line);border-radius:12px;padding:14px;margin:18px 0}.client-vehicle-fields summary{cursor:pointer;font-weight:600;min-height:24px}.clients-error:empty{display:none}@media(max-width:520px){.clients-top-actions{margin-left:0;width:100%}.clients-top-actions button{width:100%}}
.client-details{margin:0 0 20px}.client-details>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.client-details dt{color:var(--muted)}.client-details dd{margin:0;font-weight:600;overflow-wrap:anywhere}.client-section-title{font-size:16px;margin:24px 0 10px}.client-vehicle-summary{padding:14px;border:1px solid var(--line);border-radius:12px;margin:10px 0;font-size:14px;overflow-wrap:anywhere}.client-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.client-edit-vehicle{min-width:0;border:1px solid var(--line);border-radius:12px;padding:0 14px 8px;margin:16px 0}.client-edit-vehicle legend{padding:0 6px;font-weight:600;font-size:14px}.form .client-completion{display:flex;align-items:center;gap:10px}.form .client-completion input{width:20px;min-height:20px;height:20px;flex-shrink:0}.client-cancel{margin-top:10px}

.checklist-record .trash-details{color:#a04b30;font-weight:600;line-height:1.6;margin-top:10px}.checklist-audit{padding:16px 0;border-bottom:1px solid #dce6ec}.checklist-audit small{display:block;color:#617785;line-height:1.6;margin-top:5px}.checklist-audit p{margin-top:9px;overflow-wrap:anywhere}.checklist-audit+.toolbar{margin-top:18px}

.checklist-linked{display:grid;gap:10px;width:100%;padding:12px;border:1px solid #cce8db;border-radius:10px;background:#edf8f4}.checklist-linked a{white-space:normal;text-align:center}

.tasks-home{background:#edf8f4;border:1px solid #c8e4d9;border-radius:16px;padding:20px;margin:8px 0 24px}.tasks-home p{color:#42695d;line-height:1.6;margin-bottom:15px}.tasks-home .section-head{flex-wrap:wrap}.task-summary{display:flex;flex-wrap:wrap;gap:14px;background:#edf8f4;padding:15px;border-radius:12px;margin-bottom:20px;color:#28594c}.task-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:20px}.task-filters label{display:grid;gap:7px;flex:1;min-width:140px;font-size:14px}.task-filters select{min-height:46px;border:1px solid #dce6ec;border-radius:10px;padding:9px;background:white;font:inherit}.task-card{width:100%;display:flex;gap:14px;align-items:center;text-align:left;background:white;border:1px solid #dce6ec;border-radius:14px;padding:18px;margin-bottom:10px;font:inherit}.task-card-content{flex:1;min-width:0;display:grid;gap:8px}.task-card-content strong{overflow-wrap:anywhere}.task-card-content small{color:#617785}.task-card-content .badge{justify-self:start}.task-card-check{font-size:28px;color:#279174}.task-pages{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.task-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:20px 0}.task-completion{background:#edf8f4;padding:15px;border-radius:12px}.nav-item{position:relative;min-width:0}.nav-task-count{position:absolute;top:0;right:8px;border-radius:20px;background:#16715a;color:white;font-size:11px;min-width:18px;padding:2px 4px}.home-top-actions{flex-wrap:wrap}.bottom-nav:has([data-view="tasks"]) .nav-item{font-size:12px}@media(max-width:430px){.bottom-nav:has([data-view="tasks"]){gap:0;padding-left:4px;padding-right:4px}.bottom-nav:has([data-view="tasks"]) .nav-item{font-size:11px}.nav-task-count{right:2px}.tasks-home{padding:16px}.task-filters label{min-width:120px}.home-top-actions{margin-left:0;width:100%}}

.task-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.task-tabs button{flex:1;min-width:90px}

.alert-count,.nav-task-count{background:#d73b41;color:white}.task-new{background:#ffe4e5;color:#b5232a}.tasks-home .task-alert{background:#d73b41;color:white}

.task-vehicle{padding:16px;border:1px solid #cce8db;border-radius:12px;background:#edf8f4;margin:16px 0;line-height:1.7}.task-vehicle-picker{border:1px solid #dce6ec;border-radius:12px;padding:14px;min-width:0}.task-vehicle-picker legend{font-weight:700;padding:0 5px}.task-vehicle-picker label{margin-top:12px}

.task-status-completed{background:#dff4e8;color:#157342}.task-status-pending{background:#fff0bc;color:#80600b}.task-status-cancelled{background:#ffe0e2;color:#b5242c}.task-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:13px;color:#617785;margin-bottom:18px}.task-legend span{display:inline-flex;align-items:center;gap:6px}.task-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-completed{background:#24a164}.legend-pending{background:#e1ae23}.legend-cancelled{background:#d73b41}

.task-items-builder{border:1px solid #dce6ec;border-radius:12px;padding:14px;min-width:0}.task-items-builder legend{padding:0 5px;font-weight:700}.task-items-builder>.note{margin-bottom:12px}.task-step-row{display:flex;align-items:end;gap:8px;margin-bottom:12px}.task-step-row label{flex:1;min-width:0}.task-step-row button{height:46px;width:40px;flex-shrink:0;border-radius:10px;background:#fff0ed;color:#9d3121;font-size:24px}.task-step-row button[hidden]{display:none}.task-items-detail{margin:22px 0}.task-item-check{display:flex;gap:12px;padding:15px 10px;align-items:flex-start;border-bottom:1px solid #dce6ec;line-height:1.5}.task-item-check input{accent-color:#16734f;width:23px;height:23px;flex:0 0 23px;margin:2px 0}.task-item-check span{min-width:0;display:grid;gap:5px;overflow-wrap:anywhere}.task-item-check.checked strong{color:#157342}.task-item-check small,.task-progress{color:#617785;font-size:12px}.task-items-detail>.note{margin-top:15px}.task-progress{font-weight:600}

.task-photo-picker{border:1px solid #dce6ec;border-radius:12px;padding:14px;min-width:0}.task-photo-picker legend{font-weight:700;padding:0 5px}.task-photo-picker input{width:100%;font-size:14px}.task-photo-picker img,.task-reference-photo img{max-width:100%;max-height:440px;object-fit:contain;border-radius:10px;margin:12px 0}.task-reference-photo{margin:20px 0}.task-reference-photo figcaption{font-size:12px;color:#617785}

.task-photo-actions{display:flex;flex-wrap:wrap;gap:10px}.task-photo-actions button{flex:1;min-width:130px}.task-photo-picker input[hidden]{display:none}

.management-groups{display:grid;gap:18px}.management-group{padding:22px;border:1px solid var(--line,#d7e1ee);border-radius:18px;background:var(--surface,#fff)}.management-group h2{font-size:1.15rem;margin:0 0 16px}.management-group .account-actions{margin:0}.management-group .account-actions a,.management-group .account-actions button{min-height:48px;font-size:1rem}@media(min-width:760px){.management-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Exclusive account control; inherits the existing app brand and typography. */
.notification-presets{display:flex;gap:8px;flex-wrap:wrap}
.notification-presets button{flex:1 1 145px}
.notification-group{min-width:0;margin:0;padding:14px;border:1px solid #d7e1ea;border-radius:14px}
.notification-group legend{padding:0 6px;font-weight:700;color:#007fac}
.notification-option{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;padding:10px 0;margin:0!important;min-height:44px;cursor:pointer}
.notification-option input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;min-height:22px;padding:0;accent-color:#007fac;margin:0}
.notification-option small{display:block;color:#52627a;margin-top:3px}
.notification-option:has(input:disabled){opacity:.65;cursor:default}
.notification-change-state{color:#007fac;font-weight:700;font-size:.9rem}

.agenda-reference-photos{margin:24px 0;padding-top:16px;border-top:1px solid #d7e1ea}.agenda-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}.agenda-photo-grid figure{margin:0}.agenda-photo-grid img{display:block;width:100%;height:280px;object-fit:contain;background:#e9f6fc;border-radius:12px}.agenda-photo-grid figcaption{font-size:.875rem;line-height:1.5;margin-top:6px;color:#52627a;overflow-wrap:anywhere}.agenda-photo-upload label{display:grid;gap:6px}.agenda-photo-upload input:not([type=file]){min-height:44px;width:100%;box-sizing:border-box;border:1px solid #d7e1ea;border-radius:10px;padding:10px;font:inherit}.agenda-photo-upload .card-actions{margin:12px 0}.agenda-photo-paste{padding:12px;border:1px dashed #007fac;border-radius:10px;font-size:.875rem;color:#007fac}.agenda-photo-paste:focus{outline:2px solid #007fac;outline-offset:2px}

/* Sales uses the existing private screen while keeping the app menu visible. */
#main.full-sales{padding:0;max-width:none;height:calc(100dvh - 180px - env(safe-area-inset-bottom));overflow:hidden}
#complete-sales{display:block;width:100%;height:100%;border:0;background:#f3f6f8}
.bottom-nav:has([data-view="sales"]){justify-content:flex-start;overflow-x:auto}
.bottom-nav:has([data-view="sales"]) .nav-item{flex:1 0 68px;min-width:68px;font-size:12px;white-space:nowrap}
