:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-page{background:radial-gradient(circle at 12% 8%,#6366f129,#0000 27%),linear-gradient(145deg,#f8f9ff 0%,#eef1f8 100%);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card,.loading-card{background:#fffffff5;border:1px solid #e4e7ec;border-radius:20px;width:min(100%,460px);padding:34px;box-shadow:0 24px 70px #1018281f}.loading-card{text-align:center}.loading-card .brand-mark{margin:0 auto 22px}.auth-brand,.brand-lockup{align-items:center;gap:11px;display:flex}.auth-brand{margin-bottom:42px}.auth-brand strong,.auth-brand span,.brand-lockup strong,.brand-lockup span{display:block}.auth-brand strong,.brand-lockup strong{font-size:15px}.auth-brand span,.brand-lockup span{color:#667085;margin-top:2px;font-size:11px}.brand-mark{color:#fff;background:#1f2a8a;border-radius:11px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:12px;font-weight:900;display:grid;box-shadow:0 8px 20px #1f2a8a40}.eyebrow{color:#1f2a8a;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:900}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:10px;font-size:clamp(30px,5vw,48px);line-height:1.04}h2{margin-bottom:8px;font-size:20px}.intro,.workspace-card p{color:#667085;line-height:1.6}form{margin-top:28px}label{color:#344054;margin:18px 0 7px;font-size:13px;font-weight:800;display:block}.field-note{color:#667085;margin-top:7px;font-size:11px;font-weight:650;line-height:1.35;display:block}input{color:#172033;background:#fff;border:1px solid #d0d5dd;border-radius:10px;width:100%;min-height:48px;padding:11px 13px;font-size:16px}textarea{color:#172033;resize:vertical;background:#fff;border:1px solid #d0d5dd;border-radius:10px;width:100%;min-height:120px;padding:11px 13px;font-size:16px}select{color:#172033;background:#fff;border:1px solid #d0d5dd;border-radius:10px;min-height:44px;padding:10px 36px 10px 12px;font-size:16px;font-weight:750}input:focus,select:focus,textarea:focus{border-color:#818cf8;outline:0;box-shadow:0 0 0 4px #6366f124}.primary-button{color:#fff;background:#1f2a8a;border:0;border-radius:10px;width:100%;min-height:48px;margin-top:24px;font-weight:850;box-shadow:0 8px 20px #1f2a8a33}.compact-button{width:auto;min-height:42px;margin-top:14px;padding:0 16px}button:disabled{cursor:wait;opacity:.65}.link-button{color:#1f2a8a;background:0 0;border:0;width:auto;margin:15px 0 0;padding:0;font-size:12px;font-weight:850}.auth-form-links{flex-wrap:wrap;gap:12px 18px;display:flex}.qr-clock-card{width:min(100%,560px)}.qr-worker-list{gap:10px;margin-top:22px;display:grid}.qr-worker-list button,.remembered-worker-card{text-align:left;background:#fff;border:1px solid #d0d5dd;border-radius:14px;width:100%;padding:14px}.qr-worker-list button{justify-content:space-between;align-items:center;gap:12px;display:flex}.qr-worker-list button span,.remembered-worker-card span{color:#667085;font-size:12px;font-weight:800}.qr-worker-list button strong,.remembered-worker-card strong{color:#172033}.qr-worker-list .qr-worker-selected{background:#f8f9ff;border-color:#1f2a8a;box-shadow:0 0 0 4px #1f2a8a14}.qr-worker-form{margin-top:22px}.remembered-worker-card{background:linear-gradient(135deg,#f6fef9 0%,#f8f9ff 100%);gap:8px;display:grid}.remembered-worker-card .primary-button{margin-top:10px}.notice{border-radius:10px;margin-top:18px;padding:12px 14px;font-size:13px;line-height:1.45}.notice-error{color:#b42318;background:#fef3f2}.notice-success{color:#027a48;background:#ecfdf3}.notice-muted{color:#475467;background:#f2f4f7}.offline-banner{color:#93370d;background:#fffaeb;border:1px solid #fedf89;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:14px 16px;display:flex;box-shadow:0 12px 28px #1018280f}.offline-banner-sync{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.offline-banner strong,.offline-banner span{display:block}.offline-banner strong{font-size:13px}.offline-banner span{margin-top:4px;font-size:12px;line-height:1.45}.app-shell{grid-template-columns:210px minmax(0,1fr);min-height:100vh;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e4e7ec;flex-direction:column;height:100vh;padding:22px 16px;transition:width .42s cubic-bezier(.22,1,.36,1),padding .42s cubic-bezier(.22,1,.36,1),box-shadow .32s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar nav{gap:5px;margin-top:38px;display:grid}.sidebar nav button{color:#475467;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;min-height:42px;padding:10px 12px;font-size:13px;font-weight:750;display:flex}.nav-label,.brand-copy{white-space:nowrap;max-width:170px;transition:max-width .42s cubic-bezier(.22,1,.36,1),opacity .3s,transform .42s cubic-bezier(.22,1,.36,1);display:inline-block;overflow:hidden}.sidebar-footer strong,.sidebar-footer span,.sidebar-footer .link-button{white-space:nowrap;max-width:170px;transition:max-width .42s cubic-bezier(.22,1,.36,1),opacity .3s,transform .42s cubic-bezier(.22,1,.36,1);overflow:hidden}.nav-icon{color:#667085;background:#f2f4f7;border-radius:8px;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:13px;font-weight:900;line-height:1;display:inline-grid}.sidebar nav button.nav-active{color:#1f2a8a;background:#eef2ff}.sidebar nav button.nav-active .nav-icon{color:#1f2a8a;background:#dfe4ff}.sidebar-footer{border-top:1px solid #e4e7ec;margin-top:auto;padding-top:16px}.sidebar-footer strong,.sidebar-footer span{display:block}.sidebar-footer strong{font-size:13px}.sidebar-footer span{color:#667085;text-transform:capitalize;margin-top:3px;font-size:11px}.sidebar-collapsed .sidebar{align-items:stretch;width:84px;padding-left:16px;padding-right:16px}.sidebar-expanded .sidebar{width:210px;transition-delay:0s;box-shadow:18px 0 35px #1018281a}.sidebar-expanded .brand-lockup{justify-content:flex-start}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-footer strong,.sidebar-collapsed .sidebar-footer span,.sidebar-collapsed .sidebar-footer .link-button{opacity:0;pointer-events:none;max-width:0;transform:translate(-6px)}.sidebar-expanded .brand-copy,.sidebar-expanded .nav-label,.sidebar-expanded .sidebar-footer strong,.sidebar-expanded .sidebar-footer span,.sidebar-expanded .sidebar-footer .link-button{opacity:1;pointer-events:auto;max-width:170px;transition-delay:.12s;transform:none}.sidebar-collapsed .sidebar nav{width:100%}.sidebar-collapsed .sidebar nav button{justify-content:flex-start;padding-left:12px;padding-right:12px}.sidebar-collapsed .sidebar-footer{width:100%;min-height:1px}main{width:min(1120px,100% - 40px);margin:0 auto;padding:70px 0}header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:12px;display:flex}.site-switcher{color:#344054;min-width:220px;margin:0;font-size:12px;font-weight:850}.site-switcher select{width:100%;margin-top:7px}.status{border-radius:999px;padding:9px 12px;font-size:12px;font-weight:850}.status-connected{color:#027a48;background:#ecfdf3}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:40px;display:grid}.metric-grid article,.workspace-card{background:#fff;border:1px solid #e4e7ec;border-radius:15px;padding:22px;box-shadow:0 12px 30px #1018280d}.metric-grid span{color:#667085;font-size:12px;font-weight:750;display:block}.metric-grid strong{margin-top:16px;font-size:30px;display:block}.workspace-card{grid-template-columns:1fr 1fr;align-items:center;gap:32px;margin-top:12px;display:grid}.dashboard-split,.field-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.field-today-card,.room-speed-card{background:#fff;border:1px solid #e4e7ec;border-radius:17px;margin-top:14px;padding:18px;box-shadow:0 12px 30px #1018280d}.field-today-card,.room-speed-heading,.room-speed-grid{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.field-today-card h2,.room-speed-card h3{margin:3px 0 0}.field-today-actions,.room-next-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.room-speed-card-compact{background:linear-gradient(135deg,#fff 0%,#f8f9ff 100%)}.room-search{margin-top:14px}.room-chip-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.room-chip{color:#172033;text-align:left;background:#f8f9ff;border:1px solid #d7ddff;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;min-height:auto;padding:10px 12px;display:grid}.room-chip strong,.room-chip small{display:block}.room-chip strong{font-size:12px}.room-chip small{color:#667085;grid-column:1;font-size:11px}.room-chip em{color:#1f2a8a;grid-area:1/2/span 2;font-size:11px;font-style:normal;font-weight:900}.admin-layout{gap:14px;margin-top:28px;display:grid}.admin-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.compact-list{gap:8px;margin-top:12px;display:grid}.compact-list span{background:#fbfcff;border:1px solid #e4e7ec;border-radius:12px;padding:11px;display:block}.compact-list strong,.compact-list small{display:block}.compact-list small{color:#667085;margin-top:4px;font-size:11px;line-height:1.4}.field-room-list,.field-plan-list,.field-action-stack{gap:9px;margin-top:14px;display:grid}.field-room-list button,.field-plan-list button{color:#172033;text-align:left;background:#fbfcff;border:1px solid #e4e7ec;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:auto;padding:12px;display:grid}.field-plan-list button{grid-template-columns:1fr}.field-room-list button:hover,.field-plan-list button:hover{background:#f6f8ff;border-color:#b8c2ff}.field-room-list strong,.field-room-list small,.field-plan-list strong,.field-plan-list small{display:block}.field-room-list strong,.field-plan-list strong{font-size:13px}.field-room-list small,.field-plan-list small{color:#667085;margin-top:4px;font-size:11px;line-height:1.4}.field-room-list em{color:#1f2a8a;background:#eef2ff;border-radius:999px;padding:6px 9px;font-size:11px;font-style:normal;font-weight:900}.site-admin-card{background:#fff;border:1px solid #e4e7ec;border-radius:15px;grid-template-columns:1fr 1fr;gap:22px;margin-top:12px;padding:22px;display:grid;box-shadow:0 12px 30px #1018280d}.site-admin-card .intro{margin-bottom:0}.site-form{margin-top:0}.site-form-muted{background:#fbfcff;border:1px solid #e4e7ec;border-radius:14px;padding:16px}.site-form-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.danger-button{color:#b42318;border-color:#fecdca}.site-list{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.site-list button{color:#172033;text-align:left;background:#fbfcff;border:1px solid #e4e7ec;border-radius:13px;padding:13px}.site-list button strong,.site-list button span{display:block}.site-list button strong{font-size:13px}.site-list button span{color:#667085;margin-top:5px;font-size:12px;line-height:1.4}.site-list button.site-list-active{background:#eef2ff;border-color:#1f2a8a}.site-setup-card{background:#fff;border:1px solid #e4e7ec;border-radius:15px;margin-top:12px;padding:22px;box-shadow:0 12px 30px #1018280d}.site-setup-card .intro{margin-bottom:0}.setup-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.setup-option-grid article{background:#fbfcff;border:1px solid #e4e7ec;border-radius:14px;align-content:start;padding:16px;display:grid}.setup-option-grid strong,.setup-option-grid span{display:block}.setup-option-grid strong{color:#172033;font-size:14px}.setup-option-grid span{color:#667085;margin-top:7px;font-size:13px;line-height:1.5}.setup-option-grid .compact-button,.setup-option-grid .file-import-button{margin-top:16px}.workspace-next{background:#f8f9ff;border-radius:12px;padding:18px}.workspace-next strong,.workspace-next span{display:block}.workspace-next strong{color:#1f2a8a;font-size:13px}.workspace-next span{color:#667085;margin-top:7px;font-size:13px;line-height:1.5}.empty-state,.progress-layout{background:#fff;border:1px solid #e4e7ec;border-radius:18px;margin-top:28px;padding:24px;box-shadow:0 12px 30px #1018280d}.empty-state{max-width:720px}.empty-state p{color:#667085;line-height:1.6}.progress-toolbar{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.register-admin-panel{background:#f8f9ff;border:1px solid #dbe3ff;border-radius:16px;margin-top:18px;padding:18px}.register-admin-panel h3{margin:0}.register-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.register-admin-grid form{background:#fff;border:1px solid #e4e7ec;border-radius:14px;align-content:start;gap:10px;margin:0;padding:14px;display:grid}.register-admin-grid label{min-width:0}.register-admin-grid input,.register-admin-grid select{width:100%}.bulk-progress-form{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.bulk-progress-form .compact-button{grid-column:1/-1}.zone-tabs{gap:9px;margin:20px 0;padding-bottom:6px;display:flex;overflow-x:auto}.zone-tabs button{color:#344054;text-align:left;white-space:nowrap;background:#fff;border:1px solid #e4e7ec;border-radius:13px;min-width:132px;padding:12px 13px;font-size:13px;font-weight:850}.zone-tabs button span{color:#667085;margin-top:5px;font-size:11px;font-weight:750;display:block}.zone-tabs button.zone-active{color:#1f2a8a;background:#eef2ff;border-color:#1f2a8a}.area-list{gap:12px;display:grid}.area-card{background:#fbfcff;border:1px solid #e4e7ec;border-radius:15px;padding:16px}.area-title{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:13px;display:flex}.area-title strong{font-size:15px}.favourite-room{color:#667085;background:0 0;border:0;min-height:auto;margin-top:5px;padding:0;font-size:11px;font-weight:900}.favourite-room-active{color:#1f2a8a}.area-title span{color:#667085;text-transform:capitalize;font-size:11px;font-weight:800}.inline-action{color:#1f2a8a;min-height:auto;font:inherit;background:0 0;border:0;padding:0;font-weight:900}.danger-inline{color:#b42318}.stage-row{grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;margin-top:8px;display:grid}.stage-row>span{color:#344054;font-size:12px;font-weight:850}.stage-row div{flex-wrap:wrap;gap:7px;display:flex}.stage-row button{color:#475467;background:#fff;border:1px solid #d0d5dd;border-radius:999px;min-height:32px;padding:7px 10px;font-size:11px;font-weight:850}.stage-row button.stage-complete{color:#027a48;background:#ecfdf3;border-color:#12b76a}.photo-row{border-top:1px solid #e4e7ec;margin-top:14px;padding-top:13px}.plans-layout{gap:14px;display:grid}.plans-layout>*,.plan-upload-grid>*,.plan-filter-grid>*{min-width:0}.plan-upload-card,.plan-library-card{background:#fff;border:1px solid #e4e7ec;border-radius:17px;min-width:0;padding:18px;box-shadow:0 12px 30px #1018280d}.plan-upload-card{grid-template-columns:.72fr 1fr;align-items:start;gap:18px;display:grid}.plan-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.plan-upload-grid select,.plan-filter-grid select{width:100%}.plan-upload-wide{grid-column:1/-1}.plan-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.plan-filter-grid{grid-template-columns:1.4fr repeat(4,minmax(0,.8fr));align-items:end;gap:12px;margin-top:14px;display:grid}.plan-card{background:#fbfcff;border:1px solid #e4e7ec;border-radius:15px;flex-direction:column;padding:15px;display:flex}.plan-select-row{color:#1f2a8a;align-items:center;gap:8px;margin:0 0 10px;font-size:11px;font-weight:900;display:inline-flex}.plan-select-row input{width:16px;min-height:16px}.plan-card h3{margin:6px 0 4px;font-size:16px}.plan-card p,.muted-text{color:#667085;margin:0;line-height:1.45}.plan-type,.status-pill{color:#1f2a8a;background:#eef2ff;border-radius:999px;width:max-content;padding:6px 9px;font-size:11px;font-weight:900;display:inline-flex}.plan-badge-row{flex-wrap:wrap;gap:7px;display:flex}.status-current{color:#027a48;background:#ecfdf3}.status-superseded{color:#c2410c;background:#fff7ed}.plan-card dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0;display:grid}.plan-card dt,.plan-card dd{margin:0}.plan-card dt{color:#667085;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900}.plan-card dd{color:#172033;margin-top:3px;font-size:12px;font-weight:850}.plan-actions{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.plan-card .plan-actions{gap:12px;margin-top:auto;padding-top:16px;display:grid}.plan-file-actions,.plan-manage-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plan-file-action{color:#1f2a8a;background:#fff;border:1px solid #d0d5dd;border-radius:10px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:12px;font-weight:900;line-height:1;text-decoration:none;transition:border-color .16s,background .16s,color .16s,transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 6px 14px #1018280a}.plan-file-action-primary{color:#fff;background:#1f2a8a;border-color:#1f2a8a;box-shadow:0 8px 18px #1f2a8a2e}.plan-file-action:hover,.plan-file-action:focus-visible,.plan-chip-action:hover,.plan-chip-action:focus-visible{background:#f8f9ff;border-color:#b7c2ff;text-decoration:none;transform:translateY(-1px)}.plan-file-action-primary:hover,.plan-file-action-primary:focus-visible{color:#fff;background:#2532a1;border-color:#2532a1}.plan-chip-action{color:#1f2a8a;background:#fff;border:1px solid #e4e7ec;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:0 11px;font-size:11px;font-weight:900;line-height:1;transition:border-color .16s,background .16s,color .16s,transform .16s;display:inline-flex}.plan-chip-danger{color:#b42318;background:#fff5f4;border-color:#fee4e2}.plan-chip-danger:hover,.plan-chip-danger:focus-visible{background:#fef3f2;border-color:#fecdca}.bulk-link-actions{flex-wrap:wrap;gap:9px;margin-top:12px;display:flex}.bulk-room-picker{background:#fbfcff;border:1px solid #e4e7ec;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:320px;margin:14px 0;padding:12px;display:grid;overflow:auto}.bulk-room-picker label{background:#fff;border:1px solid #e4e7ec;border-radius:12px;align-items:flex-start;gap:9px;margin:0;padding:10px;display:flex}.bulk-room-picker input{width:16px;height:16px;margin-top:2px}.bulk-room-picker span,.bulk-room-picker small{display:block}.bulk-room-picker span{color:#172033;font-size:12px;font-weight:900}.bulk-room-picker small{color:#667085;margin-top:3px;font-size:11px;line-height:1.35}.room-plan-strip{border-top:1px solid #e4e7ec;grid-template-columns:.28fr 1fr;align-items:start;gap:12px;margin-top:14px;padding-top:13px;display:grid}.room-plan-strip strong,.room-plan-strip span{display:block}.room-plan-strip>div>span{color:#667085;margin-top:3px;font-size:12px;line-height:1.35}.room-plan-list{flex-wrap:wrap;gap:8px;display:flex}.room-plan-list button{color:#172033;text-align:left;background:#f8f9ff;border:1px solid #d7ddff;border-radius:13px;min-height:auto;padding:9px 11px}.room-plan-list button span{color:#1f2a8a;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900}.room-plan-list button strong{margin-top:3px;font-size:12px}.photo-button{color:#1f2a8a;background:#fff;border:1px solid #d0d5dd;border-radius:999px;min-height:36px;padding:8px 12px;font-size:12px;font-weight:900}.photo-button span{color:#1f2a8a;background:#eef2ff;border-radius:999px;place-items:center;min-width:22px;min-height:22px;margin-left:8px;padding:3px 7px;font-size:11px;display:inline-grid}.photo-button-active{background:#eef2ff;border-color:#1f2a8a}.photo-button-active span{color:#fff;background:#1f2a8a}.photo-panel{background:#f8f9ff;border:1px solid #dbe3ff;border-radius:14px;margin-top:13px;padding:16px}.photo-panel form,.photo-panel label{margin-top:0}.photo-fields{grid-template-columns:1.3fr .8fr 1fr;align-items:end;gap:12px;display:grid}.photo-panel input[type=file]{background:#fff;padding:9px}.photo-muted{color:#667085;margin:14px 0 0;font-size:13px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.photo-grid article{background:#fff;border:1px solid #e4e7ec;border-radius:13px;overflow:hidden}.photo-preview-button{text-align:left;background:0 0;border:0;width:100%;padding:0;position:relative}.photo-grid img,.photo-placeholder{aspect-ratio:4/3;object-fit:cover;background:#eef2ff;width:100%;display:block}.photo-preview-button span{color:#fff;background:#172033c7;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:900;position:absolute;bottom:10px;right:10px}.photo-placeholder{color:#667085;place-items:center;font-size:12px;font-weight:800;display:grid}.photo-grid strong,.photo-grid span,.photo-grid time{padding:0 11px;display:block}.photo-grid strong{color:#344054;padding-top:10px;font-size:12px}.photo-grid span{color:#475467;margin-top:4px;font-size:12px;line-height:1.4}.photo-grid time{color:#667085;margin-top:6px;padding-bottom:11px;font-size:11px;font-weight:750}.photo-lightbox{z-index:50;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.photo-lightbox-backdrop{color:#0000;background:#0f172ac7;border:0;width:100%;height:100%;position:absolute;inset:0}.photo-lightbox-card{background:#fff;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,980px);max-height:calc(100vh - 44px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000059}.photo-lightbox-header,.photo-lightbox-footer{padding:14px 16px}.photo-lightbox-header{border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:center;gap:14px;display:flex}.photo-lightbox-header strong,.photo-lightbox-header span,.photo-lightbox-footer time{display:block}.photo-lightbox-header span,.photo-lightbox-footer time{color:#667085;margin-top:4px;font-size:12px;font-weight:750}.photo-lightbox-header button{color:#1f2a8a;background:#fff;border:1px solid #d0d5dd;border-radius:999px;min-height:36px;padding:8px 12px;font-size:12px;font-weight:900}.photo-lightbox-card>img{object-fit:contain;background:#0f172a;width:100%;height:100%;max-height:72vh}.plan-lightbox-card{width:min(100%,1120px)}.plan-lightbox-card iframe{background:#fff;border:0;width:100%;min-height:72vh}.photo-lightbox-footer{border-top:1px solid #e4e7ec}.photo-lightbox-footer p{color:#344054;margin-bottom:6px;line-height:1.45}.secondary-button{color:#1f2a8a;box-shadow:none;background:#fff;border:1px solid #d0d5dd;font-weight:900}.temp-layout,.report-layout,.attendance-layout,.payroll-layout,.diary-layout,.forms-layout{gap:14px;margin-top:28px;display:grid}.attendance-grid{grid-template-columns:1.1fr .95fr .95fr;gap:14px;display:grid}.clock-card,.qr-card,.biometric-card{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:24px;box-shadow:0 12px 30px #1018280d}.clock-card-active{background:#f6fef9;border-color:#12b76a}.clock-card h3,.qr-card h3,.biometric-card h3{margin:0 0 10px;font-size:20px}.clock-in-button{background:#027a48}.clock-out-button{background:#b42318}.qr-card{text-align:center}.qr-card img{border:10px solid #fff;border-radius:14px;width:min(100%,220px);margin:8px auto 12px;display:block;box-shadow:0 10px 30px #1018281f}.qr-countdown{color:#1f2a8a;background:#eef4ff;border-radius:999px;width:fit-content;margin:0 auto 10px;padding:7px 11px;font-size:12px;font-weight:900}.qr-actions,.qr-lightbox-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.qr-lightbox-card{width:min(94vw,720px)}.qr-lightbox-body{text-align:center;background:linear-gradient(#f8f9ff 0%,#fff 100%);justify-items:center;gap:12px;padding:22px;display:grid}.qr-lightbox-body img{border:16px solid #fff;border-radius:24px;width:min(72vw,520px);max-width:100%;box-shadow:0 18px 50px #10182829}.qr-lightbox-body p{color:#344054;margin:0;font-weight:800}.qr-link-text{color:#667085;overflow-wrap:anywhere;max-width:100%;font-size:12px}.biometric-status{background:#f8f9ff;border:1px solid #dbe3ff;border-radius:13px;justify-content:space-between;gap:12px;margin:16px 0 12px;padding:13px;display:flex}.biometric-status span{color:#667085;font-size:12px;font-weight:800}.biometric-status strong{color:#1f2a8a;font-size:13px}.attendance-list{gap:9px;margin-top:14px;display:grid}.attendance-row{background:#fbfcff;border:1px solid #e4e7ec;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,.85fr) auto;gap:12px;padding:14px;display:grid}.attendance-row span,.attendance-row strong,.attendance-row small{display:block}.attendance-row strong{font-size:13px}.attendance-row small,.attendance-row p{color:#667085;margin:5px 0 0;font-size:12px;line-height:1.45}.attendance-row p{border-top:1px solid #e4e7ec;grid-column:1/-1;padding-top:9px}.attendance-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.attendance-actions .compact-button{margin-top:0}.payroll-controls{grid-template-columns:1fr 1fr auto auto auto;align-items:end;gap:14px;display:grid}.payroll-grid,.forms-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.forms-summary{grid-template-columns:repeat(5,1fr)}.diary-summary{grid-template-columns:repeat(6,1fr)}.diary-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:14px;display:grid}.diary-form{gap:12px;display:grid}.diary-form textarea{min-height:88px}.diary-pack-card{position:sticky;top:24px}.form-inline-grid,.form-action-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-action-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.8fr)}.payroll-correction-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.payroll-correction-form .archive-actions{grid-column:1/-1}.forms-list{gap:10px;margin-top:14px;display:grid}.form-row{background:#fbfcff;border:1px solid #e4e7ec;border-radius:14px;gap:11px;padding:15px;display:grid}.form-row-needs-evidence{background:#fffdf5;border-color:#fedf89}.form-row-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.form-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.form-row span,.form-row strong,.form-row small{display:block}.form-row strong{font-size:15px}.form-row small,.form-row p{color:#667085;margin:4px 0 0;font-size:12px;line-height:1.5}.form-row em{color:#1f2a8a;text-transform:capitalize;background:#eef2ff;border-radius:999px;width:max-content;padding:5px 8px;font-size:10px;font-style:normal;font-weight:900}.form-row em.priority-low{color:#475467;background:#f2f4f7}.form-row em.priority-normal{color:#1f2a8a;background:#eef2ff}.form-row em.priority-high{color:#b54708;background:#fff7e6}.form-row em.priority-urgent{color:#b42318;background:#fef3f2}.form-checklist{gap:8px;display:grid}.form-checklist label{color:#344054;background:#fff;border:1px solid #dbe3ff;border-radius:12px;align-items:center;gap:9px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.form-checklist input{accent-color:#1f2a8a;width:18px;height:18px}.form-attachments-panel{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:13px}.attachment-upload-form{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.attachment-list{gap:9px;margin-top:12px;display:grid}.attachment-list article{background:#fbfcff;border:1px solid #eef2ff;border-radius:13px;grid-template-columns:72px minmax(0,1fr);gap:11px;padding:10px;display:grid}.attachment-thumb{cursor:pointer;background:#eef2ff;border:0;border-radius:12px;width:72px;height:72px;padding:0;overflow:hidden}.attachment-thumb img{object-fit:cover;width:100%;height:100%}.attachment-file-icon{color:#1f2a8a;text-transform:uppercase;background:#eef2ff;border-radius:12px;place-items:center;width:72px;height:72px;font-size:11px;font-weight:900;display:grid}.attachment-list p{color:#475467;margin:5px 0 0;font-size:12px}.attachment-actions{flex-wrap:wrap;gap:8px;margin-top:7px;display:flex}.attachment-actions a,.attachment-actions button{color:#1f2a8a;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:900;text-decoration:none}.attachment-actions button{color:#b42318}.action-centre-card{background:linear-gradient(135deg,#fff 0%,#f7f8ff 100%);border:1px solid #dbe3ff;border-radius:20px;margin-top:18px;padding:24px;box-shadow:0 16px 40px #1018280f}.action-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:18px;display:grid}.action-tile{color:#172033;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e7ec;border-radius:16px;min-height:126px;padding:15px}.action-tile span,.action-tile strong,.action-tile small{display:block}.action-tile span{color:#667085;font-size:12px;font-weight:850}.action-tile strong{margin-top:12px;font-size:30px;line-height:1}.action-tile small{color:#667085;margin-top:12px;font-size:12px;line-height:1.4}.action-tile-hot{background:#eef2ff;border-color:#c7d7fe}.action-alert-list{gap:8px;margin-top:12px;display:grid}.action-alert-list button{color:#172033;text-align:left;background:#fffbeb;border:1px solid #fedf89;border-radius:13px;padding:12px}.action-alert-list strong,.action-alert-list small{display:block}.action-alert-list small{color:#667085;margin-top:4px}.temp-header,.temp-card{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:24px;box-shadow:0 12px 30px #1018280d}.temp-header,.temp-card-heading,.signature-title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.temp-header p,.temp-muted,.signatory-list p{color:#667085;line-height:1.55}.temp-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.temp-summary article{background:#fff;border:1px solid #e4e7ec;border-radius:15px;padding:18px}.temp-summary span,.temp-summary strong,.temp-summary small{display:block}.temp-summary span{color:#667085;font-size:12px;font-weight:800}.temp-summary strong{margin-top:12px;font-size:28px}.temp-summary small{color:#667085;margin-top:5px;font-size:11px;font-weight:800}.payroll-range-note{color:#1f2a8a;margin-top:8px;font-size:12px;font-weight:800}.report-summary{grid-template-columns:repeat(6,1fr)}.report-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.report-list{gap:10px;margin-top:14px;display:grid}.report-row{background:#fbfcff;border:1px solid #e4e7ec;border-radius:14px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.report-row strong,.report-row small{display:block}.report-row small{color:#667085;margin-top:5px;font-size:12px;line-height:1.45}.report-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.report-stage-grid div{background:#fff;border:1px solid #dbe3ff;border-radius:12px;padding:11px}.report-stage-grid span{color:#1f2a8a;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:900}.report-stage-grid strong{margin-top:5px;font-size:17px}.report-photo-count{color:#475467;white-space:nowrap;border:1px solid #d0d5dd;border-radius:999px;padding:9px 11px;font-size:12px;font-weight:900}.activity-card{margin-top:14px}.activity-list{gap:8px;margin-top:14px;display:grid}.activity-row{background:#fbfcff;border:1px solid #e4e7ec;border-radius:13px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:12px;padding:13px;display:grid}.activity-row span,.activity-row strong,.activity-row small{display:block}.activity-row strong{font-size:13px}.activity-row small{color:#667085;margin-top:5px;font-size:12px;line-height:1.45}.temp-grid{grid-template-columns:.85fr 1.15fr;gap:14px;display:grid}.import-card{justify-content:space-between;align-items:center;gap:18px;display:flex}.import-card p{color:#667085;margin-bottom:0;line-height:1.55}.import-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.file-import-button{color:#1f2a8a;background:#fff;border:1px solid #d0d5dd;border-radius:999px;place-items:center;min-height:42px;margin:0;padding:11px 14px;font-size:12px;font-weight:900;display:inline-grid}.file-import-button input{display:none}.temp-card h3{margin:0 0 10px;font-size:18px}.temp-card form{margin-top:12px}.temp-form-grid{grid-template-columns:1fr .7fr;gap:12px;display:grid}.temp-filter-grid{grid-template-columns:.8fr .9fr 1.3fr;gap:12px;margin-top:14px;display:grid}.signatory-list{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.signatory-list span{color:#1f2a8a;background:#f8f9ff;border:1px solid #dbe3ff;border-radius:999px;padding:9px 11px;font-size:12px;font-weight:900}.signatory-list small{color:#667085;margin-left:6px;font-weight:750}.temp-card-heading>label{min-width:min(100%,320px);margin:0}.temp-list{gap:8px;margin-top:14px;display:grid}.temp-row{background:#fbfcff;border:1px solid #e4e7ec;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:12px;display:grid}.temp-row input[type=checkbox]{accent-color:#1f2a8a;width:20px;min-height:20px}.temp-row strong,.temp-row small{display:block}.temp-row strong{color:#172033;font-size:13px}.temp-row small{color:#667085;margin-top:4px;font-size:11px;line-height:1.4}.temp-row em{color:#1f2a8a;text-transform:capitalize;background:#eef2ff;border-radius:999px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:900}.signed-archive-card .temp-card-heading p{margin-bottom:0}.archive-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.archive-actions .compact-button{margin-top:0}.signed-row{grid-template-columns:minmax(0,1fr) auto auto}.signed-row .compact-button{margin-top:0}.sent-pill{color:#027a48;background:#ecfdf3;justify-self:start}.workforce-layout{gap:14px;margin-top:28px;display:grid}.workforce-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.team-list,.invite-list{gap:9px;margin-top:14px;display:grid}.team-row,.invite-row{background:#fbfcff;border:1px solid #e4e7ec;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.team-row{grid-template-columns:1fr;align-items:stretch}.team-row-summary{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.team-row-actions,.team-edit-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.team-row-inactive{opacity:.68}.archive-toggle-active{background:#eef2ff;border-color:#1f2a8a}.invite-row{grid-template-columns:minmax(0,1fr) auto auto auto}.invite-row-expired{background:#fff7f7;border-color:#fecdca}.team-row strong,.team-row small,.invite-row strong,.invite-row small{display:block}.team-row strong,.invite-row strong{color:#172033;font-size:13px}.team-row small,.invite-row small{color:#667085;margin-top:4px;font-size:11px;line-height:1.4}.team-row em{color:#1f2a8a;text-transform:capitalize;background:#eef2ff;border-radius:999px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:900}.team-controls{border-top:1px solid #e4e7ec;grid-template-columns:.8fr 1fr auto;align-items:end;gap:12px;margin-top:12px;padding-top:12px;display:grid}.team-controls label{margin:0}.team-controls select{width:100%;margin-top:7px}.team-edit-form{border-top:1px solid #e4e7ec;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr);align-items:end;gap:12px;margin-top:12px;padding-top:12px;display:grid}.team-edit-form label{margin:0}.team-edit-form input,.team-edit-form select{width:100%;margin-top:7px}.team-edit-note{color:#475467;background:#f4f6ff;border-radius:12px;grid-column:1/-1;padding:10px 12px;font-size:12px;font-weight:750;line-height:1.45}.team-edit-actions{grid-column:1/-1;justify-content:flex-start}.site-access-list{gap:7px;display:grid}.site-access-list>span{color:#344054;font-size:13px;font-weight:800}.site-access-list>small{color:#667085;font-size:12px;line-height:1.4}.site-access-option{color:#475467;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:850;display:flex}.site-access-option input{accent-color:#1f2a8a;width:18px;min-height:18px}.access-matrix{background:#fbfcff;border:1px solid #e4e7ec;border-radius:14px;margin-top:14px;overflow-x:auto}.access-matrix-header,.access-matrix-row{grid-template-columns:210px repeat(var(--site-count,3), minmax(120px, 1fr));border-bottom:1px solid #e4e7ec;min-width:680px;display:grid}.access-matrix-header{color:#1f2a8a;letter-spacing:.06em;text-transform:uppercase;background:#f8f9ff;font-size:11px;font-weight:900}.access-matrix-row:last-child{border-bottom:0}.access-matrix-header span,.access-matrix-row span{border-right:1px solid #e4e7ec;align-content:center;min-height:44px;padding:10px;display:grid}.access-matrix-header span:last-child,.access-matrix-row span:last-child{border-right:0}.access-matrix-row strong,.access-matrix-row small{display:block}.access-matrix-row strong{color:#172033;font-size:12px}.access-matrix-row small{color:#667085;margin-top:3px;font-size:11px}.access-matrix-row-muted{opacity:.62}.matrix-yes,.matrix-no{justify-items:center;font-size:12px;font-weight:900}.matrix-yes{color:#027a48}.matrix-no{color:#b42318}.invite-row code{color:#fff;letter-spacing:.05em;background:#172033;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:900}.invite-row-expired code{color:#b42318;background:#fee4e2}.invite-row .compact-button{margin-top:0}.invite-help{background:#f8f9ff;border-radius:13px;margin-top:16px;padding:14px}.invite-help strong,.invite-help span{display:block}.invite-help strong{color:#1f2a8a;font-size:13px}.invite-help span{color:#667085;margin-top:6px;font-size:13px;line-height:1.5}.signature-box{background:#f8f9ff;border:1px dashed #b7c2ff;border-radius:15px;margin-top:16px;padding:14px}.signature-box canvas{touch-action:none;background:#fff;border:1px solid #d0d5dd;border-radius:12px;width:100%;height:170px;margin-top:10px;display:block}@media (width<=820px){.auth-page{padding:14px}.auth-card,.loading-card{border-radius:16px;padding:25px 21px}.app-shell,.app-shell.sidebar-collapsed{display:block}.sidebar{border-bottom:1px solid #e4e7ec;border-right:0;gap:12px;width:100%;height:auto;padding:13px 15px;display:grid;position:static}.sidebar-collapsed .sidebar{align-items:stretch;width:100%;padding:13px 15px}.sidebar-collapsed .brand-lockup{justify-content:flex-start}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-footer .link-button{opacity:1;pointer-events:auto;max-width:170px;overflow:visible;transform:none}.sidebar nav{z-index:40;-webkit-overflow-scrolling:touch;background:#fffffff5;border-top:1px solid #e4e7ec;gap:7px;margin-top:0;padding:8px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;box-shadow:0 -12px 26px #10182814}.sidebar nav button{text-align:center;flex-direction:column;flex:none;gap:4px;min-width:72px;min-height:36px;padding:8px 6px;font-size:11px}.nav-icon{flex-basis:20px;width:20px;height:20px;font-size:12px}.sidebar-footer{border:0;margin:0;padding:0}.sidebar-footer strong,.sidebar-footer span{display:none}main{width:min(100% - 28px,620px);padding:34px 0 104px}header{display:grid}.header-actions{justify-content:stretch}.offline-banner{gap:12px;display:grid}.offline-banner .compact-button{justify-content:center;width:100%}.field-today-card,.room-speed-heading,.room-speed-grid{grid-template-columns:1fr}.field-today-actions,.room-next-actions{justify-content:stretch}.field-today-actions .compact-button,.room-next-actions .compact-button{flex:130px}.qr-actions .compact-button,.qr-lightbox-actions .compact-button{flex:150px}.room-chip-list{display:grid}.site-switcher{width:100%}.status{width:max-content}.metric-grid{grid-template-columns:repeat(2,1fr)}.workspace-card,.site-admin-card,.attendance-grid,.attendance-row,.payroll-controls,.payroll-grid,.payroll-correction-form,.diary-grid,.diary-summary,.forms-grid,.forms-summary,.action-grid,.admin-action-grid,.form-inline-grid,.form-action-fields,.attachment-upload-form,.plan-upload-card,.plan-upload-grid,.plan-filter-grid,.plan-card-grid,.room-plan-strip,.bulk-room-picker,.dashboard-split,.register-admin-grid,.bulk-progress-form,.temp-filter-grid{grid-template-columns:1fr;gap:16px}.site-list,.setup-option-grid{grid-template-columns:1fr}.site-form-actions{display:grid}.plan-upload-wide{grid-column:auto}.plan-card dl{grid-template-columns:1fr}.room-plan-list,.progress-toolbar,.area-title{display:grid}.progress-toolbar select{width:100%}.stage-row{grid-template-columns:1fr;gap:7px}.photo-fields,.photo-grid,.temp-grid,.temp-summary,.workforce-grid,.report-controls,.report-summary,.report-row,.report-stage-grid,.activity-row,.field-dashboard-grid{grid-template-columns:1fr}.temp-header,.import-card,.temp-card-heading,.form-row-head,.signature-title{display:grid}.form-badges{justify-content:flex-start}.attachment-list article{grid-template-columns:56px minmax(0,1fr)}.attachment-thumb,.attachment-file-icon{width:56px;height:56px}.import-actions,.archive-actions{justify-content:stretch}.archive-actions .compact-button,.file-import-button{width:100%}.temp-header,.temp-card{padding:18px}.temp-row{grid-template-columns:auto minmax(0,1fr)}.signed-row,.invite-row,.team-controls,.team-row-summary,.team-edit-form{grid-template-columns:1fr}.team-row-actions,.team-edit-actions{justify-content:stretch}.team-row-actions .compact-button,.team-edit-actions .compact-button{width:100%}.invite-row code{width:max-content}.temp-row em{grid-column:2;justify-self:start}.photo-lightbox{padding:10px}.photo-lightbox-card{border-radius:14px;max-height:calc(100dvh - 20px)}.photo-lightbox-card>img{max-height:66dvh}.diary-pack-card{position:static}}
