:root{
  --bg:#f5f7fb;--surface:#fff;--surface2:#f8fafc;--text:#172033;--muted:#6b7280;
  --line:#e5eaf1;--primary:#2463eb;--primary2:#174fd1;--danger:#b42318;
  --shadow:0 10px 28px rgba(15,23,42,.06);--radius:16px;
}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.topbar{position:sticky;top:0;z-index:20;min-height:68px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px max(18px,calc((100vw - 1180px)/2))}
.brand{display:flex;align-items:center;gap:10px}.brandmark,.auth-logo{background:linear-gradient(145deg,#2563eb,#6d4aff);color:white;display:grid;place-items:center;font-weight:900}
.brandmark{width:38px;height:38px;border-radius:11px}.brand>span:last-child{display:flex;flex-direction:column}.brand small,.account small{color:var(--muted);margin-top:2px}
nav{display:flex;gap:6px}nav a{padding:9px 13px;border-radius:10px;font-weight:750;color:var(--muted)}nav a.active,nav a:hover{background:#eef4ff;color:#1d4ed8}
.account{justify-self:end;display:flex;align-items:center;gap:12px}.account>div{display:flex;flex-direction:column;text-align:right}
.page{max-width:1180px;margin:28px auto;padding:0 18px 50px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.page-head h1{font-size:34px;letter-spacing:-.03em;margin:3px 0 5px}.page-head p{margin:0}
.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:900;color:var(--primary)}.muted{color:var(--muted);font-weight:500}
.metric{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 18px;min-width:140px;box-shadow:var(--shadow);display:flex;flex-direction:column}.metric span{color:var(--muted);font-size:12px}.metric strong{font-size:28px}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:18px}.card h2{font-size:20px;margin:0 0 18px}.narrow{max-width:720px}.center{text-align:center;margin-left:auto;margin-right:auto}
.form-grid,.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}.filter-grid{grid-template-columns:minmax(200px,1.5fr) repeat(3,1fr) auto auto;align-items:end}
.stack{display:grid;gap:14px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:750}input,select,textarea{width:100%;border:1px solid #ccd5e1;background:var(--surface2);color:var(--text);border-radius:10px;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}textarea{resize:vertical}
.btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;min-height:41px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary2)}.btn-light{background:#f5f7fa;border-color:var(--line);color:var(--text)}.btn-light:hover{background:#edf1f6}.btn-danger{background:#fff0ef;border-color:#ffd2ce;color:var(--danger)}.btn-block{width:100%}.btn-small{min-height:34px;padding:7px 10px;font-size:12px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.card-head h2{margin:0}.badge{display:inline-flex;padding:5px 8px;background:#eef4ff;color:#3159a8;border-radius:999px;font-size:11px;font-weight:800}
.table-card{padding:12px 18px 8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}td{font-size:13px}.num{text-align:right;font-variant-numeric:tabular-nums}.actions{text-align:right}.cell-sub{display:block;color:var(--muted);margin-top:3px}.empty{text-align:center;color:var(--muted);padding:35px}.dim{opacity:.55}
.split-actions{display:flex;justify-content:flex-end;gap:9px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.role-help{margin-top:20px;padding:14px;background:var(--surface2);border-radius:12px;color:var(--muted);font-size:13px}.role-help p{margin:4px 0}.role-help strong{color:var(--text)}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#eaf1ff,transparent 34%),var(--bg)}.auth-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 24px 70px rgba(15,23,42,.12)}.auth-logo{width:48px;height:48px;border-radius:13px;margin-bottom:22px}.auth-card h1{font-size:30px;letter-spacing:-.03em;margin:0 0 5px}.auth-card>p{margin:0 0 24px}
.flash-wrap{display:grid;gap:8px;margin-bottom:16px}.flash{padding:11px 13px;border-radius:10px;font-size:13px;font-weight:700}.flash.success{background:#eaf8ef;color:#15703a;border:1px solid #caebd6}.flash.error{background:#fff0ef;color:#a32920;border:1px solid #ffd2ce}
.error-code{font-size:70px;font-weight:950;color:#cdd6e4;letter-spacing:-.05em}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.topbar nav{grid-row:2;grid-column:1/-1;justify-content:center;border-top:1px solid var(--line);padding-top:7px;margin-top:8px}.account>div{display:none}.filter-grid{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}}
@media(max-width:600px){.page{margin-top:18px;padding:0 12px 36px}.page-head{align-items:stretch;flex-direction:column}.page-head h1{font-size:29px}.metric{width:100%}.card{padding:17px}.form-grid,.filter-grid{grid-template-columns:1fr}.wide{grid-column:auto}.filter-grid .btn{width:100%}.topbar{padding:10px 12px}.brand small{display:none}.account form .btn{padding:8px 10px}.table-card{padding:8px}.auth-card{padding:23px}}
.notice{padding:14px 16px;border-radius:12px;background:#fff8e6;border:1px solid #f6d98a;color:#795a00;font-size:13px;line-height:1.5}
.calculated-time{display:flex;flex-direction:column;justify-content:center;gap:3px;border:1px dashed #b9c7dc;background:#f8fbff;border-radius:10px;padding:10px 12px;min-height:67px}.calculated-time span{font-size:12px;color:var(--muted);font-weight:700}.calculated-time strong{font-size:20px}.admin-time-filter{grid-template-columns:minmax(190px,1.4fr) 1fr 1fr 1fr 1fr auto auto}
@media(max-width:1050px){.admin-time-filter{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:600px){.admin-time-filter{grid-template-columns:1fr}}

/* Admin: hurtig periodesøgning */
.search-card{padding:0;overflow:hidden}.admin-search-form{display:block}.period-section{padding:22px}.period-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.period-title h2{margin:4px 0 0}.active-period{display:flex;flex-direction:column;align-items:flex-end;font-size:13px}.active-period span{color:var(--muted);margin-top:3px}.period-buttons{display:flex;flex-wrap:wrap;gap:8px}.period-btn{border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:999px;padding:9px 13px;min-height:38px;font-weight:800;cursor:pointer}.period-btn:hover{border-color:#a9bce8;background:#f2f6ff}.period-btn.active{background:#e9f1ff;border-color:#a8c0f5;color:#174fbf;box-shadow:inset 0 0 0 1px #c2d4fa}.search-divider{height:1px;background:var(--line)}.admin-search-form>.filter-grid{padding:20px 22px;margin:0}.admin-time-filter{grid-template-columns:minmax(230px,1.6fr) 1fr 1fr auto auto}.custom-period{display:grid;grid-template-columns:minmax(180px,1fr) 180px 180px auto;gap:12px;align-items:end;background:var(--surface2);border-top:1px solid var(--line);padding:16px 22px}.custom-period-label{display:flex;flex-direction:column;font-size:13px}.custom-period-label span{font-size:12px;margin-top:3px}
@media(max-width:900px){.period-title{align-items:flex-start;flex-direction:column}.active-period{align-items:flex-start}.admin-time-filter{grid-template-columns:1fr 1fr}.custom-period{grid-template-columns:1fr 1fr}.custom-period-label{grid-column:1/-1}}
@media(max-width:600px){.period-section{padding:17px}.period-buttons{display:grid;grid-template-columns:1fr 1fr}.period-btn{border-radius:10px}.admin-search-form>.filter-grid{padding:17px;grid-template-columns:1fr}.custom-period{padding:17px;grid-template-columns:1fr}.custom-period-label{grid-column:auto}}


/* Admin: resultat-totaler og overtidsopdeling */
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 18px}.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:17px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px}.summary-card span{font-size:12px;font-weight:800;color:var(--muted)}.summary-card strong{font-size:27px;letter-spacing:-.03em}.summary-card small{font-size:11px;color:var(--muted)}.normal-card{border-top:3px solid #3b82f6}.overtime50-card{border-top:3px solid #f59e0b}.overtime100-card{border-top:3px solid #dc2626}.total-card{border-top:3px solid #172033}.employee-summary-table tfoot th{border-top:2px solid var(--line);background:var(--surface2);font-size:12px;color:var(--text)}.employee-summary-table .overtime50{font-weight:800;color:#a16207}.employee-summary-table .overtime100{font-weight:800;color:#b42318}.wide-result-table table{min-width:1280px}.wide-result-table th,.wide-result-table td{white-space:nowrap}.wide-result-table td:nth-child(4),.wide-result-table td:nth-child(5){white-space:normal;min-width:180px;max-width:300px}
@media(max-width:900px){.summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.summary-grid{grid-template-columns:1fr}.summary-card{padding:14px 16px}.summary-card strong{font-size:24px}}
.payroll-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:20px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.payroll-heading>div{display:flex;flex-direction:column;gap:3px}.payroll-heading strong{font-size:14px}.payroll-heading span{font-size:12px;color:var(--muted)}
.payroll-period-grid{display:grid;grid-template-columns:repeat(6,minmax(115px,1fr));gap:8px}
.payroll-period-btn{border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:12px;padding:10px 11px;min-height:58px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:3px;cursor:pointer}
.payroll-period-btn strong{font-size:13px}.payroll-period-btn span{font-size:11px;color:var(--muted)}
.payroll-period-btn:hover{border-color:#a9bce8;background:#f2f6ff}.payroll-period-btn.active{background:#e9f1ff;border-color:#8eb0f2;color:#174fbf;box-shadow:inset 0 0 0 1px #b9cff9}.payroll-period-btn.active span{color:#3159a8}
@media(max-width:900px){.payroll-period-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.payroll-period-grid{grid-template-columns:repeat(2,1fr)}.payroll-heading{align-items:flex-start}}


/* Admin: valg af flere medarbejdere */
.employee-filter-field{display:flex;flex-direction:column;gap:7px;min-width:0}.field-label{font-size:13px;font-weight:750}.employee-picker{position:relative}.employee-picker>summary{list-style:none;min-height:43px;border:1px solid #ccd5e1;background:var(--surface2);border-radius:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-size:13px;font-weight:750}.employee-picker>summary::-webkit-details-marker{display:none}.employee-picker[open]>summary{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.employee-picker-panel{position:absolute;z-index:30;top:calc(100% + 7px);left:0;width:min(420px,85vw);max-height:390px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:10px}.employee-picker-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 4px 10px;border-bottom:1px solid var(--line)}.employee-picker-toolbar .muted{font-size:10px;text-align:right}.picker-link{border:0;background:none;color:var(--primary);font-size:12px;font-weight:850;padding:4px;cursor:pointer;white-space:nowrap}.employee-picker-list{display:grid;gap:3px;padding-top:7px}.employee-check{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:8px;padding:8px;border-radius:9px;cursor:pointer}.employee-check:hover{background:var(--surface2)}.employee-check input{width:17px;height:17px;margin:0;accent-color:var(--primary)}.employee-check>span{display:flex;flex-direction:column;min-width:0}.employee-check strong{font-size:13px}.employee-check small{font-size:11px;color:var(--muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.employee-picker-panel{position:fixed;left:12px;right:12px;top:auto;bottom:18px;width:auto;max-height:65vh}.employee-picker-toolbar{align-items:flex-start;flex-direction:column}.employee-picker-toolbar .muted{text-align:left}}

.company-brand{min-width:190px}.company-logo{display:block;width:205px;max-width:100%;height:auto;object-fit:contain}.report-actions{display:flex;align-items:center;gap:8px}.btn-pdf{background:#172033;color:#fff;border-color:#172033}.btn-pdf:hover{background:#0f172a}.pdf-icon{font-size:14px}@media(max-width:600px){.company-logo{width:155px}.company-brand{min-width:0}.report-actions{width:100%;justify-content:space-between}}

/* Endeligt Byens Gravehold-layout */
body{background:#f4f8fc;color:#0d3152}
.site-header{background:#fff;border-bottom:1px solid #dce7f1;box-shadow:0 2px 12px rgba(13,49,82,.04)}
.masthead{max-width:1480px;margin:0 auto;min-height:132px;padding:12px 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}
.mast-logo{display:flex;align-items:center;justify-content:flex-start;height:100%}.mast-logo img{width:320px;max-width:100%;height:108px;object-fit:contain;object-position:left center}
.mast-title{font-size:46px;line-height:1;font-weight:900;letter-spacing:-.04em;color:#0c3558;text-align:center;align-self:center;white-space:nowrap}
.masthead .account{justify-self:end}.masthead .account small{display:block;color:#62778b;text-align:left;margin-top:3px}.btn-dark{background:#103854;color:#fff;border-color:#103854}.btn-dark:hover{background:#092c46}
.main-nav{background:linear-gradient(90deg,#0d3859,#103f63);display:flex;align-items:stretch;padding:0 max(28px,calc((100vw - 1480px)/2));gap:0;overflow:auto}.main-nav a{color:#fff;opacity:.92;padding:18px 22px;border-radius:0;font-weight:750;white-space:nowrap}.main-nav a:hover,.main-nav a.active{background:#087dcc;color:#fff;opacity:1}
.page{max-width:1480px;margin:18px auto;padding:0 28px 48px}.site-footer{background:#103854;color:#fff;min-height:58px;padding:16px max(28px,calc((100vw - 1480px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px}
.work-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.side-column{display:grid;align-content:start;gap:14px}.side-column .card{margin:0}.logo-panel{min-height:210px;display:grid;place-items:center;background:#f1f8ff}.logo-panel img{width:280px;max-width:100%;height:160px;object-fit:contain}
.register-card{padding:24px}.register-head h1{font-size:28px;margin:3px 0 5px}.time-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.net-preview{grid-column:1/3;min-height:106px;border-radius:12px;padding:16px 20px;background:linear-gradient(90deg,#e7f8ec,#f2fbf5);border:1px solid #ccebd6;color:#06752b;display:flex;flex-direction:column;justify-content:center}.net-line{font-size:18px;font-weight:800}.net-preview strong{font-size:25px;margin:3px 0}.net-preview small{color:#234a60;font-size:14px}.register-button{grid-column:3;align-self:end;min-height:62px;font-size:18px}.btn-success{background:#07953c;color:#fff}.btn-success:hover{background:#067d33}
.help-list ul{padding-left:20px;margin:0;color:#274a68;line-height:1.8}.help-number{font-size:27px;letter-spacing:.02em}.help-card{background:#f4faff}.help-card p{color:#385a75;line-height:1.55}.quick-actions{display:grid;gap:10px}.quick-actions .btn{justify-content:flex-start}.compact-filter{grid-template-columns:minmax(260px,2fr) 1fr 1fr auto auto}.overview-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;max-width:700px}.report-filter{display:grid;grid-template-columns:160px 160px 1fr 1.7fr auto;gap:14px;align-items:end}.report-users{display:flex;flex-direction:column;gap:7px}.report-user-list{border:1px solid #ccd5e1;border-radius:10px;background:#f8fafc;max-height:130px;overflow:auto;padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.report-user-list label{display:flex;flex-direction:row;align-items:center;gap:7px;font-weight:600;padding:4px}.report-user-list input{width:auto}.field-label{font-size:13px;font-weight:750}
.summary-card{transition:transform .15s ease}.summary-card[href]:hover{transform:translateY(-2px)}
@media(max-width:1100px){.masthead{grid-template-columns:260px 1fr auto}.mast-logo img{width:250px}.mast-title{font-size:36px}.work-layout{grid-template-columns:1fr}.side-column{grid-template-columns:repeat(3,1fr)}.time-entry-grid{grid-template-columns:1fr 1fr}.net-preview{grid-column:1/-1}.register-button{grid-column:1/-1}.report-filter{grid-template-columns:1fr 1fr}.report-users{grid-column:1/-1}}
@media(max-width:760px){.masthead{min-height:auto;padding:12px 14px;grid-template-columns:1fr auto}.mast-logo{display:none}.mast-title{font-size:27px;text-align:left}.masthead .account>div{display:none}.main-nav{padding:0}.main-nav a{padding:14px 14px;font-size:13px}.page{padding:0 12px 32px}.work-layout{display:block}.side-column{grid-template-columns:1fr}.logo-panel{display:none}.time-entry-grid{grid-template-columns:1fr}.net-preview,.register-button{grid-column:auto}.compact-filter,.overview-filter,.report-filter{grid-template-columns:1fr}.report-user-list{grid-template-columns:1fr}.site-footer{padding:15px 14px;flex-direction:column;align-items:flex-start}.summary-grid{grid-template-columns:1fr 1fr}.page-head h1{font-size:28px}}
@media(max-width:480px){.summary-grid{grid-template-columns:1fr}.mast-title{font-size:24px}.main-nav a{padding:13px 11px}}

.employee-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.employee-all-btn{border:1px solid #a8c9ee;background:#f2f8ff;color:#0b5fa5;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;cursor:pointer;white-space:nowrap}.employee-all-btn:hover,.employee-all-btn.active{background:#0b79c9;border-color:#0b79c9;color:#fff}.employee-all-btn.active{box-shadow:0 0 0 2px rgba(11,121,201,.12)}



/* Kompakt medarbejder-dropdown med afkrydsningsbokse */
.compact-employee-field{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0}
.compact-employee-picker{position:relative;width:100%}
.compact-employee-picker>summary{list-style:none;width:100%;min-height:43px;border:1px solid #ccd5e1;background:var(--surface2);color:var(--text);border-radius:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden}
.compact-employee-picker>summary::-webkit-details-marker{display:none}
.compact-employee-picker>summary:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.compact-employee-picker[open]>summary{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.compact-employee-picker .select-chevron{font-size:12px;color:var(--muted);flex:0 0 auto;transition:transform .15s ease}
.compact-employee-picker[open] .select-chevron{transform:rotate(180deg)}
.compact-employee-menu{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:max(100%,310px);max-width:min(390px,calc(100vw - 30px));max-height:310px;overflow:auto;background:#fff;border:1px solid #cfd9e4;border-radius:11px;padding:7px;box-shadow:0 18px 45px rgba(15,43,68,.16)}
.compact-employee-option{display:flex;flex-direction:row;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;min-height:36px}
.compact-employee-option:hover{background:#f2f7fc}
.compact-employee-option input{width:15px;height:15px;min-width:15px;margin:0;accent-color:#087dcc;box-shadow:none}
.compact-employee-option>span{display:flex;flex-direction:column;min-width:0}
.compact-employee-option strong{font-size:12px;line-height:1.2}
.compact-employee-option small{font-size:10px;color:var(--muted);font-weight:500;line-height:1.25;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compact-employee-option.all-option>span{font-weight:850;font-size:12px;color:#0d527f}
.compact-employee-separator{height:1px;background:var(--line);margin:4px 2px}
@media(max-width:600px){.compact-employee-menu{position:fixed;left:12px;right:12px;top:auto;bottom:18px;width:auto;max-width:none;max-height:60vh}}

.personal-search-filter{grid-template-columns:minmax(240px,1fr) auto auto;align-items:end}.overview-period-note{font-size:13px;color:var(--muted)}.overview-period-note strong{color:var(--text)}@media(max-width:700px){.personal-search-filter{grid-template-columns:1fr}}

.entry-overtime-preview{margin-top:13px;padding-top:12px;border-top:1px solid rgba(21,112,58,.18)}
.entry-overtime-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px;color:#234a60}
.entry-overtime-title>span{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.entry-overtime-title small{font-size:11px;color:#607386}
.entry-overtime-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.entry-overtime-item{background:rgba(255,255,255,.78);border:1px solid #dce8e1;border-radius:9px;padding:9px 11px}
.entry-overtime-item span{display:block;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#617183}
.entry-overtime-item strong{display:block;font-size:17px;margin-top:2px;color:#18324a}
.entry-overtime-item.normal{border-left:4px solid #2e9f5b}
.entry-overtime-item.overtime50{border-left:4px solid #df9a22}
.entry-overtime-item.overtime100{border-left:4px solid #c64f43}
@media(max-width:560px){.entry-overtime-title{align-items:flex-start;flex-direction:column}.entry-overtime-grid{grid-template-columns:1fr}}


/* Mobilapp-lignende navigation og registreringskort */
.mobile-menu-toggle{display:none;border:1px solid #c8d8e6;background:#f5f9fc;color:#0d3859;border-radius:10px;min-height:42px;padding:8px 11px;font-weight:850;align-items:center;gap:7px;cursor:pointer}
.mobile-menu-toggle .menu-icon{font-size:19px;line-height:1;width:18px;text-align:center}
.remember-me-row{display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:2px 0;font-weight:600;cursor:pointer}
.remember-me-row input{width:18px;height:18px;min-width:18px;margin:2px 0 0;padding:0;accent-color:#087dcc;box-shadow:none}
.remember-me-row span{display:flex;flex-direction:column;gap:2px}.remember-me-row strong{font-size:13px;color:#17364b}.remember-me-row small{font-size:11px;color:var(--muted);font-weight:500;line-height:1.35}

@media(max-width:760px){
  .site-header{position:sticky;top:0;z-index:90}
  .masthead{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:10px 12px}
  .mast-title{font-size:23px;overflow:hidden;text-overflow:ellipsis}
  .mobile-menu-toggle{display:inline-flex}
  .masthead .account{gap:0}.masthead .account .btn{padding:9px 11px;min-height:42px;font-size:12px}
  .main-nav{display:none;padding:5px 8px 9px;overflow:visible;flex-direction:column;background:#0d3859;border-top:1px solid rgba(255,255,255,.1)}
  .main-nav.mobile-open{display:flex}
  .main-nav a{width:100%;padding:13px 12px;border-radius:8px;font-size:14px;border-bottom:1px solid rgba(255,255,255,.08)}
  .main-nav a:last-child{border-bottom:0}.main-nav a.active{background:#087dcc}
  .page{margin-top:12px;padding:0 10px 28px}
  .card{padding:16px;border-radius:14px;margin-bottom:12px}
  .register-card{padding:16px}.register-head h1{font-size:25px}
  .time-entry-grid{gap:12px;margin-top:16px}.time-entry-grid input,.time-entry-grid select{min-height:46px;font-size:16px}
  .register-button{width:100%;min-height:54px}
  .net-preview{padding:14px;min-height:auto}.net-line{font-size:16px}.net-preview strong{font-size:21px}
  .entry-overtime-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-overtime-item{padding:8px 7px}.entry-overtime-item strong{font-size:15px}
  .personal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .personal-summary-grid .summary-card{padding:12px;min-width:0}.personal-summary-grid .summary-card strong{font-size:21px}.personal-summary-grid .summary-card small{font-size:10px}
  .period-buttons{gap:6px}.period-btn{flex:1 1 calc(33.333% - 6px);min-width:92px}
  .payroll-period-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .custom-period{grid-template-columns:1fr 1fr}.custom-period-label{grid-column:1/-1}.custom-period .btn{grid-column:1/-1;width:100%}
  .mobile-entry-cards{overflow:visible}
  .mobile-entry-cards table,.mobile-entry-cards tbody,.mobile-entry-cards tr,.mobile-entry-cards td{display:block;width:100%}
  .mobile-entry-cards table{min-width:0}.mobile-entry-cards thead{display:none}
  .mobile-entry-cards tbody{display:grid;gap:10px}
  .mobile-entry-cards tr{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;background:#fff;border:1px solid #dce7f1;border-radius:13px;padding:10px 12px;box-shadow:0 5px 15px rgba(13,49,82,.05)}
  .mobile-entry-cards td{border:0;padding:7px 0;min-width:0;text-align:left!important;overflow-wrap:anywhere}
  .mobile-entry-cards td::before{content:attr(data-label);display:block;color:#6b7f91;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
  .mobile-entry-cards td[data-label="Kunde"],.mobile-entry-cards td[data-label="Arbejdssted"],.mobile-entry-cards td[data-label="Opgave"],.mobile-entry-cards td.actions{grid-column:1/-1}
  .mobile-entry-cards td.actions{padding-top:9px;border-top:1px solid #edf1f5;margin-top:3px}.mobile-entry-cards td.actions::before{display:none}.mobile-entry-cards td.actions .btn{width:100%;min-height:42px}
  .mobile-entry-cards .empty{grid-column:1/-1;text-align:center!important;padding:20px 8px}.mobile-entry-cards .empty::before{display:none}
  .card-head{align-items:flex-start}.card-head .btn{white-space:normal;text-align:center}
}
@media(max-width:420px){
  .mast-title{font-size:20px}.mobile-menu-toggle span:last-child{display:none}.mobile-menu-toggle{padding:8px 10px}
  .personal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .entry-overtime-grid{grid-template-columns:1fr}.entry-overtime-item{display:flex;align-items:center;justify-content:space-between}.entry-overtime-item strong{margin:0}
}
/* Timepris og omkostning */
.cost-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.cost-card{border-top:3px solid #6d4bd1}
.cost-card strong{color:#5036a6}
.warning-text{color:#a16207!important;font-weight:800}
@media(max-width:1100px){.cost-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cost-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.cost-summary-grid{grid-template-columns:1fr}}

/* Omkostningsdetaljer i admin-summary */
.summary-cost-line{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.summary-cost-line span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.summary-cost-line b{font-size:13px;color:var(--text);white-space:nowrap}
.cost-breakdown{margin-top:8px;padding-top:8px;border-top:1px solid rgba(80,54,166,.16);display:grid;gap:5px}
.cost-breakdown small{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cost-breakdown small span{font-size:10px;color:var(--muted);font-weight:700}
.cost-breakdown small b{font-size:11px;color:#5036a6;white-space:nowrap}
@media(max-width:480px){.summary-cost-line{padding-top:8px}.cost-breakdown{gap:4px}}

/* Rapporteksport: intern PDF, delings-PDF og CSV */
.report-export-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.report-export-actions .btn{white-space:nowrap}
@media(max-width:900px){.card-head:has(.report-export-actions){align-items:flex-start;flex-direction:column}.report-export-actions{width:100%;justify-content:flex-start}}
@media(max-width:600px){.report-export-actions{display:grid;grid-template-columns:1fr;width:100%}.report-export-actions .btn{width:100%}}

/* Bredere adminvisning + altid synlig Ret-knap */
@media (min-width:1181px){
  .page{max-width:1440px}
}

.wide-result-table{
  scrollbar-gutter:stable;
}

.wide-result-table th:last-child,
.wide-result-table td:last-child{
  position:sticky;
  right:0;
  min-width:74px;
  width:74px;
  background:#fff;
  border-left:1px solid var(--line);
  box-shadow:-8px 0 14px -14px rgba(15,23,42,.45);
}

.wide-result-table th:last-child{z-index:4}
.wide-result-table td:last-child{z-index:2}

.wide-result-table td.actions .btn{
  min-width:52px;
  white-space:nowrap;
}

@media (min-width:761px){
  .wide-result-table td:nth-child(4),
  .wide-result-table td:nth-child(5){
    min-width:150px;
    max-width:240px;
  }
}

/* Dropdowns skal kunne åbne oven på indholdet */
.filters,
.filter-card,
.filters-grid,
.employee-multiselect {
  overflow: visible !important;
}

.employee-multiselect {
  position: relative;
  z-index: 50;
}

.employee-dropdown,
.employee-options,
.multi-select-menu {
  z-index: 9999 !important;
  max-height: 320px;
  overflow-y: auto;
}

/* Medarbejderfilter som enkel dropdown */
.search-card{
  overflow:visible!important;
  position:relative;
  z-index:20;
}

.search-card + .summary-grid{
  position:relative;
  z-index:1;
}

@media (min-width:761px){
  .compact-employee-picker{
    z-index:100;
  }

  .compact-employee-menu{
    top:calc(100% + 2px);
    left:0;
    width:100%;
    max-width:none;
    max-height:360px;
    padding:0;
    border:1px solid #8b98a8;
    border-radius:0;
    background:#fff;
    box-shadow:0 8px 18px rgba(15,23,42,.12);
    overflow-y:auto;
    z-index:9999!important;
  }

  .compact-employee-separator{
    display:none;
  }

  .compact-employee-option{
    position:relative;
    display:block;
    min-height:34px;
    padding:7px 14px;
    border-radius:0;
    font-size:13px;
    line-height:20px;
    font-weight:500;
    color:#172033;
    background:#fff;
  }

  .compact-employee-option:hover{
    background:#edf4ff;
  }

  .compact-employee-option input{
    position:absolute;
    opacity:0;
    width:1px;
    height:1px;
    pointer-events:none;
  }

  .compact-employee-option>span{
    display:block;
  }

  .compact-employee-option strong{
    font-size:13px;
    font-weight:500;
  }

  .compact-employee-option small{
    display:none;
  }

  .compact-employee-option.all-option>span{
    font-size:13px;
    font-weight:500;
    color:inherit;
  }

  .compact-employee-option:has(input:checked){
    background:#246fd5;
    color:#fff;
  }

  .compact-employee-option:has(input:checked):hover{
    background:#1f62bd;
  }
}
