:root{color:#1c201f;background:#eef1ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{background:radial-gradient(circle at top left,rgba(25,112,94,.14),transparent 34rem),linear-gradient(180deg,rgba(20,61,50,.08),transparent 300px),linear-gradient(90deg,rgba(208,93,72,.06),transparent 45%),#eef1ec;margin:0;min-width:320px;overflow-x:hidden}button,input,textarea,select{font:inherit;min-width:0}button{cursor:pointer}.app-shell{min-height:100vh;padding:24px}.hero-band{align-items:flex-end;background:linear-gradient(135deg,#0b2b25fa,#144c41f5 56%,#d05d48d1),linear-gradient(90deg,#123d34,#2d6b5e);border:1px solid rgba(248,244,232,.14);border-radius:18px;box-shadow:0 24px 60px #061e192e;color:#f8f4e8;display:flex;justify-content:space-between;gap:22px;margin:0 0 18px;min-height:166px;overflow:hidden;padding:28px;position:relative}.hero-band:after{background:linear-gradient(90deg,rgba(248,244,232,.16),transparent),repeating-linear-gradient(90deg,rgba(248,244,232,.12) 0 1px,transparent 1px 54px);bottom:0;content:"";height:1px;left:28px;position:absolute;right:28px}.hero-band h1{font-size:clamp(2.35rem,4.6vw,4.55rem);letter-spacing:0;line-height:.98;margin:0;max-width:820px}.hero-subtitle{color:#f8f4e8c7;font-size:1rem;margin:12px 0 0;max-width:620px}.hero-context{align-items:flex-end;display:grid;gap:8px;justify-items:end;min-width:min(420px,38vw)}.context-card{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f4e81f;border:1px solid rgba(248,244,232,.22);border-radius:14px;color:#f8f4e8;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);min-height:54px;min-width:260px;padding:10px 12px}.context-card svg{color:#f1c6ad;height:22px;width:22px}.context-card span{min-width:0}.context-card small{color:#f8f4e8ad;display:block;font-size:.76rem}.context-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{color:#d4896a;font-size:.75rem;font-weight:800;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.sync-state{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8f4e8eb;border:1px solid rgba(248,244,232,.78);border-radius:999px;box-shadow:0 12px 28px #061e1938;color:#163832;display:inline-flex;flex:0 0 auto;gap:8px;min-height:40px;padding:8px 14px}.sync-state svg,.panel-header svg,.icon-button svg,.export-button svg{height:20px;width:20px}.sync-state.offline,.sync-state.pending{color:#8c3d2f}.sync-state.syncing svg{animation:spin .9s linear infinite}.role-switch{background:#fff;border:1px solid #dfe5dd;border-radius:10px;box-shadow:0 12px 28px #1c201f12;display:inline-grid;gap:4px;grid-template-columns:repeat(2,minmax(120px,1fr));margin-bottom:16px;padding:4px}.top-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-bottom:16px;min-width:0}.tenant-switcher{align-items:center;background:#ffffffc7;border:1px solid #dfe5dd;border-radius:12px;color:#314641;display:inline-flex;gap:10px;min-height:42px;min-width:min(360px,100%);padding:6px 8px 6px 10px}.tenant-switcher span{color:#656a66;font-size:.72rem;font-weight:800;text-transform:uppercase}.tenant-switcher select{background:#fff;border:1px solid #ccd7d0;border-radius:8px;color:#163832;font-weight:800;min-height:32px;outline:0;padding:4px 28px 4px 8px;width:100%}.session-pill{align-items:center;background:#ffffffc7;border:1px solid #dfe5dd;border-radius:999px;color:#314641;display:inline-flex;gap:8px;min-height:42px;padding:7px 12px}.session-pill span{color:#163832;font-weight:800}.session-pill small{color:#656a66}.logout-button{margin-left:auto}.workspace-nav{align-items:stretch;background:#ffffffc7;border:1px solid #dfe5dd;border-radius:12px;box-shadow:0 14px 34px #1c201f0f;display:flex;gap:6px;margin-bottom:16px;overflow-x:auto;padding:6px}.workspace-nav button{align-items:center;background:transparent;border:0;border-radius:9px;color:#314641;display:inline-flex;flex:0 0 auto;gap:8px;min-height:42px;padding:8px 13px;white-space:nowrap}.workspace-nav button.active,.workspace-nav button:hover{background:#163832;color:#fff}.workspace-nav small{background:#ffffffd1;border-radius:999px;color:#8c3d2f;font-size:.74rem;font-weight:800;padding:3px 7px}.workspace-nav button.active small{color:#163832}.top-actions .role-switch{margin-bottom:0}.role-switch button{background:transparent;border:0;border-radius:8px;color:#314641;min-height:42px;padding:8px 12px}.role-switch button.active,.role-switch button:hover{background:linear-gradient(135deg,#163832,#19705e);color:#fff}.workspace-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr)}.workspace-grid.admin-view{grid-template-columns:minmax(0,1fr)}.panel{background:#ffffffeb;border:1px solid #dfe5dd;border-radius:12px;box-shadow:0 16px 36px #1c201f12;max-width:100%;min-width:0;padding:18px}.clock-panel,.admin-panel{min-width:0}.admin-panel,.employee-events-panel{grid-column:1 / -1}.admin-management-grid{display:grid;gap:16px;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-management-grid>.panel{grid-column:auto;min-width:0}.correction-panel,.master-data-panel,.identity-panel,.location-panel,.audit-log-panel{grid-column:1 / -1}.audit-list{display:grid;gap:8px}.audit-row{align-items:center;border:1px solid #e4ddd1;border-radius:8px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.audit-row svg{color:#19705e;height:20px;width:20px}.audit-row strong,.audit-row span,.audit-row small{display:block}.audit-row span,.audit-row small,.audit-row time{color:#656a66}.audit-row time{font-size:.86rem;white-space:nowrap}.panel-header{align-items:center;display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-toggle{align-items:center;background:transparent;border:0;color:#1c201f;display:inline-flex;gap:10px;min-width:0;padding:0;text-align:left}.panel-toggle svg{color:#19705e;flex:0 0 auto;height:20px;width:20px}.panel-toggle span{display:grid}.panel-toggle strong{font-size:1.15rem}.panel-actions{align-items:center;display:inline-flex;flex:0 0 auto;gap:8px}.inline-toggle{align-items:center;display:inline-flex;gap:6px;min-height:36px;white-space:nowrap}.inline-toggle input{height:16px;min-height:16px;width:16px}.panel-header h2{font-size:1.25rem;margin:0}.panel-summary{color:#656a66;margin:-6px 0 16px}.field-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}label{color:#656a66;display:grid;font-size:.84rem;gap:6px}input,textarea,select{border:1px solid #ccd7d0;border-radius:8px;background:#fff;color:#1c201f;min-height:42px;padding:8px 10px;width:100%}.compact-select{min-height:36px;min-width:118px;padding:6px 8px}.compact-month{min-height:36px;min-width:148px;padding:6px 8px}textarea{min-height:86px;resize:vertical}code{color:#314641;overflow-wrap:anywhere}.segmented-control{background:#edf2ef;border:1px solid #dbe5df;border-radius:10px;display:grid;gap:4px;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px}.segmented-control button{background:transparent;border:0;border-radius:8px;color:#314641;min-height:44px;padding:8px}.segmented-control button.active,.segmented-control button:hover{background:linear-gradient(135deg,#163832,#19705e);color:#fff}.segmented-control button:disabled{background:transparent;color:#9b9a91;cursor:not-allowed}.segmented-control button.active:disabled{background:#d8d2c6;color:#68655d}.status-strip{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.status-strip div{background:#fbfaf7;border:1px solid #e6e1d8;border-radius:8px;min-height:76px;padding:12px}.status-strip span,.muted{color:#656a66}.status-strip strong{display:block;font-size:1.2rem;margin-top:6px}.inline-status{color:#656a66;margin:12px 0 0;min-height:22px}.session-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.session-login-form{display:grid;gap:10px;grid-template-columns:minmax(150px,.7fr) minmax(220px,1fr) auto;margin-top:16px;max-width:760px}.icon-button{align-items:center;background:#f0eee7;border:1px solid #d9d4c9;border-radius:8px;color:#163832;display:inline-flex;height:42px;justify-content:center;width:42px}.icon-button:disabled{cursor:progress;opacity:.6}.queue-count{color:#d05d48;font-size:3.45rem;font-weight:800;line-height:1;margin:4px 0 8px}.event-list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:2px}.compact-event-list{display:grid;gap:6px;max-height:240px;overflow:auto;padding-right:2px}.event-row{align-items:center;background:#fbfaf7;border:1px solid #e6e1d8;border-radius:8px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;min-height:60px;padding:10px}.compact-event-row{align-items:center;background:#fbfaf7;border:1px solid #e6e1d8;border-radius:8px;display:grid;gap:8px;grid-template-columns:auto minmax(76px,.6fr) minmax(120px,1fr) auto;min-height:44px;padding:8px 10px}.event-row svg{color:#19705e}.compact-event-row svg{color:#19705e;height:18px;width:18px}.event-row span,.event-row small{color:#656a66;display:block}.compact-event-row span,.compact-event-row small{color:#656a66}.compact-event-row span{overflow-wrap:anywhere}.event-toolbar{display:grid;gap:10px;grid-template-columns:minmax(220px,320px);margin-bottom:14px}.live-presence-panel{grid-column:1 / -1}.presence-counts{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin-left:auto}.presence-counts span{background:#fbfaf7;border:1px solid #e6e1d8;border-radius:999px;color:#656a66;font-size:.82rem;min-height:30px;padding:5px 9px;white-space:nowrap}.presence-counts strong{color:#163832}.presence-table-wrap{border:1px solid #e6e1d8;border-radius:8px;overflow:auto}.presence-table{border-collapse:collapse;width:100%}.presence-table th,.presence-table td{border-bottom:1px solid #ece8df;padding:7px 9px;text-align:left;vertical-align:middle}.presence-table th{background:#eef3ef;color:#314641;font-size:.78rem;text-transform:uppercase}.presence-table td{background:#fff;color:#656a66;font-size:.9rem}.presence-table td:first-child{width:54px}.presence-table svg{color:#656a66;height:18px;width:18px}.presence-table tr.present svg{color:#19705e;fill:#19705e}.presence-table tr.onpause svg{color:#8a5a00;fill:#8a5a00}.presence-table tr.sick svg{color:#8c3d2f}.presence-table strong{color:#1c201f}.admin-report-toolbar{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(220px,320px) minmax(160px,190px) max-content;margin-bottom:16px}.admin-report-toolbar .report-actions{align-items:center;display:inline-flex;gap:8px;min-height:42px}.export-action{background:#d05d48;border-color:#d05d48;color:#fff}.month-metrics{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.month-metrics div{background:#fbfaf7;border:1px solid #e6e1d8;border-radius:8px;min-height:72px;padding:10px}.month-metrics span{color:#656a66;display:block;font-size:.82rem}.month-metrics strong{display:block;font-size:1.25rem;margin-top:6px}.positive{color:#19705e}.negative{color:#8c3d2f}.neutral{color:#656a66}.month-table-wrap{border:1px solid #e6e1d8;border-radius:8px;overflow:auto}.month-table{border-collapse:collapse;min-width:720px;width:100%}.month-table th,.month-table td{border-bottom:1px solid #ece8df;padding:9px 10px;text-align:left;vertical-align:top}.month-table th{background:#eef3ef;color:#314641;font-size:.82rem;text-transform:uppercase}.month-table td{background:#fff}.month-table tbody tr:hover td{background:#fbfaf7}.month-table td span{color:#656a66;display:block;font-size:.82rem;margin-top:2px}.event-disclosure{border-top:1px solid #e6e1d8;margin-top:16px;padding-top:12px}.event-disclosure summary{color:#314641;cursor:pointer;font-weight:800;margin-bottom:10px}.export-button{align-items:center;background:#d05d48;border:0;border-radius:8px;color:#fff;display:inline-flex;gap:8px;min-height:44px;padding:10px 14px}.export-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.export-controls input{max-width:180px}.correction-grid{display:grid;gap:18px;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)}.correction-grid.single{grid-template-columns:minmax(0,1fr)}.correction-form{display:grid;gap:10px}.admin-correction-form{align-items:end;border-bottom:1px solid #e6e1d8;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;padding-bottom:14px}.admin-correction-form .wide-field{grid-column:span 4}.form-hint{color:#656a66;font-size:.9rem;grid-column:1 / -1;margin:0}.correction-list{display:grid;gap:8px}.correction-row{align-items:start;background:#fbfaf7;border:1px solid #e6e1d8;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:76px;padding:10px}.correction-row span,.correction-row small{color:#656a66;display:block}.correction-row small{margin-top:4px;overflow-wrap:anywhere}.review-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.icon-button.danger{color:#8c3d2f}.status-pill{border-radius:999px;color:#656a66;display:inline-flex;font-size:.78rem;font-weight:800;min-height:30px;padding:6px 10px}.status-pill.pending{background:#fff1d6;color:#8a5a00}.status-pill.approved{background:#dcefe8;color:#19705e}.status-pill.rejected{background:#f2ded8;color:#8c3d2f}.master-data-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.identity-grid{display:grid;gap:18px;grid-template-columns:1fr}.subheader{align-items:center;display:flex;gap:8px;margin-bottom:12px}.subheader h3{font-size:1rem;margin:0}.subheader svg{color:#19705e;height:20px;width:20px}.compact-form{display:grid;gap:8px;grid-template-columns:minmax(110px,.8fr) minmax(140px,1fr) auto;margin-bottom:12px}.employee-form{display:grid;gap:8px;grid-template-columns:minmax(96px,.8fr) minmax(140px,1fr) minmax(94px,.65fr) minmax(94px,.65fr) auto;margin-bottom:12px}.employee-form.wide{grid-template-columns:minmax(120px,.75fr) minmax(180px,1fr) auto}.employee-form.wide .schedule-grid{grid-column:1 / -1}.employee-edit-form{display:grid;gap:10px}.edit-row{align-items:start}.weekday-toggle-group{align-items:stretch;display:grid;gap:4px;grid-column:1 / -1;grid-template-columns:repeat(7,minmax(42px,1fr))}.weekday-toggle{align-items:center;background:#f0eee7;border:1px solid #d9d4c9;border-radius:6px;color:#314641;display:inline-flex;font-size:.82rem;font-weight:800;gap:6px;justify-content:center;min-height:36px;padding:6px}.weekday-toggle:has(input:checked){background:#dcefe8;border-color:#9fc9bb;color:#163832}.weekday-toggle input{height:16px;min-height:16px;width:16px}.schedule-grid{display:grid;gap:6px;grid-template-columns:repeat(7,minmax(96px,1fr))}.schedule-day{background:#fbfaf7;border:1px solid #e6e1d8;border-radius:8px;display:grid;gap:6px;padding:8px}.schedule-day input[type=time]{min-height:36px;padding:6px}.schedule-day input:disabled{background:#f0eee7;color:#9b9a91}.identity-form{grid-template-columns:repeat(3,minmax(110px,1fr)) auto}.identity-form input,.identity-form select{min-width:0}.text-button,.state-button{border:0;border-radius:8px;min-height:42px;padding:8px 12px}.text-button{background:linear-gradient(135deg,#163832,#19705e);color:#fff}.text-button svg{height:18px;margin-right:6px;vertical-align:-3px;width:18px}.admin-list{display:grid;gap:8px}.master-row{align-items:center;background:#fbfaf7;border:1px solid #e6e1d8;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;min-height:58px;padding:10px}.master-row span{color:#656a66;display:block;font-size:.86rem;overflow-wrap:anywhere}.master-row small{color:#656a66;display:block;margin-top:4px;overflow-wrap:anywhere}.identity-list{margin-top:14px}.state-button{background:#e7e2d8;color:#656a66;min-width:82px}.state-button.active{background:#19705e;color:#fff}.state-button.danger{background:#f2ded8;color:#8c3d2f}.support-panel{align-items:center;background:#fff8eb;border:1px solid #ecd7a8;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px}.support-panel{grid-column:1 / -1}.support-panel strong,.support-panel span{display:block}.support-panel span{color:#656a66;margin-top:2px}.support-status{color:#8c3d2f;display:block;font-weight:800;margin-top:8px}.tenant-provisioning-panel,.pilot-readiness-panel{grid-column:1 / -1}.tenant-provisioning-form{align-items:end;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(150px,1fr)) auto}.tenant-provisioning-form button{min-height:42px;white-space:nowrap}.readiness-score{align-items:baseline;background:#edf2ef;border:1px solid #dbe5df;border-radius:999px;color:#656a66;display:inline-flex;gap:3px;padding:7px 11px}.readiness-score strong{color:#163832}.readiness-grid{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.readiness-grid div{align-items:flex-start;background:#fbfaf7;border:1px solid #e6e1d8;border-radius:8px;display:flex;gap:8px;min-height:76px;padding:10px}.readiness-grid div.ready{background:#f3fbf7;border-color:#c8e2d8}.readiness-grid svg{color:#9b9a91;flex:0 0 auto;height:18px;margin-top:2px;width:18px}.readiness-grid div.ready svg{color:#19705e}.readiness-grid strong,.readiness-grid small{display:block}.readiness-grid small{color:#656a66;margin-top:4px}@media (max-width: 860px){.app-shell{padding:16px}.hero-band{align-items:flex-start;flex-direction:column;margin:0 0 16px;padding:22px 16px}.hero-context{justify-items:stretch;min-width:0;width:100%}.context-card{min-width:0;width:100%}.logout-button{margin-left:0;width:100%}.session-pill{border-radius:12px;width:100%}.tenant-switcher{align-items:stretch;display:grid;width:100%}.workspace-grid,.workspace-nav,.admin-management-grid,.field-grid,.status-strip,.correction-grid,.master-data-grid,.identity-grid,.role-switch{grid-template-columns:1fr}.role-switch{display:grid;width:100%}.workspace-nav{display:flex}.compact-form,.admin-correction-form,.employee-form,.identity-form,.tenant-provisioning-form,.session-login-form{grid-template-columns:1fr}.admin-correction-form .wide-field{grid-column:auto}.weekday-toggle-group{grid-template-columns:repeat(4,minmax(52px,1fr))}.schedule-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.admin-report-toolbar,.presence-counts,.readiness-grid,.month-metrics{grid-template-columns:1fr}.presence-counts{justify-content:flex-start;margin-left:0}.compact-event-row{grid-template-columns:auto minmax(70px,.7fr) minmax(120px,1fr)}.compact-event-row small{grid-column:2 / -1}.audit-row{align-items:flex-start;grid-template-columns:auto minmax(0,1fr)}.audit-row time{grid-column:2 / -1;white-space:normal}.export-controls input,.export-controls button{max-width:none;width:100%}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes spin{to{transform:rotate(360deg)}}
