:root{--gold:#cf9b00;--gold2:#aa7800;--ink:#1c2537;--muted:#798397;--line:#e6eaf2;--bg:#f6f8fb;--white:#fff;--shadow:0 16px 45px rgba(31,43,65,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font:14px/1.5 Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--gold2);text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif}h1{font-size:24px;margin:0;font-weight:800;letter-spacing:-.6px}h2{font-size:19px}small{font-size:11px}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 14px 18px;gap:30px;min-width:0}.brand{padding:0 12px;display:flex;align-items:center;gap:12px}.brand-icon{width:43px;height:43px;display:grid;place-items:center;background:linear-gradient(130deg,#e5b611,#9a6700);color:white;font:800 28px Inter;border-radius:12px;transform:skew(-5deg)}.brand-icon span{font-size:10px}.brand strong{font-size:18px;letter-spacing:1px}.brand strong span{color:#6c7382}.brand small{display:block;color:#9ea3ac;font-size:8px;font-weight:800;letter-spacing:1.6px}.nav{display:grid;gap:7px}.nav button{border:none;width:100%;background:transparent;color:#697284;display:flex;gap:13px;align-items:center;text-align:left;padding:13px 16px;border-radius:10px;font-weight:700}.nav button:hover,.nav button.active{background:#faf4e5;color:#ad7e00}.nav .glyph{font-size:19px;line-height:1}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:16px 12px;color:#556273;font-weight:700}.sidebar-foot small{display:block;font-weight:500;color:#98a0ad;margin-top:6px}.live-dot{background:#29ba82;width:7px;height:7px;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px #e1f8ef;margin-right:8px}.workarea{min-width:0}.topbar{padding:22px 32px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:17px}.synced{color:#788696;font-size:12px}.avatar{display:grid;place-items:center;background:#faf1dd;color:#a17600;border-radius:100%;height:39px;width:39px;font-weight:800}.content{padding:28px 32px 64px;max-width:1600px;margin:auto}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.stat,.panel,.auth-card,.welcome{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 4px 19px rgba(31,43,65,.025)}.stat{padding:24px;display:flex;justify-content:space-between;align-items:start;gap:10px}.stat h3{font-size:30px;margin:9px 0 0}.stat p{color:#748194;margin:0;font-size:12px;font-weight:700}.stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#faf4e3;font-size:20px}.panel{padding:22px;margin-bottom:18px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.panel-header h2{margin:0}.panel-header p{margin:5px 0 0;color:#8894a4;font-size:12px}.welcome{padding:27px;background:linear-gradient(105deg,#fff7e6,#fff 56%,#f3f6ff);margin-bottom:23px;display:flex;justify-content:space-between;align-items:center;gap:20px}.welcome p{color:#657186;margin:8px 0 0}.welcome-mark{font-size:60px;color:#d0a535;opacity:.6;font-weight:800}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.primary-btn,.secondary-btn,.danger-btn{border:1px solid transparent;border-radius:10px;padding:10px 15px;font-weight:750;white-space:nowrap}.primary-btn{color:#fff;background:linear-gradient(115deg,#d3a000,#bd8500)}.primary-btn:hover{filter:brightness(.95)}.secondary-btn{color:#526074;background:#fff;border-color:#e0e5ed}.secondary-btn:hover{background:#f6f8fa}.danger-btn{color:#be3e46;border-color:#f4ccd0;background:#fff6f7}.icon-btn{border:0;border-radius:8px;background:transparent;color:#637083;font-size:17px;min-width:34px;min-height:34px}.icon-btn:hover{background:#f2f3f5}.mobile-menu{display:none}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#94a0ad;text-transform:uppercase;font-size:10px;letter-spacing:1px;font-weight:800;padding:12px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid #f0f2f6;font-size:12px;vertical-align:middle}tr:last-child td{border:0}tr.clickable{cursor:pointer}tr.clickable:hover{background:#fffaf0}.muted{color:#94a0ac}.strong{font-weight:800;color:#313c4e}.chip{display:inline-block;padding:4px 9px;border-radius:25px;background:#edf1f7;color:#65738b;font-size:11px;font-weight:800;text-transform:capitalize;white-space:nowrap}.chip.open,.chip.active,.chip.in_progress{background:#e9f1ff;color:#3975bb}.chip.urgent,.chip.high{background:#fff0ef;color:#c35d54}.chip.resolved,.chip.completed{background:#e7f7ed;color:#31935c}.chip.waiting,.chip.on_hold{background:#fff4dd;color:#ad7b20}.search-input{border:1px solid #dde3ed;border-radius:10px;padding:10px 13px;outline:none;min-width:240px;width:100%;max-width:320px}.search-input:focus,input:focus,select:focus,textarea:focus{border-color:#be951f;outline:2px solid #f4e6b6}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:12px 3px}.pager span{color:var(--muted);font-size:12px}.empty{padding:45px 20px;text-align:center;color:#929baa}.empty h3{margin:5px 0;color:#445269}.auth-layout{min-height:calc(100vh - 130px);display:grid;place-items:center}.auth-card{width:min(430px,100%);padding:38px}.auth-card h2{font-size:26px;margin:9px 0 5px}.auth-card p{color:var(--muted);font-size:12px;margin-bottom:24px}.eyebrow{color:#b38609;letter-spacing:2px;text-transform:uppercase;font-size:10px;font-weight:800}.auth-links{text-align:center;padding-top:18px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:6px;color:#526075;font-size:12px;font-weight:750}input,select,textarea{border:1px solid #dce2eb;border-radius:10px;min-height:42px;padding:10px 12px;background:#fff;color:#273343;width:100%;outline:none}textarea{min-height:90px;resize:vertical}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.loading{padding:55px;text-align:center;color:var(--muted)}.note{padding:12px 14px;border-radius:10px;font-size:12px;margin-bottom:14px}.note.error{background:#fff0f1;color:#9c3443}.note.success{background:#e6f7ef;color:#217752}.overlay{position:fixed;inset:0;z-index:500;background:rgba(21,29,43,.58);display:grid;place-items:center;padding:18px}.overlay[hidden],.toast[hidden],[hidden]{display:none!important}.dialog{background:#fff;width:min(750px,100%);max-height:93vh;overflow-y:auto;border-radius:19px;padding:25px;box-shadow:0 35px 90px #18223a5e}.dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:13px}.dialog-head h2{margin:0}.section-heading{margin:20px 0 9px;font-size:13px;font-weight:800}.message{border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0}.message strong{font-size:12px}.message small{float:right;color:#94a0ac}.message p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.message.private{background:#fff9e9}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:10px}.detail-grid div{color:#758294;font-size:12px}.detail-grid strong{display:block;color:#344055;margin-top:5px}.section-divider{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.toast{position:fixed;right:17px;bottom:20px;z-index:9999;background:#25364c;color:white;border-radius:12px;padding:13px 18px;max-width:390px;box-shadow:var(--shadow)}.setup-body{display:grid;place-items:center;min-height:100vh;padding:20px}.setup-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}.setup-card form{display:grid;gap:14px}.logo-text{font-size:20px;letter-spacing:2px;font-weight:800}.brand-a{color:var(--gold);font-size:28px}.logo-text>span:last-child{color:#888}.notice{background:#f8faff;border:1px solid var(--line);border-radius:12px;padding:14px;color:#657185}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.focus-box{padding:20px;border:1px solid var(--line);border-radius:14px}.focus-box h3{margin-bottom:5px}.hint{font-size:11px;color:#8e98a9}.table-link{border:0;background:transparent;color:#b08100;font-size:12px;font-weight:800;padding:3px;text-align:left}.table-link:hover{text-decoration:underline}@media(max-width:950px){.cards{grid-template-columns:repeat(2,1fr)}.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;top:0;bottom:0;z-index:200;box-shadow:var(--shadow);width:248px;transition:left .18s}.sidebar.show{left:0}.mobile-menu{display:inline-block}.topbar{padding:15px 20px}.content{padding:20px}}@media(max-width:550px){.cards,.grid-two,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}.topbar h1{font-size:18px}.top-actions{gap:8px}.synced{display:none}.content{padding:12px}.panel{padding:14px}.stat{padding:15px}.stat h3{font-size:24px}.welcome{padding:20px}.welcome-mark{display:none}.auth-card{padding:23px}.dialog{padding:17px}.search-input{max-width:none}.panel-header{align-items:stretch}.panel-header .row{width:100%}}

/* Aux One three-state ticket color system (v1.5): full opacity text and badge. */
.ticket-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid transparent;padding:5px 11px;font-weight:800;font-size:12px;line-height:1.3;white-space:nowrap}
.ticket-status::before{content:'●';font-size:11px}
.ticket-status.status-open{background:#e4f7ec;border-color:#b8e5c9;color:#086b47}
.ticket-status.status-waiting{background:#fff2d8;border-color:#f2d18b;color:#945e00}
.ticket-status.status-closed{background:#ffe9eb;border-color:#f1bfc4;color:#a42d3d}

/* Aux One Portal 2.0 */
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0 8px}
.brand-logo{width:194px;max-width:100%;height:auto;display:block;object-fit:contain}
.brand-tagline{font-size:9px;letter-spacing:2.1px;font-weight:800;color:#a58b4a;padding-left:8px}
.welcome-logo{width:min(265px,35%);height:auto;object-fit:contain;opacity:.94}
.chip.overdue{background:#ffe9eb;color:#a52c42}
.chip.active{background:#e3f5eb;color:#086b47}
.filter-shell{border-radius:13px;background:#f8fafd;border:1px solid #e9eef5;padding:14px 15px;margin:14px 0 18px}
.filter-toolbar,.date-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.date-toolbar{margin-top:10px}
.project-filter-drawer{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.customer-identity{display:inline-flex;gap:9px;align-items:center;min-width:0;max-width:100%;vertical-align:middle;text-align:left}.customer-identity>span:last-child{min-width:0;overflow-wrap:anywhere}.customer-identity strong{font-size:12px;color:#344055;display:block}.customer-identity small{display:block;color:#8490a0;margin-top:2px}.customer-mark{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#fff7e2;border:1px solid #eee3c7;display:grid;place-items:center;overflow:hidden;color:#9e740d;font-weight:800}.customer-mark img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:50%}.project-customer{margin:10px 0}.project-tile .customer-identity{max-width:100%}
.project-search .filter-toolbar>.primary-btn,.project-search .filter-toolbar>.secondary-btn{min-height:40px}
.site-status{display:inline-flex;gap:5px;align-items:center;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:800;white-space:nowrap}
.site-status.on-site{background:#e6f7ed;color:#247346}.site-status.off-site{background:#eef1f5;color:#59667b}
.daily-site-attendance td{padding:13px 8px}.daily-site-attendance th{padding:12px 8px}
@media(max-width:650px){.project-search .filter-search{flex-basis:100%;min-width:0}.project-filter-drawer label{min-width:100%;width:100%}.daily-site-attendance .table-wrap{overflow:visible}.daily-site-attendance table,.daily-site-attendance tbody,.daily-site-attendance tr,.daily-site-attendance td{display:block;width:100%}.daily-site-attendance thead{display:none}.daily-site-attendance tr{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:9px}.daily-site-attendance td{display:flex;justify-content:space-between;gap:15px;text-align:right;border:0;padding:5px 3px;overflow-wrap:anywhere}.daily-site-attendance td::before{content:attr(data-label);text-align:left;color:var(--muted);font-size:11px;flex:0 0 105px;font-weight:600}}
.filter-shell label{display:flex;flex-direction:column;gap:4px;flex:1;min-width:135px;font-size:11px;font-weight:750;color:#596a81}
.filter-shell label.filter-search{flex:2;min-width:230px}
.filter-shell input,.filter-shell select{height:40px;min-height:40px;padding:8px 11px;border-radius:9px;background:#fff}
.filter-shell .search-input{min-width:0;max-width:none}
.date-toolbar label{max-width:190px}
.pager{flex-wrap:wrap}
.pager-meta{margin-right:auto}
.page-number{min-width:37px}
.page-number.chosen{background:#c99508;color:#fff;border-color:#c99508}
.dashboard-table{margin-top:18px}
.live-count{display:inline-block;border-radius:30px;background:#e6f8ee;color:#087c55;font-size:12px;font-weight:800;padding:7px 12px}
@media(max-width:750px){.filter-shell label{min-width:calc(50% - 8px)}.filter-shell label.filter-search{min-width:100%}.welcome-logo{display:none}.date-toolbar label{max-width:none}.date-toolbar button{flex:1}}
@media(max-width:500px){.filter-shell label{min-width:100%}.date-toolbar label{min-width:calc(50% - 8px)}.pager{justify-content:center}.pager-meta{width:100%;text-align:center}.brand-logo{width:174px}}

/* Portal 2.1: people, work-hour reports, app controls and full-screen operations. */
.person{display:inline-flex;align-items:center;gap:9px;vertical-align:middle;line-height:1.3;font-weight:650}
.person-photo{width:31px;height:31px;min-width:31px;border-radius:50%;overflow:hidden;background:#faf1dd;display:inline-block}
.person-photo img,.avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.session-user{margin:0 5px;padding:13px 9px;background:#faf7ee;border:1px solid #eee6d3;border-radius:12px}
.session-user>small{display:block;padding-left:40px;margin-top:5px;text-transform:capitalize;color:#8b7950}
.top-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.top-actions .secondary-btn,.top-actions .primary-btn{font-size:12px;padding:9px 11px}
.notification-button{position:relative}.notification-count{display:inline-grid;place-items:center;background:#b82f43;color:white;border-radius:20px;font-size:10px;min-width:19px;height:19px;margin-left:5px;padding:0 4px}
.hours-cell{min-width:120px;max-width:230px;display:grid;gap:4px}.hours-cell strong{color:#253449;font-size:13px}.hours-cell small{font-size:10px;font-weight:500;color:#6c788b}.hours-cell progress{appearance:none;width:100%;height:6px;border:0;border-radius:7px;overflow:hidden;background:#edf0f5}.hours-cell progress::-webkit-progress-bar{background:#edf0f5;border-radius:7px}.hours-cell progress::-webkit-progress-value{background:linear-gradient(90deg,#c79407,#e1b631);border-radius:7px}.hours-cell progress::-moz-progress-bar{background:#c79407}
.report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.report-stats>div{padding:16px;border-radius:12px;border:1px solid var(--line);background:#fafbfd;display:grid;gap:6px}.report-stats span{font-size:11px;color:#738095}.report-stats strong{font-size:25px;color:#26374a}
.day-chart{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(34px,1fr);gap:8px;overflow:auto;min-height:185px;padding:14px 8px 16px;border-bottom:1px solid var(--line);margin-bottom:18px}.day-column{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px}.day-value{font-size:10px;color:#806527}.day-bar-track{height:110px;width:28px;display:flex;align-items:end;background:#f8f5ed;border-radius:5px}.day-bar{width:100%;background:linear-gradient(0deg,#bc8706,#e9c05a);border-radius:5px}.day-column small{font-size:9px;color:#7f8999;white-space:nowrap}
.project-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.project-tile{padding:16px;background:#fffdf7;border:1px solid #ece2c3;border-radius:13px;text-align:left;display:grid;gap:8px;color:#28374b}.project-tile:hover{border-color:#c99508}.project-tile small{color:#7c8795}.project-tile .chip{justify-self:start}.site-select{min-width:210px;max-width:380px;flex:1}
.new-customer{padding:13px;background:#faf7ee;border:1px solid #eee4c8;border-radius:12px}.new-customer summary{color:#987000;cursor:pointer;font-weight:750}.new-customer[open] summary{margin-bottom:13px}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:16px;min-height:16px}.profile-form-intro{border-bottom:1px solid var(--line);padding-bottom:10px}.profile-form-intro .person-photo{width:58px;height:58px}.profile-form-intro .person{font-size:17px}
.notification-list{display:grid;gap:8px;margin-top:16px}.notification-item{display:grid;gap:5px;width:100%;text-align:left;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#334156}.notification-item span,.notification-item small{font-size:12px;color:#7d8796}.notification-item.unread{border-left:4px solid #c99508;background:#fffaf0}.notification-item:hover{background:#f8f9fc}.install-steps p{padding:13px;background:#f7f9fc;border-radius:10px}
.app:fullscreen{overflow:auto;background:var(--bg);width:100vw;height:100vh}.app:fullscreen .content,.portal-expanded .content{max-width:none}.app:fullscreen .topbar,.portal-expanded .topbar{position:sticky;top:0;z-index:100}.portal-expanded #app{position:fixed;inset:0;overflow:auto;z-index:10000;background:var(--bg)}.portal-expanded{overflow:hidden}.app:fullscreen .overlay{z-index:11000}.app:fullscreen .toast{z-index:12000}
@media(min-width:1550px){.app:fullscreen .dashboard-columns,.portal-expanded .dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.app:fullscreen .dashboard-columns>.panel,.portal-expanded .dashboard-columns>.panel{min-width:0;margin-top:0}}
@media(max-width:1200px){.topbar{align-items:flex-start}.top-actions{max-width:490px}.top-actions .synced{display:none}}
@media(max-width:600px){.topbar{flex-direction:column;gap:13px}.top-actions{max-width:none;justify-content:flex-start;width:100%}.top-actions .avatar{margin-left:auto}.report-stats{grid-template-columns:1fr 1fr}.report-stats strong{font-size:21px}.day-chart{grid-auto-columns:38px}.form-grid>details.wide{min-width:0}.project-tiles{grid-template-columns:1fr}.topbar h1{font-size:21px}.synced{display:none}}
@media print{.sidebar,.topbar,.filter-shell,.pager,#toast,.overlay,.row button,#print-report{display:none!important}.app{display:block}.content{padding:0;max-width:none}.panel{box-shadow:none;break-inside:avoid}.table-wrap{overflow:visible}td{font-size:10px;padding:8px}.hours-cell{min-width:75px}.day-chart{overflow:visible;grid-auto-columns:minmax(12px,1fr)}.day-bar-track{width:12px}.day-column small{font-size:7px}body{background:#fff}}

/* Portal 2.2: deadlines, installation tracking and concise employee time records. */
.project-graphic{--timeline:#2876be;--timeline-bg:#edf5ff;min-width:145px;max-width:260px;padding:9px 11px;border-radius:10px;background:var(--timeline-bg);color:var(--timeline)}
.project-graphic>div{display:flex;align-items:center;gap:6px}.project-graphic strong{font-size:12px}.project-graphic small{font-size:10px;display:block;text-transform:capitalize;margin-top:4px;opacity:.85}.timeline-dot{width:6px;height:6px;border-radius:50%;background:var(--timeline);flex:none}
.project-graphic progress{display:block;appearance:none;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;background:#ffffffc9;margin-top:7px}.project-graphic progress::-webkit-progress-bar{background:#ffffffc9}.project-graphic progress::-webkit-progress-value{background:var(--timeline)}.project-graphic progress::-moz-progress-bar{background:var(--timeline)}
.project-graphic.overdue{--timeline:#b62e43;--timeline-bg:#fff0f2}.project-graphic.completed{--timeline:#11824e;--timeline-bg:#e8f7ee}.project-graphic.due_soon,.project-graphic.due_today{--timeline:#a66900;--timeline-bg:#fff3dc}.project-graphic.unscheduled{--timeline:#6c788b;--timeline-bg:#f0f3f7}
.project-title-button{background:none;border:0;padding:0;text-align:left;font-weight:800;color:#27384d;font-size:14px}.project-title-button:hover{text-decoration:underline}.project-tile{cursor:default}.project-tile .project-graphic{max-width:none}
.site-directions{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin-top:6px;border:1px solid #d4e6f9;background:#f0f7ff;color:#2365a6;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:750;white-space:nowrap}.site-directions:hover{background:#e1effe}.project-detail-top{display:flex;align-items:center;gap:15px;justify-content:space-between;margin-bottom:20px}.project-detail-top .project-graphic{flex:1}.project-description{white-space:pre-wrap;overflow-wrap:anywhere}
.deployment-progress{appearance:none;border:0;width:100%;height:7px;border-radius:8px;background:#edf1f4;overflow:hidden}.deployment-progress::-webkit-progress-bar{background:#edf1f4}.deployment-progress::-webkit-progress-value{background:#1aa86c}.deployment-progress::-moz-progress-bar{background:#1aa86c}.deployment-summary{font-size:11px;font-weight:800;color:#168357;background:#e9f7f0;border-radius:25px;padding:6px 10px}.deployment-check{display:flex;align-items:center;gap:7px;min-width:165px;font-size:11px;color:#286c4b}.deployment-check input{width:19px;height:19px;min-height:19px;accent-color:#138752;padding:0}.deployment-by{display:block;margin-top:8px;color:#7a8796;white-space:nowrap}.deployment-by .person-photo{width:22px;height:22px;min-width:22px}.deployment-by .person{font-size:10px}.item-deployed{background:#f7fdf9}.update-edit-actions{margin-top:12px}.update-edit-actions button{font-size:11px;padding:6px 9px}
.simple-hours{display:flex;align-items:center;gap:15px;background:linear-gradient(100deg,#fff7df,#fffdf6);border:1px solid #f0e4bd;border-radius:13px;padding:18px;margin:15px 0 22px}.simple-hours strong{font-size:31px;color:#8b6400;white-space:nowrap}.simple-hours span{font-size:12px;color:#8d7a4c}.my-visit{display:grid;gap:5px;padding:12px 0;border-top:1px solid var(--line)}.my-visit>span,.my-visit>small{font-size:11px;color:#788697}.employee-visits{display:grid;gap:14px}.employee-visit{padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff}.employee-visit h3{font-size:15px;margin:0}.employee-visit .panel-header{margin-bottom:8px}.worked-badge{background:#e9f7ef;color:#128054;font-size:12px;font-weight:800;border-radius:20px;padding:6px 10px;white-space:nowrap}.visit-times{display:grid;grid-template-columns:1fr 1fr;gap:14px}.visit-times>div{display:grid;gap:5px}.visit-times small{font-size:10px;color:#8b95a6;text-transform:uppercase;letter-spacing:.5px}.visit-times strong{font-size:12px;color:#34445a}.visit-times a{font-size:11px;color:#3176ba}.employee-attendance .pager{margin-top:15px}td{overflow-wrap:anywhere}
@media(max-width:550px){.project-detail-top{align-items:stretch;flex-direction:column;gap:8px}.project-detail-top .project-graphic{max-width:none}.project-detail-top .site-directions{align-self:start}.visit-times{grid-template-columns:1fr;gap:15px}.simple-hours{align-items:flex-start;flex-direction:column;gap:4px}.employee-visit{padding:13px}.deployment-summary{font-size:10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:13px;gap:6px}.stat-icon{width:28px;height:28px;font-size:15px}.stat p{font-size:10px}.stat h3{font-size:24px}.project-graphic{max-width:none}}
.table-wrap .person{white-space:nowrap}
.dialog-head{position:sticky;top:-25px;z-index:2;background:#fff;padding-top:8px}
@media(max-width:550px){.dialog-head{top:-17px}}
@media(max-width:600px){.employee-project-items{overflow:visible}.employee-project-items thead{display:none}.employee-project-items table,.employee-project-items tbody,.employee-project-items tr,.employee-project-items td{display:block;width:100%}.employee-project-items tr{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:12px}.employee-project-items td{border:0;padding:5px 0}.employee-project-items td:nth-child(2)::before{content:'Quantity: ';color:#8490a2}.employee-project-items td:nth-child(4)::before{content:'Notes: ';color:#8490a2}.employee-project-items .deployment-check{padding:8px 0;min-width:0;font-size:12px}.employee-project-items .deployment-by{white-space:normal}.employee-project-items .deployment-by .person{white-space:normal}}

/* Users & Access and Work Updates controls. */
.user-group-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.user-group-tabs button{display:flex;gap:10px;align-items:center;border:1px solid #e1e6ee;background:#fff;color:#667387;border-radius:11px;padding:11px 16px;font-weight:750}.user-group-tabs button.chosen{border-color:#d0a43b;background:#fff8e8;color:#946700}.user-group-tabs button span{font-size:11px;min-width:23px;border-radius:20px;padding:2px 7px;background:#edf1f6;color:#667387}.user-group-tabs button.chosen span{background:#f2e2b8;color:#886100}.management-search .filter-toolbar>.primary-btn,.management-search .filter-toolbar>.secondary-btn{min-height:40px}.management-search .project-filter-drawer label{min-width:150px}
@media(max-width:600px){.user-group-tabs{display:grid;grid-template-columns:1fr 1fr}.user-group-tabs button{justify-content:space-between;padding:10px 12px;font-size:12px}.user-group-tabs button:last-child{grid-column:1/-1}.management-search .filter-search{min-width:0;flex-basis:100%}.management-search .project-filter-drawer label{min-width:100%;width:100%}}

.work-note{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:650px){.users-panel .table-wrap,.updates-panel .table-wrap{overflow:visible}.users-panel table,.users-panel tbody,.users-panel tr,.users-panel td,.updates-panel table,.updates-panel tbody,.updates-panel tr,.updates-panel td{display:block;width:100%}.users-panel thead,.updates-panel thead{display:none}.users-panel tr,.updates-panel tr{border:1px solid var(--line);border-radius:13px;padding:11px;margin-bottom:12px}.users-panel td,.updates-panel td{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;text-align:right;border:0;padding:7px 0;overflow-wrap:anywhere}.users-panel td[data-label]::before,.updates-panel td[data-label]::before{content:attr(data-label);text-align:left;color:#8490a2;font-size:11px;font-weight:600;flex:0 0 80px}.users-panel td>div,.updates-panel td>div{min-width:0;flex:1}.users-panel .person,.updates-panel .person{white-space:normal;justify-content:flex-end}.users-panel .person>span:last-child,.updates-panel .person>span:last-child{min-width:0;overflow-wrap:anywhere}.updates-panel td.work-note{display:block;text-align:left;background:#f8fafd;border-radius:9px;padding:10px;margin:5px 0}.updates-panel td.work-note::before{display:block;margin-bottom:7px}.users-panel .customer-identity,.updates-panel .customer-identity{max-width:100%;justify-content:flex-end}.updates-panel .customer-identity{margin-top:7px}}

.profile-form-intro .customer-mark{width:58px;height:58px;flex-basis:58px}

/* Employee administration and single-page full-screen reporting. */
.admin-privilege{padding:13px;border:1px solid #e9dfc4;border-radius:11px;background:#fffaf0}.admin-privilege small{display:block;font-weight:500;color:#8b7a54;margin-top:3px}.admin-power-badge{display:inline-block;font-size:10px;font-weight:800;color:#886000;background:#fff3ce;border-radius:20px;padding:3px 8px;margin-top:6px}.user-selection-bar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:12px 0 16px}.user-selection-bar .danger-btn{margin-left:auto}.user-select{width:17px;min-height:17px;height:17px;padding:0;accent-color:#b98400}.user-row-actions{display:flex;gap:7px;flex-wrap:wrap}.user-row-actions button{padding:8px 11px;font-size:11px}button:disabled{cursor:default;opacity:.45}.user-group-tabs button:last-child{grid-column:auto}
.report-screen .app{grid-template-columns:minmax(0,1fr)}.report-screen .sidebar,.report-screen #menu,.report-screen .filter-shell,.report-screen .pager{display:none!important}.report-screen .topbar{padding:15px 24px;position:sticky;top:0;z-index:100;flex-direction:row;align-items:center}.report-screen .top-actions{max-width:none;width:auto}.report-screen .top-actions>:not(.synced):not(#fullscreen-button){display:none!important}.report-screen .content{max-width:none;padding:20px 24px 35px}.screen-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;color:#4e5d70;font-weight:750}.screen-banner img{width:210px;max-width:45%;height:auto}.screen-banner small{display:block;font-weight:500;color:#8b96a4;margin-top:3px}.screen-stats{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin-bottom:16px}.screen-stats .stat{padding:17px}.screen-stats h3{font-size:26px;margin-top:5px}.screen-stats .stat-icon{width:29px;height:29px;font-size:17px}.screen-report-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.screen-report{margin:0;min-width:0;padding:18px}.screen-report .panel-header{margin-bottom:8px}.screen-count{display:inline-block;background:#f1f4f8;color:#7b889a;border-radius:20px;padding:2px 9px;font-size:11px;vertical-align:middle}.screen-report table{table-layout:fixed}.screen-report .table-wrap{overflow:visible}.screen-report th{white-space:normal;font-size:9px;padding:9px 7px}.screen-report td{padding:11px 7px;font-size:11px;overflow-wrap:anywhere}.screen-report .person{white-space:normal}.screen-report .hours-cell{min-width:0}.screen-report .hours-cell strong{font-size:12px}.screen-report .project-graphic{min-width:0}.screen-secondary{display:block;color:#8a96a6;font-size:10px;margin-top:4px}.screen-report .customer-identity strong{font-size:11px}.screen-report .customer-mark,.screen-report .person-photo{width:27px;height:27px;min-width:27px;flex-basis:27px}.screen-report .ticket-status,.screen-report .chip{font-size:10px;padding:4px 7px}
@media(min-width:1700px){.screen-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#screen-updates{grid-column:1/-1}}
@media(max-width:850px){.screen-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.report-screen .topbar{padding:12px 16px}.report-screen .content{padding:16px}.report-screen .topbar h1{font-size:18px}.report-screen .topbar p{font-size:10px}.screen-banner{font-size:12px}.screen-banner img{width:160px}.screen-stats .stat{padding:12px}.screen-stats .stat-icon{display:none}}
@media(max-width:650px){.screen-report thead{display:none}.screen-report table,.screen-report tbody,.screen-report tr,.screen-report td{display:block;width:100%}.screen-report tr{padding:11px 0;border-bottom:1px solid var(--line)}.screen-report td{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right;border:0;padding:6px 0}.screen-report td::before{content:attr(data-label);font-size:10px;color:#929ead;flex:0 0 85px;text-align:left}.screen-report .person,.screen-report .customer-identity{justify-content:flex-end}.screen-report .hours-cell{width:min(160px,60%);text-align:left}.screen-report .work-note{text-align:left;white-space:pre-wrap;flex:1}.screen-report .project-graphic{flex:1;text-align:left}.screen-report .screen-secondary{font-size:10px}.screen-report td:has(>.screen-secondary){display:block;text-align:left}.screen-banner{align-items:flex-start;gap:12px}.screen-banner small{font-size:9px}.screen-stats{gap:8px}.user-selection-bar{gap:10px}.user-selection-bar .danger-btn{width:100%;margin:0}.user-row-actions{justify-content:flex-end}.user-select{margin-left:auto}.report-screen .top-actions .synced{display:none}.report-screen #fullscreen-button{font-size:11px;padding:9px}}

/* Fit every full-screen report card to the viewport; overflow rows rotate. */
.report-screen #app{height:100dvh;min-height:0;overflow:hidden}.report-screen .workarea{height:100%;min-height:0;display:flex;flex-direction:column}.report-screen .topbar{flex:0 0 auto;padding:9px 14px;min-height:53px;position:static}.report-screen .topbar h1{font-size:18px}.report-screen .topbar p{font-size:10px;margin-top:1px}.report-screen .top-actions{gap:10px}.report-screen #fullscreen-button{font-size:11px;padding:7px 10px}.report-screen .content{display:flex;flex:1;flex-direction:column;min-height:0;width:100%;padding:8px 12px 10px;overflow:hidden;margin:0}.report-screen .screen-banner{flex:0 0 29px;min-height:0;margin:0 0 7px;gap:10px;font-size:10px}.report-screen .screen-banner img{width:135px;max-height:27px}.report-screen .screen-banner small{display:inline;font-size:9px;margin-left:7px}.report-screen .screen-stats{flex:0 0 auto;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin-bottom:8px}.report-screen .screen-stats .stat{padding:6px 11px;min-height:46px;border-radius:11px}.report-screen .screen-stats .stat p{font-size:9px;line-height:1.2;margin:0}.report-screen .screen-stats .stat h3{font-size:21px;line-height:1.15;margin:3px 0 0}.report-screen .screen-report-grid{display:grid;flex:1;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}.report-screen #screen-projects{grid-column:1;grid-row:1}.report-screen #screen-attendance{grid-column:2/4;grid-row:1}.report-screen #screen-tasks{grid-column:1;grid-row:2}.report-screen #screen-tickets{grid-column:2;grid-row:2}.report-screen #screen-updates{grid-column:3;grid-row:2}.report-screen .screen-report{display:flex;flex-direction:column;min-height:0;padding:10px;border-radius:12px;overflow:hidden}.report-screen .screen-report .panel-header{flex:0 0 auto;align-items:center;flex-wrap:nowrap;gap:6px;margin-bottom:5px;min-height:21px}.report-screen .screen-report h2{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.report-screen .screen-count{font-size:9px;padding:1px 6px}.screen-range{color:#8a97a8;font-size:9px;white-space:nowrap;flex:none}.screen-table-viewport{flex:1;min-height:0;overflow:hidden}.report-screen .screen-report .table-wrap{overflow:hidden;width:100%;height:100%}.report-screen .screen-report table{display:table;width:100%;table-layout:fixed}.report-screen .screen-report thead{display:table-header-group}.report-screen .screen-report tbody{display:table-row-group}.report-screen .screen-report tr{display:table-row;border:0;padding:0}.report-screen .screen-report th{font-size:8px;line-height:1.3;letter-spacing:.2px;padding:5px 4px;white-space:normal}.report-screen .screen-report td{display:table-cell;width:auto;font-size:10px;line-height:1.3;padding:4px;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:middle}.report-screen .screen-report td::before{display:none}.screen-cell{height:34px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-width:0}.screen-cell>strong,.screen-cell>.person,.screen-cell>.customer-identity{flex-shrink:0}.report-screen .screen-report .person{font-size:10px;justify-content:flex-start;line-height:1.25;gap:5px}.report-screen .screen-report .person-photo,.report-screen .screen-report .customer-mark{width:21px;height:21px;min-width:21px;flex-basis:21px}.report-screen .screen-report .customer-identity{gap:5px;justify-content:flex-start}.report-screen .screen-report .customer-identity strong{font-size:10px}.report-screen .screen-report .customer-identity small{font-size:8px;margin-top:0}.report-screen .screen-report .hours-cell{min-width:0;width:100%;text-align:left}.report-screen .screen-report .hours-cell strong{font-size:10px;white-space:nowrap}.report-screen .screen-report .hours-cell>small{display:none}.report-screen .screen-report .hours-cell progress{height:3px;margin-top:3px}.report-screen .screen-report .project-graphic{padding:4px;min-width:0;width:100%;max-width:100%;border-radius:6px}.report-screen .screen-report .project-graphic strong{font-size:9px}.report-screen .screen-report .project-graphic small{display:none}.report-screen .screen-report .project-graphic progress{height:3px;margin-top:3px}.report-screen .screen-report .ticket-status,.report-screen .screen-report .chip,.report-screen .screen-report .site-status{font-size:9px;padding:3px 5px;gap:3px;align-self:flex-start;white-space:nowrap}.report-screen .screen-report .screen-secondary{font-size:9px;margin-top:2px;line-height:1.25}.report-screen .screen-report .live-count{font-size:9px;padding:3px 5px;white-space:normal}.report-screen .screen-report .screen-summary{display:none}.screen-timeline{font-size:9px;font-style:normal;color:#2478b7}.screen-timeline.overdue{color:#bd344a}.screen-timeline.completed{color:#138553}.screen-timeline.due_soon,.screen-timeline.due_today{color:#a66b00}
@media(max-width:1100px) and (min-width:601px){.report-screen .screen-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr 1fr .75fr}.report-screen #screen-projects{grid-column:1;grid-row:1}.report-screen #screen-attendance{grid-column:2;grid-row:1}.report-screen #screen-tasks{grid-column:1;grid-row:2}.report-screen #screen-tickets{grid-column:2;grid-row:2}.report-screen #screen-updates{grid-column:1/3;grid-row:3}.report-screen .screen-banner small{display:none}.report-screen .screen-report{padding:8px}.report-screen .screen-report h2{font-size:12px}}
@media(max-width:600px){.report-screen .topbar{padding:7px 10px;min-height:49px}.report-screen .topbar h1{font-size:15px}.report-screen .topbar p{font-size:8px}.report-screen #fullscreen-button{font-size:10px;padding:6px 8px}.report-screen .content{padding:6px 8px 7px}.report-screen .screen-banner{display:none}.report-screen .screen-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:6px}.report-screen .screen-stats .stat{padding:5px 8px;min-height:34px;border-radius:8px}.report-screen .screen-stats .stat p{font-size:8px}.report-screen .screen-stats .stat h3{font-size:17px;margin-top:1px}.report-screen .screen-report-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(5,minmax(0,1fr));gap:5px}.report-screen #screen-projects,.report-screen #screen-attendance,.report-screen #screen-tasks,.report-screen #screen-tickets,.report-screen #screen-updates{grid-column:auto;grid-row:auto}.report-screen .screen-report{padding:6px 8px;border-radius:9px}.report-screen .screen-report .panel-header{min-height:17px;margin-bottom:2px}.report-screen .screen-report h2{font-size:12px}.report-screen .screen-count,.report-screen .screen-range{font-size:8px}.report-screen .screen-report thead{display:none}.report-screen .screen-report td:not(.screen-summary){display:none}.report-screen .screen-report td.screen-summary{display:table-cell;width:100%;padding:3px 0;text-align:left}.screen-summary>div{height:35px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:2px}.screen-summary>div>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.screen-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#8a96a5}.report-screen .screen-summary .person{display:inline-flex;vertical-align:middle;font-size:10px}.report-screen .screen-summary .person-photo{height:17px;width:17px;min-width:17px;flex-basis:17px}.screen-summary .screen-mini-metrics{font-size:9px;color:#7a8797}.screen-summary .screen-mini-metrics b{color:#26394f}.report-screen .screen-summary .ticket-status{padding:2px 5px;font-size:8px;margin-left:6px}}
/* Keep compact names aligned from the top rather than cropping the first line. */
.report-screen .screen-cell{display:block;padding:2px 0}.report-screen .screen-cell>.person{margin-top:3px;max-width:100%}.report-screen .screen-cell>.person>span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-screen .screen-cell>.customer-identity{align-items:flex-start;max-width:100%}.report-screen #screen-projects th:first-child{width:28%}.report-screen #screen-projects th:not(:first-child){width:18%}.report-screen #screen-tickets th:nth-child(1){width:21%}.report-screen #screen-tickets th:nth-child(2){width:22%}.report-screen #screen-tickets th:nth-child(3){width:11%}.report-screen #screen-tickets th:nth-child(4){width:12%}.report-screen #screen-tickets th:nth-child(5){width:16%}.report-screen #screen-tickets th:nth-child(6){width:18%}.report-screen #screen-projects th:nth-child(1),.report-screen #screen-projects th:nth-child(2){width:24%}.report-screen #screen-projects th:nth-child(3){width:17%}.report-screen #screen-projects th:nth-child(4){width:22%}.report-screen #screen-projects th:nth-child(5){width:13%}

/* Movable full-screen columns and readable project assignment lists. */
.report-screen .screen-report-grid{position:relative}.screen-column-handle{position:absolute;top:0;bottom:0;width:14px;transform:translateX(-50%);cursor:col-resize;touch-action:none;z-index:12;outline:0}.screen-column-handle::before{content:'⋮';position:absolute;top:50%;left:1px;transform:translateY(-50%);display:grid;place-items:center;width:12px;height:38px;border:1px solid #d9dfe7;border-radius:9px;background:#fff;color:#9a7b30;font-size:14px;line-height:1;box-shadow:0 2px 6px #26384912}.screen-column-handle:hover::before,.screen-column-handle:focus-visible::before{border-color:#c79b2f;background:#fff9e8;box-shadow:0 0 0 3px #e1b74a24}.screen-resizing,.screen-resizing *{cursor:col-resize!important;user-select:none!important}.screen-project-button,.screen-team-button{border:0;background:transparent;color:#273b53;text-align:left;white-space:normal;padding:0;line-height:1.3;cursor:pointer;font-weight:800;font-size:10px}.screen-project-button:hover,.screen-team-button:hover{text-decoration:underline;color:#997100}.screen-project-button:focus-visible,.screen-team-button:focus-visible{outline:2px solid #cca339;outline-offset:2px;border-radius:3px}.screen-team-button{display:block;color:#94701c;font-size:9px;margin-bottom:5px}.screen-assignees{display:flex;flex-direction:column;gap:4px;overflow:hidden}.report-screen #screen-projects .screen-team-cell{height:auto;min-height:34px;overflow:visible;padding:2px 0}.report-screen #screen-projects .screen-assignees .person{display:flex;align-items:center;max-width:100%;white-space:normal}.report-screen #screen-projects .screen-assignees .person>span:last-child{min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.report-screen #screen-projects th:nth-child(1){width:23%}.report-screen #screen-projects th:nth-child(2){width:21%}.report-screen #screen-projects th:nth-child(3){width:32%}.report-screen #screen-projects th:nth-child(4){width:16%}.report-screen #screen-projects th:nth-child(5){width:8%}
@media(min-width:1101px){.report-screen .screen-report-grid{grid-template-columns:minmax(0,var(--screen-column-0,42fr)) minmax(0,var(--screen-column-1,33fr)) minmax(0,var(--screen-column-2,25fr))}}
@media(max-width:1100px){.screen-column-handle{display:none}}
@media(max-width:600px){.report-screen #screen-projects .screen-summary>div{height:47px}.report-screen #screen-projects .screen-summary .screen-project-button{font-size:10px;display:inline;white-space:nowrap}.screen-mobile-team{color:#80632c!important;font-weight:650}}

/* Corporate identity for the browser Print / Save as PDF report. */
.print-report-header{display:none}
@media print{
 @page{margin:13mm 11mm 15mm}
 .print-report-header:not([hidden]){display:flex!important;align-items:center;justify-content:space-between;gap:24px;padding:0 0 14px;margin-bottom:17px;border-bottom:2px solid #c59a28;break-inside:avoid;break-after:avoid}
 .print-report-header img{display:block;width:185px;max-width:32%;height:auto;max-height:67px;object-fit:contain}
 .print-report-header>div{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:3px;min-width:0}.print-report-header strong{font-size:12px;color:#26394d}.print-report-header span{font-size:16px;font-weight:800;color:#26394d}.print-report-header small{font-size:9px;color:#778397}
 .screen-column-handle{display:none!important}.screen-project-button,.screen-team-button{color:#26394d;text-decoration:none}.screen-team-button{font-size:9px}
 .report-screen #app,.app:fullscreen{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;width:100%!important;position:static!important}.report-screen .workarea{display:block;height:auto;overflow:visible}.report-screen .content{display:block;height:auto;overflow:visible;padding:0;width:100%}.report-screen .screen-report-grid{display:block;height:auto;overflow:visible}.report-screen .screen-report{display:block;height:auto;overflow:visible;margin:0 0 15px;padding:12px;break-inside:auto}.report-screen .screen-report tbody tr[hidden]{display:table-row!important}.report-screen .screen-table-viewport,.report-screen .screen-report .table-wrap{height:auto;overflow:visible}.report-screen .screen-report table{display:table;width:100%}.report-screen .screen-report thead{display:table-header-group}.report-screen .screen-report tbody{display:table-row-group}.report-screen .screen-report td:not(.screen-summary){display:table-cell!important;width:auto}.report-screen .screen-report .screen-summary{display:none!important}.report-screen .screen-cell,.report-screen #screen-projects .screen-team-cell{height:auto;min-height:0;overflow:visible}.report-screen .screen-assignees{max-height:none!important;overflow:visible}.report-screen .screen-range{display:none}.report-screen .screen-banner{display:none}.report-screen .screen-stats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));break-inside:avoid}
}
/* Keep PDF reports focused on results and remove the marked chart whitespace. */
@media print{
 .attendance-entry-controls,.day-chart{display:none!important}.report-stats{margin:12px 0!important;break-inside:avoid}.content>.panel{padding:14px;margin-bottom:12px;break-inside:auto}table{break-inside:auto}thead{display:table-header-group}tr{break-inside:avoid}
}
/* Customer access email controls. Passwords stay in the open form only. */
.customer-access-panel .panel-header{align-items:center;gap:16px;flex-wrap:wrap}.customer-access-panel .panel-header>div{flex:1;min-width:220px}.customer-access-panel h3{margin:0 0 8px}.customer-access-panel p{overflow-wrap:anywhere}.password-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.password-tools .check-label{display:flex;align-items:center;gap:7px}.password-tools input[type=checkbox]{width:18px;min-height:18px}.access-email-failed{color:#b52e43!important;font-weight:600}.customer-access-summary{padding:14px;background:var(--surface,#f7f9fd);border-radius:14px;overflow-wrap:anywhere}

/* Opt-in remembered portal sign-in. */
/* Staff tasks and area labels. */
:root{--portal-release:1.3.3}.page-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.release-badge{display:inline-flex;align-items:center;gap:5px;flex:none;border:1px solid #e5d8ad;background:#fffaf0;color:#987113;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:750;white-space:nowrap;cursor:pointer;line-height:1.3}.release-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:#b9963a}.release-badge[data-state=verified]::before{background:#289762}.release-badge:focus-visible{outline:2px solid #c99508;outline-offset:3px}.release-notice{padding:11px 30px;background:#fff5d9;color:#8c6520;border-bottom:1px solid #efdfad;font-size:12px}.release-notice .table-link{font-size:12px}.release-summary h3{font-size:27px;margin:10px 0 6px}.release-ok{color:#25784d;font-weight:700}.release-attention{color:#a27517;font-weight:700}.release-versions{margin:20px 0}.release-versions>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.release-versions dt{color:#8391a3}.release-versions dd{font-weight:650;margin:0;text-align:right;overflow-wrap:anywhere}.release-file-list{margin-top:18px;font-size:12px;overflow-wrap:anywhere}.report-screen .release-badge{font-size:9px;padding:3px 7px}.report-screen .release-notice{flex:0 0 auto;padding:6px 14px;font-size:10px}
@media(max-width:600px){.release-badge{font-size:9px;padding:3px 7px}.page-title-line{gap:7px}.release-notice{padding:10px 18px;font-size:11px}.report-screen .page-title-line{gap:6px}.report-screen .release-badge{font-size:8px;padding:2px 6px}}
@media print{.release-badge,.release-notice{display:none!important}}
.task-assignee-picker{min-width:0;border:1px solid var(--line);border-radius:13px;padding:14px;margin:0}.task-assignee-picker legend{font-size:12px;font-weight:750;color:#526075;padding:0 5px}.task-assignee-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.task-assignee-tools>input{flex:1;min-width:140px}.task-assignee-tools>span{font-size:11px;color:#8a97a7}.task-assignee-tools button{padding:8px 10px;font-size:11px}.task-assignee-choices{max-height:230px;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.task-assignee-choice{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;min-width:0}.task-assignee-choice:has(input:checked){border-color:#d3ad3b;background:#fffaf0}.task-assignee-choice input{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;accent-color:#c99508}.task-assignee-choice .person{min-width:0;overflow-wrap:anywhere;white-space:normal}.task-assignee-choice small{font-size:10px;color:#9b7480}.task-assignee-picker>.hint{margin:10px 0 0}.task-people{display:flex;flex-direction:column;gap:5px;min-width:0;margin-top:3px}.task-people>.task-team-count{font-size:10px;color:#8d98a8;font-weight:500}.task-detail-summary .task-people .person{color:#344055;font-weight:700}.overview-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-stat{padding:18px;font:inherit;text-align:left;color:var(--ink)}.overview-stat h3{font-size:27px;margin-top:6px}.overview-stat .stat-icon{width:34px;height:34px;font-size:17px}.overview-stat.on-site h3,.overview-stat.completed-tasks h3{color:#218052}.overview-stat.off-site h3{color:#6b7b91}.overview-stat.due-tasks h3{color:#b86b08}.overview-stat.progress-tasks h3{color:#2478ad}button.overview-stat:hover{border-color:#d2ad48;background:#fffdf7}button.overview-stat:focus-visible{outline:2px solid #cf9b00;outline-offset:3px}
@media(max-width:800px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.task-assignee-choices{grid-template-columns:1fr}.task-assignee-tools>input{flex-basis:100%}.tasks-panel .task-people{text-align:right;align-items:flex-end}.overview-stats{gap:8px}.overview-stat{padding:13px}.overview-stat h3{font-size:24px}.overview-stat .stat-icon{width:26px;height:26px;font-size:13px}.overview-stat p{font-size:10px}}
.report-screen #screen-attendance .screen-cell{height:auto;min-height:34px;overflow:visible}.report-screen #screen-attendance .gps-location>strong{font-size:9px}.report-screen #screen-attendance .gps-location a,.report-screen #screen-attendance .gps-coordinates{font-size:8px}.report-screen #screen-updates .table-link{font-size:10px;padding:0;line-height:1.3;white-space:normal}
@media(max-width:600px){.report-screen #screen-attendance .screen-summary>div{height:51px}.report-screen .screen-location-summary{color:#6d7f94}.report-screen #screen-updates .screen-summary .table-link{font-size:9px}}
.task-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.task-stat{font:inherit;text-align:left;color:#5e6e83;background:#fff;cursor:pointer}.task-stat:hover{border-color:#d7ad3a;background:#fffdf7}.task-stat span{font-size:12px;font-weight:700}.task-stat strong{display:block;font-size:27px;color:#273a50;margin-top:7px}.task-stat.completed strong{color:#207a50}.task-stat.overdue strong{color:#ad3043}.task-stat.in_progress strong{color:#2c68aa}.task-number{display:block;color:#8793a3;font-weight:500;margin:4px 0}.task-excerpt{max-width:290px;margin:5px 0 0;color:#7d899b;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.tasks-panel .table-link{font-size:13px;white-space:normal;overflow-wrap:anywhere}.task-description{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border-radius:12px;background:#f8fafd}.task-detail-summary{min-width:0}.task-detail-summary .detail-grid{margin-top:16px}.task-detail-summary .detail-grid strong{overflow-wrap:anywhere}.task-history .message p{font-size:12px}.project-task{display:flex;gap:14px;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;margin:8px 0}.project-task>div{min-width:0}.project-task>div:first-child{flex:1}.gps-location{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:100%;vertical-align:top;line-height:1.4}.gps-location>strong{font-size:11px;font-weight:650;white-space:normal;overflow-wrap:anywhere;color:#46586f}.gps-coordinates{font-size:10px;color:#8390a1;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.gps-location a{font-size:11px}.attendance-entry-controls .gps-location{margin:4px 0 14px}.location-attribution{margin:12px 0 0;font-size:10px;color:#8e98a9}.dialog-head h2{overflow-wrap:anywhere;min-width:0}.dialog-head>button{flex-shrink:0}
@media(max-width:800px){.task-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.project-task{flex-wrap:wrap}.project-task>div:first-child{flex-basis:100%}}
@media(max-width:600px){.task-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.task-stat{padding:14px}.task-stat strong{font-size:23px}.tasks-panel .table-wrap{overflow:visible}.tasks-panel table,.tasks-panel tbody{display:block}.tasks-panel thead{display:none}.tasks-panel tr{display:block;border:1px solid var(--line);border-radius:14px;padding:10px;margin:12px 0}.tasks-panel td{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:9px 3px;border:0;font-size:12px}.tasks-panel td::before{content:attr(data-label);flex:0 0 98px;font-size:11px;color:#8b97a6;font-weight:650}.tasks-panel td>div{text-align:right;min-width:0;overflow-wrap:anywhere}.tasks-panel .task-excerpt{max-width:220px}.tasks-panel .table-link{text-align:right}.tasks-panel .person{justify-content:flex-end}.task-history .message small{float:none;display:block;margin-top:6px}.task-detail-summary .detail-grid{grid-template-columns:1fr}.gps-coordinates{font-size:10px}.report-screen .gps-coordinates{font-size:8px}.report-screen .gps-location>strong{font-size:9px}}
@media print{.task-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.tasks-panel #task-search,.tasks-panel #new-task{display:none}.tasks-panel .task-number{color:#64748b}.gps-location a{color:#805f11}.gps-coordinates{color:#5d6c80}}
.auth-card .remember-signin{display:flex;align-items:center;gap:10px;margin:0 0 20px;cursor:pointer;font-size:13px}.auth-card .remember-signin input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:#c99508}.remember-signin small{display:block;margin-top:4px;color:#7f8da4;font-size:11px;font-weight:400}

.page-subtitle-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px}.page-subtitle-line #page-subtitle{margin:4px 0}.page-subtitle-line .release-badge{align-self:center}.report-screen .page-subtitle-line #page-subtitle{margin:1px 0}.report-screen #screen-tasks .screen-cell{height:auto;min-height:34px;overflow:visible}.report-screen #screen-tasks th:nth-child(1){width:35%}.report-screen #screen-tasks th:nth-child(2){width:31%}.report-screen #screen-tasks th:nth-child(3){width:20%}.report-screen #screen-tasks th:nth-child(4){width:14%}.report-screen #screen-tasks .table-link{font-size:10px;padding:0;line-height:1.3;white-space:normal}.report-screen #screen-tasks .screen-assignees{gap:3px}.report-screen .screen-stats .stat:nth-last-child(2) h3{color:#b86b08}.report-screen .screen-stats .stat:last-child h3{color:#2478ad}
@media(max-width:1100px) and (min-width:601px){.report-screen .screen-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.page-subtitle-line{gap:4px 7px}.report-screen .page-subtitle-line{gap:3px 6px}.report-screen #screen-tasks .screen-summary>div{height:47px}.report-screen #screen-tasks .screen-summary .table-link{font-size:10px;padding:0}.report-screen .screen-stats .stat{padding:5px 6px}.report-screen .screen-stats .stat p{font-size:7px}}

@media print{#asset-load-notice{display:none!important}}

.module-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 22px}.module-heading h2{font-size:28px;margin:7px 0}.module-heading p{color:#8793a4;font-size:13px;margin:0}.schedule-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.schedule-stats .stat{padding:19px;font:inherit;text-align:left;color:var(--ink)}.schedule-stats h3{font-size:29px;margin:7px 0 0}.schedule-stats p{font-size:12px;margin:0;color:#7d8a9c}.tracker-stat{cursor:pointer}.tracker-stat:hover{border-color:#d2ad48;background:#fffdf8}.tracker-stat.active h3{color:#22825c}.tracker-stat.due_soon h3{color:#ba870e}.tracker-stat.expired h3,.tracker-stat.payment_due h3{color:#c24d55}
.area-access{min-width:0;border:1px solid #e4e9f0;border-radius:15px;padding:17px;margin:5px 0}.area-access legend{font-weight:750;font-size:13px;color:#526176;padding:0 6px}.area-access>label{max-width:300px}.area-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}.area-access-grid label{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;font-size:12px;cursor:pointer;min-width:0}.area-access-grid label:has(input:checked){background:#fffaf0;border-color:#ddbd64}.area-access-grid input,.member-picker270 input[type=checkbox]{width:17px;height:17px;min-height:17px;flex:0 0 17px;padding:0;accent-color:#c99508}.department-badge{display:inline-block;border-radius:99px;padding:3px 8px;background:#f0f4fa;color:#576d85;font-size:10px;margin-top:4px}.member-picker270{border:1px solid var(--line);border-radius:13px;padding:13px;min-width:0}.member-picker270 legend{font-size:12px;font-weight:700;color:#5f6c7e}.member-picker270>input{margin-bottom:11px}.member-picker270>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:210px;overflow:auto}.member-picker270 label{display:flex;align-items:center;gap:8px;border:1px solid #e4e9f0;border-radius:10px;padding:9px;cursor:pointer}.member-picker270 .person{font-size:12px;white-space:normal}
.calendar-panel{padding:22px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.calendar-toolbar h2{font-size:21px;margin:0 8px;min-width:150px}.calendar-toolbar>label{max-width:170px}.calendar-filters,.amc-filters{display:flex;gap:12px;align-items:flex-end;margin-bottom:18px}.calendar-filters>label:first-child,.amc-filters>label:first-child{flex:1}.calendar-filters>label:not(:first-child),.amc-filters>label:not(:first-child){min-width:155px}.calendar-filters>button,.amc-filters>button{min-height:42px}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 19px;font-size:11px;color:#7e8ca0}.calendar-legend>span{display:inline-flex;align-items:center;gap:5px}.calendar-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#9a83c7}.calendar-legend .bill i{background:#cf9a21}.calendar-legend .task i{background:#398bd0}.calendar-legend .amc i{background:#2d967a}.calendar-legend .payment i{background:#cc6a5c}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{font-size:11px;font-weight:750;color:#8a97a8;margin-bottom:9px;text-align:center}.calendar-grid{border-left:1px solid #e4e9f1;border-top:1px solid #e4e9f1;border-radius:12px;overflow:hidden}.calendar-day{min-height:113px;padding:7px;border-right:1px solid #e4e9f1;border-bottom:1px solid #e4e9f1;background:#fff;min-width:0}.calendar-day.outside{background:#fafbfd}.calendar-day.outside .calendar-day-number{color:#aeb8c5}.calendar-day.today{background:#fffdf5}.calendar-day.selected{box-shadow:inset 0 0 0 2px #d4a21b}.calendar-day-number{display:flex;align-items:center;gap:5px;padding:3px 5px 7px;border:0;background:transparent;font:750 13px system-ui;color:#45566f;cursor:pointer}.calendar-day-number small{color:#bb8a15;font-size:9px}.calendar-entry{display:block;text-align:left;width:100%;border:0;border-left:3px solid #9980c4;border-radius:5px;background:#f3effa;padding:5px 6px;margin:3px 0;color:#775b9b;font:600 10px/1.25 system-ui;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.calendar-entry.task{background:#eef5fd;border-left-color:#3c8fd0;color:#397fae}.calendar-entry.bill{background:#fff6e3;border-left-color:#d1a237;color:#a37c21}.calendar-entry.amc{background:#eaf7f1;border-left-color:#32a17d;color:#238566}.calendar-entry.payment{background:#fff0ed;border-left-color:#d57968;color:#b06253}.calendar-entry.done{opacity:.58;text-decoration:line-through}.calendar-more{padding:4px 5px;font:650 10px system-ui;border:0;background:transparent;color:#9b7a26;cursor:pointer}.calendar-agenda-row{display:flex;align-items:center;gap:15px;text-align:left;width:100%;border:0;border-bottom:1px solid #edf0f5;background:#fff;padding:14px 0;color:#304159;font:inherit;cursor:pointer}.calendar-agenda-row:hover{background:#fbfcfe}.calendar-agenda-row>.agenda-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;min-width:46px;height:48px;background:#f3effa;border-radius:11px;color:#876aab}.agenda-date strong{font-size:20px}.agenda-date small{font-size:9px;text-transform:uppercase;font-weight:700}.calendar-agenda-row.task .agenda-date{background:#eef5fd;color:#387dad}.calendar-agenda-row.bill .agenda-date{background:#fff7e5;color:#aa8128}.calendar-agenda-row.amc .agenda-date{background:#edf8f2;color:#2b936c}.calendar-agenda-row.payment .agenda-date{background:#fff1ec;color:#b76d54}.calendar-agenda-row>span:nth-child(2){flex:1;min-width:0}.calendar-agenda-row>span:nth-child(2)>strong{display:block;font-size:13px;overflow-wrap:anywhere}.calendar-agenda-row>span:nth-child(2)>small{display:block;font-size:11px;color:#8e9aab;margin-top:5px}.calendar-agenda-row.done>span:nth-child(2)>strong{text-decoration:line-through;color:#8897a5}.agenda-open{font-size:11px;color:#a3832c;white-space:nowrap}.schedule-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:22px 0;color:#8c98aa;font-size:12px}.schedule-pager>span{margin-right:auto}.calendar-sync-intro{text-align:center;margin:10px 0 22px}.sync-device-icon{display:grid;place-items:center;margin:0 auto 13px;background:#fff8e8;color:#b58c20;border-radius:18px;width:90px;height:65px;font-size:29px}.calendar-sync-intro h3{font-size:22px}.calendar-sync-intro p{font-size:13px;color:#8b96a4}.calendar-help{border:1px solid #e1e7ef;border-radius:12px;padding:15px;margin:22px 0;font-size:12px;color:#79889d}.calendar-help summary{font-weight:750;color:#566980;cursor:pointer}.calendar-help p{line-height:1.65}.subscription-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e7ebf2;padding:14px 0}.subscription-list strong{display:block;font-size:13px}.subscription-list small{display:block;font-size:11px;color:#8e99a9;margin-top:5px}.subscription-ready{padding:18px;background:#f7faf6;border:1px solid #dce9d9;border-radius:13px;margin-top:18px}.subscription-ready h3{margin-top:0}.subscription-ready .row{margin-top:13px}.subscription-ready input{font-size:11px}.calendar-selected h2{font-size:20px}
.amc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.amc-card{margin:0;padding:22px}.amc-department{font-size:11px;color:#8d9aad;font-weight:650}.amc-card-main{display:flex;align-items:center;gap:22px;margin:18px 0}.amc-card-main>div:last-child{min-width:0;flex:1}.amc-card-main h3{margin:0 0 10px}.amc-title{font:750 18px/1.35 system-ui;text-align:left;overflow-wrap:anywhere;background:none;padding:0;border:0;color:#2b3c52;cursor:pointer}.amc-title:hover{text-decoration:underline;color:#a68222}.amc-card-main .customer-identity{margin:5px 0 8px}.amc-card-main .customer-identity strong{font-size:12px}.amc-card-main>.muted{font-size:11px}.amc-ring{--tone:#2a9775;position:relative;flex:0 0 112px;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--tone) calc(var(--value)*1%),#edf2f6 0)}.amc-ring::before{content:'';position:absolute;inset:8px;background:#fff;border-radius:50%}.amc-ring>div{position:relative;text-align:center;max-width:88px}.amc-ring strong{font-size:28px;line-height:1.15;display:block;color:var(--tone)}.amc-ring span{font-size:9px;line-height:1.4;display:block;color:#8d99a9;margin-top:4px}.amc-ring.due_soon{--tone:#d0a029}.amc-ring.expired{--tone:#ca5b61}.amc-ring.closed{--tone:#9aa6b6}.amc-ring.upcoming{--tone:#6a90be}.amc-dates{display:flex;gap:20px;justify-content:space-between;border-top:1px solid #eef1f6;border-bottom:1px solid #eef1f6;padding:13px 0}.amc-dates small{display:block;color:#96a0af;font-size:10px;margin-bottom:5px}.amc-dates strong{font-size:12px;color:#5c6c82}.amc-next{background:#f6f9fc;border-radius:11px;padding:13px 15px;margin:15px 0}.amc-next>span{display:block;font-size:10px;color:#8a96a7;margin-bottom:4px}.amc-next strong{display:block;font-size:17px;color:#3a526b}.amc-next small{font-size:10px;color:#8b98aa;display:block;margin-top:5px}.amc-next.overdue{background:#fff4f1}.amc-next.overdue strong,.amc-next.overdue small{color:#b65a50}.amc-payment-progress>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:11px}.amc-payment-progress strong{color:#37836b}.amc-payment-progress span{color:#8b98a9}.amc-payment-progress b{margin-left:auto;color:#37836b}.amc-payment-progress progress{display:block;width:100%;height:7px;margin-top:8px;accent-color:#389b7d}.overdue-amount{display:block;font-size:11px;color:#bb5b53;margin-top:7px}.amc-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;font-size:11px;color:#8b98aa}.amc-card-bottom button{font-size:11px}.chip.due_soon,.chip.due_today{background:#fff5dd;color:#ac831c}.chip.expired{background:#ffedf0;color:#bd4e61}.chip.upcoming{background:#edf4fd;color:#507fa9}.chip.paid{background:#ebf7f0;color:#368965}.amc-detail-summary{display:flex;align-items:center;gap:24px;padding:5px 0 20px}.amc-detail-summary h3{font-size:22px;margin-top:0}.amc-detail-summary p{font-size:12px;color:#8c99ab}.amc-members{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:22px}.amc-schedule{font-size:12px}.amc-schedule td{padding:12px 8px}.payment-history article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid #edf1f5}.payment-history strong{font-size:14px;color:#427b68}.payment-history small{display:block;font-size:11px;color:#8c9aad;margin-top:5px}.payment-history p{font-size:12px;margin:8px 0 0;color:#677b90}.payment-history .voided{opacity:.6}.payment-history .voided strong{text-decoration:line-through}
@media(max-width:1150px){.amc-grid{grid-template-columns:1fr}.calendar-filters,.amc-filters{flex-wrap:wrap}.calendar-filters>label:first-child,.amc-filters>label:first-child{flex-basis:100%}.module-heading{align-items:flex-start}.module-heading .row{flex-wrap:wrap}.calendar-day{min-height:100px;padding:5px}.calendar-entry{font-size:9px;padding:4px}.schedule-stats .stat{padding:15px}}
@media(max-width:700px){.module-heading{flex-direction:column;gap:16px}.module-heading h2{font-size:25px}.module-heading>.row{width:100%}.module-heading>.row>*{flex:1;text-align:center;font-size:11px}.schedule-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.schedule-stats h3{font-size:26px}.schedule-stats p{font-size:10px}.calendar-panel{padding:12px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar .row{gap:4px;width:100%}.calendar-toolbar h2{font-size:16px;min-width:0;flex:1;text-align:center;margin:0}.calendar-toolbar .row>button{font-size:10px;padding:8px}.calendar-toolbar>label{max-width:100%;width:100%}.calendar-weekdays{font-size:9px}.calendar-day{min-height:85px;padding:3px}.calendar-day-number{padding:2px 2px 5px;font-size:11px}.calendar-day-number small{display:none}.calendar-entry{font-size:8px;border-left-width:2px;padding:4px 2px}.calendar-more{font-size:8px;padding:3px 1px}.calendar-legend{gap:8px;font-size:9px}.calendar-filters>label:not(:first-child),.amc-filters>label:not(:first-child){flex:1;min-width:110px}.calendar-filters button,.amc-filters button{flex:1}.calendar-agenda-row{gap:10px}.calendar-agenda-row>span:nth-child(2)>strong{font-size:12px}.agenda-open{font-size:10px}.calendar-selected .panel-header{flex-wrap:wrap}.calendar-selected .panel-header button{font-size:10px}.calendar-selected h2{font-size:18px}.area-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-access-grid label{padding:10px;font-size:11px}.member-picker270>div{grid-template-columns:1fr}.amc-card{padding:17px}.amc-card-main{gap:15px}.amc-ring{width:98px;height:98px;flex-basis:98px}.amc-ring strong{font-size:26px}.amc-ring span{font-size:8px}.amc-title{font-size:16px}.amc-detail-summary{gap:16px;align-items:flex-start}.amc-detail-summary h3{font-size:19px}.amc-schedule{min-width:470px}.calendar-sync-intro h3{font-size:20px}.schedule-pager{font-size:10px;gap:7px}.schedule-pager button{font-size:10px;padding:8px}.subscription-ready .row>*{font-size:11px}}
@media print{.calendar-toolbar button,.calendar-filters,.calendar-day-number small,.module-heading .row,.amc-filters,.amc-card-bottom button,.schedule-pager,.calendar-selected button,.amc-title{box-shadow:none}.amc-grid{grid-template-columns:1fr 1fr}.amc-card,.calendar-panel{break-inside:avoid}.calendar-entry{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.amc-card-main>div:last-child>small{display:block;font-size:10px;margin-top:5px}.amc-payment-progress progress{appearance:none;border:0;border-radius:6px;overflow:hidden;background:#eaf1ef}.amc-payment-progress progress::-webkit-progress-bar{background:#eaf1ef;border-radius:6px}.amc-payment-progress progress::-webkit-progress-value{background:#389b7d;border-radius:6px}.amc-payment-progress progress::-moz-progress-bar{background:#389b7d}.calendar-day{cursor:pointer}


/* Portal 1.3.3 project, tracker and calendar refinements */
.dialog{overflow-x:hidden;overscroll-behavior:contain}.dialog-head{gap:14px}.dialog-head h2{min-width:0}.dialog-head #close-modal{flex:none;min-width:40px;min-height:40px}#modal-body{min-width:0}.project-assignee-picker272{margin:0;padding:15px;border:1px solid var(--line);border-radius:14px;min-width:0}.project-assignee-picker272 legend{padding:0 7px;font-weight:800}.project-assignee-tools272{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 13px}.project-assignee-tools272 input{flex:1 1 180px;min-width:0}.project-assignee-tools272>span{color:#78879a;font-size:11px}.project-assignee-choices272{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:300px;overflow-y:auto;padding:2px}.project-assignee-choices272>label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #e5eaf1;border-radius:12px;font-weight:600;min-width:0;cursor:pointer}.project-assignee-choices272 input{width:17px;height:17px;min-height:17px;padding:0;flex:none;accent-color:#bd8c06}.project-assignee-choices272 .person{min-width:0;overflow-wrap:anywhere}.project-assignee-choices272 small{color:#8e98a9;font-size:10px}.amc-filters{flex-wrap:wrap}.amc-filters>label{min-width:140px;flex:1}.amc-filters>label:first-child{flex:2 1 240px}.amc-detail-summary>div:last-child{min-width:0}.amc-detail-stats272{grid-template-columns:repeat(2,minmax(0,1fr))}.amc-detail-stats272>div{min-width:0}.amc-detail-stats272 strong{font-size:22px;overflow-wrap:anywhere}.amc-card-main>div:last-child{min-width:0}.calendar-stats272{grid-template-columns:repeat(5,minmax(0,1fr))}.calendar-live272{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:12px 15px;border:1px solid #dcebe4;border-radius:13px;background:#f4fbf7;margin:0 0 18px;font-size:12px;color:#3b765c}.calendar-live272 .live-dot{margin-right:0}.calendar-live272>span:nth-child(2){flex:1}.calendar-live272 small{flex-basis:100%;color:#6e8478}.calendar-live272 button{padding:7px 11px}.calendar-entry.project{background:#f2edff;border-left-color:#8b68c4;color:#7650aa}.calendar-legend .project i{background:#8b68c4}.calendar-agenda-row.project .agenda-date{background:#f2edff;color:#7650aa}.calendar-device-picker272{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 14px}.calendar-device-picker272 [aria-pressed=true]{background:#fff6df;border-color:#c79b36;color:#936a00}.calendar-device-help272{padding:17px;border:1px solid var(--line);border-radius:13px;background:#fafbfd;margin:0 0 20px;scroll-margin-top:90px}.calendar-device-help272 h3{margin-bottom:11px}.calendar-device-help272 ol{padding-left:22px;font-size:12px;color:#5f6e83}.calendar-device-help272 li{margin:9px 0}.calendar-device-help272>a{display:inline-block;margin:4px 8px 4px 0}.subscription-list small{display:block}.subscription-ready .row>div{display:flex}.amc-card .amc-department{overflow-wrap:anywhere}.amc-detail-summary h3{overflow-wrap:anywhere}@media(max-width:950px){.calendar-stats272{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.project-assignee-choices272{grid-template-columns:1fr}.calendar-stats272{grid-template-columns:repeat(2,minmax(0,1fr))}.amc-detail-stats272>div{padding:11px}.amc-detail-stats272 strong{font-size:18px}.calendar-live272{padding:11px}.calendar-device-picker272>button{flex:1 1 130px;white-space:normal}.calendar-device-help272{padding:12px}.amc-detail-summary{flex-wrap:wrap;gap:15px}}

.project-dialog-body272{border:0;margin:0;padding:0;min-width:0;width:100%}


/* Readable Tracker records in one vertical list; summary cards retain their normal size. */
.tracker-list274{padding:0;overflow:hidden}.tracker-row274{display:grid;grid-template-columns:minmax(210px,1.6fr) minmax(100px,.65fr) minmax(126px,.8fr) minmax(160px,1fr) minmax(150px,1fr) minmax(112px,.65fr);gap:14px;align-items:center;padding:18px;border-bottom:1px solid var(--line);margin:0;min-width:0;background:#fff}.tracker-row274:last-child{border-bottom:0}.tracker-row274:hover{background:#fffdf8}.tracker-row274>div{min-width:0}.tracker-company274 h3{margin:0 0 8px}.tracker-company274 .amc-title{font-size:16px;line-height:1.35}.tracker-company274 .customer-identity{margin:0 0 6px}.tracker-company274 .customer-identity strong{font-size:13px}.tracker-company274 .customer-identity small{font-size:11px}.tracker-company274 p{margin:3px 0 0;font-size:11px;color:#7e8a9c;overflow-wrap:anywhere}.tracker-label274{display:block;font-size:11px;line-height:1.4;color:#7b899c;margin-bottom:5px}.tracker-renewal274{display:flex;flex-direction:column;align-items:center;gap:5px}.tracker-renewal274>.tracker-label274{margin:0}.tracker-row274 .amc-ring{width:84px;height:84px;flex-basis:84px}.tracker-row274 .amc-ring::before{inset:6px}.tracker-row274 .amc-ring strong{font-size:25px}.tracker-row274 .amc-ring span{font-size:9px;line-height:1.25;margin-top:2px}.tracker-row274 .amc-ring>div{max-width:70px}.tracker-renewal274 .chip{font-size:10px;padding:3px 8px}.tracker-period274{display:grid;gap:12px}.tracker-period274 strong{font-size:13px;line-height:1.4;display:block;color:#3b506a}.tracker-next274.amc-next{margin:0;padding:11px 12px;border-radius:11px}.tracker-next274.amc-next>span{font-size:11px}.tracker-next274.amc-next strong{font-size:16px}.tracker-next274.amc-next small{font-size:11px;line-height:1.45;overflow-wrap:anywhere}.tracker-paid274>div{font-size:12px;line-height:1.5}.tracker-paid274 .overdue-amount{line-height:1.4}.tracker-action274{display:grid;gap:10px;justify-items:end;font-size:12px;color:#7d8b9d}.tracker-action274 button{font-size:12px;padding:9px 11px;min-height:40px}.tracker-list274>.empty{padding:30px}.tasks-panel td[data-label=Company]{min-width:170px}.task-detail-summary .customer-identity{margin-top:5px}
@media(max-width:1330px){.tracker-row274{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}.tracker-company274{grid-column:1/3}.tracker-renewal274{grid-column:3;grid-row:1;justify-self:end;min-width:100px}.tracker-action274{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef1f5;padding-top:12px}}
@media(max-width:699px){.tracker-row274{grid-template-columns:minmax(0,1fr) 100px;gap:15px 12px;padding:16px}.tracker-company274{grid-column:1}.tracker-renewal274{grid-column:2;grid-row:1}.tracker-period274{grid-column:1/-1;grid-template-columns:1fr 1fr;padding-top:10px;border-top:1px solid #eef1f5}.tracker-next274{grid-column:1/-1}.tracker-paid274{grid-column:1/-1}.tracker-action274{grid-column:1/-1}.tracker-company274 .customer-identity{align-items:flex-start}.tracker-company274 .amc-title{font-size:16px}.tracker-label274{font-size:12px}.tracker-period274 strong{font-size:14px}.tracker-next274.amc-next strong{font-size:17px}.tracker-paid274>div{font-size:13px}.tracker-action274{font-size:13px}}

/* Daily attendance reports retain readable cards and employee-specific totals. */
.attendance-daily275 .panel-header{gap:15px;flex-wrap:wrap}.attendance-export275{flex-wrap:wrap}.attendance-stats275 small{display:block;color:#8390a2;font-size:10px;margin-top:6px}.attendance-days-table275 th{white-space:normal}.attendance-days-table275 td{vertical-align:top}.attendance-date275 strong,.attendance-date275 small,.attendance-times275 span{display:block;white-space:nowrap}.attendance-date275 small{margin-top:5px;color:#8390a2}.attendance-times275 span+span{margin-top:8px}.sunday275 .attendance-date275,.sunday275 .attendance-date275 small{color:#bb3047}.sunday275{background:#fff9f9}.attendance-status275{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:750;white-space:nowrap;background:#f0f3f7;color:#78859a}.attendance-status275.present{color:#237d54;background:#eaf7ef}.attendance-status275.absent{color:#b52c45;background:#fff0f2}.attendance-status275.upcoming{color:#6b67a4;background:#f2f0fc}.attendance-totals275 .panel-header{flex-wrap:wrap;gap:10px}.attendance-daily275 .filter-toolbar>label{min-width:155px}.attendance-daily275 .filter-toolbar>label:has([name=user_id]){flex:1;min-width:210px}
@media(max-width:650px){.attendance-days-table275,.attendance-days-table275 tbody,.attendance-days-table275 tr,.attendance-days-table275 td{display:block;width:100%}.attendance-days-table275 thead{display:none}.attendance-daily275 .table-wrap{overflow:visible}.attendance-days-table275 tr{border:1px solid var(--line);border-radius:15px;padding:12px;margin-bottom:13px}.attendance-days-table275 td{display:flex;justify-content:space-between;align-items:flex-start;text-align:right;gap:12px;border:0;padding:7px 0}.attendance-days-table275 td:before{content:attr(data-label);font-size:11px;color:#8290a3;font-weight:600;text-align:left;flex:0 0 100px}.attendance-days-table275 td .person{justify-content:flex-end;white-space:normal;max-width:65%}.attendance-days-table275 .attendance-date275,.attendance-days-table275 .attendance-times275{display:block}.attendance-days-table275 .attendance-date275:before,.attendance-days-table275 .attendance-times275:before{float:left}.attendance-stats275{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-stats275 strong{font-size:20px}.attendance-daily275 .filter-toolbar>label{min-width:0;width:100%}.attendance-totals275 table{min-width:570px}.attendance-daily275 .person span:last-child{overflow-wrap:anywhere;min-width:0}}
@media print{.attendance-export275,#attendance-history275,#attendance-daily275{display:none!important}.attendance-days-table275{display:table!important;min-width:0}.attendance-days-table275 thead{display:table-header-group!important}.attendance-days-table275 tbody{display:table-row-group!important}.attendance-days-table275 tr{display:table-row!important}.attendance-days-table275 td{display:table-cell!important;width:auto!important;text-align:left!important;border-bottom:1px solid #e5e9ef!important}.attendance-days-table275 td:before{display:none!important}.sunday275 .attendance-date275,.sunday275 .attendance-date275 small,.attendance-status275{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.ticket-people275{display:flex;flex-direction:column;gap:8px;min-width:0}.ticket-people275>div{min-width:0}.ticket-people275>small{font-size:10px;color:#8390a2}.ticket-people275>div>small{display:block;margin:4px 0 0 35px}.report-screen .ticket-people275{gap:3px}.report-screen .ticket-people275>small{font-size:8px}.report-screen .ticket-people275 .person{gap:4px}.report-screen .ticket-people275 .person-photo,.report-screen .ticket-people275 .person-initial{width:20px;height:20px;min-width:20px;flex-basis:20px}

.screen-ticket-team275{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;color:#7b8798;max-width:100%}

/* Project completion is shared by the entire assigned team. */
.project-completion276{margin:18px 0;padding:16px;border:1px solid #e5dfce;background:#fffdf7;border-radius:15px}.project-completion276 .panel-header{margin-bottom:12px;gap:10px;align-items:center}.project-completion276 h3{margin:0;font-size:14px}.project-completion-tick276{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:750;color:#30455b}.project-completion-tick276 input{width:20px;height:20px;min-height:20px;accent-color:#2b9563}.project-completion276 .row{flex-wrap:wrap;gap:10px}.project-completion276 .hint{line-height:1.6}.project-status-stale276{padding:10px;border-radius:9px;background:#fff1d1;color:#85621b;font-size:12px;margin-bottom:0}@media(max-width:550px){.project-completion276{padding:13px}.project-completion276 .row .hint{flex-basis:100%}}@media print{#project-reload276,#mark-project-completed276,#project-status-stale276{display:none!important}}

/* One staff action saves the ticket and its optional conversation reply. */
.ticket-save-fields277{border:0;padding:0;margin:0;min-width:0}.ticket-private277{display:flex;align-items:center;gap:8px;margin-top:12px}.ticket-private277 input{width:17px;height:17px;min-height:17px;accent-color:#b98400}#ticket-reply-update277[aria-busy=true]{cursor:progress}#ticket-reply-update277[aria-busy=true] button[type=submit]{cursor:progress}

/* Status messages do not intercept taps on the save controls beneath them. */
.toast{pointer-events:none}
.tracker-mail-card278{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;margin:20px 0;border:1px solid #e1e7ef;border-radius:18px;background:#f8fafc}.tracker-mail-card278 p{margin:5px 0;color:#66758c;font-size:13px;overflow-wrap:anywhere}.tracker-mail-card278 button{flex-shrink:0}.mail-active278{border-left:5px solid #2c9870}.mail-warning278{border-left:5px solid #c79a00}.mail-stages278{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.mail-stages278 span{padding:12px 5px;text-align:center;border-radius:12px;background:#fcf5dc;color:#7c6100;font-weight:700;font-size:13px}.mail-stages278 .mail-expired278{background:#fff0f1;color:#b42332}.mail-setup278{margin:18px 0;padding:16px;border:1px solid #e1e7ef;border-radius:16px}.mail-setup278 summary{cursor:pointer;font-weight:700}.mail-setup278 code{display:block;padding:12px;background:#edf1f7;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.mail-history278 article{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #e1e7ef}.mail-history278 article>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.mail-history278 span,.mail-history278 small{overflow-wrap:anywhere;max-width:100%}.mail-history278 small{color:#66758c}.mail-history278 article>div:last-child{align-items:flex-end;flex-shrink:0}.mail-sent278{background:#e6f5ed;color:#166443}.mail-failed278,.mail-uncertain278{background:#fff0f1;color:#a32935}.mail-frame278{display:block;width:100%;height:850px;border:1px solid #dce3ed;border-radius:16px;background:#edf1f7;margin:16px 0}@media(max-width:600px){.tracker-mail-card278,.mail-history278 article{align-items:stretch;flex-direction:column}.mail-history278 article>div:last-child{align-items:flex-start}.mail-stages278{gap:5px}.mail-stages278 span{font-size:11px}.mail-frame278{height:1000px}.tracker-mail-card278 button{width:100%}}
.project-graphic.on_hold{--timeline:#6f42c1;--timeline-bg:#f0e8ff}
.screen-timeline.on_hold{color:#6f42c1}

.chip.on_hold{background:#f0e8ff;color:#6f42c1}

/* Immediate customer reminders and their separate delivery ledger. */
.manual-mail-history2711 article{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e5eaf2}.manual-mail-history2711 article>div{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.manual-mail-history2711 small{color:#64748b}.manual-mail-history2711 .chip{align-self:start}.manual-result2711{padding:14px 16px;margin:12px 0;border-radius:12px;background:#eef3fb;overflow-wrap:anywhere}.manual-result2711.sent{background:#e7f6ed;color:#166544}.manual-result2711.failed,.manual-result2711.uncertain{background:#fff2d8;color:#7a4c06}#manual-form2711 input[readonly]{background:#f3f6fa;color:#475569}#manual-form2711 textarea{resize:vertical;min-height:120px}@media(max-width:600px){.manual-mail-history2711 article{flex-direction:column}.tracker-mail-card278>.row{width:100%;flex-wrap:wrap}}

/* v1.3.3: six desktop dashboard cards per row, twelve total. */
@media(min-width:1200px){.overview-stats{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media(min-width:801px) and (max-width:1199px){.overview-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:800px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.overview-stats .overview-stat{min-width:0;padding:13px 14px}.overview-stats .overview-stat p{overflow-wrap:anywhere;font-size:11px}
.overview-stat.next7 h3,.overview-stat.due-soon h3{color:#ad7f04}
.overview-stat.expired-trackers h3{color:#c34b59}
.overview-stat.bills-tracker h3{color:#257f9c}
.overview-stat:is(button){font:inherit;color:inherit;text-align:left;cursor:pointer}
.overview-stat:is(button):hover{border-color:#cda843;background:#fffdf8}
/* Full screen keeps the prior panel grid; each report owns its scroll position. */
@media screen {
 body.report-screen{overflow:hidden}
 .report-screen #app{height:100dvh;min-height:0;overflow:hidden}
 .report-screen .screen-table-viewport{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c8aa58 #f4f6fa;scroll-padding-top:32px}
 .report-screen .screen-report .table-wrap{height:auto;min-height:100%;overflow:visible}
 .report-screen .screen-report thead th{position:sticky;top:0;z-index:2;background:#fff}
 .report-screen .screen-report .screen-cell{height:auto;min-height:34px;overflow:visible}
 .report-screen .screen-assignees{max-height:none;overflow:visible}
 .report-screen .screen-table-viewport:focus-visible{outline:2px solid #c99508;outline-offset:-2px;border-radius:5px}
 .report-screen .screen-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
 .report-screen .screen-stats .stat{min-height:40px;padding:5px 10px}
 .report-screen .screen-stats .stat h3{font-size:19px;margin-top:2px}
}
@media screen and (max-width:1100px){.report-screen .screen-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media screen and (max-width:600px){
 .report-screen .screen-summary>div,.report-screen #screen-projects .screen-summary>div,.report-screen #screen-attendance .screen-summary>div,.report-screen #screen-tasks .screen-summary>div{height:auto;min-height:35px}
 .report-screen .screen-summary>div>span,.report-screen .screen-summary small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
 .report-screen .screen-stats .stat{min-height:31px;padding:4px 6px}
 .report-screen .screen-stats .stat h3{font-size:16px}
}
.overview-stat:is(button):focus-visible{outline:2px solid #c99508;outline-offset:3px}

/* Planned and shared actual installation quantities. */
.actual-quantity-form2714{margin:0;min-width:155px}.actual-quantity-controls2714{display:flex;align-items:center;gap:6px}.actual-quantity-controls2714 input{width:76px;min-height:35px;padding:7px 9px;font-size:12px}.actual-quantity-controls2714 button{font-size:11px;padding:8px 10px;white-space:nowrap}.quantity-progress-label2714{display:block;font-size:10px;color:#6d7d90;margin:6px 0;white-space:normal}.actual-quantity-progress2714{width:100%;height:5px;accent-color:#17a46a}.item-partial2714{background:#fffbf0}.quantity-partial2714{display:inline-block;margin-top:5px;background:#fff0cb;color:#8b6500;font-size:10px}.quantity-error2714{font-size:11px;color:#ad2c3f;white-space:normal;margin:7px 0}.project-item-table2714 th,.project-item-table2714 td{white-space:normal;vertical-align:top}.project-item-table2714 .deployment-by{white-space:normal}.project-item-table2714 .deployment-by .person{white-space:normal}
@media(max-width:600px){.project-item-table2714{overflow:visible}.project-item-table2714 thead{display:none}.project-item-table2714 table,.project-item-table2714 tbody,.project-item-table2714 tr,.project-item-table2714 td{display:block;width:100%}.project-item-table2714 tr{padding:12px;margin:12px 0;border:1px solid var(--line);border-radius:12px}.project-item-table2714 td{padding:6px 0;border:0}.project-item-table2714 td[data-label]::before{content:attr(data-label) ': ';display:block;font-size:10px;font-weight:750;color:#8390a1;margin-bottom:4px}.project-item-table2714 td:first-child::before{display:none}.actual-quantity-form2714{min-width:0}.actual-quantity-controls2714 input{width:90px}.actual-quantity-progress2714{max-width:240px}}
@media print{.actual-quantity-form2714 button,.quantity-error2714{display:none!important}.actual-quantity-controls2714 input{border:0;padding:0;font-weight:bold}}
.actual-quantity-progress2714{appearance:none;display:block;border:0;border-radius:5px;overflow:hidden;background:#e9eef4}.actual-quantity-progress2714::-webkit-progress-bar{background:#e9eef4;border-radius:5px}.actual-quantity-progress2714::-webkit-progress-value{background:#1aa86c;border-radius:5px}.actual-quantity-progress2714::-moz-progress-bar{background:#1aa86c}.item-partial2714 .actual-quantity-progress2714::-webkit-progress-value{background:#c99508}.item-partial2714 .actual-quantity-progress2714::-moz-progress-bar{background:#c99508}
@media(min-width:601px){.dialog:has(#project-dialog-body272){width:min(1040px,calc(100vw - 36px))}.project-item-table2714 table{table-layout:auto;min-width:840px}.project-item-table2714 th:first-child,.project-item-table2714 td:first-child{min-width:150px;width:24%}}

/* Attendance time corrections retain visible authorship on screen and in print. */
.attendance-edited2715{display:inline-block;padding:4px 8px;margin:5px 4px 3px 0;border-radius:20px;background:#f0eaff;color:#64449b;font-size:10px;font-weight:800;white-space:nowrap}.attendance-edit-meta2715{display:block;color:#796a8f;font-size:10px;white-space:normal;max-width:190px}.attendance-time-actions2715,.attendance-history-link2715{display:block;margin-top:5px;font-size:11px}.attendance-editor2715{border:0;padding:0;margin:0;min-width:0}.attendance-time-note2715{background:#f7f4ff;border:1px solid #e7def4;border-radius:12px;padding:12px;font-size:12px;color:#675780}.attendance-time-form2715{border:1px solid var(--line);border-radius:13px;margin:15px 0;padding:16px;min-width:0}.attendance-time-form2715 h3{font-size:14px}.attendance-time-form2715 .check-label{margin:12px 0}.attendance-time-form2715 input[type=datetime-local]{min-width:0}.attendance-time-form2715 textarea{width:100%;min-height:75px}.attendance-preview2715{font-size:12px;font-weight:750;color:#596d88}.attendance-time-error2715{background:#fff0f1;border-radius:9px;padding:10px;color:#a02d43;font-size:12px}.attendance-time-history2715{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.attendance-history-entry2715{padding:14px;border:1px solid #e6def1;border-left:4px solid #9772bd;border-radius:10px;margin:12px 0;background:#fdfbff}.attendance-history-entry2715 strong{font-size:12px}.attendance-history-entry2715 small{display:block;font-size:11px;color:#8690a0;margin-top:3px}.attendance-history-entry2715 dl{display:grid;grid-template-columns:55px minmax(0,1fr);gap:8px;font-size:12px;margin-bottom:0}.attendance-history-entry2715 dt{font-weight:750;color:#7e7391}.attendance-history-entry2715 dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:600px){.attendance-time-form2715{padding:12px}.attendance-time-form2715 .form-grid{grid-template-columns:1fr}.attendance-time-form2715 .form-footer{flex-wrap:wrap}.attendance-time-form2715 .form-footer button{white-space:normal}.attendance-history-entry2715{padding:10px}.attendance-edit-meta2715{max-width:none}}@media print{.attendance-time-actions2715,.attendance-history-link2715{display:none!important}.attendance-edited2715{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Compact assignments: three people across; names retain full tooltip/accessible text. */
.assigned-team2717{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;min-width:180px;max-width:360px;margin:6px 0;white-space:normal}.assigned-member2717{min-width:0;text-align:center}.assigned-team2717 .assigned-member2717>.person{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:0;max-width:100%;white-space:normal}.assigned-team2717 .person-photo{width:28px;height:28px;min-width:28px}.assigned-team2717 .person>span:last-child{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.35;min-width:0;max-width:100%;text-overflow:ellipsis}.assigned-team2717 .task-number{display:block;white-space:normal;font-size:9px}.project-company-status2717{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:190px}.project-company-status2717>.customer-identity{flex:1;min-width:0}.project-status2717{flex:none;margin-left:auto}.project-status2717 .chip{margin:0;white-space:nowrap}.project-status2717 .chip.on_hold{background:#f0eaff;color:#7650ab}.project-status2717 .chip.active{background:#eaf5fb;color:#287db5}.project-status2717 .chip.completed{background:#e7f6ee;color:#168563}.dialog .assigned-team2717{max-width:100%}.screen-report .assigned-team2717{min-width:150px;max-width:none}.screen-report .assigned-team2717 .person>span:last-child{font-size:10px}.task-people>.assigned-team2717{width:100%}@media(max-width:600px){.assigned-team2717{min-width:150px;max-width:100%}.project-company-status2717{min-width:180px}}
/* 1.3.3: status and priority stay distinct in every list and detail view. */
.chip.open,.ticket-status.status-open{background:#e4f4ed;color:#126b4e}
.chip.normal{background:#e8f0fb;color:#255f9e}.chip.high{background:#fff0dc;color:#99500d}.chip.urgent{background:#fde7eb;color:#a4253d}.chip.low{background:#edf0f4;color:#526174}
.task-description2721,.task-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:#536178;display:block;-webkit-line-clamp:unset;max-height:none}
.customer-trackers2721{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:18px}.customer-tracker2721{min-width:0;border:1px solid var(--line);border-radius:16px;padding:18px;overflow-wrap:anywhere}.customer-tracker2721 dl{margin:12px 0}.customer-tracker2721 dl>div{padding:7px 0}.customer-tracker2721 dt{font-size:11px;color:#78869a}.customer-tracker2721 dd{margin:4px 0 0}.customer-payment-dates2721{list-style:none;padding:0}.customer-payment-dates2721 li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0}.attendance-modes2721 .row{flex-wrap:wrap;margin-bottom:14px}.attendance-modes2721 input{max-width:240px}.attendance-modes2721 form>label{display:inline-grid;margin-right:12px}.live-sites2721 .table-wrap{overflow:auto}

.overview-stat h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 9px}.metric-note2722{font-size:10px;font-weight:500;line-height:1.3;color:#78869a}.customer-payment2722{border-top:1px solid #e3e8ef;padding:12px 0;overflow-wrap:anywhere}.customer-payments2722{margin:16px 0}.customer-payments2722 dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
