:root{--navy-900:#0f172a;--navy-800:#172554;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-100:#dbeafe;--sky-100:#e0f2fe;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-500:#64748b;--slate-700:#334155;--white:#fff;--success:#0f766e;--warning:#b45309;--danger:#b91c1c;--shadow-soft:0 12px 30px #0f172a14;--shadow-card:0 8px 18px #2563eb14}*{box-sizing:border-box}html{color:var(--navy-900);background:#f8fafc;font-family:Inter,Segoe UI,sans-serif}body{background:linear-gradient(#f8fafc 0%,#edf3ff 100%);min-height:100vh;margin:0}button,input,select{font:inherit}#app{min-height:100vh}.dashboard-shell{grid-template-columns:290px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, var(--navy-900) 0%, var(--navy-800) 100%);color:var(--white);padding:28px 20px}.brand-wrap{align-items:center;gap:12px;margin-bottom:32px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--blue-500), var(--blue-600));width:42px;height:42px;box-shadow:var(--shadow-card);border-radius:12px;place-items:center;font-size:1.2rem;font-weight:800;display:grid}.brand-title{letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:700}.brand-wrap small{color:#ffffffbf}.sidebar-nav{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.nav-button{appearance:none;color:var(--white);text-align:left;cursor:pointer;background:#94a3b81f;border:none;border-radius:12px;padding:12px 14px;font-weight:600;transition:all .2s}.nav-button:hover,.nav-button.is-active{background:#60a5fa33;box-shadow:inset 0 0 0 1px #93c5fd66}.sidebar-card{background:#ffffff0a;border:1px solid #94a3b82e;border-radius:16px;margin-top:16px;padding:16px}.card-kicker,.panel-kicker,.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--blue-500);margin:0 0 6px;font-size:.71rem;font-weight:700}.card-copy{color:#fffc;margin:0 0 16px;line-height:1.5}.primary-button,.secondary-button{cursor:pointer;border:none;border-radius:12px;padding:10px 14px;font-weight:700;transition:transform .2s,box-shadow .2s}.primary-button{background:linear-gradient(135deg, var(--blue-500), var(--blue-600));color:var(--white);box-shadow:0 10px 18px #2563eb33}.reset-button{color:#fecaca;cursor:pointer;background:#7f1d1d33;border:1px solid #f871716b;border-radius:10px;width:100%;margin-top:10px;padding:9px 12px;font-weight:700;transition:background .2s,border-color .2s}.reset-button:hover:not(:disabled){background:#b91c1c59;border-color:#fca5a5b8}.reset-button:disabled{opacity:.48;cursor:not-allowed}.secondary-button{color:var(--navy-900);background:#e2e8f0}.primary-button:hover,.secondary-button:hover,.close-button:hover{transform:translateY(-1px)}.legend-list,.legend-inline{flex-wrap:wrap;gap:8px;display:flex}.legend-badge,.status-badge,.table-status,.empty-pill{letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.legend-badge.pagi,.status-badge.pagi,.table-status.pagi{color:var(--blue-600);background:#2563eb1f}.legend-badge.siang,.status-badge.siang,.table-status.siang{color:#0f766e;background:#0ea5e91f}.legend-badge.office,.status-badge.office,.table-status.office{color:var(--warning);background:#f59e0b1f}.legend-badge.empty,.status-badge.empty,.table-status.empty,.empty-pill{color:#dd3c3c;background:#d6a6a69f}.main-panel{padding:28px 28px 20px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.topbar h1{color:var(--navy-900);margin:0;font-size:clamp(1.8rem,1.5rem + 1vw,2.5rem)}.alert-box{border:1px solid #0000;border-radius:12px;margin-bottom:18px;padding:12px 14px;font-weight:600}.alert-box.hidden{display:none}.alert-box.error{color:var(--danger);background:#ef444414;border-color:#ef44442e}.alert-box.success{color:var(--success);background:#10b9811a;border-color:#10b9812e}.alert-box.warning{color:var(--warning);background:#f59e0b1a;border-color:#f59e0b2e}.summary-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px;margin-bottom:18px;display:grid}.summary-card{background:var(--white);box-shadow:var(--shadow-soft);border:1px solid #94a3b829;border-radius:18px;padding:18px 16px}.summary-title{letter-spacing:.12em;text-transform:uppercase;color:var(--slate-500);margin-bottom:8px;font-size:.72rem;font-weight:700;display:block}.summary-value{color:var(--navy-900);font-size:clamp(1.6rem,1.2rem + 1vw,2.2rem)}.summary-card.pagi .summary-value{color:var(--blue-600)}.summary-card.siang .summary-value{color:#0f766e}.summary-card.office .summary-value{color:var(--warning)}.summary-card.empty .summary-value{color:var(--slate-700)}.work-hours-panel{background:var(--white);box-shadow:var(--shadow-soft);border:1px solid #94a3b829;border-radius:20px;margin-bottom:18px;padding:18px}.compact-header{margin-bottom:12px}.compact-header h2{color:var(--navy-900);margin:0;font-size:1.1rem}.work-hours-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;display:grid}.work-hours-item{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #94a3b82e;border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.work-hours-item.pagi{background:#2563eb0a;border-color:#2563eb2e}.work-hours-item.siang{background:#0ea5e90a;border-color:#0ea5e929}.work-hours-item.office{background:#f59e0b0a;border-color:#f59e0b2e}.work-hours-item.empty{background:#ad2b1952;border-color:#94a3b82e}.work-hours-label{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.work-hours-item.pagi .work-hours-label{color:var(--blue-600)}.work-hours-item.siang .work-hours-label{color:#0f766e}.work-hours-item.office .work-hours-label{color:var(--warning)}.work-hours-item.empty .work-hours-label{color:var(--slate-700)}.work-hours-item strong{color:var(--navy-900);font-size:1rem}.toolbar{flex-wrap:wrap;gap:16px;margin-bottom:18px;display:flex}.field-wrap{color:var(--slate-700);flex-direction:column;flex:1;gap:8px;min-width:220px;font-weight:600;display:flex}.field-wrap input,.field-wrap select{border:1px solid var(--slate-300);background:var(--white);color:var(--navy-900);border-radius:12px;padding:11px 14px}.field-wrap input:focus,.field-wrap select:focus{border-color:var(--blue-500);outline:2px solid #3b82f638}.view-panel{background:var(--white);box-shadow:var(--shadow-soft);border:1px solid #94a3b829;border-radius:20px;padding:18px}.view-panel.hidden,.modal.hidden{display:none}.panel-header,.report-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-header h2,.report-header h2{color:var(--navy-900);margin:0;font-size:1.3rem}.report-summary-grid{grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin:0 0 16px;display:grid}.report-stat-box{background:linear-gradient(#f8fbff 0%,#eef6ff 100%);border:1px solid #60a5fa2e;border-radius:12px;padding:10px 12px}.report-stat-box span{letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);margin-bottom:4px;font-size:.7rem;display:block}.report-stat-box strong{color:var(--navy-900);font-size:1rem}.person-card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.person-card{border:1px solid var(--slate-200);background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.person-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.person-header h3{color:var(--navy-900);margin:0 0 4px;font-size:1rem}.person-header p{color:var(--slate-500);margin:0;font-size:.8rem}.person-meta-row{border-top:1px solid var(--slate-200);color:var(--slate-700);justify-content:space-between;gap:12px;padding-top:10px;display:flex}.person-meta-row span{color:var(--slate-500)}.table-scroll{border:1px solid var(--slate-200);border-radius:14px;overflow-x:auto}.monthly-table{border-collapse:collapse;background:var(--white);width:max-content;min-width:100%}.monthly-table th,.monthly-table td{border-bottom:1px solid var(--slate-200);border-right:1px solid var(--slate-200);text-align:center;white-space:nowrap;padding:10px 8px}.monthly-table th{color:var(--slate-700);text-transform:uppercase;letter-spacing:.04em;vertical-align:top;background:linear-gradient(#f8fbff 0%,#eef4ff 100%);padding:10px 8px;font-size:.72rem}.monthly-table th span,.monthly-table th small{text-align:center;display:block}.monthly-table th small{color:var(--navy-900);margin-top:4px;font-weight:700}.monthly-table td{color:var(--navy-900)}.monthly-table .sticky-col{z-index:1;background:#fff;position:sticky;left:0}.person-column,.person-cell{min-width:180px;text-align:left!important}.department-column,.role-column{min-width:130px}.person-cell strong{color:var(--navy-900)}.empty-state{text-align:center;color:var(--slate-500);padding:30px 18px}.meta-bar{grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin-top:22px;display:grid}.meta-bar>div{border:1px solid var(--slate-200);box-shadow:var(--shadow-soft);background:#fff;border-radius:14px;padding:14px 16px}.meta-label{color:var(--slate-500);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.72rem;display:block}.modal{z-index:10;background:#0f172a80;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{background:var(--white);border-radius:20px;flex-direction:column;width:min(820px,100%);max-height:min(90vh,900px);padding:20px;display:flex;box-shadow:0 18px 40px #0f172a2e}.modal-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h2{color:var(--navy-900);margin:0}.close-button{width:34px;height:34px;color:var(--navy-900);cursor:pointer;background:#edf2ff;border:none;border-radius:999px;font-size:1.4rem}.modal-content{gap:18px;min-height:0;padding-right:8px;display:grid;overflow-y:auto}.preview-box,.preview-section{border:1px solid var(--slate-200);background:#f8fafc;border-radius:16px;padding:16px}.preview-row,.preview-row-list,.preview-header{grid-template-columns:repeat(3,minmax(120px,1fr));align-items:center;gap:12px;display:grid}.preview-header{letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);border-bottom:1px solid var(--slate-200);padding-bottom:8px;font-size:.72rem;font-weight:700}.preview-row{border-bottom:1px solid var(--slate-200);padding:8px 0}.preview-row:last-child,.preview-row-list:last-child{border-bottom:none}.preview-row span{color:var(--slate-500)}.preview-row strong,.preview-row-list span{color:var(--navy-900)}.preview-row-list{border-bottom:1px solid var(--slate-200);padding:10px 0}.warning-list{color:var(--warning);margin:0;padding-left:18px;line-height:1.6}.success-note{color:var(--success);margin:0;font-weight:600}.modal-actions{border-top:1px solid #94a3b833;flex-shrink:0;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:6px;display:flex}.hidden{display:none!important}.topbar-actions{align-items:center;gap:10px;display:flex}.logout-button{color:var(--navy-900);cursor:pointer;background:#f8fafc;border:1px solid #0f172a1f;border-radius:12px;padding:10px 14px;font-weight:700;transition:transform .2s,border-color .2s}.logout-button:hover{border-color:#2563eb4d;transform:translateY(-1px)}.activity-filters{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}.compact-field{min-width:0}.activity-summary-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:18px;display:grid}.activity-summary-box{border:1px solid var(--slate-200);background:#f8fafc;border-radius:12px;padding:12px 14px}.activity-summary-box span{color:var(--slate-500);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.72rem;display:block}.activity-summary-box strong{color:var(--navy-900);font-size:1rem}.inline-actions,.activity-actions,.activity-card-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.compact-button{padding:8px 10px;font-size:.76rem}.danger-button{color:var(--danger);cursor:pointer;background:#b91c1c14;border:1px solid #b91c1c33;border-radius:10px;padding:8px 10px;font-weight:700}.daily-activity-table{border-collapse:collapse;width:max-content;min-width:100%}.daily-activity-table th,.daily-activity-table td{border:1px solid var(--slate-200);vertical-align:top;text-align:left;padding:10px 8px}.daily-activity-table th{color:var(--slate-700);text-transform:uppercase;letter-spacing:.08em;background:#f8fafc;font-size:.72rem}.daily-activity-table td input,.daily-activity-table td textarea,.daily-activity-table td select{border:1px solid var(--slate-300);width:100%;min-width:110px;color:var(--navy-900);background:#fff;border-radius:8px;padding:8px 10px}.daily-activity-table td textarea{resize:vertical;min-height:76px}.activity-card{border:1px solid var(--slate-200);background:#f8fafc;border-radius:16px;margin-top:18px;padding:16px}.activity-card h3,.handover-panel h3{color:var(--navy-900);margin:0}.activity-card-header{justify-content:space-between;margin-bottom:12px}.activity-form-grid,.handover-grid-form{grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;margin-bottom:18px;display:grid}.full-width{grid-column:1/-1}.handover-form-layout{grid-template-columns:1.1fr 1.4fr;gap:18px;margin-top:18px;display:grid}.handover-panel{border:1px solid var(--slate-200);background:#fff;border-radius:16px;padding:16px}.handover-question{color:var(--navy-900);flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 18px;font-weight:600;display:flex}.handover-question label{color:var(--slate-700);align-items:center;gap:6px;display:inline-flex}.handover-overview{grid-template-columns:1.2fr 1fr;gap:18px;margin-top:18px;display:grid}.handover-box{border:1px solid var(--slate-200);background:#f8fafc;border-radius:16px;padding:16px}.handover-row{color:var(--navy-900);gap:8px;margin-top:10px;display:grid}.handover-row p{color:var(--slate-700);margin:0;line-height:1.6}.handover-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px;display:grid}.handover-grid label,.acknowledged-field label{color:var(--slate-500);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.72rem;display:block}.handover-grid strong,.acknowledged-field strong{color:var(--navy-900)}.acknowledged-field{grid-column:1/-1}.activity-notes{border-top:1px solid var(--slate-200);color:var(--slate-700);margin-top:18px;padding-top:12px;line-height:1.6}.activity-status-badge,.shift-badge{border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.activity-status-badge.draft,.shift-badge.libur{color:var(--slate-700);background:#94a3b824}.activity-status-badge.submitted,.shift-badge.pagi{color:var(--blue-600);background:#2563eb1f}.activity-status-badge.reviewed,.shift-badge.siang{color:#0f766e;background:#0ea5e91f}.activity-status-badge.closed,.shift-badge.office-hour,.shift-badge.office{color:var(--warning);background:#f59e0b1f}.shift-badge.libur{color:var(--slate-700);background:#64748b1f}.activity-print-root{display:none}.activity-print-root:not(.hidden){display:block}.daily-activity-print-sheet{color:#000;box-sizing:border-box;background:#fff;width:100%;max-width:210mm;margin:0 auto;padding:0;font-family:Arial,Helvetica,sans-serif}.print-header-brand{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:0 0 16px;display:grid}.print-logo{justify-content:center;align-items:center;width:100%;min-height:36px;display:flex}.print-logo img{object-fit:contain;width:auto;max-width:170px;height:auto;max-height:48px;display:block}.print-logo-hpio img{max-width:220px}.logo-fallback{letter-spacing:.04em;color:#000;font-size:18pt;font-weight:700}.print-title-block{justify-content:center;align-items:center;display:flex}.daily-activity-print-sheet h1{text-align:center;letter-spacing:0;margin:0;font-size:16pt;font-weight:600;line-height:1.2}.daily-activity-print-sheet h2{text-align:center;margin:0 0 8px;font-size:10.5pt;font-weight:700}.print-header-grid{grid-template-columns:1fr 1.5fr 1fr;gap:0;margin-bottom:16px;display:grid}.print-field{background:#fff;border:1px solid #000;flex-direction:column;justify-content:center;min-height:52px;padding:5px 8px;display:flex}.print-field+.print-field{border-left:none}.print-field span{margin-bottom:4px;font-size:8.5pt;font-weight:700;display:block}.print-field strong{word-break:break-word;font-size:8.7pt;font-weight:500;line-height:1.3}.print-section{page-break-inside:avoid;break-inside:avoid;margin-top:18px}.print-section table{border-collapse:collapse;table-layout:fixed;border:1px solid #000;width:100%}.print-section th,.print-section td{vertical-align:top;text-align:left;word-wrap:break-word;overflow-wrap:break-word;border:1px solid #000;padding:4px;font-size:8.2pt;line-height:1.35}.print-section th{text-align:center;background:#fff;font-weight:700}.fault-print-table th:first-child,.fault-print-table td:first-child{text-align:center;width:5%}.fault-print-table th:nth-child(2),.fault-print-table td:nth-child(2){width:10%}.fault-print-table th:nth-child(3),.fault-print-table td:nth-child(3){width:13%}.fault-print-table th:nth-child(4),.fault-print-table td:nth-child(4){width:11%}.fault-print-table th:nth-child(5),.fault-print-table td:nth-child(5){width:20%}.fault-print-table th:nth-child(6),.fault-print-table td:nth-child(6){width:24%}.fault-print-table th:nth-child(7),.fault-print-table td:nth-child(7){width:17%}.notification-print-table th:first-child,.notification-print-table td:first-child{text-align:center;width:5%}.notification-print-table th:nth-child(2),.notification-print-table td:nth-child(2){width:35%}.notification-print-table th:nth-child(3),.notification-print-table td:nth-child(3){width:60%}.handover-print-layout{grid-template-columns:1.15fr 1.05fr;align-items:start;gap:10px;display:grid}.handover-left-box,.handover-right-box{border:1px solid #000;min-height:150px;padding:8px}.handover-yes-no{margin-bottom:12px}.handover-yes-no span,.handover-matters-box span{margin-bottom:6px;font-size:8.6pt;font-weight:700;display:block}.print-radio-row{align-items:center;gap:18px;display:flex}.print-radio{background:#fff;border:1px solid #000;justify-content:center;align-items:center;min-width:32px;min-height:18px;padding:6px 8px;font-size:8.5pt;display:inline-flex}.print-radio.selected{color:#fff;background:#000}.handover-matters-box p{white-space:pre-wrap;min-height:70px;margin:0;font-size:8.6pt;line-height:1.4}.handover-detail-table{margin-bottom:8px}.handover-print-table{table-layout:fixed;border-collapse:collapse;width:100%}.handover-print-table th,.handover-print-table td{vertical-align:top;text-align:left;border:1px solid #000;height:26px;padding:4px 5px;font-size:8.5pt}.handover-print-table th{text-align:center;background:#fff;font-weight:700}.handover-print-table th:first-child,.handover-print-table td:first-child{width:48%}.handover-print-table th:nth-child(2),.handover-print-table td:nth-child(2){width:27%}.handover-print-table th:nth-child(3),.handover-print-table td:nth-child(3){width:25%}.acknowledged-table th:first-child,.acknowledged-table td:first-child{width:65%}.acknowledged-table th:nth-child(2),.acknowledged-table td:nth-child(2){width:35%}.print-notes{margin-top:18px;font-size:8pt;line-height:1.6}.print-notes p{margin:0 0 6px}.login-screen{background:radial-gradient(circle at top,#eff6ff 0%,#f8fafc 35%,#eef2ff 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-shell{background:#ffffffd1;border:1px solid #94a3b82e;border-radius:28px;grid-template-columns:1.25fr .75fr;width:min(980px,100%);display:grid;overflow:hidden;box-shadow:0 20px 45px #0f172a14}.login-panel{background:linear-gradient(#fffffffa,#f8fafcf5);padding:clamp(28px,5vw,56px)}.login-aside{background:linear-gradient(#0f172a 0%,#172554 100%);align-items:center;padding:clamp(24px,4vw,40px);display:flex}.login-aside-card{width:100%;color:var(--white);background:#ffffff0f;border:1px solid #94a3b82e;border-radius:20px;padding:22px}.login-aside-card h2{margin:0 0 18px;font-size:clamp(1.4rem,1.1rem + .8vw,2rem)}.credential-list{gap:12px;margin:0 0 18px;padding:0;list-style:none;display:grid}.credential-list li{color:#fffc;border-bottom:1px solid #94a3b82e;justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.credential-list strong{color:var(--white)}.login-aside-card small{color:#ffffffb3;line-height:1.6;display:block}.login-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.login-brand .brand-mark{width:48px;height:48px;font-size:1.35rem}.login-copy{margin-bottom:24px}.login-copy h1{color:var(--navy-900);margin:0 0 8px;font-size:clamp(2rem,1.5rem + 1vw,3rem)}.login-copy p:last-child{color:var(--slate-500);max-width:540px;margin:0;line-height:1.7}.login-form{gap:18px;display:grid}.login-field{color:var(--slate-700);gap:8px;font-weight:600;display:grid}.login-field input{width:100%;color:var(--navy-900);background:#ffffffc7;border:1px solid #94a3b8b3;border-radius:14px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .2s}.login-field input:focus{border-color:#2563ebd1;outline:none;box-shadow:0 0 0 4px #2563eb1a}.password-wrap{position:relative}.password-wrap input{padding-right:68px}.password-toggle{color:var(--slate-500);cursor:pointer;background:0 0;border:none;font-weight:700;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.login-button{width:100%;color:var(--white);cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:14px;padding:14px 20px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 16px 28px #2563eb38}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 26px #2563eb42}.login-button:disabled{opacity:.8;cursor:wait}.login-error{min-height:18px;color:var(--danger);opacity:0;margin:0;font-size:.88rem;transition:opacity .2s}.login-error.visible{opacity:1}@media (width<=900px){.dashboard-shell{grid-template-columns:1fr}.sidebar{padding-bottom:20px}.main-panel{padding-top:18px}}@media (width<=640px){.topbar,.topbar-actions,.panel-header{flex-direction:column;align-items:flex-start}.login-shell{grid-template-columns:1fr}.login-aside{padding-top:0}.summary-grid,.meta-bar{grid-template-columns:1fr 1fr}.toolbar{flex-direction:column}.field-wrap{min-width:100%}.person-header{flex-direction:column}}@media print{@page{size:A4 portrait;margin:10mm}body{color:#000;background:#fff;font-size:10pt}.dashboard-shell,.main-panel,.sidebar,.topbar,.toolbar,.summary-grid,#work-hours-panel,.view-panel,.meta-bar,.alert-box,#upload-modal,.nav-button,#upload-trigger,#reset-roster-button,#print-button,.brand-wrap,.sidebar-card,.activity-panel{display:none!important}.activity-print-root{width:100%;display:block!important}.daily-activity-print-sheet{width:100%;max-width:none;margin:0;padding:0;display:block!important}}
