:root{--bg:#f4f5f6;--surface:#ffffff;--surface-2:#f9fafb;--text:#171717;--muted:#6c737f;--line:#d9dde3;--brand:#c5161d;--brand-dark:#9f1117;--nav-bg:#ef7d00;--nav-bg-dark:#cf6c00;--ok:#167047;--warn:#9b6412;--shadow:0 8px 24px rgba(17,24,39,0.08)}*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}body{margin:0;min-width:320px}a,button{font:inherit}.app-shell{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;background:var(--nav-bg);color:#fff;padding:20px 16px;border-right:1px solid var(--nav-bg-dark)}.brand{display:flex;align-items:center;min-height:74px;padding:10px 12px 20px;border-bottom:1px solid rgba(255,255,255,.28)}.brand img{display:block;width:164px;max-width:100%;height:auto;background:#fff}.side-nav{padding-top:18px}.side-nav,.user-card{display:grid;grid-gap:4px;gap:4px}.user-card{margin-top:auto;padding:14px 12px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:rgba(0,0,0,.12)}.user-card a,.user-card span,.user-card strong{display:block}.user-card strong{font-size:14px}.user-card span{color:rgba(255,255,255,.82);font-size:12px}.user-card a{margin-top:4px;font-size:12px;font-weight:800}.nav-item,.user-card a{color:#fff;text-decoration:none}.nav-item{display:grid;grid-template-columns:34px 1fr;align-items:center;grid-gap:10px;gap:10px;min-height:42px;padding:6px 10px;border-radius:6px}.nav-item span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.42);border-radius:4px;color:#fff;font-size:11px;font-weight:700}.nav-item.active,.nav-item:hover{background:rgba(0,0,0,.18);color:#fff}.workspace{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.module-topbar{align-items:flex-end}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:32px;line-height:1.15}h2{font-size:19px;line-height:1.25}.page-summary{max-width:780px;margin:9px 0 0;color:var(--muted);font-size:15px;line-height:1.45}.top-actions{display:flex;align-items:center;gap:8px}.action-grid button,.button-link,.ghost-btn,.icon-btn,.primary-btn{min-height:40px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer}.icon-btn{width:42px;font-weight:800}.primary-btn{padding:0 16px;border-color:var(--brand);background:var(--brand);color:#fff;font-weight:700}.primary-btn:hover{background:var(--brand-dark)}.ghost-btn{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;text-decoration:none}.eyebrow-link,.panel-title-link{color:inherit;text-decoration:none}.eyebrow-link:hover,.panel-title-link:hover{color:inherit}.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px;margin-bottom:16px}.metric-card,.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.metric-card{padding:16px;color:var(--text);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.metric-card:focus-visible,.metric-card:hover{border-color:var(--brand);transform:translateY(-1px)}.metric-button{display:block;width:100%;cursor:pointer;text-align:left}.metric-card.active-metric{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand),var(--shadow)}.static-card:focus-visible,.static-card:hover{border-color:var(--line);transform:none}.metric-card p{margin:0 0 12px;color:var(--muted);font-size:13px;font-weight:700}.metric-card strong{display:block;margin-bottom:5px;font-size:30px;line-height:1}.metric-card span{color:var(--muted);font-size:13px}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);grid-gap:16px;gap:16px}.dashboard-hero{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-gap:16px}.dashboard-hero,.dashboard-layout{display:grid;gap:16px;margin-bottom:16px}.dashboard-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);grid-gap:16px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.panel{min-width:0;padding:18px}.interactive-panel{transition:border-color .15s ease,transform .15s ease}.interactive-panel:focus-within,.interactive-panel:hover{border-color:var(--brand);transform:translateY(-1px)}.action-panel,.calendar-panel,.main-panel{grid-column:1}.side-panel,.timeline-panel{grid-column:2}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-head.compact{margin-bottom:12px}.table-wrap{overflow-x:auto}table{width:100%;min-width:680px;border-collapse:collapse}td,th{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:12px;text-transform:uppercase}td{font-size:14px}.status{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700}.status.good{background:#e9f7ef;color:var(--ok)}.status.warn{background:#fff4dd;color:var(--warn)}.status.muted{background:#eef0f3;color:#555d68}.alert-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.alert-list li{padding:12px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.alert-list span,.alert-list strong{display:block}.alert-list strong{margin-bottom:4px}.alert-list span{color:var(--muted);font-size:13px}.module-items{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.module-items li{padding:13px 14px;border:1px solid var(--line);border-left:4px solid var(--nav-bg);border-radius:6px;background:var(--surface-2)}.module-items span,.module-items strong{display:block}.module-items strong{margin-bottom:4px}.module-items span{color:var(--muted);font-size:13px;line-height:1.35}.permission-panel{margin-bottom:16px}.permission-table-wrap{overflow-x:auto}.permission-table{min-width:980px}.permission-table td:first-child{min-width:190px}.permission-table td span,.permission-table td strong{display:block}.permission-table td span{color:var(--muted);font-size:12px}.check-cell{display:inline-grid;justify-items:center;gap:4px;min-width:72px;cursor:pointer;font-size:12px;font-weight:700}.check-cell input{width:18px;height:18px;accent-color:var(--brand)}.check-cell input:disabled{cursor:not-allowed}.settings-grid{margin-top:0}.attendance-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);grid-gap:16px;gap:16px;margin-bottom:16px}.punch-status{display:grid;grid-gap:4px;gap:4px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.punch-status strong{font-size:22px}.punch-status span{color:var(--muted);font-size:13px}.punch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.punch-grid button{display:grid;grid-gap:5px;gap:5px;min-height:82px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);cursor:pointer;text-align:left}.punch-grid button:hover{border-color:var(--brand)}.punch-grid button span{color:var(--muted);font-size:12px;line-height:1.3}.capture-checks{display:grid;grid-gap:9px;gap:9px;margin-top:14px}.capture-checks div{display:grid;grid-gap:3px;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.capture-checks span{color:var(--muted);font-size:13px;line-height:1.35}.break-timer{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--nav-bg);border-radius:6px;background:var(--surface-2)}.break-timer strong{font-size:36px;line-height:1}.break-timer span{color:var(--muted);font-size:13px;line-height:1.35}.warehouse-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);grid-gap:16px;gap:16px;margin-bottom:16px}.search-input{width:100%;min-height:44px;margin-bottom:14px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font:inherit}.search-input:focus{border-color:var(--brand);outline:none}.warehouse-table table{min-width:860px}.printer-status{display:grid;grid-gap:5px;gap:5px;margin-bottom:12px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.printer-status strong{font-size:34px;line-height:1}.printer-status span{color:var(--muted);font-size:13px}.warehouse-card strong{font-size:20px;line-height:1.15}.document-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);grid-gap:16px}.document-layout,.job-layout{display:grid;gap:16px;margin-bottom:16px}.job-layout{grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);grid-gap:16px}.asset-layout,.client-layout,.diary-layout,.job-detail-layout,.jobs-overview-layout,.notification-layout,.people-layout,.report-layout,.settings-layout,.task-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);grid-gap:16px;gap:16px;margin-bottom:16px}.asset-main-panel,.asset-side-panel,.client-main-panel,.client-side-panel,.dashboard-action-panel,.dashboard-day-panel,.dashboard-main-panel,.dashboard-side-panel,.diary-main-panel,.diary-side-panel,.job-detail-main,.job-detail-side,.job-main-panel,.job-side-panel,.jobs-overview-main,.jobs-overview-side,.notification-main-panel,.notification-side-panel,.people-main-panel,.people-side-panel,.report-main-panel,.report-side-panel,.settings-main-panel,.settings-side-panel,.task-main-panel,.task-side-panel{min-width:0}.inline-search{width:min(100%,320px);margin-bottom:0}.status-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.status-strip button{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:#3b4048;cursor:pointer;font-size:13px;font-weight:800}.status-strip button:hover{border-color:var(--brand)}.job-detail-tabs button.active-filter,.status-strip button.active-filter{border-color:var(--brand);background:var(--brand);color:#fff}.job-table table{min-width:0;table-layout:fixed}.job-table td:first-child,.job-table th:first-child{width:112px}.job-table td:nth-child(2),.job-table th:nth-child(2){width:28%}.job-table td:nth-child(3),.job-table th:nth-child(3){width:16%}.job-table td:nth-child(4),.job-table th:nth-child(4){width:128px}.job-table td:nth-child(5),.job-table th:nth-child(5){width:132px}.job-table td:nth-child(6),.job-table th:nth-child(6){width:100px}.job-table td:nth-child(7),.job-table th:nth-child(7){width:82px}.job-table td:nth-child(8),.job-table th:nth-child(8){width:80px}.table-link{color:var(--brand);font-weight:800;text-decoration:none}.table-link:hover{text-decoration:underline}.empty-table-note{display:block;padding:10px 0;color:var(--muted);font-weight:800}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#fff7ed}.row-link-cover{display:block;color:var(--text);font-weight:800;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1180px) and (min-width:721px){.app-shell{grid-template-columns:86px minmax(0,1fr)}.sidebar{padding:14px 8px}.brand{justify-content:center;min-height:58px;padding:8px 2px 14px}.brand img{display:block;width:68px;max-width:100%;height:auto;padding:4px;background:#fff}.nav-item{position:relative;grid-template-columns:1fr;justify-items:center;gap:0;padding:6px;font-size:0}.nav-item span{width:38px;height:38px;font-size:12px}.nav-item:after{content:attr(title);position:absolute;top:50%;left:calc(100% + 8px);z-index:50;min-width:max-content;padding:7px 9px;border-radius:6px;background:#171717;color:#fff;font-size:12px;font-weight:800;opacity:0;pointer-events:none;transform:translateY(-50%) translateX(-4px);transition:opacity .12s ease,transform .12s ease}.nav-item:focus-visible:after,.nav-item:hover:after{opacity:1;transform:translateY(-50%) translateX(0)}.user-card{display:none}.workspace{padding:18px}.job-table table{min-width:900px;table-layout:auto}}.row-link-cover:after{content:"";position:absolute;inset:0}.clickable-row td,.row-action-link{position:relative}.row-action-link{z-index:1}.job-detail-tabs,.jobs-watch-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.jobs-watch-list li{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.jobs-watch-list strong{font-size:28px;line-height:1}.jobs-watch-list small,.jobs-watch-list span{color:var(--muted);font-size:13px;line-height:1.35}.job-detail-tabs{grid-template-columns:repeat(8,minmax(0,1fr));margin-bottom:16px}.job-detail-tabs button{min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:#3b4048;cursor:pointer;font-weight:800}.job-detail-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.job-detail-card-grid div{display:grid;grid-gap:5px;gap:5px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.job-detail-card-grid span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.job-detail-card-grid strong{font-size:16px;line-height:1.25}.subtext{display:block;margin-top:3px;color:var(--muted);font-size:12px}.progress-cell{display:grid;grid-gap:6px;gap:6px;min-width:120px}.progress-cell span{color:#3b4048;font-size:12px;font-weight:800}.progress-cell div{height:8px;overflow:hidden;border-radius:999px;background:#edf0f3}.progress-cell i{display:block;height:100%;border-radius:inherit;background:var(--brand)}.job-summary-card{display:grid;grid-gap:5px;gap:5px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.job-summary-card span,.job-summary-card strong{display:block}.job-summary-card strong{font-size:18px;line-height:1.2}.job-summary-card span{color:var(--muted);font-size:13px;line-height:1.35}.job-action-list{display:grid;grid-gap:8px;gap:8px}.job-action-list button{min-height:42px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);cursor:pointer;font-weight:800;text-align:left;padding:0 12px}.job-action-list button:hover{border-color:var(--brand)}.extra-work-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.extra-work-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:start;padding:12px;border:1px solid var(--line);border-left:4px solid var(--nav-bg);border-radius:6px;background:var(--surface-2)}.extra-work-list b,.extra-work-list span,.extra-work-list strong{display:block}.extra-work-list strong{margin-bottom:4px}.extra-work-list span{color:var(--muted);font-size:13px;line-height:1.35}.extra-work-list b{margin-bottom:4px;text-align:right;white-space:nowrap}.cost-table table{min-width:620px}.diary-table table{min-width:880px}.diary-summary-card,.signature-card{display:grid;grid-gap:5px;gap:5px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.signature-card{margin-top:14px;margin-bottom:0;border-left-color:var(--nav-bg)}.diary-summary-card span,.diary-summary-card strong,.signature-card span,.signature-card strong{display:block}.diary-summary-card strong,.signature-card strong{font-size:17px;line-height:1.2}.diary-summary-card span,.signature-card span{color:var(--muted);font-size:13px;line-height:1.35}.approval-steps,.photo-queue,.version-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.approval-steps li,.photo-queue li,.version-list li{padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.approval-steps li{display:grid;grid-template-columns:90px 1fr;grid-gap:4px 10px;gap:4px 10px}.approval-steps small{grid-column:2}.version-list li{display:grid;grid-template-columns:52px 1fr;grid-gap:12px;gap:12px;align-items:start;border-left:4px solid var(--brand)}.photo-queue li{display:grid;grid-template-columns:78px 1fr auto;grid-gap:12px;gap:12px;align-items:center;border-left:4px solid var(--nav-bg)}.approval-steps small,.approval-steps span,.approval-steps strong,.photo-queue small,.photo-queue span,.photo-queue strong,.version-list small,.version-list span,.version-list strong{display:block}.approval-steps small,.photo-queue small,.version-list small{color:var(--muted);font-size:12px;line-height:1.35}.export-panel{margin-top:16px}.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.export-grid div{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.export-grid small,.export-grid span{color:var(--muted);font-size:13px;line-height:1.35}.client-table table{min-width:820px}.access-table table{min-width:620px}.client-summary-card{display:grid;grid-gap:5px;gap:5px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.client-summary-card span,.client-summary-card strong{display:block}.client-summary-card strong{font-size:18px;line-height:1.2}.client-summary-card span{color:var(--muted);font-size:13px;line-height:1.35}.client-toggle-list{display:grid;grid-gap:8px;gap:8px}.client-toggle-list label{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;font-weight:800}.client-toggle-list input{width:17px;height:17px;accent-color:var(--brand)}.client-log,.client-pending-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.client-pending-list li{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--nav-bg);border-radius:6px;background:var(--surface-2)}.client-pending-list small,.client-pending-list span,.client-pending-list strong{display:block}.client-pending-list small,.client-pending-list span{color:var(--muted);font-size:13px;line-height:1.35}.client-log-panel{margin-top:16px}.client-log li{display:grid;grid-template-columns:58px 1fr;grid-gap:12px;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.client-log time{color:var(--brand);font-size:13px;font-weight:800}.client-log span,.client-log strong{display:block}.client-log span{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.35}.people-table table{min-width:840px}.role-table table{min-width:680px}.people-summary-card{display:grid;grid-gap:5px;gap:5px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.people-summary-card span,.people-summary-card strong{display:block}.people-summary-card strong{font-size:18px;line-height:1.2}.people-summary-card span{color:var(--muted);font-size:13px;line-height:1.35}.people-toggle-list{display:grid;grid-gap:8px;gap:8px}.people-toggle-list label{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;font-weight:800}.people-toggle-list input{width:17px;height:17px;accent-color:var(--brand)}.people-expiry-list,.people-log{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.people-expiry-list li{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:6px;background:var(--surface-2)}.people-expiry-list small,.people-expiry-list span,.people-expiry-list strong{display:block}.people-expiry-list small,.people-expiry-list span{color:var(--muted);font-size:13px;line-height:1.35}.people-log-panel{margin-top:16px}.people-log li{display:grid;grid-template-columns:58px 1fr;grid-gap:12px;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.people-log time{color:var(--brand);font-size:13px;font-weight:800}.people-log span,.people-log strong{display:block}.people-log span{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.35}.asset-table table{min-width:860px}.asset-service-list,.asset-watch-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.asset-service-list li,.asset-watch-list li{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.asset-watch-list li{border-left:4px solid var(--warn)}.asset-service-list li{border-left:4px solid var(--nav-bg)}.asset-service-list small,.asset-service-list span,.asset-service-list strong,.asset-watch-list small,.asset-watch-list span,.asset-watch-list strong{display:block}.asset-service-list small,.asset-service-list span,.asset-watch-list small,.asset-watch-list span{color:var(--muted);font-size:13px;line-height:1.35}.task-table table{min-width:900px}.task-approval-list,.task-comment-list,.task-repeat-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.task-approval-list li,.task-comment-list li,.task-repeat-list li{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.task-approval-list li{border-left:4px solid var(--warn)}.task-repeat-list li{border-left:4px solid var(--nav-bg)}.task-comment-list li{border-left:4px solid var(--brand)}.task-approval-list small,.task-approval-list span,.task-approval-list strong,.task-comment-list span,.task-comment-list strong,.task-repeat-list small,.task-repeat-list span,.task-repeat-list strong{display:block}.task-approval-list small,.task-approval-list span,.task-comment-list span,.task-repeat-list small,.task-repeat-list span{color:var(--muted);font-size:13px;line-height:1.35}.task-action-panel{margin-top:16px}.report-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.report-card-grid article{display:grid;grid-gap:5px;gap:5px;padding:13px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.report-card-grid small,.report-card-grid span,.report-card-grid strong{display:block}.report-card-grid p{margin:0}.report-card-grid p,.report-card-grid small,.report-card-grid span{color:var(--muted);font-size:13px;line-height:1.35}.own-report-list,.report-export-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.own-report-list li,.report-export-list li{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.own-report-list li{border-left:4px solid var(--nav-bg)}.report-export-list li{border-left:4px solid var(--brand)}.own-report-list span,.own-report-list strong,.report-export-list small,.report-export-list span,.report-export-list strong{display:block}.own-report-list span,.report-export-list small,.report-export-list span{color:var(--muted);font-size:13px;line-height:1.35}.report-table table{min-width:620px}.report-action-panel{margin-top:16px}.digest-list,.notification-history-list,.notification-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.notification-list li{display:grid;grid-template-columns:minmax(0,1fr) 104px;grid-gap:14px;gap:14px;align-items:start;padding:12px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.notification-list li:nth-child(2),.notification-list li:nth-child(4){border-left-color:var(--warn)}.notification-list li:nth-child(5){border-left-color:var(--ok)}.notification-list b,.notification-list em,.notification-list small,.notification-list span,.notification-list strong{display:block}.notification-list small,.notification-list span{color:var(--muted);font-size:13px;line-height:1.35}.notification-list b{margin-bottom:5px;color:#3b4048;font-size:13px;text-align:right}.notification-list em{color:var(--brand);font-size:12px;font-style:normal;font-weight:800;text-align:right}.digest-list li,.notification-history-list li{display:grid;grid-template-columns:58px 1fr;grid-gap:12px;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.digest-list li{border-left:4px solid var(--nav-bg)}.notification-history-list li{border-left:4px solid var(--brand)}.digest-list time,.notification-history-list time{color:var(--brand);font-size:13px;font-weight:800}.digest-list span,.digest-list strong,.notification-history-list span,.notification-history-list strong{display:block}.digest-list span,.notification-history-list span{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.35}.notification-rule-table table{min-width:760px}.notification-action-panel{margin-top:16px}.settings-table table{min-width:760px}.person-questionnaire-table table{min-width:680px}.settings-device-list,.settings-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.settings-device-list li,.settings-list li{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.settings-list li{border-left:4px solid var(--brand)}.settings-device-list li{border-left:4px solid var(--nav-bg)}.settings-device-list small,.settings-device-list span,.settings-device-list strong,.settings-list small,.settings-list span,.settings-list strong{display:block}.settings-device-list small,.settings-device-list span,.settings-list small,.settings-list span{color:var(--muted);font-size:13px;line-height:1.35}.dashboard-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.dashboard-day-grid div{display:grid;grid-gap:4px;gap:4px;min-height:90px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:var(--surface-2)}.dashboard-day-grid strong{font-size:34px;line-height:1}.dashboard-day-grid span{color:var(--muted);font-size:13px;line-height:1.35}.dashboard-action-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.dashboard-action-groups div{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.dashboard-action-groups strong{display:block;color:#3b4048;font-size:13px;text-transform:uppercase}.dashboard-action-groups button{min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);cursor:pointer;font-weight:800;text-align:left}.dashboard-action-groups button:hover{border-color:var(--brand)}.dashboard-job-table table{min-width:920px}.dashboard-alert-list,.dashboard-people-list,.dashboard-warehouse-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.dashboard-alert-list li,.dashboard-people-list li,.dashboard-warehouse-list li{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.dashboard-alert-list li{border-left:4px solid var(--brand)}.dashboard-people-list li{border-left:4px solid var(--nav-bg)}.dashboard-warehouse-list li{border-left:4px solid var(--ok)}.dashboard-alert-list small,.dashboard-alert-list span,.dashboard-alert-list strong,.dashboard-people-list small,.dashboard-people-list span,.dashboard-people-list strong,.dashboard-warehouse-list small,.dashboard-warehouse-list span,.dashboard-warehouse-list strong{display:block}.dashboard-alert-list small,.dashboard-alert-list span,.dashboard-people-list small,.dashboard-people-list span,.dashboard-warehouse-list small,.dashboard-warehouse-list span{color:var(--muted);font-size:13px;line-height:1.35}.document-table table{min-width:760px}.delete-notice{display:grid;grid-gap:4px;gap:4px;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:6px;background:#fff6e4}.delete-notice span{color:var(--muted);font-size:13px}.upload-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.upload-type-grid button{min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--text);cursor:pointer;font-weight:700}.upload-type-grid button:hover{border-color:var(--brand)}.upload-type-grid button.active-upload-type{border-color:var(--brand);background:var(--brand);color:#fff}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.action-grid button{min-height:52px;padding:8px 10px;background:var(--surface-2);font-weight:700}.action-grid button:hover{border-color:var(--brand)}.calendar-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.calendar-filters button{min-height:32px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:#3b4048;cursor:pointer;font-size:13px;font-weight:700}.calendar-filters button.active{border-color:var(--brand);background:var(--brand);color:#fff}.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.calendar-page-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.calendar-page-title span{color:var(--muted);font-size:20px;font-weight:700}.calendar-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.calendar-filterbar,.calendar-nav,.holiday-switch,.range-switch,.view-switch{display:flex;align-items:center;gap:6px}.calendar-nav,.range-switch,.view-switch{padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.calendar-filterbar button,.calendar-nav button,.holiday-switch button,.range-switch button,.view-switch button{min-height:32px;border:0;border-radius:6px;background:transparent;color:#3b4048;cursor:pointer;font-weight:700}.calendar-nav button{padding:0 10px}.view-switch button{padding:0 12px}.range-switch button{padding:0 10px}.holiday-switch{flex-basis:100%;justify-content:flex-end;min-height:38px}.holiday-switch span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.holiday-switch button{padding:0 10px;border:1px solid var(--line);background:var(--surface)}.calendar-filterbar{flex-wrap:wrap;align-items:center;margin-bottom:14px}.calendar-filterbar button{padding:0 12px;border:1px solid var(--line);background:var(--surface)}.calendar-filterbar .calendar-nav{margin-left:6px}.calendar-nav button.nav-arrow{min-width:84px;min-height:32px;font-size:20px;line-height:1}.calendar-filterbar button.active,.holiday-switch button.active,.range-switch button.active,.view-switch button.active{background:var(--brand);color:#fff}.calendar-workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.calendar-workspace.with-editor{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start}.calendar-main-area{min-width:0}.calendar-editor-column{position:-webkit-sticky;position:sticky;top:16px;min-width:0}.calendar-board{padding:0;overflow:hidden}.calendar-mobile-agenda{display:none}.calendar-board-head{grid-template-columns:70px repeat(7,minmax(132px,1fr));background:var(--surface-2)}.calendar-all-day-row,.calendar-board-head{display:grid;border-bottom:1px solid var(--line)}.calendar-all-day-row{background:#fff}.all-day-cell,.all-day-label{min-height:42px;padding:7px 8px;border-right:1px solid var(--line)}.all-day-label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.all-day-cell{display:flex;flex-wrap:wrap;gap:5px;align-items:flex-start}.all-day-chip{max-width:100%;min-height:26px;padding:0 8px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:#fff4f4;color:var(--text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}.all-day-chip.vacation{border-left-color:#0f766e;background:#eaf8f6}.day-head,.time-corner{min-height:64px;padding:12px;border-right:1px solid var(--line)}.time-corner{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.day-head span,.day-head strong{display:block}.day-head strong{margin-bottom:5px}.day-head span{color:var(--muted);font-size:12px}.day-head.today{box-shadow:inset 0 4px 0 var(--brand)}.calendar-board-body{display:grid;grid-template-columns:70px minmax(924px,1fr);min-height:620px;overflow-x:auto}.time-column{display:grid;grid-template-rows:repeat(13,62px);border-right:1px solid var(--line);background:var(--surface)}.time-slot{padding:8px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700}.week-grid{position:relative;display:grid;grid-template-columns:repeat(7,minmax(132px,1fr));grid-template-rows:repeat(13,62px);min-width:924px}.day-column{display:grid;grid-row:1/-1;grid-template-rows:repeat(13,62px);border-right:1px solid var(--line)}.hour-cell{border-bottom:1px solid var(--line)}.calendar-slot-button{z-index:1;width:100%;height:100%;border:0;border-bottom:1px solid transparent;background:transparent;cursor:pointer}.calendar-slot-button:hover{background:rgba(239,125,0,.08)}.calendar-block{z-index:2;align-self:stretch;margin:4px;padding:8px 9px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:#fff4f4;overflow:hidden;cursor:pointer;text-align:left}.calendar-block.asset{border-left-color:var(--ok);background:#edf8f2}.calendar-block.warn{border-left-color:var(--warn);background:#fff6e4}.calendar-block.system{border-left-color:var(--nav-bg);background:#fff7ed}.calendar-block.event{border-left-color:#6b7280;background:#f4f6f8}.calendar-block.task{border-left-color:#7c3aed;background:#f3efff}.calendar-block.vacation{border-left-color:#0f766e;background:#eaf8f6}.calendar-block.attendance{border-left-color:#2f6fbb;background:#edf4ff}.calendar-mobile-event.vacation{border-left-color:#0f766e;background:#eaf8f6}.calendar-block span,.calendar-block strong{display:block}.calendar-block strong{margin-bottom:4px;font-size:13px}.calendar-block span{color:var(--muted);font-size:12px;line-height:1.3}.month-panel{padding:0;overflow:hidden}.month-titlebar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}.month-titlebar span{color:var(--muted);font-size:13px;font-weight:800}.month-board{display:grid;grid-template-columns:48px repeat(7,minmax(112px,1fr));padding:0;overflow-x:auto}.month-cell,.month-head,.month-week-head,.month-week-number{min-height:44px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.month-head,.month-week-head,.month-week-number{display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.month-week-row{display:contents}.month-cell{min-height:112px;background:var(--surface);color:var(--text);cursor:pointer;text-align:left}button.month-cell{border-top:0;border-left:0}.month-cell:hover{background:#fff7ed}.month-cell.today{box-shadow:inset 0 4px 0 var(--brand)}.month-cell.muted{background:#f1f3f5}.month-cell span,.month-cell strong{display:block}.month-cell strong{margin-bottom:8px}.month-cell small{display:block;margin-top:-4px;margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:800}.month-cell span{margin-top:5px;padding:5px 6px;border-left:3px solid var(--brand);border-radius:4px;background:#fff4f4;font-size:12px;line-height:1.25}.month-cell span.holiday{border-left-color:var(--nav-bg);background:#fff7ed}.calendar-editor{margin-top:0;padding:18px}.calendar-editor-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-editor-top .icon-btn{min-height:34px;width:34px;border:0;background:transparent;color:#4a515b;font-size:18px}.calendar-title-input{width:100%;min-height:56px;margin-bottom:14px;border:0;border-bottom:1px solid #bfc5cd;background:transparent;color:var(--text);font-size:28px;font-weight:500}.calendar-title-input:focus{border-bottom-color:var(--brand);outline:none}.calendar-editor-tabs{display:flex;flex-wrap:nowrap;gap:5px;margin-bottom:18px}.calendar-editor-tabs button{flex:1 1;min-width:0;min-height:38px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:#3b4048;cursor:pointer;font-size:15px;font-weight:800}.calendar-editor-tabs button.active{background:#ffe4c2;color:#7a3500}.calendar-color-row{display:flex;align-items:center;gap:12px;margin:-4px 0 18px}.calendar-color-row>span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.calendar-color-row div{display:flex;flex-wrap:wrap;gap:8px}.calendar-color-row button{width:24px;height:24px;border:2px solid transparent;border-radius:999px;cursor:pointer}.calendar-color-row button.active{border-color:var(--text);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line)}.calendar-editor-form{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:12px 12px;gap:12px 12px;margin-bottom:14px}.calendar-row-icon{display:grid;place-items:center;min-height:38px;color:var(--muted);font-weight:900}.calendar-date-time-stack{display:grid;grid-gap:8px;gap:8px}.calendar-date-time-row{display:grid;grid-template-columns:68px minmax(0,1fr) 86px;grid-gap:8px;gap:8px;align-items:center}.calendar-date-time-row>span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.calendar-date-time-row button,.calendar-date-time-row input,.calendar-select-row{min-height:40px;padding:0 10px;border:1px solid #d8dde5;border-radius:6px;background:#eef1f5;color:var(--text);cursor:pointer;text-align:left}.calendar-date-time-row input{cursor:text;font:inherit}.calendar-picker-anchor{position:relative;min-width:0}.calendar-date-time-row .calendar-picker-anchor:first-of-type:last-child{grid-column:2/-1}.calendar-picker-anchor>button,.calendar-picker-anchor>input{width:100%}.mini-calendar,.time-picker{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:286px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 16px 36px rgba(17,24,39,.18)}.mini-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mini-calendar-head button{width:32px;min-height:32px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);cursor:pointer}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.mini-calendar-grid button,.mini-calendar-grid span{display:grid;place-items:center;min-height:30px;border-radius:6px;font-size:12px}.mini-calendar-grid span{color:var(--muted);font-weight:800}.mini-calendar-grid button{border:0;background:transparent;color:var(--text);cursor:pointer}.mini-calendar-grid button.active,.mini-calendar-grid button:hover{background:var(--brand);color:#fff}.time-picker{width:118px;max-height:238px;overflow-y:auto;padding:6px}.time-picker button{width:100%;min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;text-align:center}.time-picker button:hover{background:#fff7ed;color:var(--brand)}.calendar-checkbox-row{display:flex;align-items:center;gap:10px;min-height:38px}.calendar-checkbox-row input{width:18px;height:18px;accent-color:var(--brand)}.calendar-checkbox-row b{color:var(--brand)}.calendar-select-row{width:-moz-fit-content;width:fit-content;min-width:176px}.calendar-line-button{min-height:38px;border:0;background:transparent;color:#454b54;cursor:pointer;text-align:left;font-weight:700}.calendar-line-button:hover{color:var(--brand)}.calendar-owner-row{display:grid;grid-gap:3px;gap:3px;min-height:44px}.calendar-owner-row span,.calendar-owner-row strong{display:block}.calendar-owner-row span{color:var(--muted);font-size:13px;line-height:1.35}.calendar-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.calendar-detail-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#edf4ff;color:#2f6fbb;font-size:12px;font-weight:900;text-transform:uppercase}.calendar-detail-badge.job{background:#fff4f4;color:var(--brand)}.calendar-detail-badge.vacation{background:#eaf8f6;color:#0f766e}.calendar-detail-badge.client{background:#fff7ed;color:var(--nav-bg-dark)}.readonly-detail-head{display:grid;grid-gap:4px;gap:4px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.readonly-detail-head h2{font-size:28px}.readonly-detail-head span{color:var(--muted);font-size:14px}.readonly-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.readonly-detail-grid div{display:grid;grid-gap:4px;gap:4px;padding:11px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.readonly-detail-grid span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.readonly-detail-grid strong{font-size:14px;line-height:1.25}.readonly-detail-note{margin-bottom:14px;padding:12px;border:1px solid var(--line);border-left:4px solid #2f6fbb;border-radius:6px;background:#edf4ff;color:#344052;font-size:13px;line-height:1.4}.readonly-detail-note.job{border-left-color:var(--brand);background:#fff4f4}.readonly-detail-note.vacation{border-left-color:#0f766e;background:#eaf8f6}.readonly-detail-note.client{border-left-color:var(--nav-bg);background:#fff7ed}.calendar-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.calendar-event{display:grid;grid-template-columns:58px 1fr;grid-gap:12px;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-left:4px solid var(--nav-bg);border-radius:6px;background:var(--surface-2)}.calendar-event.job{border-left-color:var(--brand)}.calendar-event.asset{border-left-color:var(--ok)}.calendar-event.system{border-left-color:var(--nav-bg)}.calendar-event time{color:var(--brand);font-size:13px;font-weight:800}.calendar-event span,.calendar-event strong{display:block}.calendar-event strong{margin-bottom:3px;font-size:14px}.calendar-event span{color:var(--muted);font-size:13px;line-height:1.35}.timeline{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.timeline li{display:grid;grid-template-columns:48px 1fr;grid-gap:10px;gap:10px;align-items:start}.timeline time{color:var(--brand);font-size:13px;font-weight:700}.timeline span{color:#3b4048;font-size:14px;line-height:1.35}.mobile-menu-layer,.mobile-nav{display:none}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f7f8fa,#eceff3)}.auth-panel{width:min(100%,460px);padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.reset-panel{width:min(100%,430px)}.auth-brand{display:flex;justify-content:center;margin-bottom:22px}.auth-brand img{display:block;width:380px;max-width:100%;height:auto}.auth-copy{margin-bottom:22px}.auth-copy p:last-child{margin:9px 0 0;color:var(--muted);line-height:1.45}.auth-form{display:grid;grid-gap:14px;gap:14px}.auth-message{margin:-6px 0 16px;padding:10px 12px;border:1px solid #d6dde6;border-radius:6px;background:#f5f7fa;color:#323842;font-size:13px;font-weight:800}.auth-message.error{border-color:rgba(207,18,33,.28);background:rgba(207,18,33,.08);color:var(--brand)}.auth-form label{display:grid;grid-gap:6px;gap:6px;color:#323842;font-size:13px;font-weight:800}.auth-form input[type=email],.auth-form input[type=password]{min-height:42px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text)}.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.auth-row a,.back-link{color:var(--brand);font-weight:800;text-decoration:none}.check-row{display:inline-flex!important;grid-template-columns:none;align-items:center;gap:7px!important;font-weight:700!important}.check-row input{width:16px;height:16px;accent-color:var(--brand)}.auth-submit{width:100%;border:0;cursor:pointer}.auth-submit-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.pin-panel{display:grid;grid-gap:12px;gap:12px;margin-top:20px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--nav-bg);border-radius:6px;background:var(--surface-2)}.pin-panel p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.pin-dots{display:flex;gap:8px}.pin-dots span{width:13px;height:13px;border-radius:999px;background:var(--brand)}.auth-pin-link{width:max-content;min-height:34px;padding:0 12px;background:#fff;font-size:13px;font-weight:800}.denied-panel{max-width:680px}.denied-panel p{max-width:580px;color:var(--muted);line-height:1.5}@media (max-width:980px){.topbar{align-items:flex-start}.calendar-toolbar{display:grid;align-items:start}.calendar-controls{flex-wrap:wrap}.calendar-workspace.with-editor{grid-template-columns:1fr}.calendar-editor-column{position:static;order:-1}.calendar-board{overflow-x:auto}.asset-layout,.attendance-layout,.client-layout,.content-grid,.dashboard-hero,.dashboard-layout,.diary-layout,.document-layout,.job-detail-layout,.job-layout,.jobs-overview-layout,.module-grid,.notification-layout,.people-layout,.quick-grid,.report-layout,.settings-layout,.task-layout,.warehouse-layout{grid-template-columns:1fr}.action-panel,.calendar-panel,.main-panel,.side-panel,.timeline-panel{grid-column:1}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.workspace{padding:18px 14px 132px;overflow-x:hidden}.calendar-toolbar{gap:12px}.calendar-page-title{font-size:30px;line-height:1.12}.calendar-page-title span{display:block;margin:4px 0 0;font-size:18px}.calendar-controls,.calendar-filterbar{display:flex;width:100%;gap:8px;overflow-x:auto;padding-bottom:4px}.calendar-filterbar{align-items:center}.calendar-controls button,.calendar-filterbar button{flex:0 0 auto}.calendar-workspace{display:grid;grid-gap:12px;gap:12px}.calendar-board,.calendar-main-area,.month-panel{min-width:0;width:100%}.calendar-all-day-row,.calendar-board-body,.calendar-board-head{display:none}.calendar-mobile-agenda{display:grid;grid-gap:10px;gap:10px;padding:12px}.calendar-mobile-day{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.calendar-mobile-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;text-align:left}.calendar-mobile-day-head span,.calendar-mobile-day-head strong{display:block}.calendar-mobile-day-head strong{font-size:16px}.calendar-mobile-day-head span{color:var(--muted);font-size:12px;font-weight:800}.calendar-mobile-all-day{display:grid;grid-gap:6px;gap:6px;padding:10px 12px 0}.calendar-mobile-events{display:grid;grid-gap:8px;gap:8px;padding:10px 12px 12px}.calendar-mobile-empty,.calendar-mobile-event{width:100%;min-height:54px;padding:9px 10px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:#fff4f4;color:var(--text);cursor:pointer;text-align:left}.calendar-mobile-event.asset{border-left-color:var(--ok);background:#edf8f2}.calendar-mobile-event.warn{border-left-color:var(--warn);background:#fff6e4}.calendar-mobile-event.system{border-left-color:var(--nav-bg);background:#fff7ed}.calendar-mobile-event.event{border-left-color:#6b7280;background:#f4f6f8}.calendar-mobile-event.task{border-left-color:#7c3aed;background:#f3efff}.calendar-mobile-event.vacation{border-left-color:#0f766e;background:#eaf8f6}.calendar-mobile-event.attendance{border-left-color:#2f6fbb;background:#edf4ff}.calendar-mobile-event span,.calendar-mobile-event strong,.calendar-mobile-event time{display:block}.calendar-mobile-event time{margin-bottom:4px;color:var(--brand);font-size:12px;font-weight:900}.calendar-mobile-event strong{font-size:14px}.calendar-mobile-event span{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.3}.calendar-mobile-empty{display:grid;place-items:center;border-style:dashed;background:#fff;color:var(--muted);font-weight:800;text-align:center}.month-titlebar{align-items:flex-start;padding:12px}.month-titlebar h2{font-size:20px}.month-board{grid-template-columns:30px repeat(7,minmax(0,1fr));overflow-x:hidden}.month-cell,.month-head,.month-week-head,.month-week-number{min-height:34px;padding:5px 3px}.month-cell{min-height:72px}.month-cell strong{margin-bottom:3px;font-size:13px}.month-cell small{display:none}.month-cell span{margin-top:3px;padding:3px 4px;border-left-width:2px;font-size:10px;line-height:1.15}.month-head,.month-week-head,.month-week-number{font-size:10px}.mobile-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:1px;gap:1px;border-top:1px solid var(--line);background:var(--line);box-shadow:0 -8px 24px rgba(17,24,39,.08)}.mobile-nav a,.mobile-nav button{display:grid;place-items:center;min-height:72px;padding:6px 4px;background:#fff;color:#3b4048;text-align:center;text-decoration:none;font-size:12px;font-weight:700;font:inherit}.mobile-nav button{border:0;cursor:pointer}.mobile-nav a.active,.mobile-nav button.active{color:#fff;background:var(--brand)}.mobile-menu-layer{position:fixed;inset:0;z-index:19;display:block}.mobile-menu-backdrop{position:absolute;inset:0;border:0;background:rgba(17,24,39,.34)}.mobile-menu-panel{position:absolute;right:10px;bottom:86px;left:10px;max-height:min(72vh,560px);overflow:auto;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 18px 48px rgba(17,24,39,.24)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.mobile-menu-header h2{margin:2px 0 0;font-size:22px}.mobile-menu-header button{width:42px;height:42px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#323842;font-size:20px;font-weight:900}.mobile-menu-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.mobile-menu-grid a{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#252a31;font-size:14px;font-weight:800;text-decoration:none}.mobile-menu-grid a.active{border-color:var(--brand);background:var(--brand);color:#fff}.mobile-menu-grid span{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--surface-2);color:#687385;font-size:11px;font-weight:900;flex:0 0 auto}.mobile-menu-grid a.active span{background:rgba(255,255,255,.18);color:#fff}.mobile-menu-logout{display:block;margin-top:12px;padding:13px 14px;border:1px solid rgba(207,18,33,.32);border-radius:6px;color:var(--brand);font-weight:900;text-align:center;text-decoration:none}}@media (max-width:620px){.topbar{display:grid}.module-topbar{align-items:start}h1{font-size:27px}.top-actions{width:100%;display:grid;grid-template-columns:42px 42px 1fr}.quick-grid{grid-template-columns:1fr}.panel{padding:14px}.panel-head{align-items:flex-start}.action-grid{grid-template-columns:1fr 1fr}.punch-grid,.upload-type-grid{grid-template-columns:1fr}.inline-search{width:100%}.extra-work-list li{grid-template-columns:1fr}.extra-work-list b{text-align:left}.approval-steps li,.export-grid,.job-detail-card-grid,.job-detail-tabs,.photo-queue li{grid-template-columns:1fr}.approval-steps small{grid-column:auto}.notification-list li,.report-card-grid{grid-template-columns:1fr}.notification-list b,.notification-list em{text-align:left}.calendar-date-time-row,.dashboard-action-groups,.dashboard-day-grid{grid-template-columns:1fr}.calendar-date-time-row input{width:100%}.mini-calendar{width:min(286px,calc(100vw - 56px))}.calendar-editor-actions{justify-content:stretch}.calendar-editor-actions .ghost-btn,.calendar-editor-actions .primary-btn{flex:1 1}}@media (max-width:720px) and (max-height:720px){.workspace{padding-bottom:104px}.mobile-nav a,.mobile-nav button{min-height:56px}.mobile-menu-panel{bottom:70px}}