body{background:#f1f3f5;color:#20252a;font-family:Arial,Helvetica,sans-serif;font-size:13px}
.app-header{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:12px 22px;background:#fff;border-bottom:1px solid #ced4da}
.header-account{display:flex;align-items:center;gap:20px}.header-account a{color:#07548a}
.main-menu{display:flex;flex-wrap:wrap;position:relative;z-index:20;background:#e1e9f0;border-bottom:1px solid #b6c5d2;padding:0 12px;gap:0}
.main-menu>a,.main-menu summary{display:block;padding:12px 14px;cursor:pointer;border-right:1px solid #c8d2dc;list-style:none;color:#23384a}
.main-menu>a:hover,.main-menu summary:hover,.main-menu .active{background:#c7dced}
.main-menu details{position:relative}.menu-popup{position:absolute;top:100%;left:0;background:#fff;border:1px solid #b6c5d2;min-width:250px;max-height:65vh;overflow:auto;box-shadow:0 5px 12px #0002}
.menu-popup a{display:block;padding:10px 14px;border-bottom:1px solid #eee}.menu-popup a:hover{background:#e7f0f7}
.workspace{padding:18px 22px;max-width:1920px;margin:auto;min-width:0}
h1{font-size:22px}h2{font-size:16px;margin-bottom:12px}
.page-head{padding:12px 14px;background:#e4ebf1;border-bottom:1px solid #c4d0db;margin-bottom:16px}
section.card,section{border-radius:0;box-shadow:none;background:transparent;border:0;padding:16px 0;margin:0}
.grid>.card.metric{box-shadow:none;border-radius:4px;border-top:3px solid #268574}
.grid>.card.metric:nth-child(2){border-top-color:#2b79bb}.grid>.card.metric:nth-child(3){border-top-color:#cc982c}.grid>.card.metric:nth-child(4){border-top-color:#b55560}
table{min-width:680px;font-size:12px}th,td{padding:9px 10px}th{background:#e7eef4;color:#344b60;text-transform:none}
tr:nth-child(even){background:#f8fafb}td{overflow-wrap:anywhere;max-width:260px}
.table-wrap{border-radius:0;margin:14px 0;background:#fff}
.form-grid{padding:14px 0;margin-bottom:12px}.editor{border-bottom:1px solid #ccd4db;margin-bottom:16px}.editor>summary{cursor:pointer;padding:12px 0;color:#095781;font-weight:bold}
input,select,textarea{min-width:0;min-height:36px;padding:7px 9px;border-radius:3px}
input[type=checkbox]{width:auto;min-height:0}.btn,button{min-height:34px;padding:7px 11px;border-radius:3px;font-weight:600}
button.secondary{background:#fff;border-color:#c4cdd6;color:#263b4d}button:disabled{opacity:.45;cursor:not-allowed}
.error-text{color:#aa1d25}.brand img{object-fit:contain}.brand span{overflow-wrap:anywhere}
.muster td,.muster th{text-align:center;min-width:35px}.muster td:first-child,.muster th:first-child{text-align:left;min-width:150px;position:sticky;left:0;background:#fff}
.auth-content{background:#eef2f5}.auth-card{box-shadow:none}a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid #0b679e;outline-offset:2px}
@media(max-width:650px){.app-header{padding:12px;align-items:flex-start}.header-account{flex-direction:column;gap:5px;align-items:flex-end;font-size:12px}.workspace{padding:12px}.main-menu{padding:0}.main-menu>a,.main-menu summary{padding:10px}.menu-popup{position:fixed;top:auto;left:10px;right:10px;min-width:0;max-height:55vh}.toolbar{gap:12px}.form-grid.three{grid-template-columns:1fr}}
@media print{.app-header,.main-menu,form,.actions,.editor{display:none!important}.workspace{padding:0}.table-wrap{overflow:visible}table{font-size:10px;min-width:0}.muster td,.muster th{min-width:18px}}

.module-tabs { display:flex; flex-wrap:wrap; gap:0; border-bottom:1px solid #cbd5dd; margin-bottom:16px; }
.module-tabs a { padding:10px 14px; color:#344553; text-decoration:none; border-bottom:3px solid transparent; }
.module-tabs a[aria-current=page] { border-bottom-color:#16736b; color:#125b55; font-weight:600; }
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;max-height:280px;overflow:auto;padding:8px 0}
.check-grid label,.check-line{display:flex;align-items:center;gap:8px;line-height:1.4}
.check-grid input,.check-line input{flex:none}
fieldset{min-width:0;border:1px solid #c4cdd6;padding:12px;border-radius:3px}
legend{font-weight:600;padding:0 5px}
.pattern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.shift-calendar td{min-width:100px;max-width:140px;height:52px;white-space:normal}
.shift-calendar th:first-child{min-width:170px}
.shift-calendar .calendar-off{background:#eff7e8;color:#365423}
.location-result{min-height:24px;overflow-wrap:anywhere}
.menu-popup a{padding:7px 14px}
@media(max-width:650px){.check-grid{grid-template-columns:1fr}.pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-tabs a{padding:9px}.page-head{flex-wrap:wrap;gap:10px}}
.table-wrap input, .table-wrap select { max-width:100%; min-width:100px; }
dl { display:grid; grid-template-columns:minmax(130px,190px) minmax(0,1fr); gap:6px 16px; }
dd { margin:0; overflow-wrap:anywhere; }
@media print { .no-print, .module-tabs { display:none!important; } }

/* Nested source menus stay within the scrollable popup on small screens. */
.main-menu .menu-sub{position:static;border-bottom:1px solid #e1e7ed}
.main-menu .menu-sub>summary{padding:9px 14px;border:0;font-weight:600;background:#edf3f7}
.main-menu .menu-sub>summary::after{content:" +";float:right}.main-menu .menu-sub[open]>summary::after{content:" −"}
.submenu-links{padding-left:12px;border-left:3px solid #6c96af}.submenu-links a{white-space:normal}
.menu-popup{min-width:310px;max-width:min(480px,90vw)}
.report-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.report-directory section{padding:14px;border:1px solid #c4d0db;background:#fff}
.report-directory a{display:block;padding:7px 0}.report-directory small{display:block;color:#596674}
.report-stamp{color:#4f6171;margin:10px 0}.report-matrix th,.report-matrix td{white-space:nowrap;text-align:center;max-width:none}
.report-matrix th:first-child,.report-matrix td:first-child{position:sticky;left:0;background:#fff;min-width:180px;text-align:left}
.report-filters{border-bottom:1px solid #cbd5dd}.report-bar{display:flex;align-items:center;gap:12px;margin:10px 0}
.report-bar meter{width:min(450px,55vw);height:24px}.report-bar span{min-width:100px}
@media print{.report-directory,.report-filters,.report-pagination{display:none!important}.report-table{width:100%}.report-matrix th:first-child,.report-matrix td:first-child{position:static}.report-stamp{font-size:9px}}
.quick-toolbar{display:flex;gap:1px;overflow-x:auto;padding:4px 12px;background:linear-gradient(#fefefe,#d5d9df);border-bottom:1px solid #aeb6c0}
.quick-toolbar a{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:28px;border:1px solid transparent;color:#1f596f;text-decoration:none;font-size:21px}.quick-toolbar a:hover,.quick-toolbar a:focus-visible{background:#fff;border-color:#7f9fb9;outline:2px solid #336e9c;outline-offset:-2px}
.employee-row-actions{min-width:240px}.employee-row-actions a{display:inline-block;margin:3px 8px 3px 0;white-space:nowrap}
@media(min-width:651px){.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filters label{font-size:12px}}
.export-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f8;border:1px solid #cad4dd;padding:12px;font-size:12px}
.form-j-sheet{margin:22px 0;background:#fff;padding:12px;border:1px solid #adb5bd}
.form-j-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;text-align:center}.form-j-heading h2{margin:3px 0;font-size:22px}.form-j-heading p{margin:5px 0}.form-j-establishment{border:1px solid #222;padding:8px 16px;text-align:left;min-width:260px}
.form-j-table{border-collapse:collapse;font-size:9px;width:100%;min-width:1200px;color:#000}.form-j-table th,.form-j-table td{border:1px solid #333;padding:4px 3px;white-space:nowrap;text-align:center;background:#fff}.form-j-table th:nth-child(2),.form-j-table td:nth-child(2){text-align:left;min-width:130px}.form-j-table th{font-weight:600}.form-j-signature{margin-top:24px;font-size:11px;line-height:2}
@media print{.quick-toolbar{display:none!important}.form-j-sheet{border:0;padding:0;break-after:page;page:form-j}.form-j-table{min-width:0;font-size:7px;table-layout:auto}.form-j-table th,.form-j-table td{padding:2px 1px}.form-j-table tr{break-inside:avoid}.form-j-heading{font-size:10px}.form-j-heading h2{font-size:17px}.form-j-establishment{min-width:240px}.form-j-signature{font-size:9px}@page form-j{size:A3 landscape;margin:10mm}}
