:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20332e;background:#f5f7f6;font-synthesis:none;--green:#176f51;--muted:#7b8883;--border:#e5ebe7}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{outline-color:#1a805c;outline-offset:3px}button{border:0;background:none;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1.1px;font-weight:650}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:14px;font-weight:600}small{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.sidebar{width:220px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:29px 17px;z-index:10}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;font-size:23px;font-weight:750;letter-spacing:-1px}.brand img{width:33px;height:33px}.workspace{display:flex;gap:10px;align-items:center;margin:34px 5px 29px;padding:12px 5px;border-block:1px solid var(--border);font-size:12px}.workspace strong{display:block;margin-bottom:4px}.company-avatar{width:33px;height:33px;display:grid;place-items:center;background:#eff4ef;border-radius:9px;font-size:12px;font-weight:600}.nav-label{padding:0 13px;margin:0 0 13px;font-size:10px;letter-spacing:1.7px;color:#97a39d;font-weight:650}.nav-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 13px;margin:3px 0;border-radius:7px;font-size:13px;color:#697770}.nav-btn.active{background:#eaf4ee;color:#176f51;font-weight:650}.nav-btn:hover{background:#f2f6f3}.sidebar-bottom{margin-top:auto}.local-note{font-size:11px;color:#7b8883;line-height:1.6;padding:17px 12px 0}.local-note i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#66a581;margin-right:5px}.main{margin-left:220px}.topbar{height:76px;padding:0 34px;display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--border)}.breadcrumb{font-size:12px;color:#84918b;display:flex;gap:13px;align-items:center}.breadcrumb strong{color:#364a40;font-weight:500}.top-actions{display:flex;align-items:center;gap:20px}.demo-tag{font-size:10px;text-transform:uppercase;letter-spacing:1px;background:#f6f2e7;color:#897643;padding:7px 9px;border-radius:5px}.avatar{width:32px;height:32px;border-radius:50%;background:#e4ede4;display:grid;place-items:center;font-size:10px;font-weight:650}.content{padding:32px 34px 40px;max-width:1800px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:12px}.eyebrow{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.6px;color:var(--green);margin-bottom:9px}.subtitle{font-size:13px;color:var(--muted);margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:550;padding:10px 14px;border-radius:6px;min-height:38px;background:white;border:1px solid #dce5df;white-space:nowrap}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.primary:hover{background:#105a40}.btn.soft{background:#ecf5ef;border-color:transparent;color:var(--green)}.btn.danger{color:#a3473c}.btn.small{font-size:11px;min-height:31px;padding:6px 9px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:5px}.icon-btn:hover{background:#eff3f0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:27px}.stat{background:white;border:1px solid var(--border);border-radius:9px;padding:19px 20px;position:relative}.stat-icon{position:absolute;right:18px;top:17px;color:#8a9c91}.stat-label{font-size:12px;color:#7b8880;margin-bottom:12px}.stat-value{font-size:27px;font-weight:600;letter-spacing:-.8px}.stat-foot{font-size:10px;color:#94a096;margin-top:9px}.stat-foot em{font-style:normal;color:#367d59}.board-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.panel{background:white;border:1px solid var(--border);border-radius:9px;overflow:hidden}.panel-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);gap:10px}.panel-top h3{display:flex;align-items:center;gap:8px}.panel-top h3 span{font-size:10px;padding:3px 6px;border-radius:4px;background:#eff3ef;color:#6a7c70}.calendar-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:16px 17px}.date-navigation{display:flex;align-items:center;gap:6px}.date-navigation strong{font-size:13px;margin-right:7px}.segmented{display:flex;padding:3px;background:#f2f5f3;border-radius:6px;gap:2px}.segmented button{padding:6px 9px;font-size:10px;color:#7e8c82;border-radius:4px}.segmented .selected{background:white;box-shadow:0 1px 3px #20332e15;color:#2b4435}.staff-strip{padding:4px 17px 16px;display:flex;gap:7px;flex-wrap:wrap}.staff-chip{border:1px solid var(--border);padding:5px 9px;border-radius:20px;display:flex;align-items:center;gap:6px;font-size:10px;color:#6e7f74}.staff-chip.selected{border-color:#aacbb7;background:#f0f7f1;color:#176f51}.dot{width:6px;height:6px;border-radius:50%;background:#79a489}.dot.Chloe{background:#d2ac63}.dot.Alfie{background:#819ac5}.calendar-grid{display:grid;grid-template-columns:45px repeat(7,minmax(0,1fr));}.calendar-head{height:59px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-left:1px solid #f0f3f0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#859087;text-transform:uppercase;letter-spacing:.7px}.calendar-head b{font-size:16px;font-weight:500;color:#536459;letter-spacing:0}.calendar-head.today{background:#f0f7f1;color:var(--green)}.calendar-head.today b{background:#176f51;color:white;width:25px;height:25px;display:grid;place-items:center;border-radius:50%}.time-labels{height:540px;padding-top:2px}.time-labels div{height:60px;display:flex;justify-content:center;font-size:9px;color:#9aa59e}.day-column{position:relative;height:540px;border-left:1px solid #edf1ee;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#edf1ee 59px,#edf1ee 60px)}.day-column.today{background-color:#fbfdfb}.booking{position:absolute;left:4px;right:4px;border-radius:5px;background:#eaf4ed;border-left:3px solid #60a079;padding:8px 7px;text-align:left;overflow:hidden;transition:box-shadow .15s}.booking:hover{box-shadow:0 3px 12px #223b2525;z-index:2}.booking.quote{background:#fcf5e7;border-color:#d5b369}.booking.complete{background:#edf1f5;border-color:#9aabba}.booking .time{font-size:9px;color:#698670;margin-bottom:6px}.booking strong{font-size:11px;line-height:1.35;display:block}.booking small{display:block;font-size:9px;color:#76877a;margin-top:5px}.booking .assigned{font-size:9px;margin-top:8px;color:#64816b}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:#fff}.search svg{width:15px;color:#8e9b92}.search input{width:100%;border:0;outline:none;font-size:11px;background:transparent}.jobs-tools{padding:13px 15px;display:flex;flex-direction:column;gap:10px}.filter-row{display:flex;gap:6px;flex-wrap:wrap}.filter-btn{font-size:10px;color:#879189;padding:5px 8px;border-radius:4px;background:#f3f5f3}.filter-btn.selected{background:#e8f2eb;color:#176f51}.job-card{width:100%;text-align:left;padding:17px;border-top:1px solid #edf1ee}.job-card:hover{background:#fafcf9}.job-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.job-number{font-size:10px;color:#8e9b92}.badge{display:inline-flex;gap:4px;align-items:center;border-radius:4px;padding:4px 6px;background:#eaf3ed;color:#477e59;font-size:9px;font-weight:550}.badge.quote{background:#faf1dd;color:#a08642}.badge.completed,.badge.unsuccessful{background:#edf0f3;color:#75838e}.job-card h3{font-size:12px;margin-bottom:7px}.job-card p{font-size:10px;color:#839088;line-height:1.65}.job-card-foot{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;color:#8b988e}.job-card-foot strong{font-weight:500;color:#62776a}.empty{padding:35px 20px;text-align:center;color:#8c9a91;font-size:13px;line-height:1.7}.board-footer{display:flex;gap:16px;padding:14px 18px;border-top:1px solid var(--border);font-size:10px;color:#8b978f}.legend{display:flex;align-items:center;gap:5px}.legend i{width:6px;height:6px;border-radius:2px;background:#71a784}.legend i.amber{background:#d6b671}.mobile-nav,.mobile-jobs{display:none}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#849388;background:#f9fbf9;padding:13px 18px}td{padding:18px;border-bottom:1px solid var(--border);line-height:1.5}td strong{font-weight:550}td small{display:block;margin-top:4px}.click-row{cursor:pointer}.click-row:hover{background:#f8fbf8}.table-actions{display:flex;gap:6px}.right{text-align:right}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.padding{padding:22px}.intro-card{background:#eaf3ec;border-radius:9px;padding:25px;color:#356347;line-height:1.7;font-size:13px}.intro-card h2{margin-bottom:12px}.settings-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.modal-backdrop{position:fixed;inset:0;background:#19322760;backdrop-filter:blur(3px);z-index:30;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:100%;max-width:960px;background:#fff;box-shadow:0 22px 90px #13251935;border-radius:12px;max-height:92dvh;display:flex;flex-direction:column;overflow:hidden}.modal.narrow{max-width:540px}.modal-header{padding:19px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header .eyebrow{margin-bottom:5px}.modal-header h2{font-size:19px}.modal-body{overflow:auto;flex:1}.modal-tabs{display:flex;gap:25px;padding:0 24px;border-bottom:1px solid var(--border)}.modal-tabs button{padding:14px 1px;font-size:12px;color:#8a978e;border-bottom:2px solid transparent}.modal-tabs button.active{color:var(--green);border-color:var(--green)}.job-body{display:grid;grid-template-columns:1.2fr 1fr}.job-details{padding:23px;border-right:1px solid var(--border)}.job-summary{background:#f6f9f6;border:1px solid #e9efea;border-radius:8px;padding:16px;margin-bottom:20px}.job-summary h3{font-size:14px;margin-bottom:8px}.job-summary p{color:#7c8c7f;font-size:12px;line-height:1.7}.job-summary a{color:#176f51;font-size:12px;text-decoration:none}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;min-width:0}.field label,.field-label{font-size:11px;font-weight:550;color:#748479}.field input,.field select,.field textarea{border:1px solid #dfe7e1;padding:10px 11px;border-radius:5px;font-size:12px;background:white;width:100%;color:#304b39}.field textarea{resize:vertical;min-height:80px;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .full{grid-column:1/-1}.form-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:9px;padding-top:15px;border-top:1px solid var(--border)}.checklist{margin-top:22px}.checklist h3{margin-bottom:12px}.check-row{display:flex;align-items:center;gap:9px;font-size:12px;padding:9px 0;color:#6e7f74}.check-row input{accent-color:var(--green);width:15px;height:15px}.check-row.done span{text-decoration:line-through;color:#a2aaa5}.check-row .icon-btn{margin-left:auto;width:25px;height:25px}.inline-add{display:flex;gap:8px;margin-top:8px}.inline-add input{width:100%;min-width:0;border:1px solid var(--border);padding:9px;border-radius:5px;font-size:11px}.diary{padding:23px;background:#fbfcfa}.diary h3{margin-bottom:16px}.note-form textarea{width:100%;min-height:75px;border:1px solid #e0e8e0;border-radius:6px;padding:11px;font-size:12px;resize:vertical}.note-actions{display:flex;justify-content:space-between;align-items:center;margin:9px 0 20px;gap:8px}.timeline-item{position:relative;padding:0 0 22px 25px;border-left:1px solid #e0e9e0;margin-left:5px}.timeline-item:before{content:'';position:absolute;left:-5px;top:3px;width:9px;height:9px;background:#b8cdbd;border:2px solid #fbfcfa;border-radius:50%}.timeline-item h4{font-size:11px;margin:0 0 6px;font-weight:600}.timeline-item p{font-size:12px;line-height:1.6;color:#728477;white-space:pre-wrap;overflow-wrap:anywhere}.timeline-item small{font-size:9px;display:block;margin-top:7px}.booking-summary{padding:13px;background:#eff5ef;border-radius:6px;font-size:12px;color:#607967;line-height:1.8;margin:17px 0}.timer-strip{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:11px;color:#6b8472}.bill-totals{margin-left:auto;max-width:290px;padding:20px 0}.bill-totals div{display:flex;justify-content:space-between;padding:8px 0;font-size:12px;color:#79867c}.bill-totals .grand{border-top:1px solid var(--border);font-size:18px;font-weight:650;color:#24432f;margin-top:7px;padding-top:16px}.bill-totals .due{color:var(--green);font-weight:600}.billing-actions{display:flex;gap:9px;flex-wrap:wrap;padding-top:15px;border-top:1px solid var(--border)}.line-input{width:65px;border:1px solid var(--border);padding:7px;border-radius:4px}.document{padding:40px;max-width:740px;margin:auto;background:white}.document-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:38px}.document h1{font-size:32px}.document p{font-size:12px;line-height:1.8;color:#6a7e70}.document .doc-total{font-size:24px;color:var(--green)}.attachment{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:11px;margin-top:8px}.media-preview{max-width:100%;max-height:65vh;display:block;margin:auto}.error{padding:10px 12px;color:#aa493f;background:#fff2ee;border-radius:5px;font-size:12px;margin-bottom:13px}.storage-error{padding:12px;background:#fff0e8;color:#994c30;font-size:12px}.mobile-date{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#234734;color:white;padding:12px 20px;border-radius:7px;font-size:12px;z-index:100;opacity:0;transition:.2s;pointer-events:none;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.print-only{display:none}
@media(min-width:1450px){.content{padding-top:38px}.calendar-grid{grid-template-columns:45px repeat(7,minmax(0,1fr))}.board-layout{grid-template-columns:minmax(0,1fr) 305px}.booking strong{font-size:12px}}
@media(max-width:1150px){.sidebar{width:185px;padding-inline:12px}.main{margin-left:185px}.content{padding:25px 22px}.topbar{padding:0 22px}.board-layout{grid-template-columns:minmax(0,1fr) 245px}.calendar-toolbar{flex-wrap:wrap}.stat{padding:16px 14px}.stat-icon{right:12px}.booking strong{font-size:10px}.booking{padding:7px 4px}.booking small{display:none}}
@media(max-width:850px){.sidebar{width:75px;padding:25px 10px}.brand{padding:0 10px}.brand span,.workspace,.nav-label,.nav-btn span,.local-note{display:none}.brand{margin-bottom:35px}.nav-btn{justify-content:center;padding:14px}.main{margin-left:75px}.board-layout{grid-template-columns:1fr}.queue-panel{display:none}.stat-value{font-size:24px}.top-actions{gap:12px}.stat-icon{display:none}}
@media(max-width:600px){.sidebar{display:none}.main{margin-left:0}.topbar{height:63px;padding:0 19px}.breadcrumb{font-size:14px;color:#234734;font-weight:650}.breadcrumb>span,.breadcrumb>svg{display:none}.breadcrumb:before{content:'f';display:grid;place-items:center;background:#176f51;color:white;width:25px;height:25px;border-radius:7px;font-size:20px}.top-actions{gap:11px}.top-actions>.icon-btn{display:none}.demo-tag{font-size:8px;padding:5px}.content{padding:24px 17px 100px}.page-heading{margin-bottom:23px;align-items:flex-start}.page-heading h1{font-size:27px}.page-heading .subtitle{font-size:12px;max-width:220px;line-height:1.5}.page-heading .btn{font-size:0;padding:10px;min-width:38px}.page-heading .btn svg{width:19px}.eyebrow{font-size:9px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:23px}.stat{padding:14px}.stat-label{font-size:10px;margin-bottom:9px}.stat-value{font-size:24px}.stat-foot{font-size:9px;margin-top:5px}.calendar-panel .calendar-grid,.calendar-panel .board-footer,.calendar-panel .calendar-toolbar,.calendar-panel .staff-strip{display:none}.calendar-panel{background:transparent;border:0;border-radius:0}.calendar-panel>.panel-top{padding:0 0 15px;border-bottom:0}.calendar-panel .panel-top h3{font-size:16px}.mobile-jobs{display:block}.mobile-job{display:flex;width:100%;gap:13px;margin-bottom:12px;text-align:left}.mobile-time{width:38px;padding-top:15px;font-size:10px;color:#8a9b8e;flex-shrink:0}.mobile-job-content{flex:1;background:white;border:1px solid var(--border);border-left:3px solid #6d9f7d;border-radius:7px;padding:14px}.mobile-job-content.quote{border-left-color:#d9ba71}.mobile-job-content h3{font-size:13px;margin:10px 0 6px}.mobile-job-content p{font-size:11px;color:#839086;line-height:1.6}.mobile-job-content footer{border-top:1px solid #eff3ee;margin-top:12px;padding-top:10px;display:flex;justify-content:space-between;font-size:10px;color:#7b8c80}.mobile-date{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px;background:white;border:1px solid var(--border);border-radius:7px;padding:7px}.mobile-date strong{font-size:12px}.mobile-nav{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:20;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--border);justify-content:space-around;padding:10px 4px calc(10px + env(safe-area-inset-bottom))}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;color:#8b988e;padding:3px 12px}.mobile-nav button.active{color:var(--green);font-weight:650}.mobile-nav svg{width:22px;height:22px}.modal-backdrop{padding:0;align-items:flex-end}.modal{max-height:96dvh;border-radius:15px 15px 0 0}.modal-header{padding:17px}.modal-header h2{font-size:17px}.modal-tabs{padding:0 17px;gap:24px}.job-body{display:block}.job-details{border-right:0;padding:18px}.diary{padding:18px}.job-body>.diary{display:none}.padding{padding:18px}.form-grid{gap:0 10px}.modal-body{padding-bottom:env(safe-area-inset-bottom)}.split{grid-template-columns:1fr}.document{padding:22px}.document-head{gap:15px}.document h1{font-size:25px}.billing-table th,.billing-table td{padding:10px 7px;font-size:10px}.billing-table .line-input{width:48px;padding:6px 3px}.billing-table th:nth-child(4),.billing-table td:nth-child(4){display:none}.bill-totals{max-width:100%}.table-actions{flex-wrap:wrap}#toast{bottom:90px}.settings-actions{flex-direction:column}.modal-header .btn.small{font-size:10px;padding:6px}.document td,.document th{padding:10px 6px}}
@media print{body{background:white}#app,#toast,.modal-header,.modal-tabs,.billing-actions,.no-print{display:none!important}.modal-backdrop{position:static;padding:0;background:white;display:block}.modal{max-width:none;max-height:none;box-shadow:none;border:0;display:block}.modal-body{overflow:visible}.document{max-width:none;padding:15mm}.print-only{display:block}}

.time-labels,.day-column{height:var(--calendar-height,540px)}.booking{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.booking>*{flex-shrink:0}.phone-capture{display:none}.note-actions{flex-wrap:wrap}@media(max-width:600px){.phone-capture{display:inline-flex}.note-actions{justify-content:flex-start}.note-actions button[type="submit"]{margin-left:auto}.note-actions .btn{font-size:10px;padding:6px 8px}}
/* Empty schedule slots sit underneath existing booking cards. */
.calendar-slot{position:absolute;left:0;width:100%;height:30px;padding:0 7px;z-index:0;text-align:left;border-radius:3px;color:var(--green)}
.calendar-slot span{opacity:0;font-size:10px;font-weight:550;white-space:nowrap}
.calendar-slot:hover,.calendar-slot:focus-visible{background:#e8f3ec;box-shadow:inset 0 0 0 1px #a8cab5}
.calendar-slot:hover span,.calendar-slot:focus-visible span{opacity:1}
.booking{z-index:1}
.booking-slot-heading{display:flex;align-items:center;gap:10px;margin-bottom:21px;padding:13px;background:#edf5ef;border-radius:6px;color:#306747;font-size:13px}
.booking-slot-heading strong{font-weight:600}
.booking-job-summary{font-size:12px;color:#7b8883;line-height:1.6;margin-bottom:17px}
.booking-job-summary:empty{display:none}
.booking-move-note{margin-top:8px;padding:10px 12px;background:#fbf5e8;color:#8a7240;border-radius:5px}
.mobile-book-job{width:100%;margin-bottom:18px}

/* Gmail inbox */
.inbox-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.gmail-account{font-size:11px;color:var(--muted);margin-right:3px}.inbox-setup{padding:55px;max-width:720px;text-align:center;margin:auto}.inbox-setup h2{margin:17px 0 11px}.inbox-setup p{max-width:540px;margin:0 auto 23px;color:var(--muted);font-size:13px;line-height:1.7}.inbox-setup code{background:#eef3ef;padding:2px 5px;border-radius:4px}.mail-hero{width:58px;height:58px;display:grid;place-items:center;margin:auto;border-radius:15px;background:#eaf4ee;color:var(--green)}.mail-hero svg{width:28px;height:28px}.email-list{display:flex;flex-direction:column}.email-row{display:grid;grid-template-columns:10px minmax(150px,220px) minmax(250px,1fr) 75px;gap:15px;align-items:start;text-align:left;padding:17px 20px;border-bottom:1px solid var(--border);background:#fff}.email-row:last-child{border-bottom:0}.email-row:hover{background:#f9fbf9}.email-row.unread{background:#f5faf6}.email-row.unread .email-sender,.email-row.unread .email-summary>strong{font-weight:700;color:#243d2d}.unread-dot{width:7px;height:7px;border-radius:50%;background:transparent;margin-top:5px}.unread .unread-dot{background:var(--green)}.email-sender{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#52685a}.email-summary{min-width:0}.email-summary>strong{font-size:12px;font-weight:550;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-summary p{font-size:11px;color:#87948b;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-row time{font-size:10px;color:#87948b;text-align:right;white-space:nowrap}.attachment-count{display:inline-flex;align-items:center;gap:4px;margin-top:8px;border:1px solid var(--border);border-radius:12px;padding:3px 7px;font-size:9px;color:#63776a}.attachment-count svg{width:11px}.email-modal{max-width:780px}.email-detail{padding:25px}.email-meta{display:grid;grid-template-columns:1.4fr 1fr .5fr;gap:18px;padding:15px;background:#f7f9f7;border-radius:7px}.email-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#91a097;display:block;margin-bottom:5px}.email-meta strong{font-size:11px;font-weight:550;overflow-wrap:anywhere}.email-body{font-size:13px;color:#53675a;line-height:1.75;padding:27px 4px;white-space:normal;overflow-wrap:anywhere}.email-attachments{border-top:1px solid var(--border);padding-top:20px}.email-attachments h3{font-size:12px;margin-bottom:11px}.email-attachment{display:flex;align-items:center;gap:11px;border:1px solid var(--border);padding:12px;border-radius:7px;margin-top:8px}.email-attachment>svg{color:var(--green)}.email-attachment strong{font-size:11px;display:block}.email-attachment small{font-size:9px;color:var(--muted);display:block;margin-top:4px}
@media(max-width:600px){.inbox-actions{gap:6px}.gmail-account{width:100%;text-align:right}.inbox-setup{padding:38px 21px}.email-row{grid-template-columns:8px minmax(0,1fr) 55px;gap:9px;padding:15px 12px}.email-sender{grid-column:2}.email-summary{grid-column:2/4}.email-row time{grid-column:3;grid-row:1}.email-meta{grid-template-columns:1fr}.email-detail{padding:17px}.email-body{padding-block:22px}.inbox-actions .btn{font-size:10px;padding:7px 9px}}

/* PodFlow visual system — based on PodScape's navy, electric-blue and sky-blue identity. */
:root{font-family:"DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#071635;background:#f4f7fc;--green:#124cff;--muted:#6e7b91;--border:#e3e9f3;--navy:#071635;--blue:#124cff;--sky:#23b9f2;--surface:#fff;--shadow:0 14px 40px rgba(20,54,113,.08)}
body{background:radial-gradient(circle at 85% -15%,rgba(35,185,242,.12),transparent 28%),#f4f7fc}.sidebar{background:#071635;border:0;padding:27px 16px;box-shadow:12px 0 40px rgba(7,22,53,.08)}.brand{color:#fff;position:relative;gap:11px;letter-spacing:-1.4px}.brand img{width:37px;height:37px}.brand>span{font-size:0}.brand>span:after{content:"podflow";font-size:24px;font-weight:700}.brand>span:before{content:"pod";display:none}.workspace{border-color:rgba(255,255,255,.11);color:#fff}.workspace small{color:#90a0bd}.company-avatar,.avatar{background:linear-gradient(145deg,#23b9f2,#124cff);color:#fff;box-shadow:0 6px 16px rgba(18,76,255,.22)}.company-avatar{font-size:0}.company-avatar:after{content:"PS";font-size:11px}.avatar{font-size:0}.avatar:after{content:"PS";font-size:10px}.nav-label{color:#667796}.nav-btn{color:#aab6ca;border-radius:10px;padding:12px 13px}.nav-btn.active{color:#fff;background:linear-gradient(105deg,rgba(18,76,255,.95),rgba(35,185,242,.78));box-shadow:0 8px 22px rgba(18,76,255,.22)}.nav-btn:hover{background:rgba(255,255,255,.07);color:#fff}.nav-btn.active:hover{background:linear-gradient(105deg,#124cff,#23b9f2)}.local-note{color:#71819c}.local-note i{background:#23b9f2;box-shadow:0 0 0 4px rgba(35,185,242,.12)}.topbar{background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-color:var(--border)}.breadcrumb strong{color:var(--navy)}.demo-tag{background:#e8f3ff;color:#124cff;border:1px solid #d5e8ff;border-radius:20px}.content{padding-top:38px}.page-heading{margin-bottom:30px}.page-heading h1{font-size:32px;font-weight:650;color:var(--navy)}.eyebrow{color:#124cff;letter-spacing:2px}.panel,.stat{border:1px solid rgba(216,226,241,.88);border-radius:16px;box-shadow:var(--shadow)}.stat{padding:22px}.stat:after{content:"";position:absolute;inset:auto 18px 0;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#124cff,#23b9f2);opacity:.75}.stat-icon{color:#4b77d2}.stat-value{color:var(--navy);font-weight:650}.btn{border-radius:10px;border-color:#dce5f2;min-height:40px}.btn.primary{background:linear-gradient(105deg,#124cff,#2379ee);border:0;box-shadow:0 9px 22px rgba(18,76,255,.22)}.btn.primary:hover{background:linear-gradient(105deg,#0e3fe0,#119fdc);transform:translateY(-1px)}.btn.soft{background:#eaf3ff;color:#124cff}.icon-btn{border-radius:9px}.icon-btn:hover{background:#eaf2ff;color:#124cff}.calendar-panel,.queue-panel{overflow:clip}.calendar-head.today{background:#eff6ff;color:#124cff}.calendar-head.today b{background:linear-gradient(145deg,#124cff,#23b9f2);box-shadow:0 5px 12px rgba(18,76,255,.22)}.day-column.today{background-color:#f8fbff}.booking{background:#eaf2ff;border-color:#2468ee}.booking:hover{box-shadow:0 8px 20px rgba(18,76,255,.16)}.booking .time,.booking .assigned{color:#315fae}.filter-btn.selected,.staff-chip.selected{background:#eaf3ff;color:#124cff;border-color:#b9d3ff}.job-card:hover,.click-row:hover,.email-row:hover{background:#f7faff}.badge{background:#eaf3ff;color:#245bb7}.intro-card{background:linear-gradient(145deg,#071635,#123776);color:#fff;border-radius:16px;box-shadow:var(--shadow)}.intro-card .subtitle,.intro-card p{color:#c0cbe0}.modal-backdrop{background:rgba(7,22,53,.55)}.modal{border-radius:18px;box-shadow:0 30px 100px rgba(7,22,53,.25)}.field input,.field select,.field textarea,.search,.note-form textarea,.inline-add input{border-color:#dce5f2;border-radius:9px}.field input:focus,.field select:focus,.field textarea:focus,.search:focus-within{border-color:#6da1ff;box-shadow:0 0 0 3px rgba(18,76,255,.1)}.job-summary,.email-meta{background:#f5f8fd;border-color:#e3eaf5}.mail-hero{background:linear-gradient(145deg,#e8f7ff,#e9efff);color:#124cff}.email-row.unread{background:#f3f8ff}.unread .unread-dot{background:#124cff;box-shadow:0 0 0 3px rgba(18,76,255,.12)}#toast{background:#071635;box-shadow:0 12px 35px rgba(7,22,53,.28)}
@media(max-width:600px){.breadcrumb:before{content:"P";background:linear-gradient(145deg,#23b9f2,#124cff);border-radius:9px;box-shadow:0 5px 14px rgba(18,76,255,.22)}.mobile-nav{background:rgba(255,255,255,.94);border-color:#dfe7f2;box-shadow:0 -10px 30px rgba(21,48,99,.08)}.mobile-nav button.active{color:#124cff}.mobile-job-content{border-radius:12px;border-color:#dfe7f2;border-left-color:#2468ee;box-shadow:0 8px 25px rgba(20,54,113,.06)}.content{padding-top:28px}.page-heading h1{font-size:29px}.panel,.stat{border-radius:13px}}

/* Email provider picker and guided setup */
.email-onboarding{max-width:920px;margin:0 auto}.setup-intro{display:flex;align-items:center;gap:22px;margin-bottom:25px;padding:4px 4px}.setup-intro .mail-hero{margin:0;flex:0 0 64px;width:64px;height:64px}.setup-intro h2{font-size:24px}.setup-intro p{color:var(--muted);font-size:13px;margin-top:7px}.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.provider-card{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:14px;text-align:left;box-shadow:0 8px 25px rgba(20,54,113,.04);transition:.18s}.provider-card:hover{transform:translateY(-2px);border-color:#bad2ff;box-shadow:0 13px 32px rgba(20,54,113,.1)}.provider-card>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.provider-card strong{font-size:13px}.provider-card small{font-size:10px}.provider-card.available small{color:#124cff}.provider-card>svg{width:16px;color:#9cabc0}.provider-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#fff;font-size:18px;font-weight:700;box-shadow:0 6px 16px rgba(20,54,113,.13)}.provider-mark.gmail{background:linear-gradient(145deg,#4285f4,#34a853)}.provider-mark.outlook{background:#0878d1}.provider-mark.yahoo{background:#6001d2}.provider-mark.icloud{background:linear-gradient(145deg,#45b9ff,#1479db)}.provider-mark.imap{background:#53627a}.privacy-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#718096;font-size:11px;margin:22px}.privacy-note svg{color:#124cff;width:15px}.setup-wizard{max-width:820px;margin:0 auto;overflow:visible;padding:24px 32px 0}.wizard-back{display:flex;align-items:center;gap:7px;color:#60718c;font-size:11px}.wizard-back:hover{color:#124cff}.wizard-back svg{width:15px}.setup-progress{display:flex;align-items:flex-start;justify-content:center;margin:27px 0 10px}.setup-progress>span{display:flex;flex-direction:column;align-items:center;gap:7px;width:64px;font-size:11px;color:#8190a6}.setup-progress>span:before{content:"";position:absolute}.setup-progress>span.current,.setup-progress>span.done{color:#124cff}.setup-progress>span{position:relative}.setup-progress>span:not(i){ }.setup-progress>span>svg{width:12px;height:12px}.setup-progress>span{padding-top:8px}.setup-progress>span.current{font-weight:700}.setup-progress>span.current:after,.setup-progress>span.done:after{content:"";position:absolute;top:0;width:28px;height:28px;border-radius:50%;background:#e7f0ff;z-index:-1}.setup-progress>span i{font-size:9px;font-style:normal;font-weight:500;white-space:nowrap;margin-top:7px}.setup-progress>b{width:70px;height:1px;background:#dce5f2;margin-top:14px}.wizard-stage{max-width:650px;min-height:390px;margin:auto;padding:42px 10px 30px}.wizard-copy{text-align:left}.wizard-copy>.step-number{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#124cff,#23b9f2);color:#fff;font-weight:700;margin-bottom:20px;box-shadow:0 7px 18px rgba(18,76,255,.22)}.wizard-copy h2{font-size:25px;margin-bottom:12px}.wizard-copy>p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:20px}.wizard-copy ol{padding-left:20px;margin:0 0 20px}.wizard-copy li{padding:5px 0 5px 5px;font-size:12px;line-height:1.6;color:#52627a}.wizard-checks{display:grid;gap:10px;margin-top:26px}.wizard-checks span{display:flex;align-items:center;gap:9px;padding:12px 14px;background:#f4f8ff;border-radius:9px;font-size:12px;color:#426087}.wizard-checks svg{color:#124cff;width:15px}.copy-field{display:flex;align-items:center;gap:8px;margin-top:18px;padding:7px 8px 7px 13px;border:1px solid #d8e3f3;border-radius:10px;background:#f7faff}.copy-field span{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto;flex:1;white-space:nowrap}.copy-field button{background:#e6f0ff;color:#124cff;padding:7px 10px;border-radius:7px;font-size:10px;font-weight:700}.tiny-note{font-size:10px!important;margin-top:8px!important}.setup-wizard>footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:17px 0}.setup-wizard>footer .btn:only-child{margin-left:auto}.permission-card{display:flex;gap:13px;align-items:center;background:#f3f8ff;border:1px solid #deebff;border-radius:12px;padding:17px;margin:23px 0}.permission-card>span{width:40px;height:40px;border-radius:10px;background:#fff;color:#124cff;display:grid;place-items:center}.permission-card strong{font-size:12px;display:block}.permission-card small{font-size:10px;line-height:1.5;display:block;margin-top:4px}.btn.large{padding:13px 18px;font-size:13px}.wizard-copy>.provider-mark{margin-bottom:22px}#gmail-config-form{margin-top:25px}#gmail-config-form .btn{margin-top:4px}
@media(max-width:600px){.setup-intro{align-items:flex-start}.setup-intro .mail-hero{width:50px;height:50px;flex-basis:50px}.setup-intro h2{font-size:20px}.provider-grid{grid-template-columns:1fr}.provider-card{padding:14px}.setup-wizard{padding:18px 17px 0}.setup-progress{justify-content:space-between;margin-top:22px}.setup-progress>b{width:18px}.setup-progress>span{width:45px}.setup-progress>span i{font-size:8px}.wizard-stage{padding:34px 2px 24px;min-height:410px}.wizard-copy h2{font-size:22px}.copy-field{align-items:stretch;flex-direction:column}.copy-field span{width:100%;padding-block:4px}.copy-field button{align-self:flex-end}.setup-wizard>footer{padding-bottom:20px}}

/* Paint-by-numbers Google Cloud guide */
.guide-copy{max-width:680px}.guide-count{display:inline-block;padding:6px 10px;border-radius:20px;background:#eaf3ff;color:#124cff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:17px}.guide-browser{border:1px solid #ccd8e9;border-radius:12px;background:#fff;overflow:hidden;margin:22px 0;box-shadow:0 12px 30px rgba(31,61,112,.11);font-size:10px;color:#41526d}.guide-browser-top{height:25px;background:#edf2f8;display:flex;align-items:center;gap:5px;padding:0 9px}.guide-browser-top i{width:6px;height:6px;border-radius:50%;background:#c4cfdd}.guide-browser-top span{margin-left:7px;color:#7c899c}.guide-toolbar{height:44px;display:flex;align-items:center;gap:18px;padding:0 16px;border-bottom:1px solid #e1e7ef}.guide-toolbar b{font-size:11px}.guide-toolbar em{margin-left:auto;background:#f2f5f9;color:#8b97a8;padding:7px 30px;border-radius:6px;font-style:normal}.guide-target{border:2px solid #124cff!important;box-shadow:0 0 0 3px rgba(18,76,255,.1)!important;border-radius:6px!important;position:relative}.guide-dialog{width:68%;margin:19px auto;padding:15px;border:1px solid #dde4ed;border-radius:8px;min-height:100px}.guide-dialog strong{font-size:12px}.guide-dialog button{float:right;color:#124cff;padding:6px 9px}.guide-dialog p{clear:both;color:#9aa5b4;padding-top:19px}.guide-page{display:flex;min-height:170px}.guide-page>small{position:absolute;padding:18px;color:#8895a8}.guide-page>h4{margin:42px 18px 0}.guide-search{margin:75px 18px 0;padding:10px;color:#8996a8;width:52%}.guide-result{position:absolute;margin:122px 18px 0;padding:10px;width:60%;border:1px solid #e1e6ed;border-radius:6px}.guide-result button{float:right;color:#124cff;font-weight:700}.guide-side{width:125px;background:#f7f9fc;border-right:1px solid #e1e7ef;padding:16px 10px;display:flex;flex-direction:column;gap:8px}.guide-side span{padding:7px}.guide-form{padding:17px;width:calc(100% - 125px)}.guide-form h4{margin:0 0 11px}.guide-form label{display:block;color:#7c899b;margin-top:8px}.guide-form>div{border:1px solid #dde4ed;padding:6px;margin-top:3px;border-radius:4px;max-width:260px}.guide-form .guide-choice{border:0;padding:5px 0}.guide-form button{background:#124cff;color:#fff;padding:7px 11px;border-radius:5px;margin:8px 5px 0 0;font-size:9px}.guide-open{margin-bottom:4px}.guide-check{display:flex;flex-direction:column;gap:5px;background:#eef9f5;border:1px solid #d3eee4;border-radius:10px;padding:13px 15px;margin-top:17px}.guide-check strong{font-size:10px;color:#147557}.guide-check span{font-size:11px;line-height:1.5;color:#55766c}.guide-help{font-size:10px!important;background:#fff8e9;border:1px solid #f1e2bd;border-radius:9px;padding:11px 13px;margin-top:10px!important;color:#7d6c45!important}
@media(max-width:600px){.guide-toolbar{gap:8px;padding-inline:9px}.guide-toolbar em{padding-inline:9px}.guide-dialog{width:90%}.guide-side{width:88px}.guide-form{width:calc(100% - 88px);padding:12px 8px}.guide-form>div{max-width:180px}.guide-browser{margin-block:17px}.guide-open{width:100%}.guide-copy>.step-number{margin-bottom:14px}.guide-copy h2{font-size:21px}}
.real-guide-image{margin:22px 0;border:1px solid #ccd8e9;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(31,61,112,.11)}.real-guide-image img{display:block;width:100%;max-height:390px;object-fit:contain;background:#eef3fa}.real-guide-image figcaption{padding:11px 14px;color:#51647f;font-size:10px;line-height:1.5;background:#f8faff;border-top:1px solid #e1e8f2}@media(max-width:600px){.real-guide-image img{max-height:235px}.real-guide-image{margin-block:17px}}

/* Gmail-style organised inbox */
.mail-workspace{display:grid;grid-template-columns:245px minmax(0,1fr);overflow:hidden;min-height:610px}.mail-folders{padding:20px 12px;background:#f8faff;border-right:1px solid #e2e9f4}.compose-button{width:100%;display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(7,22,53,.09);color:var(--navy);font-weight:700;text-align:left;margin-bottom:24px}.compose-button svg{width:18px;color:#124cff}.compose-button small{margin-left:auto;font-size:8px;color:#98a4b7}.mail-folders>p{font-size:9px;letter-spacing:1.5px;color:#8492aa;font-weight:700;padding:0 13px 9px}.mail-folder{width:100%;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:9px;padding:11px 13px;border-radius:9px;color:#53627b;text-align:left;margin:2px 0}.mail-folder svg{width:17px}.mail-folder span{font-size:11px;font-weight:650}.mail-folder b{font-size:11px}.mail-folder em{grid-column:2/4;font-size:8px;font-style:normal;color:#8390a5}.mail-folder.active{background:#e5efff;color:#124cff}.auto-reply-card{display:flex;gap:10px;margin:25px 5px 0;padding:13px;background:#eefaf5;border:1px solid #d2eee1;border-radius:12px}.auto-reply-card>i{width:8px;height:8px;border-radius:50%;background:#1baa70;box-shadow:0 0 0 4px rgba(27,170,112,.12);margin-top:3px;flex:none}.auto-reply-card strong,.auto-reply-card span{display:block}.auto-reply-card strong{font-size:10px;color:#14774f}.auto-reply-card span{font-size:8px;line-height:1.5;color:#668578;margin-top:4px}.mail-main{min-width:0}.mail-toolbar{display:flex;align-items:center;gap:18px;padding:13px 19px;border-bottom:1px solid var(--border)}.mail-toolbar>span{font-size:9px;color:var(--muted);white-space:nowrap}.mail-search{height:38px;display:flex;align-items:center;gap:8px;flex:1;max-width:590px;background:#f2f6fc;border-radius:10px;padding:0 12px}.mail-search svg{width:16px;color:#77869d}.mail-search input{border:0;background:transparent;width:100%;outline:0;font-size:11px}.mail-title{padding:20px;border-bottom:1px solid var(--border)}.mail-title h2{font-size:17px;display:flex;align-items:center;gap:9px}.mail-title h2 svg{width:19px;color:#124cff}.mail-title h2 b{font-size:10px;background:#e8f1ff;color:#124cff;padding:4px 7px;border-radius:20px}.mail-title p{font-size:10px;color:var(--muted);margin-top:6px}.email-chips{display:flex;gap:6px;flex-wrap:wrap}.reply-chip{display:inline-flex;margin-top:8px;border-radius:12px;padding:4px 8px;font-size:9px;color:#08784c;background:#e7f8f0}.mail-warning{margin:12px 18px;padding:10px;border-radius:9px;background:#fff5df;color:#8c641b;font-size:10px}.auto-reply-detail{margin:18px 0 0;padding:15px;background:#edf9f4;border:1px solid #d2eee1;border-radius:10px}.auto-reply-detail strong{font-size:11px;color:#10734b}.auto-reply-detail span{float:right;font-size:9px;color:#6e877c}.auto-reply-detail p{font-size:11px;line-height:1.6;color:#557467;margin-top:10px}
@media(max-width:800px){.mail-workspace{grid-template-columns:1fr}.mail-folders{border-right:0;border-bottom:1px solid var(--border);padding:12px;display:flex;gap:5px;overflow:auto}.compose-button,.mail-folders>p,.auto-reply-card{display:none}.mail-folder{min-width:max-content;display:flex;padding:9px 11px}.mail-folder em{display:none}.mail-folder svg{width:14px}.mail-title{padding:16px}.mail-title p{line-height:1.5}.mail-toolbar{padding:10px 12px}}

/* Email conversation and actions */
.thread-modal{max-width:880px}.thread-header{align-items:flex-start}.thread-actions{display:flex;align-items:center;gap:6px}.thread-actions .icon-btn.selected{color:#f5ad18;background:#fff5d9}.thread-body{padding:20px;background:#f6f8fc}.thread-message{background:#fff;border:1px solid #e1e7f1;border-radius:13px;padding:17px 19px;margin-bottom:12px}.thread-message.latest{box-shadow:0 8px 26px rgba(20,54,113,.08)}.thread-message>header{display:flex;gap:11px;align-items:center;border-bottom:1px solid #edf1f6;padding-bottom:12px}.thread-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#124cff,#23b9f2);color:#fff;font-weight:700}.thread-message header strong,.thread-message header small{display:block}.thread-message header strong{font-size:11px}.thread-message header small{font-size:9px;color:var(--muted);margin-top:3px}.thread-message-body{font-size:12px;line-height:1.75;color:#485970;padding:18px 2px 4px;overflow-wrap:anywhere}.thread-attachments{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.thread-attachments span{display:flex;align-items:center;gap:5px;border:1px solid #dce5f2;border-radius:18px;padding:6px 10px;font-size:9px;color:#586a82}.thread-attachments svg{width:12px}.thread-reply{background:#fff;border:1px solid #ccd9ed;border-radius:13px;margin-top:17px;overflow:hidden;box-shadow:0 8px 25px rgba(20,54,113,.07)}.thread-reply>label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;padding:13px 15px;border-bottom:1px solid #e7edf5}.thread-reply>label svg{width:15px;color:#124cff}.thread-reply textarea{display:block;width:100%;min-height:130px;resize:vertical;border:0;outline:0;padding:16px;font:12px/1.6 inherit;color:#273954}.thread-reply>div{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-top:1px solid #e7edf5}.thread-reply small{font-size:9px;color:var(--muted)}
@media(max-width:600px){.thread-header{display:block}.thread-actions{margin-top:13px}.thread-body{padding:11px}.thread-message{padding:14px}.thread-reply>div{align-items:flex-end}.thread-reply small{max-width:140px;overflow:hidden;text-overflow:ellipsis}}

/* Role preview and contractor workspace */
.role-preview{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted);background:#f2f6fc;border:1px solid #dce5f2;border-radius:20px;padding:5px 9px}.role-preview select{border:0;background:transparent;color:#124cff;font-size:10px;font-weight:700;outline:0}.contractor-stats{grid-template-columns:repeat(3,1fr)}.contractor-job{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.contractor-job>section,.contractor-complete{border:1px solid #e0e8f3;border-radius:13px;padding:19px}.contractor-visit{background:linear-gradient(145deg,#071635,#123776);color:#fff}.contractor-visit .eyebrow{color:#6dd6ff}.contractor-visit h2{font-size:21px;margin-top:10px}.contractor-visit p{font-size:10px;color:#bdcbe2;margin-top:7px}.contractor-address span,.contractor-instructions span{font-size:9px;letter-spacing:1.2px;color:#7d8ca2;font-weight:700}.contractor-address h3{font-size:16px;line-height:1.5;margin:10px 0 14px}.contractor-address>div{display:flex;gap:8px;flex-wrap:wrap}.contractor-address p{font-size:10px;color:var(--muted);margin-top:12px}.contractor-instructions{grid-column:1/-1}.contractor-instructions p{font-size:12px;line-height:1.7;color:#4f6077;margin-top:10px}.contractor-complete{grid-column:1/-1;display:flex;justify-content:flex-end;background:#f4f8ff}.contractor-complete strong{color:#147557;font-size:12px}.badge.awaiting-sign-off{background:#fff2d7;color:#916317}
@media(max-width:700px){.role-preview{font-size:0}.contractor-stats{grid-template-columns:1fr 1fr}.contractor-job{grid-template-columns:1fr;padding:15px}.contractor-instructions,.contractor-complete{grid-column:1}.contractor-complete .btn{width:100%}}

/* Secure account access */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 0,rgba(35,185,242,.2),transparent 35%),linear-gradient(145deg,#06132f,#102c61)}.auth-card{width:min(430px,100%);background:#fff;border-radius:22px;padding:38px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.auth-card>img{width:50px;height:50px;margin-bottom:22px}.auth-card h1{font-size:28px;margin:8px 0 10px}.auth-card>p{font-size:12px;color:var(--muted);line-height:1.65;margin-bottom:25px}.auth-card form>.btn{width:100%;margin-top:4px}.auth-card>small{display:block;text-align:center;font-size:9px;color:#8b97aa;line-height:1.5;margin-top:18px}.signed-in-user{display:flex;align-items:center;gap:10px}.signed-in-user>span{text-align:right}.signed-in-user strong,.signed-in-user small{display:block}.signed-in-user strong{font-size:10px}.signed-in-user small{font-size:8px;color:var(--muted);margin-top:2px}.user-list{border:1px solid var(--border);border-radius:10px;margin:18px 0 25px}.user-list>div{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--border)}.user-list>div:last-child{border:0}.user-list strong,.user-list small{display:block}.user-list strong{font-size:11px}.user-list small{font-size:9px;color:var(--muted);margin-top:3px}#user-create h3{margin-bottom:17px}
@media(max-width:600px){.auth-card{padding:28px 22px}.signed-in-user>span{display:none}.signed-in-user .btn{font-size:9px;padding:7px}}

/* ServiceM8 secure connection */
.integration-panel{margin-top:24px;padding:25px}.integration-brand{display:flex;align-items:center;gap:14px}.integration-brand>div{flex:1}.integration-brand h2{font-size:18px;margin-top:4px}.integration-brand p{font-size:10px;color:var(--muted);margin-top:5px}.sm8-mark{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#12b886,#05886a);color:#fff;font-weight:800}.connection-ok{font-size:10px;color:#087853;background:#e9f8f2;padding:7px 10px;border-radius:20px}.integration-panel form{max-width:620px;margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}.integration-panel .field small{font-size:9px;color:var(--muted);margin-top:2px}.integration-next{display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px;background:#f2f8ff;border-radius:11px}.integration-next strong,.integration-next span{display:block}.integration-next strong{font-size:11px;color:#124cff}.integration-next span{font-size:9px;color:var(--muted);flex:1}.integration-next .btn{margin-left:auto}
@media(max-width:600px){.integration-panel{padding:18px}.integration-brand{align-items:flex-start;flex-wrap:wrap}.connection-ok{margin-left:60px}.integration-next{align-items:flex-start;flex-direction:column}.integration-next .btn{margin-left:0;width:100%}}

.import-preview{margin-top:18px;border:1px solid #dce5f2;border-radius:14px;overflow:hidden}.preview-head{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;background:#f7faff;border-bottom:1px solid #e1e8f3}.preview-head h3{font-size:14px}.preview-head p{font-size:9px;color:var(--muted);margin-top:4px}.preview-head>span{font-size:9px;color:#53709d;background:#e8f1ff;padding:6px 9px;border-radius:20px}.preview-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e7edf5}.preview-count{background:#fff;padding:15px}.preview-count span,.preview-count strong{display:block}.preview-count span{font-size:9px;color:var(--muted);min-height:25px}.preview-count strong{font-size:21px;color:var(--navy)}.preview-count.highlight{background:#eff6ff}.preview-count.highlight strong{color:#124cff}.preview-warning{display:flex;flex-direction:column;gap:4px;margin:14px;padding:11px;background:#fff7e8;border-radius:9px;color:#84621e}.preview-warning strong{font-size:10px}.preview-warning span{font-size:9px;line-height:1.5}.preview-actions{display:flex;align-items:center;gap:15px;padding:17px 19px;border-top:1px solid #e5ebf4}.preview-actions>div{flex:1}.preview-actions strong,.preview-actions span{display:block}.preview-actions strong{font-size:11px}.preview-actions span{font-size:9px;color:var(--muted);margin-top:4px}.preview-actions .btn[disabled]{opacity:.55}
.staff-picker{padding:18px 19px;border-top:1px solid #e5ebf4;background:#fbfcff}.staff-picker>div:first-child h3{font-size:13px}.staff-picker>div:first-child p{font-size:9px;color:var(--muted);margin-top:5px}.staff-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.staff-option{display:flex;align-items:center;gap:10px;border:1px solid #dce5f2;border-radius:10px;padding:11px 12px;background:#fff;cursor:pointer}.staff-option.selected{border-color:#124cff;background:#f1f6ff;box-shadow:0 0 0 2px rgba(18,76,255,.08)}.staff-option input{width:16px;height:16px;accent-color:#124cff}.staff-option span{min-width:0}.staff-option strong,.staff-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-option strong{font-size:10px}.staff-option small{font-size:8px;margin-top:3px}.import-success{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 19px;background:#eaf9f3;border-top:1px solid #d1eee1;color:#147557}.import-success strong{font-size:11px}.import-success span{font-size:9px}
@media(max-width:700px){.preview-counts{grid-template-columns:1fr 1fr}.preview-actions{align-items:flex-start;flex-direction:column}.preview-actions .btn{width:100%}.staff-options{grid-template-columns:1fr}.import-success{align-items:flex-start;flex-direction:column}}
.vat-switch{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid #dce5f2;border-radius:11px;background:#f7faff;margin-bottom:17px;cursor:pointer}.vat-switch input{width:18px;height:18px;accent-color:#124cff;margin-top:1px}.vat-switch strong,.vat-switch small{display:block}.vat-switch strong{font-size:11px;color:var(--navy)}.vat-switch small{font-size:9px;line-height:1.5;margin-top:4px}.document-logo-setting{display:flex;align-items:center;gap:13px;padding:12px 0 18px}.document-logo-setting img{width:108px;height:58px;object-fit:contain;object-position:left center}.document-logo-setting span{font-size:9px;color:var(--muted)}.client-document{padding:0;max-width:820px;color:#102448}.client-doc-header{display:flex;align-items:flex-start;justify-content:space-between;padding:42px 44px 30px;border-bottom:1px solid #e5ebf4}.client-doc-header img{width:180px;height:88px;object-fit:contain;object-position:left center}.client-doc-header>div{text-align:right}.client-doc-header span,.client-doc-header strong,.client-doc-header small{display:block}.client-doc-header span{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#52709e}.client-doc-header strong{font-size:18px;margin-top:6px}.client-doc-header small{margin-top:6px}.client-doc-parties{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:31px 44px}.client-doc-parties span,.client-doc-summary span{display:block;font-size:9px;letter-spacing:1.4px;color:#6680a6;font-weight:700;margin-bottom:9px}.client-doc-parties h2{font-size:18px;margin-bottom:8px}.client-doc-parties h3{font-size:13px;margin-bottom:7px}.client-doc-summary{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start;margin:0 44px 28px;padding:24px 26px;border-radius:16px;background:linear-gradient(135deg,#071635,#123776);color:#fff}.client-doc-summary h2{font-size:18px;margin-bottom:8px}.client-doc-summary p{color:#bdcbe2}.client-doc-summary>div:last-child{text-align:right;min-width:180px}.client-doc-summary>div:last-child span{color:#7ddcff}.client-doc-summary>div:last-child strong{font-size:27px}.client-doc-lines{width:calc(100% - 88px);margin:0 44px}.client-doc-lines th{background:#f4f7fc;color:#617797}.client-doc-lines td{border-color:#e6ecf4}.client-doc-totals{width:330px;margin:24px 44px 34px auto}.client-doc-totals>div{display:flex;justify-content:space-between;gap:25px;padding:9px 0;font-size:12px;color:#62738c}.client-doc-totals .total{border-top:2px solid #102448;margin-top:8px;padding-top:15px;color:#102448}.client-doc-totals .total span{font-weight:700}.client-doc-totals .total strong{font-size:20px;color:#124cff}.client-doc-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 44px;background:#f6f8fc;border-top:1px solid #e3e9f3}.client-doc-footer p{font-size:11px}.client-doc-footer small{font-size:9px;color:#8794a8}.client-doc-footer b{color:#124cff}
@media(max-width:600px){.client-doc-header,.client-doc-parties,.client-doc-footer{padding-left:22px;padding-right:22px}.client-doc-header img{width:125px;height:68px}.client-doc-summary{margin-left:22px;margin-right:22px;grid-template-columns:1fr}.client-doc-summary>div:last-child{text-align:left}.client-doc-lines{width:calc(100% - 44px);margin-left:22px;margin-right:22px}.client-doc-totals{width:auto;margin-left:22px;margin-right:22px}}
@media print{.client-document{max-width:none}.client-doc-header{padding-top:15mm}.client-doc-footer{position:fixed;bottom:0;left:0;right:0}}
.site-note-tools{border:1px solid #cfe0fa;border-radius:13px;padding:15px;margin-bottom:20px;background:linear-gradient(135deg,#f2f7ff,#f8fcff)}.site-note-tools>div:first-child strong,.site-note-tools>div:first-child small{display:block}.site-note-tools>div:first-child strong{font-size:13px;color:#102448}.site-note-tools>div:first-child small{font-size:9px;margin-top:4px}.site-note-tools>div:nth-child(2){display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.site-note-tools>p{font-size:8px;color:#77869d;margin-top:10px}.contractor-job>.site-note-tools{grid-column:1/-1}.site-note-tools .btn{min-height:42px}
@media(max-width:600px){.site-note-tools>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr}.site-note-tools .btn:last-child{grid-column:1/-1}.site-note-tools .btn{width:100%}}

/* Operational diary: shared desktop and mobile layout. */
.diary-workspace{max-width:1080px;margin:auto;color:#142341}.diary-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.diary-heading h1{font-size:32px;letter-spacing:-1px;margin:4px 0}.diary-heading .eyebrow{font-size:10px;letter-spacing:3px}.diary-controls{display:flex;gap:16px;align-items:center;margin-bottom:18px}.diary-segments{display:flex;background:#e9eef6;padding:4px;border-radius:16px;min-width:300px}.diary-segments button{display:flex;gap:8px;justify-content:center;align-items:center;flex:1;border:0;background:transparent;color:#65738b;border-radius:12px;min-height:44px;font-weight:650;font-size:14px}.diary-segments button[aria-pressed=true]{background:white;color:#235cf0;box-shadow:0 2px 7px #203b6412}.diary-segments svg,.diary-search svg,.entry-directions svg{width:19px;height:19px;flex-shrink:0}.diary-search{display:flex;align-items:center;gap:8px;border:1px solid #dbe3ef;border-radius:13px;padding:0 12px;background:white;flex:1;min-width:0}.diary-search input{border:0;background:transparent;min-width:0;width:100%;height:46px;outline-offset:2px;font-size:15px}.diary-date-bar{display:flex;align-items:center;justify-content:center;gap:8px}.diary-date-bar label{position:relative;flex:1;text-align:center;font-size:17px;font-weight:700;min-height:44px;display:grid;place-items:center}.diary-date-bar input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.diary-date-bar .icon-btn{min-width:44px;min-height:44px}.diary-week{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #dfe6ef;padding:8px 0 12px;gap:4px}.diary-week button{display:grid;justify-items:center;gap:5px;background:none;border:0;color:#6f7b90;padding:6px;border-radius:12px}.diary-week b{display:grid;place-items:center;border-radius:50%;width:38px;height:38px;font-size:19px;color:#192842}.diary-week button[aria-pressed=true] b{color:#fff;background:#285cf3;box-shadow:0 3px 10px #285cf330}.diary-week button[aria-current=date]:not([aria-pressed=true]) b{color:#285cf3;background:#e7efff}.diary-week i{width:4px;height:4px;border-radius:50%;background:transparent}.diary-week .has-visits{background:#5880db}.diary-context{font-size:12px;color:#6d7a91;margin:16px 0 12px}.agenda-group{border-radius:16px;overflow:hidden;border:1px solid #e1e7f0;margin-bottom:18px;background:white}.agenda-group h2{display:flex;justify-content:space-between;gap:10px;background:#edf2f9;font-size:14px;padding:12px 16px;margin:0;color:#23334d}.agenda-group h2 span{font-size:12px;font-weight:500;color:#738099}.diary-entry{position:relative;background:#fff;border-bottom:1px solid #e6ebf3;--entry-accent:#2d76e8}.diary-entry.is-quote,.day-event.is-quote{--entry-accent:#dc8a17}.diary-entry:last-child{border-bottom:0}.entry-main{display:flex;gap:12px;width:100%;padding:18px 16px 10px;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer}.entry-main:hover{background:#f8faff}.entry-type{flex-shrink:0;border-radius:50%;width:28px;height:28px;background:var(--entry-accent);color:white;font-size:13px;font-weight:750;display:grid;place-items:center;position:relative;z-index:1}.entry-content{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%;position:relative}.entry-content:before{content:'';position:absolute;left:-27px;top:32px;bottom:0;width:2px;background:var(--entry-accent);opacity:.25}.entry-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.entry-top>strong{font-size:17px}.entry-top>span{color:#8090a7;font-size:13px}.entry-top small{font-size:12px;font-weight:500;color:#8290a5}.entry-client{font-size:16px;line-height:1.4}.entry-address{font-size:14px;line-height:1.45;color:#3d4e68}.entry-title{color:#79869a;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.entry-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#738197;font-size:11px;padding-top:3px}.entry-meta .badge{font-size:10px;padding:3px 7px}.entry-travel{font-size:12px;color:#437559}.entry-directions{display:flex;gap:4px;align-items:center;color:#3566c5;font-size:12px;min-height:36px;margin:0 16px 5px 56px;width:max-content}.diary-empty{text-align:center;padding:52px 24px;color:#6e7e94;background:#fff;border:1px solid #e0e8f3;border-radius:16px}.diary-empty>span{display:inline-grid;place-items:center;background:#eaf2ff;color:#4674c7;width:44px;height:44px;border-radius:50%;font-size:20px}.diary-empty h3{color:#30435e;margin:14px 0 8px}.diary-empty p{max-width:300px;margin:auto;line-height:1.6}.day-scroll{height:min(65vh,720px);overflow:auto;border:1px solid #dfe7f1;background:#fff;border-radius:14px}.day-timeline{position:relative;margin-top:12px}.day-hour{position:absolute;left:0;right:0;border-top:1px solid #e7edf5}.day-hour time{position:absolute;top:-8px;left:6px;font-size:10px;color:#8c98ab;background:white;padding-right:7px}.day-events{position:absolute;left:48px;right:8px;top:0;bottom:0}.day-event{--entry-accent:#2d76e8;position:absolute;display:flex;flex-direction:column;text-align:left;border:0;border-left:3px solid var(--entry-accent);background:#edf4ff;border-radius:5px;padding:7px;gap:4px;overflow:hidden;color:#365f9a;min-width:0}.day-event.is-quote{background:#fff6e5;color:#825d28}.day-event strong{font-size:11px}.day-event b{font-size:13px}.day-event span{font-size:12px}.day-event small{font-size:10px}.day-event>*{flex-shrink:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.now-line{position:absolute;left:0;right:0;height:2px;background:#ef6767;pointer-events:none}.now-line span{position:absolute;right:0;top:-15px;font-size:10px;color:#cd4848;background:white}.diary-map{position:relative;height:370px;background:#eef3ed;border:1px solid #dce5df;border-radius:16px;overflow:hidden;touch-action:none;isolation:isolate}.map-tile{position:absolute;width:256px;height:256px;max-width:none!important;user-select:none}.map-pin{position:absolute;transform:translate(-50%,-100%);width:36px;height:42px;border-radius:20px 20px 20px 3px;background:#2864ec;border:3px solid white;box-shadow:0 3px 8px #19395240;color:#fff;font-size:14px;font-weight:750;z-index:2}.map-controls{position:absolute;top:12px;right:12px;display:grid;gap:3px;z-index:3}.map-controls button{background:white;border:1px solid #dce3ec;border-radius:8px;width:42px;height:42px;font-size:24px;color:#315380}.map-attribution{position:absolute;bottom:0;right:0;font-size:10px;padding:3px 5px;background:#ffffffe6;z-index:3}.map-empty{display:grid;align-content:center;text-align:center;height:100%;padding:32px;line-height:1.6;color:#5d7162}.map-empty p{font-size:13px}.map-job-list{border-radius:16px;overflow:hidden;margin-top:15px;border:1px solid #e2e8f0}.location-missing{font-size:11px;background:white;padding:0 16px 12px 56px;color:#8a7960;margin:0;border-bottom:1px solid #eee}.map-tile-error{display:none}.diary-map[data-unavailable=true] .map-tile-error{display:block;position:absolute;left:5px;bottom:24px;background:white;padding:8px;font-size:11px;z-index:3;max-width:80%}.commercial-summary{margin-top:28px;border-top:1px solid #dde5ef;padding-top:18px}.commercial-summary summary{cursor:pointer;color:#728098;font-size:13px;margin-bottom:16px}.permission-option{display:flex;gap:8px;align-items:center;margin:15px 0;font-size:14px}.permission-option input{width:18px;height:18px}.diary-workspace button:focus-visible,.diary-workspace a:focus-visible{outline:3px solid #88aafa;outline-offset:2px}
@media(max-width:760px){.content:has(.diary-workspace){padding:20px 16px 100px!important}.diary-heading{margin-bottom:16px}.diary-heading h1{font-size:28px}.diary-heading .btn{min-height:42px;padding:9px 12px;font-size:12px}.diary-controls{display:block;margin-bottom:8px}.diary-segments{min-width:0;width:100%}.diary-search{margin-top:12px}.diary-search input{height:40px}.diary-date-bar{gap:0;margin:8px -7px 0}.diary-date-bar label{font-size:13px}.diary-date-bar>.btn{font-size:11px;padding:7px;min-width:40px}.diary-week{padding-bottom:8px}.diary-workspace .staff-strip{padding:12px 0 0;overflow:auto}.diary-workspace .staff-chip{white-space:nowrap;font-size:12px;min-height:35px}.diary-context{font-size:11px;margin-top:14px}.entry-main{padding:14px 12px 7px;gap:10px}.entry-client{font-size:15px}.entry-address,.entry-title{font-size:13px}.entry-top>strong{font-size:16px}.entry-top>span{font-size:12px}.entry-type{width:26px;height:26px;font-size:12px}.entry-content:before{left:-24px}.entry-directions{margin-left:48px}.agenda-group{margin-bottom:14px}.agenda-group h2{padding:10px 12px;font-size:13px}.diary-map{height:340px}.diary-workspace .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-nav{padding-bottom:max(12px,env(safe-area-inset-bottom))!important;display:flex!important;justify-content:space-around}.mobile-nav button{flex:1;min-height:52px}.day-scroll{height:60vh}.day-event{padding:5px}.location-missing{padding-left:48px}}
.diary-title{display:flex;align-items:center;gap:12px;flex:1}.diary-title img{width:32px;height:32px}.diary-heading{gap:10px}.diary-heading .diary-logout{display:none}.diary-controls{display:flex;gap:8px}.diary-segments{flex:1}.diary-search{display:none}.diary-search.is-open{display:flex;margin-bottom:10px}.diary-search-toggle{width:44px;height:44px;flex-shrink:0;background:white;border:1px solid #e0e7f1;border-radius:14px}.diary-workspace button{scroll-margin-block:100px}.diary-map{scroll-margin-block:90px}
@media(max-width:760px){.main:has(.diary-workspace) .topbar{display:none!important}.content:has(.diary-workspace){padding-top:16px!important}.diary-heading{margin-bottom:12px}.diary-heading h1{margin:0;font-size:25px}.diary-heading .diary-logout{display:flex;width:36px;min-width:36px;height:40px;justify-content:center;align-items:center}.diary-heading .btn{font-size:11px;padding:8px;min-height:38px}.diary-title{gap:8px}.diary-title img{width:28px;height:28px}.diary-controls{margin-bottom:4px}.diary-segments{width:auto}.diary-date-bar{margin-top:3px}.diary-week{padding-top:2px}.diary-week b{width:34px;height:34px;font-size:18px}.diary-week button{gap:3px;padding-top:2px;padding-bottom:2px}.diary-search{margin-top:8px}.diary-entry .entry-main{padding-top:12px}.diary-workspace .entry-content{gap:4px}.diary-workspace .entry-meta{padding-top:1px}.entry-directions{min-height:32px}.diary-context{margin-top:12px}}
.diary-week{grid-template-columns:repeat(7,minmax(0,1fr))}.diary-week button{min-width:0;padding-left:0;padding-right:0}.diary-date-bar label{min-width:0}.diary-date-bar label span{max-width:100%}
@media(max-width:360px){.diary-date-bar label{font-size:11px}.diary-week b{width:30px;height:30px}.diary-segments button{gap:4px;font-size:12px}.diary-segments svg{width:16px}.diary-heading h1{font-size:22px}}
