:root{--primary:#1f4f8f;--accent:#f2a900;--bg:#f3f6fb;--card:#fff;--text:#172033;--muted:#667085;--border:#d9e2ef;--soft:#f8fafc}
*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.35;overflow-x:hidden}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
[hidden]{display:none!important}
header{background:var(--nav-bg,var(--primary));color:var(--nav-text,#fff);padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:5;box-shadow:0 2px 12px rgba(0,0,0,.12)}header a{color:var(--nav-text,#fff);text-decoration:none}header a:hover{text-decoration:none}.brand{display:flex;align-items:center;gap:10px;font-weight:700;white-space:nowrap}.brand img{height:36px;max-width:150px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}nav a{font-weight:600;white-space:nowrap}
main{width:min(1500px,calc(100% - 36px));margin:22px auto;background:transparent;padding:0;border-radius:0;box-shadow:none}h1{margin:0 0 20px;color:var(--primary);font-size:32px}h2{margin:0 0 14px;color:var(--primary);font-size:22px}p{margin:8px 0 12px}.muted{color:var(--muted);font-size:14px}.ok,.success{background:#e8f7ec;border-left:4px solid #2f9e44;padding:10px;border-radius:8px}.alert{background:#fff7ed;border-left:4px solid #f59e0b;padding:10px;border-radius:8px}.app-footer{position:fixed;left:0;right:0;bottom:0;z-index:900;background:rgba(255,255,255,.96);border-top:1px solid var(--border);box-shadow:0 -6px 20px rgba(15,23,42,.08);padding:7px 14px;text-align:center;font-size:12px;font-weight:700;color:#475569}body{padding-bottom:38px}
h1,h2{color:var(--heading-color,var(--primary))}
label{display:block;margin:0 0 13px;font-weight:700;min-width:0}input,select,textarea{display:block;width:100%;max-width:100%;min-width:0;padding:10px 11px;margin-top:6px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit}textarea{min-height:88px;resize:vertical}input[type=checkbox],input[type=radio]{display:inline-block;width:auto;margin:0 8px 0 0}button,.button{display:inline-block;background:var(--primary);color:#fff;border:0;border-radius:8px;padding:10px 14px;text-decoration:none;cursor:pointer;font-weight:700;font:inherit;line-height:1.1}button:hover,.button:hover{filter:brightness(.95);text-decoration:none}.secondary{background:#e9edf5!important;color:#172033!important}.button-warning{background:#facc15!important;color:#422006!important;border:1px solid #d97706!important}.button-danger{background:#dc2626!important;color:#fff!important;border:1px solid #991b1b!important}.small{padding:4px 8px;font-size:12px}.check{display:flex;align-items:center;gap:8px;font-weight:400;margin:7px 0;min-width:0;overflow-wrap:anywhere}.check input{flex:0 0 auto}
table{width:100%;border-collapse:collapse;margin-top:16px;background:#fff;border-radius:12px;overflow:hidden}th,td{padding:10px;border-bottom:1px solid #e5e8ef;text-align:left;vertical-align:top}th{background:#f1f3f7;color:var(--primary)}.table-wrap{width:100%;overflow-x:auto}.avatar{width:42px;height:42px;object-fit:cover;border-radius:50%}
.panel,.card,fieldset{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 4px 14px rgba(15,23,42,.045);min-width:0;max-width:100%;overflow:hidden}.panel{margin:0 0 14px}fieldset{margin:16px 0}legend{font-weight:700;color:var(--primary);padding:0 6px}
.auth-page{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--staffplan-header-height,72px));width:100vw;margin:-22px calc(50% - 50vw);padding:52px 18px;overflow:hidden;background:#102236}.auth-page::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,18,32,.70),rgba(6,18,32,.28) 36%,rgba(6,18,32,.16) 58%,rgba(6,18,32,.62)),linear-gradient(180deg,rgba(6,18,32,.20),rgba(6,18,32,.70)),var(--auth-bg-image,url("/assets/img/front_back.png")) center/cover no-repeat;transform:scale(1.02)}.auth-page::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.12),transparent 30%),rgba(8,24,40,.16)}.auth-panel{position:relative;z-index:1;width:100%;max-width:420px}.auth-brand{display:flex;justify-content:center;margin:0 0 14px}.auth-brand img{display:block;max-width:150px;max-height:150px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.28))}.auth-title{text-align:center;margin:0 0 18px;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45)}.auth-card{width:100%;box-sizing:border-box;background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.65);box-shadow:0 24px 70px rgba(0,0,0,.32);backdrop-filter:blur(10px)}.auth-page .alert{box-shadow:0 14px 36px rgba(0,0,0,.22)}
.auth-page::before{background-image:linear-gradient(90deg,rgba(6,18,32,.46),rgba(6,18,32,.15) 36%,rgba(6,18,32,.08) 58%,rgba(6,18,32,.38)),linear-gradient(180deg,rgba(6,18,32,.06),rgba(6,18,32,.42)),var(--auth-bg-image,url("/assets/img/front_back.png"));filter:brightness(1.14) saturate(1.04)}.auth-page::after{background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.18),transparent 34%),rgba(8,24,40,.05)}
.employee-form{width:100%;max-width:100%}.employee-page{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start;width:100%}.employee-side{display:grid;grid-template-columns:1fr;gap:18px;min-width:0}.employee-content{display:grid;grid-template-columns:1fr;gap:18px;width:100%;min-width:0;margin:0;padding:0;background:transparent;box-shadow:none;border-radius:0}.photo-panel{text-align:left}.profile-photo{display:block;width:180px!important;height:180px!important;max-width:100%;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:var(--soft);margin:0 auto 14px}.photo-placeholder{width:180px;height:180px;max-width:100%;margin:0 auto 14px;border:1px dashed #ccd3dd;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--soft);text-align:center}.photo-panel input[type=file]{font-size:14px;padding:8px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-items:start}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}.employee-side .checkbox-grid{grid-template-columns:1fr}.employee-side textarea{min-height:80px}.phone-field-row{display:flex;gap:8px;align-items:flex-end}.phone-field-row input{margin-top:6px;flex:0 0 12ch;max-width:12ch;min-width:12ch}.phone-call-button{white-space:nowrap;align-self:flex-end;margin-top:6px;background:#16a34a!important;color:#fff!important}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:10px 0 18px}.stats-grid div{border:1px solid #e2e6ee;border-radius:12px;padding:12px;text-align:center;background:var(--soft);min-width:0}.stats-grid strong{display:block;font-size:24px;color:var(--primary)}.stats-grid span{font-size:13px;color:var(--muted)}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.side-actions{position:sticky;bottom:12px;background:rgba(243,246,251,.94);padding:10px;border-radius:12px;border:1px solid var(--border)}.inline-action{width:min(1500px,calc(100% - 36px));margin:16px auto 40px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.secret{font-family:monospace;letter-spacing:.06em}
@media(max-width:1100px){main{width:min(100% - 24px,1500px)}.employee-page{grid-template-columns:280px minmax(0,1fr)}.field-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){header{position:static;align-items:flex-start;flex-direction:column;padding:14px 16px;gap:12px}.brand img{height:32px}nav{gap:10px 14px}main{width:calc(100% - 20px);margin:14px auto}.employee-page{grid-template-columns:1fr;gap:14px}.employee-side{order:1}.employee-content{order:2}.panel,.card,fieldset{padding:15px}.profile-photo,.photo-placeholder{width:150px!important;height:150px!important}.checkbox-grid,.stats-grid{grid-template-columns:1fr}.phone-field-row{flex-direction:row;align-items:flex-end}.phone-field-row input{flex:1 1 auto;max-width:none;min-width:0}.phone-call-button{width:auto;text-align:center}.side-actions{position:static}.inline-action{width:calc(100% - 20px);margin:14px auto 30px}h1{font-size:28px}}
@media(max-width:820px){.auth-page{min-height:calc(100vh - 24px);margin:-14px calc(50% - 50vw);padding:38px 12px;background-position:center}.auth-page::before{background-position:center top}.auth-title{font-size:28px}}

@media(min-width:821px){
    body.has-fixed-header{padding-top:var(--staffplan-header-height,72px)}
    body.has-fixed-header>header{position:fixed;top:0;left:0;right:0;z-index:950}
}
@media(max-width:820px){
    body.has-fixed-header{padding-top:0}
    body.has-fixed-header>header{position:static}
}

.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}.theme-option{display:grid;gap:10px;margin:0;padding:14px;border:2px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.045);cursor:pointer}.theme-option:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 3px rgba(31,79,143,.14)}.theme-option input{width:auto;margin:0;justify-self:start}.theme-option>strong{font-size:17px;color:var(--heading-color,var(--primary))}.theme-option>span:not(.theme-preview){color:var(--muted);font-weight:400}.theme-preview{display:grid;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.theme-preview-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--preview-nav);color:var(--preview-nav-text);padding:10px 12px}.theme-preview-nav span,.theme-preview-nav strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-preview-body{display:grid;gap:4px;padding:14px 12px;color:#172033}.theme-preview-body strong{color:var(--preview-heading);font-size:18px}.theme-preview-body span{font-size:13px;color:#667085;font-weight:400}.theme-preview-checkin{display:flex;justify-content:flex-start;padding:10px 12px;background:var(--preview-checkin-bg);border-top:1px solid var(--preview-checkin-border)}.theme-preview-checkin span{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:10px;border:1px solid var(--preview-checkin-border);background:var(--preview-checkin-button);color:var(--preview-checkin-text);font-weight:900}.theme-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:2px}
.theme-editor-panel{padding:0;overflow:hidden}.theme-editor{display:grid;grid-template-columns:minmax(300px,440px) minmax(0,1fr);gap:0;align-items:stretch}.theme-live-preview{display:grid;grid-template-rows:auto auto 1fr auto;min-height:520px;background:#fff;border-right:1px solid var(--border);overflow:hidden}.theme-live-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;background:var(--preview-nav);color:var(--preview-nav-text)}.theme-live-top strong{font-size:18px;margin-right:auto}.theme-live-top span{font-weight:800}.theme-live-admin{display:flex;gap:10px;flex-wrap:wrap;padding:12px 18px;background:var(--preview-admin-bg);border-top:1px solid var(--preview-admin-border);border-bottom:1px solid var(--preview-admin-border);color:var(--preview-admin-text)}.theme-live-admin button{background:var(--preview-admin-button);color:var(--preview-admin-button-text);border:1px solid var(--preview-admin-border);border-radius:10px;padding:8px 11px;font-weight:900}.theme-live-admin button:nth-child(2){background:var(--preview-admin-button-hover)}.theme-live-body{display:grid;align-content:start;gap:8px;padding:28px 24px;background:#f3f6fb}.theme-live-employee-hero{display:grid;gap:4px;margin:0 0 10px;padding:16px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--preview-employee-hero,#0f766e),var(--preview-primary));box-shadow:0 12px 26px rgba(15,23,42,.16);overflow:hidden}.theme-live-employee-hero small{text-transform:uppercase;font-size:11px;font-weight:900;opacity:.86}.theme-live-employee-hero strong{font-size:22px}.theme-live-employee-hero span{display:block;margin:0;padding:0;border-radius:0;background:transparent;color:#fff;font-weight:700}.theme-live-body h2{margin:0;color:var(--preview-heading);font-size:28px}.theme-live-body p{margin:0;color:#334155}.theme-live-body>span{display:inline-flex;justify-self:start;margin-top:8px;padding:6px 10px;border-radius:999px;background:var(--preview-accent);color:#111827;font-weight:900}.theme-live-login-example{display:grid;gap:8px;margin-top:28px}.theme-live-login-bg{display:flex;align-items:center;justify-content:center;min-height:156px;border:1px solid rgba(15,23,42,.18);border-radius:8px;background:linear-gradient(90deg,rgba(6,18,32,.40),rgba(6,18,32,.12)),var(--preview-login-bg) center/cover no-repeat;overflow:hidden}.theme-live-login-bg img{display:block;max-width:76px;max-height:76px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.30))}.theme-live-login-example small{color:#64748b;font-weight:800}.theme-live-checkin{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 18px;background:var(--preview-checkin-bg);border-top:1px solid var(--preview-checkin-border)}.theme-live-checkin button{background:var(--preview-checkin-button);color:var(--preview-checkin-text);border:1px solid var(--preview-checkin-border);border-radius:10px;padding:9px 12px;font-weight:900}.theme-live-checkin a{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border-radius:10px;background:var(--preview-checkin-action);color:var(--preview-checkin-action-text);font-weight:900;text-decoration:none}.theme-color-groups{display:grid;gap:14px;padding:18px;background:#fff}.theme-color-group{margin:0;padding:14px;border-radius:12px}.theme-color-group legend{font-size:16px}.theme-color-grid,.theme-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px 12px}.theme-color-field,.theme-image-field{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:10px;align-items:center;margin:0;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.theme-image-field{grid-template-columns:1fr}.theme-color-field span,.theme-image-field span{display:grid;gap:4px;font-weight:900;min-width:0}.theme-color-field code{font-size:12px;color:#475569;background:transparent;padding:0}.theme-color-field input[type=color]{width:46px;height:40px;min-width:46px;margin:0;padding:2px;border-radius:8px;cursor:pointer}.theme-image-field input{margin:0}.theme-image-field input[type=file]{padding:8px;background:#fff}.theme-image-field small{display:block;color:#64748b;font-size:12px;font-weight:700;overflow-wrap:anywhere}.theme-editor .theme-actions{padding:0 18px 18px;margin:0}

.cpr-field{width:180px!important;max-width:180px!important}.cpr-field label{display:block!important;margin-bottom:6px!important}.cpr-line{display:flex!important;align-items:center!important;gap:8px!important;width:180px!important;max-width:180px!important}.cpr-line input[type=text]{width:128px!important;min-width:128px!important;max-width:128px!important;flex:0 0 128px!important;font-family:monospace!important;letter-spacing:2px!important}.cpr-line .icon-button{width:42px!important;min-width:42px!important;max-width:42px!important;height:40px!important;padding:0!important;margin:6px 0 0 0!important;flex:0 0 42px!important}
.employee-files{display:grid;gap:10px}.employee-file-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;border-bottom:1px solid var(--border);padding:8px 0}.employee-file-row:last-child{border-bottom:0}.employee-file-info{display:grid;gap:4px}.employee-file-info a{font-weight:700}.employee-file-controls{grid-column:2;display:grid;gap:8px}.employee-file-controls input[type=file]{font-size:13px;padding:7px}.file-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-top:5px;background:#cbd5e1;border:1px solid rgba(0,0,0,.12)}.file-status-green{background:#22c55e}.file-status-yellow{background:#facc15}.file-status-red{background:#ef4444}.file-status-none{background:#cbd5e1}.file-date{font-size:13px;color:var(--muted)}


/* Employee file upload modal */
.employee-file-info .small{justify-self:start;margin-top:4px}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:1000;align-items:center;justify-content:center;padding:18px}.modal-backdrop.is-open{display:flex}.file-modal{position:relative;width:min(440px,100%);background:#fff;border-radius:16px;border:1px solid var(--border);box-shadow:0 22px 70px rgba(0,0,0,.25);padding:20px}.file-modal h3{margin:0 0 10px;color:var(--primary)}.modal-close{position:absolute;right:12px;top:10px;background:#e9edf5!important;color:#172033!important;width:34px;height:34px;padding:0;border-radius:50%;font-size:22px;line-height:1}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.file-modal input[type=file]{font-size:14px;padding:8px}


/* v8 medarbejder-rækkefølge */
.employee-side .block-photo{order:10}
.employee-side .block-control{order:20}
.employee-side .block-dbu{order:30}
.employee-side .block-roles{order:40}
.employee-side .block-groups{order:50}
.employee-side .block-staffside{order:60}
.employee-side .block-files{order:70}
.employee-side .block-clothes{order:80}
.employee-side .block-create{order:15}
.employee-side .block-actions{order:100}

@media(max-width:820px){
    .employee-page{
        display:grid;
        grid-template-columns:1fr;
        gap:14px;
    }

    .employee-side,
    .employee-content{
        display:contents;
    }

    .block-photo{order:10}
    .block-control{order:20}
    .block-basic{order:30}
    .block-contact{order:40}
    .block-dbu{order:50}
    .block-roles{order:60}
    .block-groups{order:70}
    .block-staffside{order:80}
    .block-files{order:90}
    .block-clothes{order:100}
    .block-notes{order:110}
    .block-actions{
        order:130;
        position:static!important;
        margin-top:4px;
    }
    .block-events{order:140}
    .block-create{order:15}

    .inline-action.block-reset{
        width:calc(100% - 20px);
        margin:14px auto 34px;
        justify-content:flex-start;
    }
}

/* v8.1: handlinger ligger i højre side lige før Arrangementer */
.page-actions{background:rgba(243,246,251,.94);padding:12px;border-radius:12px;border:1px solid var(--border);justify-content:flex-start}


/* v8.2 flash + submit fix */
.flash{padding:13px 16px;border-radius:10px;margin:0 0 18px;font-weight:700;border:1px solid transparent}
.flash-success{background:#e8f7ec;color:#166534;border-color:#86efac}
.flash-error{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.page-actions{position:sticky;bottom:10px;z-index:3}
@media(max-width:820px){.page-actions{position:static!important;bottom:auto!important}}

/* v8.5 medarbejderliste ikoner */
.employee-list .avatar-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.avatar-placeholder-small {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #e5e7eb;
    color: #667085;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    border: 1px solid #d9e2ef;
}

.employee-role-icons {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.employee-role-icon,
.role-icon-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    font-size: 18px;
    line-height: 1;
}

.dbu-ball {
    width: 22px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
}

.dbu-ball svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
}

.dbu-yellow { color: #f2a900; }
.dbu-green { color: #16a34a; }

/* v8.6 SVG-rolleikoner */
.role-icon-img {
    width: 22px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
    object-fit: contain;
}

.employee-role-icons {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.employee-role-icon {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
}

/* v8.7: faste størrelser på rolleikoner og ikonvælger */
.role-icon-cell{width:80px;vertical-align:middle}.role-icon-cell .role-icon-img,.role-icon-img,.employee-role-icon{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;display:inline-block!important;object-fit:contain!important;vertical-align:middle!important}.icon-picker-field{display:block;margin:0 0 13px;font-weight:700}.icon-picker-field>label{margin-bottom:6px}.icon-picker{width:100%;max-width:420px;position:relative}.icon-picker summary{list-style:none;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:9px 11px;min-height:43px}.icon-picker summary::-webkit-details-marker{display:none}.icon-picker summary::after{content:"▾";float:right;color:var(--muted);margin-top:2px}.icon-picker-current,.icon-picker-option{display:flex;align-items:center;gap:10px}.icon-picker-list{margin-top:8px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px;max-height:340px;overflow:auto;box-shadow:0 8px 28px rgba(15,23,42,.12);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.icon-picker-option{margin:0;padding:8px;border-radius:8px;font-weight:600;cursor:pointer}.icon-picker-option:hover{background:#f1f5f9}.icon-picker-option input{margin:0;width:auto}.icon-picker-img,.icon-picker-current-img,.icon-picker-option .role-icon-img{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important}.icon-picker-empty{width:22px;height:22px;min-width:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}@media(max-width:820px){.icon-picker-list{grid-template-columns:1fr}}

/* v8.7: faste størrelser på rolleikoner og ikonvælger */
.role-icon-cell{width:80px;vertical-align:middle}.role-icon-cell .role-icon-img,.role-icon-img,.employee-role-icon{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;display:inline-block!important;object-fit:contain!important;vertical-align:middle!important}.icon-picker-field{display:block;margin:0 0 13px;font-weight:700}.icon-picker-field>label{margin-bottom:6px}.icon-picker{width:100%;max-width:420px;position:relative}.icon-picker summary{list-style:none;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:9px 11px;min-height:43px}.icon-picker summary::-webkit-details-marker{display:none}.icon-picker summary::after{content:"▾";float:right;color:var(--muted);margin-top:2px}.icon-picker-current,.icon-picker-option{display:flex;align-items:center;gap:10px}.icon-picker-list{margin-top:8px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px;max-height:340px;overflow:auto;box-shadow:0 8px 28px rgba(15,23,42,.12);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.icon-picker-option{margin:0;padding:8px;border-radius:8px;font-weight:600;cursor:pointer}.icon-picker-option:hover{background:#f1f5f9}.icon-picker-option input{margin:0;width:auto}.icon-picker-img,.icon-picker-current-img,.icon-picker-option .role-icon-img{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important}.icon-picker-empty{width:22px;height:22px;min-width:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}@media(max-width:820px){.icon-picker-list{grid-template-columns:1fr}}

/* v8.8 rolle-sletning */
.danger-box{
    margin-top:22px;
    background:#fff1f2;
    border:1px solid #fecdd3;
    border-left:6px solid #dc2626;
    border-radius:14px;
    padding:18px;
    box-shadow:0 4px 14px rgba(15,23,42,.045);
}
.danger-box h2{color:#991b1b}
.danger-button{background:#dc2626!important;color:#fff!important}


/* v8.9 medarbejderliste filtre */
.list-filters{
    display:flex;
    gap:14px;
    align-items:flex-end;
    flex-wrap:wrap;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    padding:14px;
    margin:12px 0 16px;
    box-shadow:0 4px 14px rgba(15,23,42,.045);
}
.list-filters label{
    min-width:180px;
    margin:0;
}
.list-filters select{
    margin-top:6px;
}
.employee-list th,
.employee-list td{
    white-space:nowrap;
}
.employee-list td:nth-child(7){
    white-space:normal;
    min-width:180px;
}
.employee-group-summary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 10px;
    border:1px solid #d9e2ef;
    border-radius:999px;
    background:#f8fbff;
    color:#1f4f8f;
    font-size:13px;
    font-weight:700;
    cursor:help;
}
.employee-group-icon{
    display:inline-flex;
    width:18px;
    height:18px;
    align-items:center;
    justify-content:center;
    color:#1f4f8f;
}
.employee-group-icon svg{
    width:18px;
    height:18px;
    display:block;
    fill:currentColor;
}
.employee-group-count{
    white-space:nowrap;
}
@media(max-width:820px){
    .list-filters{display:block}
    .list-filters label{margin-bottom:12px;min-width:0;width:100%}
}

/* v8.12 medarbejderliste: live-søgning og højrestillet søgefelt */
.list-filters .filter-spacer{
    flex:1 1 auto;
    min-width:24px;
}
.employee-search-label{
    min-width:260px!important;
    margin-left:24px!important;
}
.employee-search-wrap{
    display:grid;
    grid-template-columns:minmax(220px, 1fr) 42px;
    gap:8px;
    align-items:center;
    margin-top:6px;
}
.employee-search-wrap input{
    margin-top:0;
}
.employee-search-clear{
    height:42px;
    width:42px;
    padding:0;
    margin:0;
    border-radius:8px;
    background:#e9edf5!important;
    color:#172033!important;
    font-size:22px;
    line-height:1;
}
.list-filters.is-loading{
    opacity:.75;
}
#employeeTableWrap.updated{
    animation:employeeTableUpdate .18s ease-out;
}
@keyframes employeeTableUpdate{
    from{opacity:.55;transform:translateY(2px)}
    to{opacity:1;transform:translateY(0)}
}
@media(max-width:820px){
    .list-filters .filter-spacer{display:none}
    .employee-search-label{margin-left:0!important;min-width:0!important;width:100%}
    .employee-search-wrap{grid-template-columns:minmax(0,1fr) 42px}
}

/* v8.13 medarbejderfilter: søg helt til højre + live-søgning */
.employee-filter-bar{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:14px!important;
    align-items:flex-end!important;
}
.employee-filter-bar label{
    margin:0!important;
}
.employee-filter-bar select{
    min-width:160px;
}
.employee-filter-bar .filter-spacer{
    flex:1 1 auto!important;
    min-width:40px!important;
}
.employee-search-label{
    margin-left:auto!important;
    min-width:300px!important;
    max-width:360px!important;
    flex:0 0 320px!important;
}
.employee-search-wrap{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    gap:8px!important;
    align-items:center!important;
    margin-top:6px!important;
}
.employee-search-wrap input{
    margin-top:0!important;
    width:100%!important;
}
.employee-search-clear{
    height:42px!important;
    width:42px!important;
    min-width:42px!important;
    padding:0!important;
    margin:0!important;
    border-radius:8px!important;
    background:#e9edf5!important;
    color:#172033!important;
    font-size:22px!important;
    line-height:1!important;
}
.employee-filter-bar.is-loading{
    opacity:.75;
}
#employeeTableWrap.updated{
    animation:employeeTableUpdate .18s ease-out;
}
@media(max-width:820px){
    .employee-filter-bar{display:block!important}
    .employee-filter-bar label{margin-bottom:12px!important;min-width:0!important;width:100%!important;max-width:none!important;flex:none!important}
    .employee-filter-bar .filter-spacer{display:none!important}
    .employee-search-label{margin-left:0!important;width:100%!important;min-width:0!important;max-width:none!important}
    .employee-search-wrap{grid-template-columns:minmax(0,1fr) 42px!important}
}


/* v8.15 medarbejderoprettelse/log + mobilfoto */
.profile-photo,
.photo-placeholder {
    width: 220px !important;
    height: auto !important;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center top;
}

.photo-panel {
    text-align: center;
}

.audit-changes {
    margin-top: 8px;
    font-size: 14px;
}

.audit-changes th,
.audit-changes td {
    padding: 6px 8px;
}

@media(max-width:820px){
    .profile-photo,
    .photo-placeholder {
        width: min(220px, 100%) !important;
        height: auto !important;
        aspect-ratio: 3 / 4;
    }
}

/* v8.16: Oprettelse under billede + logvisning */
.employee-side .block-photo{order:10!important}
.employee-side .block-create{order:15!important}
.employee-side .block-control{order:20!important}
.profile-photo{object-position:center center}
.employee-last-updated{margin-top:10px}
.audit-changes td,.audit-changes th{font-size:13px}

/* v8.17 SuperAdmin config */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}.nav-dropbtn{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);padding:7px 10px;border-radius:8px;cursor:pointer;font-weight:700}.nav-dropdown-menu{display:none;position:absolute;top:100%;right:0;min-width:170px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px rgba(15,23,42,.18);z-index:20;padding:8px}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block;color:var(--text)!important;padding:9px 10px;border-radius:8px;white-space:nowrap}.nav-dropdown-menu a:hover{background:var(--soft);text-decoration:none}.config-table td,.config-table th{vertical-align:middle}.config-table code{font-size:13px}.config-section td{background:#eef3fb!important;color:var(--primary);font-weight:700}.config-form textarea{min-height:44px;font-family:monospace;font-size:13px}.config-form input,.config-form select,.config-form textarea{margin-top:0}.config-add{margin-top:20px}.flash{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-weight:700}.flash-success{background:#ecfdf5;border:1px solid #86efac;color:#166534}.flash-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
@media(max-width:820px){.nav-dropdown{width:100%;display:block}.nav-dropbtn{width:100%;text-align:left}.nav-dropdown-menu{position:static;margin-top:8px;box-shadow:none}.config-table{min-width:900px}}

/* v9 arrangementer */
.event-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.event-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.event-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px}.event-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 18px}.event-stats-grid div{border:1px solid var(--border);background:var(--soft);border-radius:12px;padding:12px;text-align:center}.event-stats-grid strong{display:block;color:var(--primary);font-size:24px}.event-stats-grid span{font-size:13px;color:var(--muted)}.event-status{display:inline-block;border-radius:999px;padding:4px 9px;font-weight:700;font-size:13px;background:#e9edf5}.event-status-aktiv{background:#dcfce7;color:#166534}.event-status-kladde{background:#fef3c7;color:#92400e}.event-status-aflyst{background:#fee2e2;color:#991b1b}.event-status-afsluttet,.event-status-afregnet{background:#e0e7ff;color:#3730a3}.event-time-form,.event-manual-signup{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}.event-manual-signup{grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(0,2fr) auto}.event-manual-signup label{margin-bottom:0}.event-manual-signup button{align-self:end;margin-top:6px;height:43px}.event-view-only .signup-toolbar{display:none}.inline-form{display:inline-flex;gap:8px;align-items:center}.inline-form select{width:auto;min-width:130px}.success-button{background:#22c55e!important;color:#052e16!important}.warning-button{background:#facc15!important;color:#111827!important}.employee-event-table input,.employee-event-table select{min-width:90px}.signup-table .dbu-ball,.dbu-legend .dbu-ball{font-size:20px;line-height:1}.dbu-green{color:#16a34a}.dbu-yellow{color:#f2a900}.event-info-panel ul{margin-top:4px}
.event-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.event-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.event-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px}.event-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 18px}.event-stats-grid div{border:1px solid var(--border);background:var(--soft);border-radius:12px;padding:12px;text-align:center}.event-stats-grid strong{display:block;color:var(--primary);font-size:24px}.event-stats-grid span{font-size:13px;color:var(--muted)}.event-status{display:inline-block;border-radius:999px;padding:4px 9px;font-weight:700;font-size:13px;background:#e9edf5}.event-status-aktiv{background:#dcfce7;color:#166534}.event-status-kladde{background:#fef3c7;color:#92400e}.event-status-aflyst{background:#fee2e2;color:#991b1b}.event-status-afsluttet,.event-status-afregnet{background:#e0e7ff;color:#3730a3}.event-time-form,.event-manual-signup{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}.event-manual-signup{grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(0,2fr) auto}.event-manual-signup label{margin-bottom:0}.event-manual-signup button{align-self:end;margin-top:6px;height:43px}.event-view-only .signup-toolbar{display:none}.event-open-button{padding:11px 18px;font-size:14px;min-width:72px;text-align:center}.inline-form{display:inline-flex;gap:8px;align-items:center}.inline-form select{width:auto;min-width:130px}.success-button{background:#22c55e!important;color:#052e16!important}.warning-button{background:#facc15!important;color:#111827!important}.employee-event-table input,.employee-event-table select{min-width:90px}.signup-table .dbu-ball,.dbu-legend .dbu-ball{font-size:20px;line-height:1}.dbu-green{color:#16a34a}.dbu-yellow{color:#f2a900}.event-info-panel ul{margin-top:4px}
@media(max-width:900px){.event-form-grid,.event-meta-grid{grid-template-columns:1fr}.event-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-time-form,.event-manual-signup{grid-template-columns:1fr}.event-group-grid{grid-template-columns:1fr}.employee-event-table{min-width:760px}}

/* v9.1 - mødetider direkte på arrangementsformular */
.event-times-inline {
    margin-top: 18px;
    border-top: 1px solid var(--border);
    padding-top: 16px;
}
.event-time-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.event-time-grid label {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin: 0;
}
.event-time-grid label strong {
    color: var(--text);
}
.event-time-grid .hint {
    display: block;
    color: #dc2626;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    margin-top: 3px;
}
.event-time-grid input {
    margin-top: 0;
}
.event-time-grid input:invalid {
    border-color: #dc2626;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, .12);
}
.event-time-all {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 10px;
    padding: 10px;
}
@media(max-width:820px){
    .event-time-grid label {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

/* v9.3 - arrangement form cleanup */
.event-time-grid label {
    font-weight: 400 !important;
}
.event-time-label {
    font-weight: 400 !important;
    color: var(--text);
}

/* v9.4 - arrangement form layout */
.date-compact { max-width: 220px; }
.date-compact input[type="date"] { width: 180px; max-width: 180px; }
.deadline-fields { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.deadline-time-compact { max-width: 130px; }
.deadline-time-compact input[type="time"] { width: 110px; max-width: 110px; }
.event-time-grid label { grid-template-columns: 170px minmax(320px, 1fr); }
.event-time-label { font-weight: 400 !important; }
.event-time-grid input { width: 100%; }
.event-time-all { grid-template-columns: 170px minmax(320px, 1fr) !important; }
.event-time-all .hint { grid-column: 2; margin-top: -4px; }
.event-time-help { margin: 8px 0 0 182px; }
@media(max-width:820px){
    .date-compact, .date-compact input[type="date"] { max-width: 100%; width: 100%; }
    .deadline-fields { display: grid; grid-template-columns: minmax(0, 1fr) 120px; align-items: end; }
    .event-time-grid label, .event-time-all { grid-template-columns: 1fr !important; }
    .event-time-all .hint { grid-column: auto; margin-top: 0; }
    .event-time-help { margin-left: 0; }
}
@media(max-width:560px){
    .deadline-fields { grid-template-columns: 1fr; }
    .deadline-time-compact, .deadline-time-compact input[type="time"] { max-width: 100%; width: 100%; }
}


/* v9.6 arrangement sluttid + fejl-log */
.time-compact input,
.date-compact input {
    max-width: 180px;
}

.error-log-table .error-message {
    max-width: 520px;
    white-space: normal;
    word-break: break-word;
}

.error-log-meta {
    color: var(--muted);
    font-size: 13px;
}

.error-log-stack {
    max-height: 260px;
    overflow: auto;
    background: #0f172a;
    color: #e5e7eb;
    padding: 12px;
    border-radius: 10px;
    font-size: 12px;
    white-space: pre-wrap;
}

/* v9.7 - live statistik + mobilvenlig tilmeldingsliste */
.signup-status-form {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(150px, 1fr) auto;
    gap: 8px;
    align-items: end;
}
.signup-status-form .compact-label {
    margin: 0;
    font-size: 13px;
}
.signup-status-form select {
    margin-top: 4px;
}
@media(max-width:820px){
    .signup-table-mobile,
    .signup-table-mobile tbody,
    .signup-table-mobile tr,
    .signup-table-mobile td {
        display: block;
        width: 100%;
    }
    .signup-table-mobile thead,
    .signup-table-mobile th {
        display: none;
    }
    .signup-table-mobile tr {
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 12px;
        margin: 0 0 12px;
        padding: 10px;
    }
    .signup-table-mobile td {
        border: 0;
        padding: 7px 0;
    }
    .signup-table-mobile td::before {
        content: attr(data-label);
        display: block;
        color: var(--muted);
        font-size: 12px;
        font-weight: 700;
        margin-bottom: 3px;
    }
    .signup-status-form {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

/* v9.8 kompakt tilmeldingsliste på arrangement */
.signup-table-compact{font-size:14px;line-height:1.15}
.signup-table-compact th,.signup-table-compact td{padding:4px 6px;vertical-align:middle}
.signup-table-compact .signup-phone{display:inline-block;margin-left:7px;font-size:12px;white-space:nowrap}
.signup-table-compact .signup-message{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.signup-status-inline{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;margin:0;white-space:nowrap}
.signup-status-inline select{margin:0!important;padding:3px 6px!important;height:30px!important;font-size:13px!important;border-radius:6px!important;line-height:1.1!important}
.signup-status-select{width:116px!important;min-width:116px!important;max-width:116px!important}
.signup-time-select{width:118px!important;min-width:118px!important;max-width:118px!important}
.signup-status-inline button.small{height:30px!important;padding:3px 8px!important;font-size:12px!important;line-height:1!important;border-radius:6px!important}
.signup-row-status-bekraeftet{background:#f0fdf4}
.signup-row-status-tilmeldt{background:#eff6ff}
.signup-row-status-venteliste{background:#fffbeb}
.signup-row-status-kan_ikke,.signup-row-status-afbud,.signup-row-status-fravalgt{background:#f8fafc;color:#475569}
.signup-row-status-syg,.signup-row-status-udeblevet{background:#fef2f2}
.signup-row-status-deltaget{background:#ecfdf5}
@media(max-width:820px){.signup-status-inline{gap:4px}.signup-status-select{width:110px!important;min-width:110px!important}.signup-time-select{width:105px!important;min-width:105px!important}.signup-table-compact{font-size:13px}.signup-table-compact th,.signup-table-compact td{padding:5px}}

/* v9.9 kompakt tilmeldingsliste */
.signup-table-compact {
    font-size: 13px;
}
.signup-table-compact th,
.signup-table-compact td {
    padding: 4px 6px !important;
    line-height: 1.15;
    vertical-align: middle;
}
.signup-table-compact .signup-person a {
    font-weight: 700;
}
.signup-table-compact .signup-phone {
    display: inline-block;
    color: var(--muted);
    font-size: 12px;
    margin-left: 6px;
}
.signup-table-compact .signup-message {
    max-width: 260px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.signup-status-form {
    display: flex;
    gap: 5px;
    align-items: center;
    margin: 0;
    flex-wrap: nowrap;
}
.signup-status-form select {
    margin: 0;
    height: 30px;
    padding: 3px 6px;
    font-size: 13px;
    border-radius: 6px;
}
.signup-status-select {
    width: 112px !important;
    min-width: 112px !important;
}
.signup-time-select {
    width: 118px !important;
    min-width: 118px !important;
}
.signup-status-form button.small {
    height: 30px;
    padding: 3px 8px;
    font-size: 12px;
}
.status-pill {
    display: inline-block;
    min-width: 78px;
    text-align: center;
    padding: 3px 6px;
    border-radius: 999px;
    background: #eef3fb;
    color: var(--primary);
    font-size: 12px;
    font-weight: 700;
}
.status-pill-bekraeftet,
.status-pill-deltaget {
    background: #dcfce7;
    color: #166534;
}
.status-pill-tilmeldt {
    background: #e0f2fe;
    color: #075985;
}
.status-pill-venteliste {
    background: #fef3c7;
    color: #92400e;
}
.status-pill-afbud,
.status-pill-kan_ikke,
.status-pill-fravalgt,
.status-pill-syg,
.status-pill-udeblevet {
    background: #fee2e2;
    color: #991b1b;
}
@media (max-width: 900px) {
    .signup-status-form {
        flex-wrap: wrap;
    }
    .signup-table-compact .signup-message {
        white-space: normal;
    }
}


/* StaffPlan.dk v9.14 - event signup manual save */
.signup-manual-save-only {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}
.signup-group-select,
.signup-time-input,
.signup-status-select {
    min-width: 110px;
    max-width: 180px;
}
.signup-time-input {
    width: 90px;
}
.signup-table-compact td,
.signup-table-compact th {
    padding: 4px 6px;
    vertical-align: middle;
}
.status-tilmeldt,
.status-pill-tilmeldt { background: #e8f5e9; }
.status-bekraeftet,
.status-pill-bekraeftet { background: #c8e6c9; }
.status-venteliste,
.status-pill-venteliste { background: #fff9c4; }
.status-fravalgt,
.status-pill-fravalgt { background: #eeeeee; }
.status-afbud,
.status-pill-afbud { background: #ffe0b2; }
.status-kan_ikke,
.status-pill-kan_ikke { background: #e0e0e0; }
.status-syg,
.status-pill-syg { background: #f8bbd0; }
.status-udeblevet,
.status-pill-udeblevet { background: #ffcdd2; }
.status-deltaget,
.status-pill-deltaget { background: #bbdefb; }
.status-pill {
    display: inline-block;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 12px;
    white-space: nowrap;
}


/* v9.15 admin/mail + manual save only */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}.nav-dropbtn{background:transparent;border:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:8px 10px}.nav-dropdown-menu{display:none;position:absolute;top:100%;right:0;min-width:190px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 28px rgba(15,23,42,.14);padding:8px;z-index:50}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:grid;gap:4px}.nav-dropdown-menu a{display:block;padding:8px 10px;border-radius:8px;white-space:nowrap;color:var(--primary);text-decoration:none}.nav-dropdown-menu a:hover{background:var(--soft)}
.send-all-mail-form{display:flex;justify-content:flex-end;margin:0 0 10px}.signup-table-compact .inline-form{margin:0}.mail-template-editor textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;min-height:120px}.mail-template-editor code,.panel code{display:inline-block;background:#eef2f7;border:1px solid var(--border);border-radius:7px;padding:2px 6px;margin:2px}



/* StaffPlan v9.21 */
.signup-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:8px 0 10px;flex-wrap:wrap}.signup-bulk-save-form{display:inline-flex}.signup-bulk-save-button{font-weight:700}.worked-time-fields{display:inline-flex;align-items:center;gap:4px;margin-left:6px}.worked-label{font-size:12px;font-weight:700;color:#334155}.worked-hours{width:58px!important;min-width:58px!important}.worked-minutes{width:62px!important;min-width:62px!important}.signup-row.status-deltaget .worked-time-fields{background:rgba(255,255,255,.45);border-radius:8px;padding:2px 4px}

/* StaffPlan v9.22 */
.worked-time-cell { white-space: nowrap; }
.worked-time-text {
    width: 70px;
    padding: 6px 8px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
}
.worked-time-text:disabled {
    background: #f1f5f9;
    color: #94a3b8;
}
.icon-mail {
    min-width: 34px;
    font-size: 16px;
    line-height: 1;
}


/* StaffPlan v9.29 modal til arbejdstimer */
.staffplan-modal-backdrop { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.45); padding: 20px; }
.staffplan-modal { width: min(420px, 100%); background: #fff; border-radius: 12px; box-shadow: 0 18px 60px rgba(0,0,0,.28); padding: 18px; }
.staffplan-modal h3 { margin: 0 0 8px; }
.staffplan-modal-help { margin: 0 0 12px; color: #444; font-size: 14px; }
.staffplan-modal-input { width: 100%; box-sizing: border-box; font-size: 22px; padding: 10px 12px; border: 1px solid #bbb; border-radius: 8px; }
.staffplan-modal-error { min-height: 20px; color: #b00020; font-size: 13px; margin-top: 8px; }
.staffplan-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }

/* StaffPlan session warning */
.session-warning-backdrop{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.55);backdrop-filter:blur(2px)}
.session-warning-backdrop[hidden]{display:none!important}
.session-warning-modal{width:min(460px,100%);background:#fff;border:1px solid #d6e1ef;border-radius:14px;padding:22px;box-shadow:0 24px 70px rgba(15,23,42,.28)}
.session-warning-modal h2{margin:0 0 8px;color:var(--primary)}
.session-warning-modal p{margin:8px 0;color:#334155}
.session-warning-time{padding:10px 12px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb;font-weight:800}
.session-warning-time strong{color:#92400e}
.session-warning-status{min-height:20px;color:#40516d;font-size:13px;font-weight:700}
.session-warning-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px}
.session-warning-actions button{min-width:118px}
.signup-row.saved { outline: 2px solid #3bb54a; outline-offset: -2px; }

/* StaffPlan v9.33: arbejdstimer bevares altid, men gråtones når status ikke er Deltaget */
.worked-time-text.worked-time-muted,
.worked-time-text:disabled {
    background: #f1f1f1;
    color: #777;
    border-color: #ddd;
    opacity: 1;
}

/* StaffPlan v9.34: mouseover-log på tilmelding */
.signup-log {
    position: relative;
    display: inline-block;
    margin-left: 4px;
    vertical-align: middle;
}
.signup-log-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: #eef2ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    font-size: 10px;
    line-height: 1;
    cursor: help;
}
.signup-log-tooltip {
    display: none;
    position: absolute;
    left: 18px;
    top: -8px;
    z-index: 1000;
    min-width: 320px;
    max-width: 520px;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #111827;
    box-shadow: 0 12px 30px rgba(15,23,42,.18);
    font-size: 12px;
    line-height: 1.45;
    white-space: normal;
}
.signup-log:hover .signup-log-tooltip,
.signup-log:focus .signup-log-tooltip,
.signup-log:focus-within .signup-log-tooltip {
    display: block;
}

/* StaffPlan v9.35: lille ur-ikon til ændringslog + ingen telefon i oversigt */
.signup-phone { display: none !important; }
.log-clock {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
    font-size: 13px;
    line-height: 1;
    cursor: help;
    vertical-align: middle;
}
.log-clock-tooltip {
    display: none;
    position: absolute;
    left: 18px;
    top: -8px;
    z-index: 9999;
    min-width: 320px;
    max-width: 560px;
    max-height: 260px;
    overflow: auto;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #111827;
    box-shadow: 0 12px 30px rgba(15,23,42,.18);
    font-size: 12px;
    line-height: 1.45;
    white-space: normal;
    text-align: left;
}
.log-clock:hover .log-clock-tooltip,
.log-clock:focus .log-clock-tooltip,
.log-clock:focus-within .log-clock-tooltip {
    display: block;
}

/* StaffPlan v9.38: log-ur placeret lige efter mødetid */
.signup-time-display .log-clock {
    margin-left: 6px;
}

/* v9.41 log clock efter mødetid */
.signup-time-display .log-clock,
.log-clock {
    display: inline-block !important;
    margin-left: 6px !important;
    cursor: help !important;
    font-size: 13px !important;
    line-height: 1 !important;
    vertical-align: baseline !important;
}
.log-clock-tooltip {
    display: none;
    position: absolute;
    z-index: 9999;
    max-width: 420px;
    white-space: normal;
    background: #fff;
    color: #111;
    border: 1px solid #999;
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(0,0,0,.20);
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.35;
}
.log-clock:hover .log-clock-tooltip,
.log-clock:focus .log-clock-tooltip {
    display: inline-block;
}

/* StaffPlan v9.42 - pæn log-tooltip */
.signup-time-display .log-clock {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-left: 6px !important;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    font-size: 12px !important;
    cursor: help !important;
    vertical-align: middle !important;
    position: relative;
}
.signup-time-display .log-clock:hover {
    background: #eef6ff;
    border-color: var(--primary, #1f4f8f);
}
.signup-time-display .log-clock-tooltip {
    display: none;
    position: absolute;
    left: 22px;
    top: -10px;
    z-index: 99999;
    min-width: 340px;
    max-width: 620px;
    max-height: 340px;
    overflow: auto;
    padding: 10px 12px;
    border: 1px solid #94a3b8;
    border-radius: 10px;
    background: #ffffff;
    color: #111827;
    box-shadow: 0 14px 40px rgba(15, 23, 42, .22);
    font-size: 12px;
    line-height: 1.55;
    white-space: normal;
    text-align: left;
}
.signup-time-display .log-clock:hover .log-clock-tooltip,
.signup-time-display .log-clock:focus .log-clock-tooltip,
.signup-time-display .log-clock:focus-within .log-clock-tooltip {
    display: block !important;
}


/* StaffPlan v9.44 afregning */
.settle-table input.settle-hours-input { max-width: 110px; text-align: right; }
.settle-actions { margin-top: 14px; }
.settle-panel .muted { margin-top: 0; }

/* v9.48 Danløn/afregning */
.settle-danlon-id {
    display: inline-block;
    max-width: 260px;
    margin: 0 0 14px 0;
}
.settle-danlon-id input {
    width: 100%;
}

/* v9.49 Danløn felter på afregningssiden */
.settle-danlon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin: 12px 0 16px;
}
.settle-danlon-grid label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-weight: 600;
}
.settle-danlon-grid input[readonly] {
    background: #f3f4f6;
    color: #555;
}

/* StaffPlan v9.52 lønoverblik på afregning */
.settle-overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin: 12px 0 16px;
}
.settle-overview-grid > div {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 10px 12px;
}
.settle-overview-grid strong {
    display: block;
    font-size: 20px;
    line-height: 1.1;
}
.settle-overview-grid span {
    display: block;
    color: #6b7280;
    font-size: 12px;
    margin-top: 4px;
}
.settle-row-missing-hours input.settle-hours-input {
    border-color: #f59e0b;
    background: #fffbeb;
}
.settle-actions .button,
.settle-actions button {
    margin-right: 8px;
}

/* v12.5 admin dashboard */
.dash-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:26px;
    border-radius:22px;
    color:#fff;
    background:linear-gradient(135deg,var(--primary),#0f766e);
    box-shadow:0 18px 46px rgba(15,23,42,.18);
    margin-bottom:18px;
    overflow:hidden;
    position:relative;
}
.dash-hero:after{
    content:"";
    position:absolute;
    width:240px;
    height:240px;
    right:-70px;
    top:-90px;
    background:rgba(255,255,255,.12);
    border-radius:50%;
}
.dash-hero p,.dash-hero h1,.dash-hero span{position:relative;z-index:1}.dash-hero p{margin:0 0 4px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;opacity:.85}.dash-hero h1{margin:0 0 6px;color:#fff;font-size:34px}.dash-hero span{opacity:.9}.dash-super{position:relative;z-index:1;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 12px;font-weight:700;white-space:nowrap}
.dash-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0 0 18px}.dash-stat{display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px;color:var(--text);box-shadow:0 6px 18px rgba(15,23,42,.06);text-decoration:none;min-height:128px}.dash-stat:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,23,42,.10)}.dash-stat>span{display:block;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-stat>strong{display:block;font-size:34px;line-height:1.05;margin:12px 0 6px;color:var(--primary)}.dash-stat>em{display:block;font-style:normal;color:var(--muted);font-size:13px}.dash-stat.green>strong{color:#15803d}.dash-stat.yellow>strong{color:#b45309}.dash-stat.red>strong{color:#b91c1c}.dash-stat.blue>strong{color:#1d4ed8}.dash-stat.purple>strong{color:#7e22ce}.dash-stat-combo>strong{display:flex;align-items:baseline;gap:7px;margin:12px 0 6px}.dash-stat-combo .dash-signup-number{display:inline;color:#15803d;font-size:34px;font-weight:800;line-height:1}.dash-stat-combo .dash-wait-number{display:inline;color:#1d4ed8;font-size:34px;font-weight:800;line-height:1}.dash-stat-combo b{color:var(--muted);font-size:26px;line-height:1;font-weight:700}
.dash-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:18px;align-items:start}.dash-col{display:grid;gap:18px;align-content:start;min-width:0}.dash-wide{grid-column:1 / -1}.dash-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:0 6px 18px rgba(15,23,42,.06);min-width:0}.dash-span-2{grid-column:span 1}.dash-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dash-card-head h2{margin:0}.dash-card-head a{font-weight:700;font-size:14px}.dash-event-list,.dash-action-list,.dash-news-list{display:grid;gap:10px}.dash-event-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e8edf5;border-radius:16px;color:var(--text);background:#fbfdff;text-decoration:none}.dash-event-row:hover{background:#f3f8ff;text-decoration:none}.dash-date{width:52px;height:52px;border-radius:16px;background:#eef6ff;color:var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center}.dash-date strong{font-size:22px;line-height:1}.dash-date span{font-size:12px;font-weight:700}.dash-event-main{min-width:0}.dash-event-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-event-main span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.dash-event-status{text-align:right;display:grid;justify-items:end;gap:3px}.dash-pill{display:inline-block;border-radius:999px;padding:5px 9px;font-weight:800;font-size:13px;background:#e8f7ec;color:#166534}.dash-pill.warn{background:#fef3c7;color:#92400e}.dash-pill.danger{background:#fee2e2;color:#991b1b}.dash-wait{color:#1d4ed8;font-weight:700}.dash-pending{color:#b45309;font-weight:700}.dash-empty-good{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0;border-radius:16px;padding:14px;font-weight:700}.dash-action-list a,.dash-news-list a{display:block;padding:12px;border:1px solid #edf1f6;border-radius:14px;color:var(--text);text-decoration:none;background:#fcfdff}.dash-action-list a:hover,.dash-news-list a:hover{background:#f8fafc;text-decoration:none}.dash-action-list strong,.dash-news-list strong{display:block}.dash-action-list span,.dash-news-list span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.dash-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.dash-action{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #e7edf5;border-radius:16px;background:#f8fafc;color:var(--text);text-decoration:none}.dash-action:hover{text-decoration:none;background:#eef6ff}.dash-action span{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 32px}.dash-action strong{font-size:14px}.dash-mini-badge{display:inline-block;margin:7px 6px 0 0;padding:3px 7px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:800}.dash-mini-badge.important{background:#fee2e2;color:#991b1b}.dash-timeline{display:grid;gap:10px}.dash-timeline div{display:grid;grid-template-columns:16px minmax(0,1fr);gap:9px}.dash-timeline div span{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:6px}.dash-timeline p{margin:0;color:var(--text)}.dash-timeline em{display:block;color:var(--muted);font-size:12px;font-style:normal;margin-top:2px}
@media(max-width:1200px){.dash-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.dash-grid{grid-template-columns:1fr}.dash-col{gap:18px}.dash-hero{align-items:flex-start;flex-direction:column}.dash-event-row{grid-template-columns:48px minmax(0,1fr);align-items:start}.dash-event-status{grid-column:2;text-align:left;justify-items:start;display:flex;flex-wrap:wrap;gap:6px}.dash-date{width:44px;height:44px;border-radius:14px}.dash-date strong{font-size:19px}.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-hero h1{font-size:28px}}
@media(max-width:560px){.dash-stats,.dash-actions{grid-template-columns:1fr}.dash-stat{min-height:0}.dash-hero{padding:20px}.dash-card{padding:15px}}

/* v12.5.3 dashboard group summary */
.dash-stat em{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
}
.dash-quick-top{margin:0 0 18px}

.dash-sms-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.dash-sms-summary a{display:block;border:1px solid #e8edf5;border-radius:14px;background:#fbfdff;padding:12px;color:var(--text);text-decoration:none}.dash-sms-summary a:hover{text-decoration:none;background:#f8fafc}.dash-sms-summary strong{display:block;font-size:26px;line-height:1;color:#7e22ce}.dash-sms-summary span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.dash-sms-summary a.has-errors strong{color:#b91c1c}.dash-sms-list{display:grid;gap:9px}.dash-sms-list a{display:block;padding:11px;border:1px solid #edf1f6;border-radius:14px;color:var(--text);text-decoration:none;background:#fcfdff}.dash-sms-list a:hover{text-decoration:none;background:#f8fafc}.dash-sms-list strong{display:block}.dash-sms-list span{display:block;color:var(--muted);font-size:13px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-sms-list em{display:block;font-style:normal;font-size:12px;margin-top:3px;font-weight:700}.dash-sms-list em.ok{color:#15803d}.dash-sms-list em.warn{color:#b45309}.dash-sms-list em.bad{color:#b91c1c}
@media(max-width:560px){.dash-sms-summary{grid-template-columns:1fr}}


/* v12.8.6 dashboard: Afventer handling matcher de øvrige statistikbokse */
.dash-stat-combo strong.dash-combo-values{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin:12px 0 6px;
    line-height:1.05;
    white-space:nowrap;
    color:inherit;
}
.dash-stat-combo strong.dash-combo-values span{
    display:inline;
    font-size:34px;
    line-height:1.05;
    font-weight:800;
}
.dash-stat-combo .dash-signup-number{
    color:#15803d;
}
.dash-stat-combo .dash-wait-number{
    color:#1d4ed8;
}

.dash-stat-combo .dash-active-number{
    color:#15803d;
}
.dash-stat-combo .dash-draft-number{
    color:#b45309;
}
.dash-stat-combo .dash-combo-values b{
    color:#64748b;
    font-size:24px;
    font-weight:700;
}
@media(max-width:560px){
    .dash-stat-combo strong.dash-combo-values span{font-size:32px}
    .dash-stat-combo .dash-combo-values b{font-size:22px}
}

/* v12.8.8 dashboard: kladder i kommende arrangementer markeres diskret */
.dash-event-row.dash-event-draft{
    background:#fffbeb;
    border-color:#fde68a;
}
.dash-event-row.dash-event-draft:hover{
    background:#fef3c7;
}
.dash-event-row.dash-event-draft .dash-date{
    background:#fef3c7;
    color:#92400e;
}
.dash-event-row.dash-event-draft .dash-event-main strong::after{
    content:'Kladde';
    display:inline-block;
    margin-left:8px;
    padding:2px 7px;
    border-radius:999px;
    background:#fef3c7;
    color:#92400e;
    font-size:11px;
    font-weight:800;
    vertical-align:middle;
}
.dash-schedule-row .dash-event-main span{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-schedule-row .dash-event-main i{flex:0 0 9px}


/* v15.2.3: grønlig admin-del i topmenuen uden ADMIN/MEDARBEJDER labels */
.nav-admin-section{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:7px 9px;
    border:1px solid rgba(134,239,172,.34);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(20,83,45,.78),rgba(15,118,110,.72));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 6px 16px rgba(15,23,42,.10);
}
.nav-admin-label{display:none!important}
.nav-admin-links{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.nav-admin-links > a{
    padding:8px 10px;
    border-radius:10px;
}
.nav-admin-links > a:hover{
    background:rgba(255,255,255,.16);
    text-decoration:none;
}
.nav-admin-section .nav-dropbtn{
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.24);
    color:#fff;
    border-radius:10px;
    padding:8px 11px;
}
.nav-admin-section .nav-dropbtn:hover{background:rgba(255,255,255,.20)}
.nav-logout{opacity:.92}
@media(max-width:820px){
    .nav-admin-section{width:100%;align-items:flex-start;padding:10px}
    .nav-admin-links{width:100%;gap:8px 10px}
    .nav-admin-links > a{padding:7px 8px}
    .nav-admin-section .nav-dropdown{width:100%}
}

/* v14.0 medarbejderdel */
.nav-user-section{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 9px;border:1px solid rgba(255,255,255,.20);border-radius:14px;background:rgba(255,255,255,.08)}
.nav-user-label{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:11px;
    letter-spacing:.09em;
    font-weight:900;
    text-transform:uppercase;
    color:#fff;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    padding:6px 9px;
    line-height:1;
}
.nav-user-label,.nav-user-label::before{display:none!important;content:none}.nav-user-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nav-user-links>a{padding:7px 9px;border-radius:9px}.nav-user-links>a:hover{background:rgba(255,255,255,.14);text-decoration:none}
.emp-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:26px;border-radius:22px;color:#fff;background:linear-gradient(135deg,var(--employee-hero-bg,#0f766e),var(--primary));box-shadow:0 18px 46px rgba(15,23,42,.16);margin-bottom:18px;position:relative;overflow:hidden}.emp-hero:after{content:"";position:absolute;width:220px;height:220px;right:-70px;top:-80px;background:rgba(255,255,255,.12);border-radius:50%}.emp-hero>div{position:relative;z-index:1}.emp-hero p{margin:0 0 4px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;opacity:.85}.emp-hero h1{margin:0 0 6px;color:#fff;font-size:34px}.emp-hero span{opacity:.92}.emp-profile-card{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:13px 15px;min-width:220px}.emp-profile-card strong,.emp-profile-card span{display:block}.emp-profile-card span{font-size:13px;margin-top:3px}.emp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}.emp-stat{background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 6px 18px rgba(15,23,42,.06);min-height:118px;display:flex;flex-direction:column;justify-content:center;color:var(--text);text-decoration:none}.emp-stat:hover{text-decoration:none;border-color:var(--primary);box-shadow:0 10px 24px rgba(15,23,42,.1)}.emp-stat.alert{background:#fef2f2;border-color:#fecaca}.emp-stat.alert:hover{border-color:#ef4444;box-shadow:0 10px 24px rgba(185,28,28,.14)}.emp-stat.alert strong{color:#b91c1c}.emp-stat.alert span,.emp-stat.alert em{color:#7f1d1d}.emp-stat span{display:block;color:var(--muted);font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-stat strong{display:block;font-size:34px;line-height:1.05;margin:12px 0 6px;color:var(--primary)}.emp-stat em{display:block;font-style:normal;color:var(--muted);font-size:13px}.emp-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:18px;align-items:start}.emp-col{display:grid;gap:18px;align-content:start;min-width:0}.emp-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:0 6px 18px rgba(15,23,42,.06);min-width:0}.emp-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.emp-card-head h2{margin:0}.emp-card-head a{font-weight:800;font-size:14px}.emp-list,.emp-news-list{display:grid;gap:10px}.emp-event-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e8edf5;border-radius:16px;color:var(--text);background:#fbfdff;text-decoration:none}.emp-event-row:hover{background:#f3f8ff;text-decoration:none}.emp-date{width:52px;height:52px;border-radius:16px;background:#eef6ff;color:var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center}.emp-date strong{font-size:22px;line-height:1}.emp-date span{font-size:12px;font-weight:800;text-transform:uppercase}.emp-event-main{min-width:0}.emp-event-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-event-main span,.emp-event-main em{display:block;color:var(--muted);font-size:13px;margin-top:3px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-status,.emp-action-pill{display:inline-block;border-radius:999px;padding:5px 9px;font-weight:900;font-size:13px;white-space:nowrap}.emp-status-green{background:#dcfce7;color:#166534}.emp-status-yellow{background:#fef3c7;color:#92400e}.emp-status-blue{background:#dbeafe;color:#1d4ed8}.emp-status-gray{background:#f1f5f9;color:#475569}.emp-action-pill{background:#eef6ff;color:var(--primary)}.emp-news-list a{display:block;padding:12px;border:1px solid #edf1f6;border-radius:14px;color:var(--text);text-decoration:none;background:#fcfdff}.emp-news-list a:hover{background:#f8fafc;text-decoration:none}.emp-news-list strong{display:block}.emp-news-list span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.emp-mini-badge{display:inline-block;margin:7px 6px 0 0;padding:3px 7px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:900}.emp-mini-badge.important{background:#fee2e2;color:#991b1b}.emp-profile-list{display:grid;gap:10px}.emp-profile-list div{padding:11px;border:1px solid #edf1f6;border-radius:14px;background:#fcfdff}.emp-profile-list strong{display:block}.emp-profile-list span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.emp-empty{background:#f8fafc;color:#475569;border:1px solid #e2e8f0;border-radius:16px;padding:14px;font-weight:700}.emp-empty-good{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
@media(max-width:900px){.emp-grid{grid-template-columns:1fr}.emp-hero{align-items:flex-start;flex-direction:column}.emp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.emp-event-row{grid-template-columns:48px minmax(0,1fr);align-items:start}.emp-status,.emp-action-pill{grid-column:2;justify-self:start}.emp-date{width:44px;height:44px;border-radius:14px}.emp-date strong{font-size:19px}.nav-user-section{width:100%;align-items:flex-start;padding:10px}.nav-user-label{width:100%;justify-content:flex-start}.nav-user-links{width:100%}}
@media(max-width:560px){.emp-stats{grid-template-columns:1fr}.emp-hero{padding:20px}.emp-card{padding:15px}.emp-hero h1{font-size:28px}.emp-profile-card{width:100%;min-width:0}}

/* v14 medarbejderdel: Min profil */
.my-profile-page .employee-content{gap:16px}.my-profile-form .wide{grid-column:1 / -1}.my-file-upload{margin-bottom:12px}.my-profile-page table td,.my-profile-page table th{word-break:break-word}
@media(max-width:820px){.my-profile-page .employee-side,.my-profile-page .employee-content{display:grid}.my-profile-form .wide{grid-column:auto}.my-profile-page .form-actions .button,.my-profile-page .form-actions button{width:100%;text-align:center}}

.field-compact{justify-self:start;max-width:max-content}.field-compact input{width:11ch;max-width:11ch;min-width:11ch}

/* v19 Check Ind */
.nav-checkin-section{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 9px;border:1px solid var(--checkin-border,#22c55e);border-radius:16px;background:var(--checkin-bg,#dcfce7);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 6px 16px rgba(15,23,42,.10)}
.nav-checkin-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nav-checkin-section .nav-dropbtn-checkin{background:var(--checkin-button-bg,#bbf7d0);color:var(--checkin-button-text,#166534);border:1px solid var(--checkin-border,#16a34a);border-radius:10px;padding:8px 11px}.nav-checkin-section .nav-dropbtn-checkin:hover{background:var(--checkin-button-hover,#86efac)}
.checkin-primary{background:var(--checkin-action-bg,#f59e0b)!important;color:var(--checkin-action-text,#111827)!important}
.inline-form{display:inline;margin:0}.inline-form button{margin:0}.checkin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.checkin-actions .button,.checkin-actions button{white-space:nowrap;padding:10px 14px;font-size:14px;min-height:40px;border-radius:9px;font-weight:900}.danger{background:#fee2e2!important;color:#991b1b!important;border-color:#ef4444!important}
.badge-soft{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:800}
.checkin-edit-table{min-width:1280px}.checkin-edit-table th,.checkin-edit-table td{vertical-align:middle;white-space:nowrap;padding:6px 5px}.checkin-edit-table input,.checkin-edit-table select{min-width:108px;margin-top:0;padding:5px 6px;font-size:14px}.checkin-sort-button{display:inline-block;background:transparent!important;color:var(--primary)!important;border:0;border-radius:0;padding:0;text-align:left;font-weight:900;line-height:1.2;cursor:pointer}.checkin-sort-button:hover{filter:none;text-decoration:underline}.checkin-sort-button.is-sorted-asc::after{content:" ^";color:#64748b}.checkin-sort-button.is-sorted-desc::after{content:" v";color:#64748b}.checkin-fraction-field{display:block;min-width:168px}.checkin-fraction-field input,.checkin-fraction-input{width:168px;min-width:168px;max-width:168px}.checkin-limit-list{display:grid;gap:8px;max-width:420px}.checkin-limit-row{display:grid;grid-template-columns:150px 11ch;gap:10px;align-items:center;font-weight:700}.checkin-limit-row span{min-width:0;overflow-wrap:anywhere}.checkin-limit-input{display:inline-block!important;width:11ch!important;min-width:11ch!important;max-width:11ch!important;margin:0!important;text-align:center;padding-left:6px!important;padding-right:6px!important}.password-toggle-field{display:flex;align-items:center;gap:6px}.password-toggle-field input{width:150px;min-width:150px;max-width:150px;margin:0}.password-toggle-field .password-toggle{flex:0 0 auto;margin:0;white-space:nowrap}.inline-form .password-toggle-field{display:inline-flex;margin-right:6px;vertical-align:middle}.checkin-edit-table .checkin-time-compact,.checkin-edit-table .checkin-time-input{width:64px;min-width:64px;max-width:64px;text-align:center;padding-left:4px;padding-right:4px}.checkin-edit-table .checkin-card-type{width:78px;min-width:78px;max-width:78px}.checkin-edit-table .checkin-code-field{width:48px;min-width:48px;max-width:48px;text-align:center}.checkin-edit-table th:nth-child(3),.checkin-edit-table th:nth-child(4),.checkin-edit-table th:nth-child(5),.checkin-edit-table th:nth-child(6),.checkin-edit-table th:nth-child(10),.checkin-edit-table th:nth-child(11){white-space:nowrap}
.checkin-edit-table .checkin-name-field{width:172px;min-width:172px;max-width:172px}.checkin-note-cell{position:relative;width:32px;min-width:32px}.checkin-note-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:0;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;color:#475569;font-size:13px;font-weight:900}.checkin-note-cell.has-note .checkin-note-toggle{background:#fef3c7;color:#92400e;border-color:#f59e0b}.checkin-note-arrow{font-size:13px;line-height:1}.checkin-note-cell.is-open .checkin-note-arrow{transform:rotate(180deg)}.checkin-note-popover{display:none;position:absolute;right:0;top:32px;z-index:30;width:260px;max-width:70vw;padding:9px 11px;border:1px solid #cbd5e1;border-radius:8px;background:#111827;color:#fff;white-space:normal;line-height:1.35;box-shadow:0 12px 30px rgba(15,23,42,.22)}.checkin-note-cell.has-note:hover .checkin-note-popover{display:block}.checkin-note-cell.is-open .checkin-note-popover{display:none}.checkin-edit-table .checkin-note-text{display:none;position:absolute;right:0;top:32px;z-index:40;width:280px;min-width:280px;max-width:70vw;height:74px;margin:0;padding:8px;border:1px solid #2563eb;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.22);font-size:14px}.checkin-note-cell.is-open .checkin-note-text{display:block}
.checkin-row-actions{display:flex;gap:4px;align-items:center;white-space:nowrap}.checkin-row-actions button{margin:0;padding-left:6px;padding-right:6px}
.checkin-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.checkin-filters button{background:#fef3c7;color:#92400e;border:1px solid #f59e0b;padding:8px 10px;border-radius:999px}
.checkin-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.checkin-card{background:#fff;border:1px solid var(--border);border-left:6px solid #f59e0b;border-radius:14px;padding:16px;box-shadow:0 4px 14px rgba(15,23,42,.045);min-width:0}.checkin-card h2{margin-bottom:4px}.checkin-card-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkin-card-fields .wide{grid-column:1/-1}.checkin-card label{font-size:14px}.checkin-card input{padding:8px}
.checkin-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) minmax(160px,260px) auto;gap:14px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;margin:12px 0 16px;box-shadow:0 4px 14px rgba(15,23,42,.04)}.checkin-toolbar label{margin:0}.checkin-toolbar select,.checkin-toolbar input{margin-top:0}.checkin-search{width:100%;max-width:260px;align-self:end}.checkin-count{font-weight:900;color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:999px;padding:11px 15px;align-self:end;white-space:nowrap;text-align:center}.checkin-filter-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.checkin-filter-buttons button{border-radius:999px;padding:12px 18px;font-size:16px;font-weight:900;border:2px solid #60a5fa;background:#dbeafe!important;color:#1e3a8a!important}.checkin-filter-buttons button.checkin-filter-all{background:#dcfce7!important;color:#166534!important;border-color:#22c55e}.checkin-filter-buttons button.is-active{background:#bfdbfe!important;color:#111827!important;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.18)}.checkin-filter-buttons button.checkin-filter-all.is-active{background:#bbf7d0!important;border-color:#16a34a;box-shadow:0 0 0 2px rgba(22,163,74,.18)}
.checkin-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(198px,1fr));gap:10px;align-items:stretch}.checkin-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;min-height:104px;padding:10px 10px;border-radius:8px;border:2px solid #60a5fa;background:#fff;color:#172033;box-shadow:0 0 0 2px rgba(96,165,250,.14);line-height:1.16;overflow:hidden}.checkin-tile[hidden]{display:none!important}.checkin-tile:hover{filter:none;background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.22)}.checkin-tile strong{display:block;width:100%;font-size:17px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkin-tile span,.checkin-tile em,.checkin-tile small{display:block;width:100%;font-size:13px;color:#475569;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkin-tile em{color:#92400e;font-weight:900}.checkin-tile small{font-size:12px;color:#64748b}.checkin-dialog{width:min(560px,calc(100% - 24px));border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 22px 70px rgba(15,23,42,.28)}.checkin-dialog::backdrop{background:rgba(15,23,42,.52)}.checkin-dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.checkin-dialog-head h2{margin:0 0 4px}
.fraction-portal{max-width:1040px;margin:0 auto}.fraction-login{max-width:440px;margin:40px auto}.fraction-choice-help{max-width:720px;color:#475569;font-weight:700}.fraction-context{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.3fr) auto;gap:16px;align-items:center;margin:0 0 16px;padding:16px;border:1px solid var(--border);border-left:7px solid var(--fraction-primary,#1f4f8f);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.08)}.fraction-context-main{display:flex;align-items:center;gap:12px;min-width:0}.fraction-context-main strong{display:block;color:var(--fraction-primary,#1f4f8f);font-size:20px;line-height:1.12;overflow-wrap:anywhere}.fraction-context-main span:not(.fraction-company-logo):not(.fraction-context-kicker){display:block;color:#334155;font-weight:800}.fraction-context-kicker{display:block;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:11px;font-weight:900}.fraction-context-title{min-width:0}.fraction-context-title h1{margin:0 0 4px;color:var(--fraction-primary,#1f4f8f);overflow-wrap:anywhere}.fraction-context-title p{margin:0;color:#475569;font-weight:800}.fraction-context-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.fraction-company-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.fraction-company-option{display:grid;grid-template-columns:auto 56px minmax(0,1fr);gap:10px;align-items:center;border:2px solid var(--border);border-radius:14px;padding:14px;background:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.045)}.fraction-company-option:hover{border-color:var(--fraction-primary,#1f4f8f);box-shadow:0 8px 24px rgba(15,23,42,.08)}.fraction-company-option:has(input:checked){border-color:var(--fraction-primary,#1f4f8f);background:#f8fafc;box-shadow:0 0 0 3px rgba(31,79,143,.16)}.fraction-company-option input{margin:0}.fraction-company-logo{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:12px;background:#fff;border:1px solid var(--fraction-primary,#1f4f8f);overflow:hidden;flex:0 0 56px}.fraction-company-logo img{max-width:48px;max-height:48px;object-fit:contain}.fraction-company-initials{background:var(--fraction-primary,#1f4f8f);color:#fff;font-weight:900;font-size:18px}.fraction-company-meta{display:grid;gap:2px;min-width:0}.fraction-company-meta span{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.fraction-company-meta strong,.fraction-company-meta em{display:block;min-width:0;color:#172033;font-size:18px;line-height:1.15;font-style:normal;overflow-wrap:anywhere}.fraction-company-meta em{color:var(--fraction-primary,#1f4f8f);font-weight:900}
@media(max-width:1100px){.checkin-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.nav-checkin-section{width:100%;align-items:flex-start;padding:10px}.nav-checkin-links{width:100%}.nav-checkin-section .nav-dropdown{width:100%}}
@media(max-width:720px){.checkin-card-grid,.fraction-company-list{grid-template-columns:1fr}.fraction-context{grid-template-columns:1fr}.fraction-context-actions{justify-content:flex-start}.fraction-context-actions .button{flex:1 1 auto;text-align:center}.checkin-card-fields{grid-template-columns:1fr}.checkin-actions .button{width:100%;text-align:center}.checkin-toolbar{grid-template-columns:1fr}.checkin-count{text-align:left}.checkin-tile-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}

/* PATCH v17.0.9 - Min side: egne grupper og roller */
.profile-tag-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.profile-tag {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  background: #eef6ff;
  border: 1px solid #cfe1f7;
  color: #0b3f86;
  font-weight: 700;
  font-size: 13px;
}
.profile-tag.role-tag {
  background: #ecfdf3;
  border-color: #bdebcf;
  color: #116b35;
}

/* v17.0.10: Min side - navn, CPR, grupper og roller */
.my-profile-page .field-name-wide input{
    width:100%!important;
    min-width:260px!important;
    max-width:100%!important;
}
.my-profile-page .field-cpr-wide{
    width:180px!important;
    max-width:180px!important;
}
.my-profile-page .field-cpr-wide input{
    width:158px!important;
    min-width:158px!important;
    max-width:158px!important;
    font-family:monospace!important;
    letter-spacing:.04em!important;
}
.employee-side .profile-badge-panel{order:65}
.profile-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.profile-badge{display:inline-flex;align-items:center;border:1px solid #cbd5e1;background:#f8fafc;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700;color:#17324d;max-width:100%;overflow-wrap:anywhere}
@media(max-width:820px){
    .profile-badge-panel{order:85}
    .my-profile-page .field-name-wide input{min-width:0!important}
}


/* v17.0.11: Min side - profilbillede først, derefter grupper/roller; bredere readonly felter */
.my-profile-page .employee-side .block-photo{order:10!important;}
.my-profile-page .employee-side .block-profile-groups{order:20!important;}
.my-profile-page .employee-side .block-profile-roles{order:30!important;}
.my-profile-page .employee-side .block-default-company{order:35!important;}
.my-profile-page .employee-side .block-files{order:40!important;}
.my-profile-page .employee-side .block-actions{order:100!important;}
.my-profile-page .profile-badges{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;}
.my-profile-page .profile-badge{display:block!important;border-radius:8px!important;width:auto!important;max-width:100%!important;}
.my-profile-page .field-name-wide{justify-self:stretch!important;max-width:none!important;width:100%!important;}
.my-profile-page .field-name-wide input{width:100%!important;min-width:0!important;max-width:100%!important;}
.my-profile-page .field-cpr-wide{justify-self:start!important;max-width:none!important;width:auto!important;}
.my-profile-page .field-cpr-wide input{width:15ch!important;min-width:15ch!important;max-width:15ch!important;font-family:monospace!important;letter-spacing:.04em!important;}
@media(max-width:820px){
  .my-profile-page .field-name-wide input{width:100%!important;min-width:0!important;}
  .my-profile-page .field-cpr-wide input{width:15ch!important;min-width:15ch!important;max-width:15ch!important;}
}

/* v17.0.14: Min side - startdato samme bredde som CPR */
.my-profile-page .field-startdate-wide{
    justify-self:start!important;
    max-width:none!important;
    width:auto!important;
}
.my-profile-page .field-startdate-wide input{
    width:15ch!important;
    min-width:15ch!important;
    max-width:15ch!important;
    font-family:monospace!important;
    letter-spacing:.04em!important;
}
@media(max-width:820px){
.my-profile-page .field-startdate-wide input{
    width:15ch!important;
    min-width:15ch!important;
    max-width:15ch!important;
}
}

/* v20.20: mobilnavigation som kompakt topbar + drawer */
.app-header{background:var(--nav-bg,var(--primary));color:var(--nav-text,#fff)}
.site-nav .nav-section-title,.mobile-menu-toggle,.mobile-nav-head,.mobile-nav-backdrop{display:none!important}
.nav-admin-links-mobile{display:none!important}
.nav-admin-links-desktop{display:flex}
.nav-user-links-compact,.nav-admin-links-condensed{display:none!important}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:7px;padding:0 6px;border-radius:999px;background:#dc2626;color:#fff;font-size:12px;font-weight:900;line-height:1}
.site-nav a.is-active{background:rgba(255,255,255,.18);text-decoration:none}
.nav-dropbtn{display:inline-flex;align-items:center;gap:6px;justify-content:space-between}
.nav-caret{display:inline-block;font-size:12px;line-height:1;transition:transform .16s ease}

@media(min-width:901px){
    .app-header{
        display:grid!important;
        grid-template-columns:minmax(230px,auto) minmax(0,1fr);
        align-items:start!important;
        gap:14px;
        padding:10px 22px!important;
    }
    .app-header .brand{
        align-self:start;
        min-width:0;
        max-width:340px;
        margin-top:4px;
    }
    .app-header .brand-single strong{
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .app-header .brand-with-switch{width:min(340px,34vw)}
    .mobile-menu-toggle,
    .mobile-nav-head,
    .mobile-nav-backdrop,
    .site-nav .nav-section-title{display:none!important}
    .site-nav{
        display:flex!important;
        justify-content:flex-end;
        gap:10px;
        align-items:center;
        flex-wrap:nowrap!important;
        min-width:0;
        max-width:100%;
    }
    .nav-admin-links-mobile{display:none!important}
    .nav-admin-links-desktop{display:flex!important}
    .nav-admin-links-condensed{display:none!important}
    .nav-user-section{
        flex:0 1 auto;
        min-width:0;
        max-width:100%;
    }
    .nav-user-links-expanded{
        display:flex!important;
        align-items:center;
        gap:8px;
        flex-wrap:nowrap!important;
        min-width:0;
    }
    .nav-user-links-expanded>a{
        padding:8px 9px;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .nav-user-links-compact{display:none!important}
    .app-header.desktop-user-collapsed .nav-user-section{
        padding:0;
        border:0;
        background:transparent;
    }
    .app-header.desktop-user-collapsed .nav-user-links-expanded{display:none!important}
    .app-header.desktop-user-collapsed .nav-user-links-compact{display:inline-flex!important}
    .app-header.desktop-user-collapsed .nav-dropdown-user-compact .nav-dropbtn{
        border:1px solid rgba(255,255,255,.25);
        border-radius:10px;
        background:rgba(255,255,255,.12);
        color:var(--nav-text,#fff);
        padding:8px 11px;
    }
    .nav-admin-section{
        display:flex;
        align-items:center;
        width:auto;
        padding:7px 9px;
        border:1px solid var(--admin-border,#86efac);
        border-radius:16px;
        background:var(--admin-bg,#0f766e);
        color:var(--admin-text,#fff);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 6px 16px rgba(15,23,42,.10);
    }
    .nav-admin-section .nav-dropdown-menu{
        right:auto;
        left:0;
        min-width:230px;
        max-height:min(70vh,560px);
        overflow:auto;
    }
    .nav-admin-section .nav-dropbtn-admin{
        background:var(--admin-button-bg,#2f7f77);
        color:var(--admin-button-text,#fff);
        border:1px solid var(--admin-border,#86efac);
        border-radius:10px;
        padding:8px 11px;
    }
    .nav-admin-section .nav-dropbtn-admin:hover{background:var(--admin-button-hover,#3a8f88)}
    .app-header.desktop-admin-collapsed .nav-admin-links-expanded{display:none!important}
    .app-header.desktop-admin-collapsed .nav-admin-links-condensed{display:flex!important}
    .nav-dropdown-admin-condensed .nav-dropdown-menu{
        min-width:280px;
        max-height:min(72vh,620px);
        overflow:auto;
    }
    .nav-menu-group{
        display:grid;
        gap:5px;
        padding:4px 0 8px;
    }
    .nav-menu-group + .nav-menu-group{
        border-top:1px solid #e5eaf2;
        padding-top:9px;
    }
    .nav-menu-group-title{
        display:block;
        padding:2px 10px;
        color:var(--primary);
        font-size:12px;
        font-weight:900;
        letter-spacing:.06em;
        text-transform:uppercase;
    }
    .nav-menu-group-links{
        display:grid;
        gap:4px;
    }
}

@media(max-width:900px){
    body.has-fixed-header{padding-top:0!important}
    body.mobile-nav-open{overflow:hidden}
    body.has-fixed-header>.app-header,
    .app-header{
        position:sticky!important;
        top:0;
        z-index:1000;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center!important;
        gap:10px;
        padding:10px 12px!important;
        min-height:58px;
        box-shadow:0 2px 14px rgba(15,23,42,.18);
    }
    .app-header .brand{
        min-width:0;
        width:100%;
        max-width:100%;
        display:flex;
        align-items:center;
        gap:8px;
        overflow:hidden;
    }
    .app-header .brand-single img{height:30px;max-width:42px}
    .app-header .brand-single strong{
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .app-header .brand-with-switch .brand-main{display:none}
    .brand-switch-form{min-width:0;flex:1 1 auto}
    .brand-switch-select{
        width:100%;
        max-width:100%!important;
        min-height:38px;
        margin:0;
        font-size:15px;
    }
    .brand-session-timeout{
        flex:0 0 auto;
        margin-left:4px!important;
        font-size:14px;
        font-variant-numeric:tabular-nums;
    }
    .mobile-menu-toggle{
        display:inline-flex!important;
        align-items:center;
        justify-content:center;
        width:42px;
        height:42px;
        padding:0;
        margin:0;
        border-radius:12px;
        border:1px solid rgba(255,255,255,.38);
        background:rgba(255,255,255,.14);
        color:var(--nav-text,#fff);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
    }
    .mobile-menu-toggle:hover{filter:none;background:rgba(255,255,255,.22)}
    .mobile-menu-icon,
    .mobile-menu-icon::before,
    .mobile-menu-icon::after{
        content:"";
        display:block;
        width:19px;
        height:2px;
        border-radius:99px;
        background:currentColor;
    }
    .mobile-menu-icon{position:relative}
    .mobile-menu-icon::before{position:absolute;top:-6px;left:0}
    .mobile-menu-icon::after{position:absolute;top:6px;left:0}
    .mobile-menu-text{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0);
        white-space:nowrap;
    }
    .mobile-nav-backdrop:not([hidden]){
        display:block!important;
        position:fixed;
        inset:0;
        z-index:1001;
        background:rgba(15,23,42,.48);
        backdrop-filter:blur(2px);
    }
    .site-nav{
        position:fixed!important;
        top:0;
        right:0;
        bottom:0;
        width:min(390px,calc(100vw - 26px));
        max-width:100vw;
        z-index:1002;
        display:flex!important;
        flex-direction:column;
        flex-wrap:nowrap!important;
        align-items:stretch!important;
        gap:12px!important;
        padding:0 14px 18px;
        overflow:auto;
        overscroll-behavior:contain;
        background:var(--card,#fff);
        color:var(--text,#172033);
        box-shadow:-18px 0 48px rgba(15,23,42,.28);
        transform:translateX(106%);
        transition:transform .22s ease;
    }
    body.mobile-nav-open .site-nav{transform:translateX(0)}
    .mobile-nav-head{
        display:flex!important;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        position:sticky;
        top:0;
        z-index:2;
        margin:0 -14px 2px;
        padding:14px;
        background:var(--nav-bg,var(--primary));
        color:var(--nav-text,#fff);
        box-shadow:0 2px 12px rgba(15,23,42,.18);
    }
    .mobile-nav-head strong{font-size:18px}
    .mobile-nav-close{
        min-width:44px;
        min-height:38px;
        margin:0;
        padding:8px 12px;
        border:1px solid rgba(255,255,255,.36);
        border-radius:10px;
        background:rgba(255,255,255,.14)!important;
        color:var(--nav-text,#fff)!important;
        font-weight:900;
    }
    .site-nav .nav-section-title{
        display:flex!important;
        align-items:center;
        min-height:24px;
        margin:0 0 8px;
        color:var(--heading-color,var(--primary));
        font-size:12px;
        font-weight:900;
        letter-spacing:.08em;
        text-transform:uppercase;
    }
    .site-nav .nav-user-section,
    .site-nav .nav-admin-section,
    .site-nav .nav-checkin-section{
        display:block!important;
        width:100%!important;
        padding:12px!important;
        border-radius:14px!important;
        border:1px solid var(--border,#d9e2ef)!important;
        background:#fff!important;
        box-shadow:0 4px 16px rgba(15,23,42,.06)!important;
    }
    .site-nav .nav-admin-section{
        background:var(--admin-bg,#fbfdff)!important;
        border-color:var(--admin-border,#d9e2ef)!important;
    }
    .site-nav .nav-admin-section .nav-section-title{color:var(--admin-text,#fff)!important}
    .site-nav .nav-checkin-section{
        background:var(--checkin-bg,#dcfce7)!important;
        border-color:var(--checkin-border,#22c55e)!important;
    }
    .site-nav .nav-user-links,
    .site-nav .nav-admin-links,
    .site-nav .nav-checkin-links{
        display:grid!important;
        grid-template-columns:1fr!important;
        width:100%!important;
        gap:8px!important;
        align-items:stretch!important;
    }
    .site-nav .nav-admin-links-desktop{display:none!important}
    .site-nav .nav-admin-links-mobile{display:grid!important}
    .site-nav .nav-admin-links-condensed,
    .site-nav .nav-user-links-compact{display:none!important}
    .site-nav .nav-user-links-expanded{display:grid!important}
    .site-nav a,
    .site-nav .nav-dropbtn{
        display:flex!important;
        align-items:center;
        justify-content:space-between;
        width:100%!important;
        min-height:44px;
        margin:0;
        padding:10px 12px!important;
        border:1px solid #e2e8f0!important;
        border-radius:10px!important;
        background:#f8fafc!important;
        color:var(--text,#172033)!important;
        font-size:15px;
        font-weight:800;
        line-height:1.2;
        text-align:left;
        white-space:normal!important;
        text-decoration:none!important;
    }
    .site-nav a:hover,
    .site-nav .nav-dropbtn:hover{filter:none;background:#eef6ff!important}
    .site-nav a.is-active{
        background:var(--primary)!important;
        color:#fff!important;
        border-color:var(--primary)!important;
        box-shadow:0 2px 10px rgba(31,79,143,.18);
    }
    .site-nav a.is-active .nav-badge{background:#fff;color:var(--primary)}
    .site-nav .nav-dropdown{
        display:block!important;
        width:100%!important;
    }
    .site-nav .nav-dropdown-menu{
        display:none!important;
        position:static!important;
        min-width:0!important;
        margin:0!important;
        padding:8px 0 0 10px!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        gap:6px!important;
    }
    .site-nav .nav-dropdown.is-open .nav-dropdown-menu{display:grid!important}
    .site-nav .nav-dropdown.is-open .nav-caret{transform:rotate(180deg)}
    .site-nav .nav-dropdown-menu a{
        min-height:40px;
        background:#fff!important;
        border-color:#e6edf6!important;
        font-size:14px;
    }
    .site-nav .nav-dropdown-menu a.is-active{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}
    .site-nav .nav-checkin-section .nav-dropbtn-checkin{
        background:var(--checkin-button-bg,#bbf7d0)!important;
        color:var(--checkin-button-text,#166534)!important;
        border-color:var(--checkin-border,#16a34a)!important;
    }
    .site-nav .nav-checkin-section .nav-dropbtn-checkin:hover{background:var(--checkin-button-hover,#86efac)!important}
    .site-nav .nav-logout{
        display:flex!important;
        align-items:center;
        justify-content:center;
        width:100%;
        min-height:46px;
        margin-top:auto;
        border:1px solid #fecaca;
        border-radius:12px;
        background:#fff1f2;
        color:#991b1b!important;
        font-weight:900;
    }
    main{margin-top:14px}
}

@media(max-width:520px){
    .site-nav{width:calc(100vw - 18px);padding-left:12px;padding-right:12px}
    .mobile-nav-head{margin-left:-12px;margin-right:-12px}
    .app-header{padding-left:10px!important;padding-right:10px!important}
    .brand-switch-select{font-size:14px}
}

@media(max-width:980px){
    .theme-editor{grid-template-columns:1fr}
    .theme-live-preview{min-height:0;border-right:0;border-bottom:1px solid var(--border)}
    .theme-color-groups{padding:14px}
}

@media(max-width:560px){
    .theme-live-top,.theme-live-admin,.theme-live-checkin{padding:12px}
    .theme-live-body{padding:20px 14px}
    .theme-live-body h2{font-size:24px}
    .theme-color-grid{grid-template-columns:1fr}
    .theme-editor .theme-actions{padding:0 14px 14px}
}

/* v20.22: tema-preview med dropdowns og standard skemaer */
.theme-live-preview{grid-template-rows:auto auto auto minmax(130px,1fr)}
.theme-live-dropdown{position:relative;display:inline-flex;align-items:center;gap:4px;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.14);font-weight:900}.theme-live-dropdown small{font-size:11px}.theme-live-dropdown-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:2;display:grid;gap:4px;min-width:160px;padding:7px;border:1px solid rgba(15,23,42,.12);border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.16);color:#172033}.theme-live-dropdown-menu span{display:block;padding:6px 8px;border-radius:7px;background:#f8fafc;font-size:13px;font-weight:800}.theme-live-checkin{justify-content:space-between}.theme-live-checkin-dropdown{position:relative;display:inline-flex;align-items:flex-start}.theme-live-checkin-dropdown>span,.theme-live-admin-dropdown>span{position:absolute;left:0;top:calc(100% + 6px);z-index:2;display:grid;gap:4px;min-width:170px;padding:7px;border-radius:10px;border:1px solid rgba(15,23,42,.12);background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.16)}.theme-live-checkin-dropdown i,.theme-live-admin-dropdown i{display:block;padding:6px 8px;border-radius:7px;background:#f8fafc;color:#172033;font-style:normal;font-size:13px;font-weight:800}.theme-live-admin{padding-top:44px}.theme-live-admin-dropdown{position:relative;display:inline-flex;align-items:flex-start}.theme-schemes{grid-column:2;padding:0 18px 18px;background:#fff}.theme-schemes h2{margin:0 0 10px;font-size:18px}.theme-scheme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.theme-scheme-button{display:grid;gap:8px;justify-items:start;min-height:86px;padding:10px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc;color:#172033;text-align:left}.theme-scheme-button:hover{filter:none;background:#eef6ff}.theme-scheme-swatches{display:grid;grid-template-columns:repeat(4,18px);gap:3px}.theme-scheme-swatches i{display:block;width:18px;height:18px;border-radius:50%;border:1px solid rgba(15,23,42,.16)}.theme-scheme-swatches i:nth-child(1){background:var(--scheme-nav)}.theme-scheme-swatches i:nth-child(2){background:var(--scheme-admin)}.theme-scheme-swatches i:nth-child(3){background:var(--scheme-checkin)}.theme-scheme-swatches i:nth-child(4){background:var(--scheme-accent)}.theme-scheme-button strong{font-size:13px}

@media(min-width:981px){
    .theme-live-preview{grid-column:1;grid-row:1 / span 3}
    .theme-color-groups,.theme-schemes,.theme-editor .theme-actions{grid-column:2}
}

@media(max-width:980px){
    .theme-live-preview,.theme-color-groups,.theme-schemes,.theme-editor .theme-actions{grid-column:1;grid-row:auto}
    .theme-scheme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:560px){
    .theme-scheme-grid{grid-template-columns:1fr}
    .theme-live-admin{padding-top:40px}
}

/* v20.23: lukkede preview-dropdowns og direkte hex-felter */
.theme-color-field{grid-template-columns:minmax(0,1fr) minmax(112px,150px) 46px}
.theme-color-field input[type=text]{width:100%;min-height:40px;margin:0;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#eef3f8;font-family:monospace;font-size:13px;text-transform:lowercase}
.theme-live-preview{grid-template-rows:auto auto auto minmax(130px,1fr)}
.theme-live-dropdown{
    position:relative;
    display:inline-flex;
    align-items:flex-start;
    padding:0;
    background:transparent;
    font-weight:900;
}
.theme-live-dropdown>summary{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:38px;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:8px;
    background:rgba(255,255,255,.14);
    color:inherit;
    cursor:pointer;
    list-style:none;
}
.theme-live-dropdown>summary::-webkit-details-marker{display:none}
.theme-live-dropdown>summary::after{content:"\25BE";font-size:11px;line-height:1}
.theme-live-dropdown-menu,
.theme-live-checkin-dropdown>span,
.theme-live-admin-dropdown>span{display:none!important}
.theme-live-dropdown[open]>.theme-live-dropdown-menu{
    position:absolute;
    left:0;
    top:calc(100% + 6px);
    z-index:4;
    display:grid!important;
    gap:4px;
    min-width:170px;
    padding:7px;
    border:1px solid rgba(15,23,42,.12);
    border-radius:10px;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,23,42,.16);
    color:#172033;
}
.theme-live-dropdown-menu span,
.theme-live-dropdown-menu i{
    display:block;
    padding:6px 8px;
    border-radius:7px;
    background:#f8fafc;
    color:#172033;
    font-style:normal;
    font-size:13px;
    font-weight:800;
}
.theme-live-checkin{justify-content:space-between}
.theme-live-checkin-dropdown>summary{
    background:var(--preview-checkin-button);
    color:var(--preview-checkin-text);
    border-color:var(--preview-checkin-border);
}
.theme-live-checkin-dropdown>summary:hover{
    background:var(--preview-checkin-hover);
}
.theme-live-checkin a:hover{
    filter:brightness(.95);
    text-decoration:none;
}
.theme-live-admin{padding-top:12px}
.theme-live-admin-dropdown>summary{
    background:var(--preview-admin-button);
    color:var(--preview-admin-button-text);
    border-color:var(--preview-admin-border);
}
.theme-live-admin button{min-height:38px}

@media(max-width:560px){
    .theme-color-field{grid-template-columns:minmax(0,1fr) 46px}
    .theme-color-field>span{grid-column:1/-1}
    .theme-color-field input[type=text]{grid-column:1}
    .theme-live-admin{padding-top:12px}
}

/* v20.24: farvekort uden overlap */
.theme-color-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.theme-color-field{
    grid-template-columns:minmax(0,1fr) 52px!important;
    gap:8px 10px!important;
    align-items:end!important;
    min-height:96px;
    padding:12px!important;
}
.theme-color-field>span{
    grid-column:1/-1!important;
    display:block!important;
    min-height:22px;
    font-weight:900;
    line-height:1.2;
    color:#0f172a;
}
.theme-color-field input[type=text]{
    grid-column:1!important;
    min-width:0!important;
    width:100%!important;
    height:42px!important;
    margin:0!important;
    padding:9px 10px!important;
    background:#eef3f8!important;
    border:1px solid #cbd5e1!important;
    border-radius:8px!important;
    font-family:monospace!important;
    font-size:14px!important;
    text-transform:lowercase;
}
.theme-color-field input[type=color]{
    grid-column:2!important;
    width:52px!important;
    min-width:52px!important;
    height:42px!important;
    margin:0!important;
    padding:3px!important;
    border:1px solid #b7c4d4!important;
    border-radius:9px!important;
    background:#fff!important;
    cursor:pointer;
}
.theme-group-help{
    margin:0 0 10px;
    color:#475569;
    font-size:13px;
    font-weight:700;
    line-height:1.35;
}

@media(max-width:560px){
    .theme-color-grid{grid-template-columns:1fr}
}

/* v20.35: offentlig privatlivsside */
.public-page{
    max-width:980px;
    margin:0 auto;
}
.public-hero{
    margin-bottom:16px;
    padding:28px 30px;
    border-radius:18px;
    background:linear-gradient(135deg,var(--primary),#0f766e);
    color:#fff;
    box-shadow:0 18px 44px rgba(15,23,42,.14);
}
.public-hero .kicker{
    margin:0 0 8px;
    color:rgba(255,255,255,.82);
    font-size:13px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.public-hero h1{
    margin:0 0 8px;
    color:#fff;
}
.public-hero p{
    max-width:720px;
    margin:0;
    color:rgba(255,255,255,.9);
}
.public-hero p+p{
    margin-top:10px;
}
.public-hero .muted{
    color:rgba(255,255,255,.72);
    font-weight:800;
}
.privacy-page{
    display:grid;
    gap:12px;
}
.privacy-section{
    margin:0;
}
.privacy-section h2{
    margin:0 0 8px;
    color:var(--heading-color,var(--primary));
    font-size:21px;
}
.privacy-section p{
    margin:8px 0 0;
    line-height:1.58;
}
.public-list{
    margin:10px 0 0;
    padding-left:22px;
    line-height:1.58;
}

/* Public pricing page */
.pricing-page{
    max-width:none;
    display:grid;
    gap:18px;
}
.pricing-page .kicker{
    margin:0 0 8px;
    color:#35606a;
    font-size:13px;
    font-weight:900;
    letter-spacing:0;
    text-transform:uppercase;
}
.pricing-hero.public-hero{
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(280px,.58fr);
    gap:28px;
    align-items:center;
    min-height:520px;
    width:100vw;
    margin:-22px calc(50% - 50vw) 0;
    padding:88px max(26px,calc((100vw - 1180px)/2)) 56px;
    border-radius:0;
    overflow:hidden;
    background:linear-gradient(90deg,rgba(8,22,38,.90),rgba(8,22,38,.64) 44%,rgba(8,22,38,.30)),url("/assets/img/frontpage-restaurant-hero.png") center/cover no-repeat;
    color:#fff;
    box-shadow:none;
}
.pricing-hero.public-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:44%;
    z-index:-1;
    background:linear-gradient(180deg,rgba(8,22,38,0),rgba(8,22,38,.46));
}
.pricing-public-nav{
    position:absolute;
    top:22px;
    left:max(26px,calc((100vw - 1180px)/2));
    right:max(26px,calc((100vw - 1180px)/2));
    z-index:2;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.pricing-public-nav a{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:8px 11px;
    border-radius:8px;
    color:#fff;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.22);
    font-weight:800;
    text-decoration:none;
    backdrop-filter:blur(8px);
}
.pricing-public-nav a:hover{
    background:rgba(255,255,255,.2);
}
.pricing-public-nav .pricing-login-link{
    background:#fff;
    color:#102236;
}
.pricing-hero-content{
    max-width:780px;
    width:100%;
    min-width:0;
}
.pricing-hero .kicker{
    color:#f8c856;
}
.pricing-hero h1{
    max-width:760px;
    margin:0 0 18px;
    color:#fff;
    font-size:46px;
    line-height:1.05;
    letter-spacing:0;
}
.pricing-hero p{
    max-width:680px;
    color:rgba(255,255,255,.9);
    font-size:18px;
    line-height:1.55;
    overflow-wrap:break-word;
}
.pricing-hero-actions{
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
    margin-top:24px;
}
.pricing-primary-cta,
.pricing-secondary-cta{
    min-height:44px;
    border-radius:8px;
    padding:12px 16px;
    font-weight:900;
}
.pricing-primary-cta{
    background:#f8c856!important;
    color:#172033!important;
}
.pricing-secondary-cta{
    background:#ffffff!important;
    color:#172033!important;
}
.pricing-note{
    margin-top:14px!important;
    font-size:14px!important;
    font-weight:800;
    color:rgba(255,255,255,.76)!important;
}
.pricing-hero-panel{
    display:flex;
    justify-content:center;
    align-items:center;
    min-width:0;
}
.frontpage-login{
    width:min(390px,100%);
    padding:22px;
    border-radius:8px;
    background:rgba(255,255,255,.96);
    color:#172033;
    border:1px solid rgba(255,255,255,.68);
    box-shadow:0 24px 70px rgba(0,0,0,.25);
}
.frontpage-login .kicker{
    color:#35606a;
}
.frontpage-login h2{
    margin:0 0 14px;
    color:#102236;
    font-size:28px;
}
.frontpage-login label{
    color:#172033;
}
.frontpage-login input{
    border-radius:8px;
    border-color:#cbd5e1;
    background:#fff;
}
.frontpage-login-button{
    width:100%;
    min-height:44px;
    margin-top:2px;
    background:#0b579d!important;
    color:#fff!important;
}
.frontpage-forgot{
    display:block;
    margin-top:13px;
    color:#0b579d;
    font-weight:900;
    text-align:center;
}
.pricing-mini-screen{
    width:min(360px,100%);
    padding:18px;
    border-radius:8px;
    background:rgba(255,255,255,.94);
    color:#172033;
    border:1px solid rgba(255,255,255,.62);
    box-shadow:0 24px 70px rgba(0,0,0,.25);
}
.pricing-screen-bar{
    display:block;
    width:48px;
    height:5px;
    margin:0 auto 18px;
    border-radius:999px;
    background:#cbd5e1;
}
.pricing-mini-screen strong{
    display:block;
    margin:0 0 14px;
    color:#102236;
    font-size:24px;
}
.pricing-screen-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    min-height:48px;
    padding:10px 0;
    border-top:1px solid #e5e8ef;
}
.pricing-screen-row:first-of-type{
    border-top:0;
}
.pricing-screen-row span{
    min-width:0;
    overflow-wrap:anywhere;
}
.pricing-screen-row b{
    color:#0f766e;
}
.pricing-screen-pill{
    margin-top:12px;
    padding:10px 12px;
    border-radius:8px;
    background:#e8f7ec;
    color:#166534;
    font-weight:900;
    text-align:center;
}
.pricing-icon{
    width:20px;
    height:20px;
    object-fit:contain;
    flex:0 0 20px;
    vertical-align:middle;
}
.pricing-screen-row>span,
.pricing-trust-strip div{
    display:flex;
    gap:8px;
    align-items:center;
}
.pricing-trust-strip{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:10px;
    max-width:1180px;
    width:100%;
    margin:18px auto 0;
}
.pricing-trust-strip div{
    min-height:56px;
    padding:12px 16px;
    border:1px solid #d9e2ef;
    border-radius:8px;
    background:#fff;
    box-shadow:0 4px 14px rgba(15,23,42,.045);
    font-weight:900;
    color:#172033;
    min-width:0;
}
.pricing-trust-strip div span{
    min-width:0;
    overflow-wrap:normal;
    word-break:normal;
    line-height:1.15;
}
.audience-grid,
.capability-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.capability-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.capability-section .pricing-section-head{
    max-width:1180px;
}
.audience-card,
.capability-card{
    display:grid;
    align-content:start;
    gap:10px;
    min-width:0;
    padding:18px;
    border:1px solid #d9e2ef;
    border-radius:8px;
    background:#fff;
    box-shadow:0 6px 20px rgba(15,23,42,.055);
}
.audience-card-icon,
.capability-card-icon{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    align-items:center;
    gap:8px;
    padding:8px 10px;
    border-radius:8px;
    background:#eef6ff;
    color:#0b579d;
    font-weight:900;
}
.audience-card h3,
.capability-card h3{
    margin:2px 0 0;
    color:#102236;
    font-size:22px;
    line-height:1.15;
}
.audience-card p,
.capability-card p{
    margin:0;
    color:#475569;
    font-size:16px;
    line-height:1.55;
}
.app-preview-section{
    overflow:hidden;
}
.app-download-links{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    margin:0;
}
.pricing-hero-downloads{
    margin-top:18px;
}
.app-download-link{
    display:inline-grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:9px;
    align-items:center;
    width:248px;
    height:64px;
    padding:8px 13px;
    border:2px solid rgba(255,255,255,.45);
    border-radius:8px;
    background:#050505;
    color:#fff!important;
    text-decoration:none;
    box-shadow:0 12px 28px rgba(0,0,0,.24);
}
.app-download-copy{
    min-width:0;
}
.app-download-link:hover{
    filter:brightness(1.08);
    text-decoration:none;
}
.app-download-icon{
    display:block;
    width:38px;
    height:38px;
    flex:0 0 38px;
}
.app-download-icon-apple{
    width:42px;
    height:42px;
}
.app-download-link small,
.app-download-link strong{
    display:block;
    min-width:0;
    color:#fff;
    line-height:1.08;
}
.app-download-link small{
    margin-bottom:3px;
    font-size:11px;
    font-weight:800;
    opacity:.78;
    letter-spacing:.02em;
}
.app-download-link strong{
    font-size:22px;
    font-weight:900;
    white-space:nowrap;
}
.app-screenshot-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(160px,1fr));
    gap:14px;
    align-items:start;
}
.app-screenshot-card{
    margin:0;
    min-width:0;
}
.app-screenshot-card img{
    display:block;
    width:100%;
    aspect-ratio:390/844;
    object-fit:cover;
    object-position:top center;
    border-radius:22px;
    border:1px solid #d9e2ef;
    background:#eaf1f8;
    box-shadow:0 16px 34px rgba(15,23,42,.12);
}
.app-screenshot-card figcaption{
    margin-top:8px;
    color:#334155;
    font-size:14px;
    font-weight:900;
    text-align:center;
}
.pricing-section{
    max-width:1180px;
    width:100%;
    margin:0 auto;
    padding:20px 0;
}
.pricing-section-head{
    max-width:780px;
    margin:0 0 18px;
}
.pricing-section-head h2{
    margin:0 0 8px;
    font-size:30px;
    line-height:1.12;
    letter-spacing:0;
}
.pricing-section-head p{
    color:#475569;
    line-height:1.55;
}
.pricing-product-demo{
    max-width:1180px;
    padding-top:34px;
    padding-bottom:26px;
}
.pricing-product-demo-copy{
    display:grid;
    gap:10px;
    max-width:880px;
    margin:0 0 18px;
    text-align:left;
}
.pricing-product-demo-copy h2{
    margin:0;
    color:#0b428b;
    font-size:34px;
    line-height:1.1;
    letter-spacing:0;
}
.pricing-product-demo-copy p{
    max-width:760px;
    margin:0;
    color:#475569;
    font-size:17px;
    line-height:1.55;
}
.pricing-product-demo-points{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:10px;
    margin-top:8px;
}
.pricing-product-demo-points span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:9px 13px;
    border:1px solid #d9e8fb;
    border-radius:999px;
    background:#fff;
    color:#0b428b;
    font-weight:900;
    box-shadow:0 6px 18px rgba(15,23,42,.055);
}
.pricing-product-demo-points .pricing-icon{
    width:18px;
    height:18px;
}
.pricing-product-demo-media{
    max-width:1180px;
    margin:0;
}
.pricing-product-demo-media picture,
.pricing-product-demo-media img{
    display:block;
}
.pricing-product-demo-media img{
    width:100%;
    height:auto;
    filter:none;
    box-shadow:none;
}
.pricing-product-demo-media figcaption{
    margin-top:8px;
    color:#64748b;
    font-size:13px;
    text-align:left;
}
.pricing-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    align-items:stretch;
}
.pricing-card{
    position:relative;
    display:grid;
    grid-template-rows:minmax(168px,auto) minmax(76px,auto) minmax(106px,auto) 1fr;
    gap:12px;
    min-width:0;
    padding:18px;
    border:1px solid #d9e2ef;
    border-radius:8px;
    background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    box-shadow:0 12px 30px rgba(15,23,42,.07);
    overflow:hidden;
}
.pricing-card-featured{
    border-color:#0f766e;
    box-shadow:0 18px 40px rgba(15,118,110,.16);
}
.pricing-card::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:4px;
    background:#dbeafe;
}
.pricing-card-featured::before{
    background:#0f766e;
}
.pricing-card-top{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:2px 0 0;
}
.pricing-card-badge-row{
    display:flex;
    align-items:center;
    min-height:28px;
    margin-bottom:8px;
}
.pricing-card-badge{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:5px 9px;
    border-radius:8px;
    background:#0f766e;
    color:#fff;
    font-size:12px;
    font-weight:900;
}
.pricing-card-top h2{
    margin:0 0 10px;
    font-size:25px;
    line-height:1.08;
    color:#102236;
}
.pricing-card-top p{
    margin:0;
    color:#475569;
    line-height:1.48;
}
.pricing-price{
    display:flex;
    align-items:baseline;
    gap:8px;
    flex-wrap:wrap;
    min-width:0;
    padding:14px 14px 12px;
    border:1px solid #d9e8fb;
    border-radius:8px;
    background:#eff6ff;
}
.pricing-price strong{
    color:#102236;
    font-size:30px;
    line-height:1;
}
.pricing-price span{
    color:#667085;
    font-weight:800;
}
.pricing-included{
    display:grid;
    gap:8px;
    margin:0;
    min-width:0;
    padding:12px;
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:#fff;
}
.pricing-included div{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:8px;
    align-items:start;
}
.pricing-included dt{
    color:#667085;
    font-size:13px;
    font-weight:900;
}
.pricing-included dd{
    margin:0;
    color:#172033;
    font-weight:900;
    line-height:1.25;
}
.pricing-card-features{
    min-width:0;
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:rgba(255,255,255,.78);
}
.pricing-card-features h3{
    margin:0 0 10px;
    color:#102236;
    font-size:14px;
    letter-spacing:0;
    text-transform:none;
}
.pricing-feature-list{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}
.pricing-feature-list li{
    position:relative;
    min-width:0;
    padding-left:22px;
    color:#334155;
    line-height:1.45;
}
.pricing-feature-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:.35em;
    width:12px;
    height:12px;
    border-radius:50%;
    background:#16a34a;
    box-shadow:inset 0 0 0 3px #dcfce7;
}
.pricing-card-features .pricing-feature-list li{
    padding:8px 8px 8px 24px;
    border-radius:8px;
    background:#f8fafc;
}
.pricing-card-features .pricing-feature-list li::before{
    left:8px;
    top:13px;
}
.pricing-rules-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.pricing-rules-grid article,
.pricing-checklist{
    min-width:0;
    padding:18px;
    border:1px solid #d9e2ef;
    border-radius:8px;
    background:#fff;
    box-shadow:0 4px 14px rgba(15,23,42,.045);
}
.pricing-rules-grid h3,
.pricing-checklist h3{
    margin:0 0 8px;
    color:#102236;
    font-size:20px;
}
.pricing-rules-grid p{
    margin:0;
    color:#475569;
    line-height:1.55;
}
.pricing-rule-lines{
    display:grid;
    gap:5px;
}
.pricing-rule-lines strong{
    color:#172033;
}
.pricing-benefit-grid,
.pricing-trust-proof-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.pricing-benefit-card,
.pricing-trust-card{
    min-width:0;
    padding:18px;
    border:1px solid #d9e2ef;
    border-radius:8px;
    background:#fff;
    box-shadow:0 6px 20px rgba(15,23,42,.055);
}
.pricing-benefit-icon,
.pricing-trust-card-icon{
    display:inline-flex;
    max-width:100%;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
    color:#0b579d;
    font-weight:900;
    line-height:1.2;
}
.pricing-benefit-card p,
.pricing-trust-card p{
    margin:0;
    color:#475569;
    line-height:1.55;
}
.pricing-support-section{
    padding-top:8px;
}
.pricing-support-table{
    display:grid;
    border:1px solid #d9e2ef;
    border-radius:8px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(15,23,42,.045);
}
.pricing-support-row{
    display:grid;
    grid-template-columns:1.1fr .8fr minmax(0,2fr);
    gap:16px;
    align-items:start;
    padding:15px 16px;
    border-top:1px solid #e5e8ef;
}
.pricing-support-row:first-child{
    border-top:0;
}
.pricing-support-row strong{
    color:#102236;
}
.pricing-support-row span{
    color:#0f766e;
    font-weight:900;
}
.pricing-support-row p{
    margin:0;
    color:#475569;
    line-height:1.5;
}
.pricing-split{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);
    gap:18px;
    align-items:stretch;
    margin-bottom:8px;
    padding:22px;
    border-radius:8px;
    background:#102236;
    color:#fff;
}
.pricing-split h2,
.pricing-split h3{
    color:#fff;
}
.pricing-split p{
    max-width:680px;
    color:rgba(255,255,255,.84);
    line-height:1.58;
}
.pricing-split .kicker{
    color:#f8c856;
}
.pricing-split .pricing-feature-list li{
    color:rgba(255,255,255,.9);
}
.pricing-checklist{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.2);
    box-shadow:none;
}
.pricing-faq-section{
    padding-top:10px;
}
.pricing-faq-list{
    display:grid;
    gap:10px;
    max-width:1180px;
}
.pricing-faq-item{
    border:1px solid #d9e2ef;
    border-radius:8px;
    background:#fff;
    box-shadow:0 4px 14px rgba(15,23,42,.045);
    overflow:hidden;
}
.pricing-faq-item summary{
    position:relative;
    display:flex;
    align-items:center;
    min-height:58px;
    padding:16px 48px 16px 18px;
    color:#102236;
    font-weight:900;
    cursor:pointer;
    list-style:none;
}
.pricing-faq-item summary::-webkit-details-marker{
    display:none;
}
.pricing-faq-item summary::after{
    content:"+";
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:#eef6ff;
    color:#0b579d;
    font-size:20px;
    line-height:1;
}
.pricing-faq-item[open] summary::after{
    content:"-";
}
.pricing-faq-item p{
    margin:0;
    padding:0 18px 18px;
    color:#475569;
    line-height:1.6;
}
.pricing-trust-proof-section{
    padding-bottom:10px;
}
.pricing-trust-proof-section .pricing-section-head{
    max-width:900px;
}
.pricing-trust-card{
    background:#f8fbff;
}
.pricing-contact-section{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:16px;
    align-items:start;
    padding:24px 0 28px;
}
.pricing-contact-copy{
    justify-self:stretch;
    width:100%;
    min-width:0;
    max-width:1180px;
}
.pricing-contact-copy h2{
    margin:0 0 10px;
    color:#102236;
    font-size:30px;
    line-height:1.12;
    letter-spacing:0;
}
.pricing-contact-copy p{
    color:#475569;
    line-height:1.58;
}
.pricing-contact-copy .pricing-feature-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px 16px;
    margin-top:16px;
}
.pricing-contact-form{
    justify-self:stretch;
    display:grid;
    gap:16px;
    width:100%;
    max-width:1180px;
    min-width:0;
    padding:22px;
    border:1px solid #d9e2ef;
    border-radius:8px;
    background:#fff;
    box-shadow:0 10px 28px rgba(15,23,42,.08);
    font-family:inherit;
    font-size:16px;
}
.contact-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.pricing-contact-form label{
    min-width:0;
    margin:0;
    color:#172033;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
}
.pricing-contact-form input,
.pricing-contact-form select,
.pricing-contact-form textarea{
    width:100%;
    min-height:44px;
    margin-top:6px;
    border-radius:8px;
    border-color:#cbd5e1;
    background:#fff;
    color:#172033;
    font-family:inherit;
    font-size:16px;
    font-weight:400;
    line-height:1.4;
}
.pricing-contact-form textarea{
    min-height:132px;
    resize:vertical;
}
.pricing-contact-form textarea::placeholder{
    color:#7b8798;
    font-weight:500;
}
.contact-form-full{
    grid-column:1/-1;
}
.contact-hp{
    position:absolute;
    left:-10000px;
    width:1px;
    height:1px;
    overflow:hidden;
}
.pricing-contact-button{
    min-height:46px;
    border-radius:8px;
    background:#0b579d!important;
    color:#fff!important;
    font-family:inherit;
    font-size:16px;
    font-weight:900;
}
.pricing-contact-note{
    margin:0;
    color:#667085;
    font-size:13px;
    font-weight:700;
    line-height:1.45;
}
.pricing-footer-downloads{
    justify-content:center;
    max-width:1180px;
    width:100%;
    margin:0 auto 14px;
}
.pricing-footer-links{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    max-width:1180px;
    width:100%;
    margin:0 auto 16px;
}
.pricing-footer-links a{
    display:inline-flex;
    min-height:38px;
    align-items:center;
    padding:8px 12px;
    border:1px solid #d9e2ef;
    border-radius:8px;
    background:#fff;
    font-weight:900;
}
@media(max-width:1120px){
    .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pricing-trust-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
    .pricing-benefit-grid,
    .pricing-trust-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .audience-grid{grid-template-columns:1fr}
    .capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .app-screenshot-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}
    .pricing-rules-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
    .pricing-hero.public-hero{
        grid-template-columns:1fr;
        min-height:0;
        margin:-14px calc(50% - 50vw) 0;
        padding:82px 14px 30px;
    }
    .pricing-public-nav{
        top:14px;
        left:14px;
        right:14px;
        justify-content:flex-start;
    }
    .pricing-public-nav a{
        min-height:34px;
        padding:7px 9px;
        font-size:14px;
    }
    .pricing-hero h1{
        font-size:34px;
    }
    .pricing-hero p{
        font-size:16px;
    }
    .pricing-hero-panel{
        justify-content:flex-start;
    }
    .frontpage-login{
        width:100%;
    }
    .pricing-trust-strip,
    .pricing-benefit-grid,
    .pricing-trust-proof-grid,
    .pricing-grid,
    .capability-grid,
    .pricing-split,
    .pricing-contact-section{
        grid-template-columns:1fr;
    }
    .app-screenshot-grid{
        display:flex;
        gap:12px;
        overflow-x:auto;
        padding:0 2px 12px;
        scroll-snap-type:x mandatory;
    }
    .app-screenshot-card{
        flex:0 0 74%;
        scroll-snap-align:start;
    }
    .pricing-section{
        padding:16px 0;
    }
    .pricing-section-head h2{
        font-size:26px;
    }
    .pricing-product-demo{
        padding-top:22px;
    }
    .pricing-product-demo-copy{
        text-align:left;
    }
    .pricing-product-demo-copy h2{
        font-size:28px;
    }
    .pricing-product-demo-copy p{
        margin:0;
        font-size:16px;
    }
    .pricing-product-demo-points{
        justify-content:flex-start;
    }
    .pricing-product-demo-media{
        margin-left:0;
        margin-right:0;
    }
    .pricing-product-demo-media figcaption{
        padding:0 10px;
        text-align:left;
    }
    .pricing-support-row{
        grid-template-columns:1fr;
        gap:6px;
    }
    .pricing-contact-copy .pricing-feature-list{
        grid-template-columns:1fr;
    }
    .pricing-split{
        padding:18px;
    }
    .contact-form-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:520px){
    .pricing-public-nav{
        position:relative;
        top:auto;
        left:auto;
        right:auto;
        margin:-58px 0 22px;
    }
    .pricing-hero.public-hero{
        padding-top:72px;
    }
    .pricing-hero-actions .button,
    .pricing-footer-links a{
        width:100%;
        justify-content:center;
        text-align:center;
    }
    .app-screenshot-card{
        flex-basis:82%;
    }
    .app-download-link{
        width:100%;
    }
    .pricing-included div{
        grid-template-columns:1fr;
        gap:2px;
    }
}
.public-list li+li{
    margin-top:6px;
}
.support-contact strong{
    color:#0f172a;
}

/* v20.28: admin-dashboard fremhæver ulæste appbeskeder */
.dash-stat.app-message-alert{
    background:#fff1f2;
    border-color:#fda4af;
    box-shadow:0 10px 30px rgba(190,18,60,.14);
}
.dash-stat.app-message-alert:hover{
    background:#ffe4e6;
}
.dash-stat.app-message-alert>span,
.dash-stat.app-message-alert>em{
    color:#9f1239;
}
.dash-stat.app-message-alert>strong{
    color:#be123c;
}
.dash-stat.app-message>strong{
    color:var(--primary);
}

/* v20.29: appbeskeder - målgrupper og tydelige ulæste medarbejdersvar */
.app-message-targets{
    margin:16px 0;
    padding:14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#f8fafc;
}
.app-message-targets h3{
    margin:0 0 10px;
}
.app-message-target-mode{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
}
.app-message-target-mode label{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:2px 8px;
    align-items:start;
    margin:0;
    padding:11px;
    border:1px solid #dbe3ef;
    border-radius:10px;
    background:#fff;
}
.app-message-target-mode input{
    grid-row:1/3;
    margin-top:2px;
}
.app-message-target-mode strong,
.app-message-target-mode span{
    display:block;
    min-width:0;
}
.app-message-target-mode span{
    color:var(--muted);
    font-size:13px;
    font-weight:500;
}
.app-message-target-grid{
    display:grid;
    grid-template-columns:minmax(240px,360px) minmax(0,1fr);
    gap:14px;
    align-items:start;
}
.app-message-group-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:6px 12px;
    margin-top:8px;
}
.app-message-admin-list,
.app-message-employee-list{
    display:grid;
    gap:12px;
}
.app-message-admin-list{
    border:0;
    border-radius:0;
    gap:8px;
    overflow:visible;
}
.app-message-admin-row{
    background:#fff;
    border:2px solid #d8e3f0;
    border-radius:10px;
    cursor:pointer;
    padding:9px 12px 8px;
}
.app-message-admin-row:last-child{
    border-bottom:2px solid #d8e3f0;
}
.app-message-admin-row:hover{
    background:#f8fbff;
}
.app-message-admin-row:focus{
    outline:3px solid rgba(37,99,235,.25);
    outline-offset:-3px;
}
.app-message-admin-row.is-unread{
    background:#fff8f9;
    box-shadow:inset 5px 0 0 #be123c;
}
.app-message-admin-row.is-trash{
    background:#f8fafc;
}
.app-message-admin-row-top{
    align-items:center;
    display:flex;
    gap:12px;
    justify-content:space-between;
    min-width:0;
}
.app-message-admin-row-title{
    color:var(--primary,#0058a8);
    font-size:16px;
    font-weight:900;
    line-height:1.25;
    text-decoration:none;
}
.app-message-admin-row-title:hover{
    text-decoration:underline;
}
.app-message-admin-row-badges{
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    justify-content:flex-end;
}
.app-message-admin-row-badges .app-message-closed-badge,
.app-message-admin-row-badges .app-message-saved-badge,
.app-message-admin-row-badges .app-message-important-badge,
.app-message-admin-row-badges .app-message-waiting-badge,
.app-message-admin-row-badges .app-message-trash-badge{
    font-size:11px;
    margin-left:0;
    padding:3px 7px;
}
.app-message-admin-row-preview{
    color:#40516d;
    font-size:13px;
    font-weight:650;
    line-height:1.25;
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.app-message-admin-row-meta{
    color:#52627a;
    display:flex;
    flex-wrap:wrap;
    font-size:12px;
    font-weight:750;
    gap:4px 0;
    margin-top:5px;
}
.app-message-admin-row-meta span{
    white-space:nowrap;
}
.app-message-admin-row-meta span+span::before{
    color:#94a3b8;
    content:"•";
    margin:0 7px;
}
.app-message-admin-row-meta strong{
    color:#172033;
    font-weight:900;
}
.app-message-card,
.app-message-employee-card{
    background:#fff;
    border:1px solid #d8e3f0;
    border-radius:14px;
    box-shadow:0 10px 28px rgba(15,23,42,.07);
    color:inherit;
    display:block;
    padding:16px;
    position:relative;
    text-decoration:none;
}
.app-message-employee-card h2{
    color:var(--primary,#0058a8);
    font-size:18px;
    line-height:1.25;
    margin:0 0 8px;
}
.app-message-employee-card .muted{
    line-height:1.45;
}
.app-message-card{
    cursor:pointer;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(170px,230px);
    gap:16px;
}
.app-message-card:hover,
.app-message-employee-card:hover{
    border-color:#b9cbe0;
    box-shadow:0 14px 34px rgba(15,23,42,.11);
    text-decoration:none;
}
.app-message-card:focus{
    outline:3px solid rgba(37,99,235,.28);
    outline-offset:2px;
}
.app-message-card.is-unread,
.app-message-employee-card.is-unread{
    background:#fff8f9;
    border-color:#fda4af;
    box-shadow:inset 5px 0 0 #be123c,0 14px 34px rgba(190,18,60,.10);
}
.app-message-employee-card.is-unread{
    background:#fff8f9;
}
.app-message-employee-card p:last-child{
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:0;
}
.app-message-employee-card p:last-child .app-message-unread-badge,
.app-message-employee-card p:last-child .app-message-saved-badge,
.app-message-employee-card p:last-child .app-message-closed-badge{
    margin-left:0;
    margin-right:0;
}
.app-message-card.is-trash{
    background:#f8fafc;
    border-style:dashed;
}
.app-message-card-head{
    align-items:flex-start;
    display:flex;
    gap:10px;
    justify-content:space-between;
}
.app-message-card-title{
    color:var(--primary,#0058a8);
    font-size:18px;
    font-weight:900;
    line-height:1.25;
    text-decoration:none;
}
.app-message-card-title:hover{
    text-decoration:underline;
}
.app-message-card-badges{
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    justify-content:flex-end;
}
.app-message-card-badges .app-message-closed-badge,
.app-message-card-badges .app-message-saved-badge,
.app-message-card-badges .app-message-important-badge,
.app-message-card-badges .app-message-waiting-badge,
.app-message-card-badges .app-message-trash-badge{
    margin-left:0;
}
.app-message-card-body{
    color:#40516d;
    font-weight:650;
    line-height:1.45;
    margin:10px 0 14px;
}
.app-message-card-meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.app-message-card-meta span,
.app-message-card-stats span{
    background:#f8fafc;
    border:1px solid #e3ebf5;
    border-radius:10px;
    color:#40516d;
    display:block;
    font-size:13px;
    font-weight:750;
    min-width:0;
    padding:8px 10px;
}
.app-message-card-meta strong,
.app-message-card-stats strong{
    color:#172033;
    display:block;
    font-size:12px;
    font-weight:900;
    line-height:1.25;
    margin-bottom:2px;
}
.app-message-card-stats{
    align-content:start;
    display:grid;
    gap:8px;
}
.app-message-admin-card{
    border-radius:10px;
    box-shadow:none;
    display:block;
    padding:10px 12px;
}
.app-message-admin-card:hover{
    box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.app-message-admin-card .app-message-card-head{
    align-items:center;
}
.app-message-admin-card .app-message-card-title{
    font-size:16px;
}
.app-message-admin-card .app-message-card-body{
    display:block;
    font-size:13px;
    line-height:1.25;
    margin:4px 0 7px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.app-message-admin-card .app-message-card-meta,
.app-message-admin-card .app-message-card-stats{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}
.app-message-admin-card .app-message-card-stats{
    margin-top:6px;
}
.app-message-admin-card .app-message-card-badges .app-message-closed-badge,
.app-message-admin-card .app-message-card-badges .app-message-saved-badge,
.app-message-admin-card .app-message-card-badges .app-message-important-badge,
.app-message-admin-card .app-message-card-badges .app-message-waiting-badge,
.app-message-admin-card .app-message-card-badges .app-message-trash-badge,
.app-message-admin-card .app-message-card-badges .app-message-unread-badge{
    font-size:11px;
    padding:3px 7px;
}
.app-message-admin-card .app-message-card-meta span,
.app-message-admin-card .app-message-card-stats span{
    align-items:center;
    border-radius:8px;
    display:inline-flex;
    font-size:12px;
    gap:4px;
    min-height:26px;
    padding:3px 7px;
}
.app-message-admin-card .app-message-card-meta strong,
.app-message-admin-card .app-message-card-stats strong{
    display:inline;
    font-size:12px;
    margin:0;
}
.app-message-original-message{
    background:#fff;
    border:1px solid #d8e3f0;
    border-left:5px solid var(--primary,#0058a8);
    border-radius:12px;
    color:#172033;
    font-weight:650;
    line-height:1.5;
    margin-top:10px;
    padding:12px 14px;
}
.app-message-thread-list{
    display:grid;
    gap:10px;
}
.app-message-thread-entry{
    background:#fff;
    border:1px solid #d8e3f0;
    border-left:5px solid var(--primary,#0058a8);
    border-radius:12px;
    color:#172033;
    line-height:1.5;
    padding:12px 14px;
}
.app-message-thread-entry.is-admin{
    background:#f8fbff;
    border-left-color:#2563eb;
}
.app-message-thread-entry.is-employee{
    background:#f7fff9;
    border-left-color:#16a34a;
}
.app-message-thread-entry.is-note{
    background:#fff7ed;
    border-color:#fed7aa;
    border-left-color:#f59e0b;
}
.app-message-thread-entry.is-system{
    background:#f8fafc;
    border-left-color:#64748b;
}
.app-message-thread-head{
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:7px;
}
.app-message-thread-head strong{
    font-weight:900;
}
.app-message-thread-head span{
    background:#eef2ff;
    border:1px solid #c7d2fe;
    border-radius:999px;
    color:#3730a3;
    font-size:12px;
    font-weight:900;
    line-height:1;
    padding:4px 8px;
}
.app-message-thread-head em{
    color:#64748b;
    font-size:12px;
    font-style:normal;
    font-weight:800;
}
.app-message-admin-thread-list{
    border:1px solid #d8e3f0;
    border-radius:12px;
    overflow:hidden;
}
.app-message-admin-thread-item{
    background:#fff;
    border-bottom:1px solid #e2eaf4;
    border-left:4px solid #64748b;
    line-height:1.45;
    padding:10px 12px;
}
.app-message-admin-thread-item:last-child{
    border-bottom:0;
}
.app-message-admin-thread-item.is-admin{
    border-left-color:#2563eb;
}
.app-message-admin-thread-item.is-employee{
    border-left-color:#16a34a;
}
.app-message-admin-thread-item.is-note{
    background:#fffaf3;
    border-left-color:#f59e0b;
}
.app-message-admin-thread-item.is-system{
    background:#f8fafc;
}
.app-message-admin-thread-meta{
    align-items:center;
    color:#64748b;
    display:flex;
    flex-wrap:wrap;
    font-size:12px;
    font-weight:800;
    gap:7px;
    margin-bottom:5px;
}
.app-message-admin-thread-meta strong{
    color:#172033;
    font-size:13px;
    font-weight:900;
}
.app-message-admin-thread-meta span,
.app-message-admin-thread-meta em{
    color:#64748b;
    font-style:normal;
}
.app-message-table .app-message-row.is-unread td{
    background:#fff1f2;
    border-bottom-color:#fecdd3;
}
.app-message-table .app-message-row[data-href]{
    cursor:pointer;
}
.app-message-table .app-message-row[data-href]:hover td{
    background:#f8fbff;
}
.app-message-table .app-message-row.is-unread[data-href]:hover td{
    background:#ffe4e6;
}
.app-message-table .app-message-row[data-href]:focus{
    outline:3px solid rgba(37,99,235,.28);
    outline-offset:-3px;
}
.app-message-table .app-message-row.is-unread td:first-child{
    box-shadow:inset 5px 0 0 #e11d48;
}
.app-message-unread-badge{
    display:inline-flex;
    align-items:center;
    margin:0 7px 5px 0;
    padding:4px 8px;
    border-radius:999px;
    background:#be123c;
    color:#fff;
    font-size:12px;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
}
.app-message-sender{
    display:grid;
    gap:4px;
}
.app-message-sender strong{
    color:#172033;
}
.app-message-list-controls{
    display:grid;
    grid-template-columns:minmax(260px,1fr) minmax(150px,190px) minmax(110px,150px) auto auto;
    gap:10px;
    align-items:end;
    margin:0 0 14px;
}
.app-message-list-controls label{
    margin:0;
}
.app-message-list-controls input,
.app-message-list-controls select{
    margin-top:6px;
}
.app-message-employee-controls{
    grid-template-columns:minmax(240px,1fr) minmax(150px,190px) auto auto;
}
.app-message-compose{
    margin:0 0 18px;
}
.app-message-compose[open]{
    padding-bottom:18px;
}
.app-message-compose-summary{
    align-items:center;
    cursor:pointer;
    display:flex;
    font-size:18px;
    font-weight:900;
    justify-content:space-between;
    list-style:none;
    padding:2px 0;
}
.app-message-compose-summary::-webkit-details-marker{
    display:none;
}
.app-message-compose-summary::after{
    content:"+";
    align-items:center;
    background:var(--primary,#0058a8);
    border-radius:999px;
    color:#fff;
    display:inline-flex;
    font-size:20px;
    font-weight:900;
    height:34px;
    justify-content:center;
    line-height:1;
    width:34px;
}
.app-message-compose[open] .app-message-compose-summary{
    margin-bottom:14px;
}
.app-message-compose[open] .app-message-compose-summary::after{
    content:"-";
}
.app-message-retention-note{
    background:#f8fafc;
    border:1px solid #dbe5f1;
    border-radius:12px;
    color:#40516d;
    font-weight:800;
    margin:0 0 14px;
    padding:10px 12px;
}
.app-message-live-update{
    align-items:center;
    background:#ecfdf5;
    border:2px solid #22c55e;
    border-radius:12px;
    color:#14532d;
    display:flex;
    flex-wrap:wrap;
    gap:8px 12px;
    margin:0 0 14px;
    padding:10px 12px;
}
.app-message-live-update[hidden]{
    display:none;
}
.app-message-live-update strong{
    font-weight:900;
}
.app-message-live-update span{
    font-weight:750;
}
.app-message-live-update button{
    margin-left:auto;
    padding:7px 12px;
}
.app-message-closed-badge{
    display:inline-flex;
    align-items:center;
    margin-left:7px;
    padding:4px 8px;
    border-radius:999px;
    background:#fef3c7;
    border:1px solid #f59e0b;
    color:#92400e;
    font-size:12px;
    font-weight:900;
    line-height:1;
}
.app-message-saved-badge{
    display:inline-flex;
    align-items:center;
    margin-left:7px;
    padding:4px 8px;
    border-radius:999px;
    background:#e0f2fe;
    border:1px solid #38bdf8;
    color:#075985;
    font-size:12px;
    font-weight:900;
    line-height:1;
}
.app-message-important-badge{
    display:inline-flex;
    align-items:center;
    margin-left:7px;
    padding:4px 8px;
    border-radius:999px;
    background:#be123c;
    border:1px solid #9f1239;
    color:#fff!important;
    font-size:12px;
    font-weight:900;
    line-height:1;
}
.app-message-waiting-badge{
    display:inline-flex;
    align-items:center;
    margin-left:7px;
    padding:4px 8px;
    border-radius:999px;
    background:#dcfce7;
    border:1px solid #22c55e;
    color:#166534;
    font-size:12px;
    font-weight:900;
    line-height:1;
}
.app-message-trash-badge{
    display:inline-flex;
    align-items:center;
    margin-left:7px;
    padding:4px 8px;
    border-radius:999px;
    background:#f1f5f9;
    border:1px solid #94a3b8;
    color:#334155;
    font-size:12px;
    font-weight:900;
    line-height:1;
}
.app-message-important-button{
    background:#be123c!important;
    color:#fff!important;
}
.app-message-thread-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin:10px 0 12px;
}
.app-message-thread-actions form{
    margin:0;
}
.app-message-admin-note{
    background:#fff7ed;
    border-color:#fed7aa;
}
.app-message-trash-alert{
    background:#fff7ed;
    border:1px solid #fdba74;
    border-radius:12px;
    color:#7c2d12;
    font-weight:800;
    margin:10px 0 12px;
    padding:12px 14px;
}
.app-message-system-note{
    background:#f8fafc;
    border-color:#dbe5f1;
    box-shadow:none;
}
@media(max-width:820px){
    .app-message-target-mode,
    .app-message-target-grid,
    .app-message-list-controls,
    .app-message-employee-controls,
    .app-message-card,
    .app-message-card-meta{
        grid-template-columns:1fr;
    }
    .app-message-card-head{
        display:grid;
    }
    .app-message-card-badges{
        justify-content:flex-start;
    }
    .app-message-admin-row-top{
        align-items:flex-start;
        display:grid;
        gap:5px;
    }
    .app-message-admin-row-badges{
        justify-content:flex-start;
    }
    .app-message-admin-row-meta span{
        white-space:normal;
    }
    .app-message-live-update{
        align-items:stretch;
        display:grid;
    }
    .app-message-live-update button{
        margin-left:0;
        width:100%;
    }
}

.handbook-page{
    display:grid;
    gap:16px;
    max-width:980px;
    margin:0 auto;
}
.handbook-head{
    align-items:center;
    display:flex;
    gap:14px;
    justify-content:space-between;
}
.handbook-head h1{
    margin:0;
}
.handbook-head .muted{
    margin:0 0 4px;
    font-weight:800;
    text-transform:uppercase;
}
.handbook-status{
    border-radius:999px;
    display:inline-flex;
    font-size:13px;
    font-weight:900;
    padding:7px 11px;
    white-space:nowrap;
}
.handbook-status-ok{
    background:#dcfce7;
    border:1px solid #86efac;
    color:#166534;
}
.handbook-status-waiting{
    background:#fef3c7;
    border:1px solid #f59e0b;
    color:#92400e;
}
.handbook-document{
    padding:0;
}
.handbook-section{
    padding:18px;
}
.handbook-section+.handbook-section{
    border-top:1px solid var(--border);
}
.handbook-section h2{
    font-size:20px;
    margin:0 0 10px;
}
.handbook-section-body{
    color:var(--text);
    font-size:15px;
    font-weight:650;
    line-height:1.55;
    overflow-wrap:anywhere;
}
.handbook-accept form{
    display:grid;
    gap:12px;
}
.handbook-editor{
    display:grid;
    gap:14px;
}
.handbook-editor-head{
    align-items:center;
    display:flex;
    gap:12px;
    justify-content:space-between;
}
.handbook-editor-head h2{
    margin:0;
}
.handbook-section-list{
    display:grid;
    gap:14px;
}
.handbook-editor-section{
    background:#f8fafc;
    border:1px solid #dbe5f1;
    border-radius:12px;
    padding:14px;
}
.handbook-editor-section textarea{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    min-height:150px;
}
.handbook-delete{
    color:#991b1b;
}
@media(max-width:700px){
    .handbook-head,
    .handbook-editor-head{
        align-items:flex-start;
        display:grid;
    }
    .handbook-status{
        white-space:normal;
    }
}

/* Vagtplaner */
.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900;line-height:1.2;background:#eef2f7;color:#334155;white-space:nowrap}.badge-green{background:#dcfce7;color:#166534}.badge-red{background:#fee2e2;color:#991b1b}.badge-muted{background:#f1f5f9;color:#64748b}.badge-purple{background:#f3e8ff;color:#6b21a8}.schedule-worktime-badge,.schedule-pay-type-badge{justify-self:start;margin-top:3px}.schedule-worktime-panel ul{margin:0 0 12px;padding-left:20px}.schedule-worktime-panel li{margin:7px 0}
.schedule-create-panel{overflow:visible}.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.schedule-month-spacer{display:block;min-height:1px}.schedule-month-head{margin-bottom:8px}.schedule-month-head div{font-size:13px;font-weight:900;color:#475569;text-align:center}.schedule-day{display:grid;align-content:start;gap:6px;min-height:112px;width:100%;padding:10px;border:1px solid #dbe5f1;border-radius:8px;background:#fff;color:#172033;text-align:left;box-shadow:0 2px 8px rgba(15,23,42,.035)}.schedule-day:hover{filter:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(31,79,143,.12)}.schedule-day.is-muted{background:#f8fafc;color:#94a3b8}.schedule-day-number{font-size:20px;font-weight:900;color:var(--primary)}.schedule-day-count,.schedule-day-empty,.schedule-day-drafts{display:inline-flex;justify-self:start;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900}.schedule-day-count{background:#e0f2fe;color:#075985}.schedule-day-empty{background:#f1f5f9;color:#475569}.schedule-day-drafts{background:#fef3c7;color:#92400e}.schedule-dialog{width:min(760px,calc(100% - 24px));border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 22px 70px rgba(15,23,42,.28)}.schedule-dialog::backdrop{background:rgba(15,23,42,.52)}.schedule-dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.schedule-dialog-head h2{margin:0 0 4px}.schedule-dialog .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.schedule-month-title{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin-bottom:12px}.schedule-month-title h2{text-align:center;margin:0}.schedule-month-arrow{display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:8px;background:#e9edf5;color:#172033!important;font-size:28px;font-weight:900;text-decoration:none}.schedule-month-arrow:hover{text-decoration:none;filter:brightness(.96)}.schedule-select-toolbar,.schedule-view-toggle{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.schedule-view-toggle{display:inline-flex;margin:0}.schedule-select-toolbar .is-active{background:#facc15!important;color:#422006!important}.schedule-day.is-selected{border-color:#d97706;background:#fffbeb;box-shadow:0 0 0 3px rgba(217,119,6,.18)}.schedule-weekday-picker{margin:0 0 12px;padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 10px}.schedule-weekday-picker legend{grid-column:1/-1}.schedule-series-extend,.schedule-series-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:0}.schedule-series-actions{align-items:center}.schedule-series-actions form{margin:0}.schedule-series-extend label{margin:0}.schedule-series-extend input{width:auto;margin:6px 0 0;min-width:150px}
.schedule-day-existing{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:4px;border:1px solid #bfdbfe;background:#eff6ff;color:#172033;border-radius:7px;padding:4px 6px;font-size:11px;line-height:1.1;min-width:0}.schedule-day-existing strong,.schedule-day-existing em{font-style:normal;white-space:nowrap}.schedule-day-existing em{color:#64748b;overflow:hidden;text-overflow:ellipsis}.schedule-day-more{display:inline-flex;justify-self:start;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:900;background:#eef2ff;color:#3730a3}.schedule-existing-panel{border:1px solid #dbe5f1;border-radius:10px;background:#f8fafc;padding:12px;margin:0 0 12px}.schedule-existing-panel h3{margin:0 0 8px;font-size:16px;color:#123f7a}.schedule-existing-panel p{margin:0}.schedule-existing-list{display:grid;gap:7px}.schedule-existing-list div{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:8px}.schedule-existing-list strong,.schedule-existing-list span{display:block}.schedule-existing-list span{font-size:12px;color:#64748b;margin-top:2px}
.schedule-plan-grid{align-items:stretch}.schedule-day-view-grid{grid-template-columns:minmax(0,1fr)}.schedule-plan-day{display:grid;align-content:start;gap:7px;min-height:154px;padding:9px;border:1px solid #dbe5f1;border-radius:8px;background:#fff;overflow:hidden}.schedule-day-view-grid .schedule-plan-day{min-height:260px}.schedule-plan-day.is-muted{background:#f8fafc;color:#94a3b8}.schedule-plan-day.is-special-day{background:#fff7ed;border-color:#fed7aa}.schedule-plan-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.schedule-plan-day-head strong{font-size:18px;color:var(--primary)}.schedule-plan-day-head span{font-size:11px;font-weight:900;color:#9a3412;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-plan-empty{font-size:12px;color:#94a3b8}.schedule-plan-shift{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:7px 8px;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff;color:#172033;text-decoration:none;font-size:12px;line-height:1.18;min-width:0}.schedule-plan-shift:hover{text-decoration:none;filter:brightness(.98)}.schedule-plan-shift strong,.schedule-plan-shift span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-plan-shift-time{font-weight:900;color:#1d4ed8}.schedule-plan-shift.is-draft{border-color:#fde68a;background:#fffbeb}.schedule-plan-shift.is-draft .schedule-plan-shift-time{color:#92400e}.schedule-plan-location{display:inline-flex;align-items:center;gap:5px;min-width:0}.schedule-plan-dot{width:9px;height:9px;border-radius:99px;display:inline-block;flex:0 0 9px}.schedule-plan-event,.schedule-day-event{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #86efac;background:#dcfce7;color:#14532d;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:900;line-height:1.18;text-decoration:none}.schedule-plan-event:hover{text-decoration:none;filter:brightness(.98)}.schedule-day-event{justify-self:stretch;background:#f0fdf4;color:#166534;padding:4px 7px;font-size:11px}
.schedule-day.is-today,.schedule-plan-day.is-today{background:#ecfeff;border-color:#0891b2;box-shadow:0 0 0 3px rgba(8,145,178,.18)}.schedule-day.is-muted.is-today,.schedule-plan-day.is-muted.is-today,.schedule-plan-day.is-special-day.is-today{background:#ecfeff;color:#0f172a;border-color:#0891b2}.schedule-day.is-today .schedule-day-number,.schedule-plan-day.is-today .schedule-plan-day-head strong{color:#0e7490}
.badge-yellow{background:#fef3c7;color:#92400e}.schedule-actual-time{font-weight:900;color:#166534}.employee-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.employee-shift-list{display:grid;gap:10px}.employee-shift-card{display:grid;gap:10px;border:1px solid #dbe5f1;border-radius:8px;background:#fff;padding:12px}.employee-shift-card.has-pending-swap{border-color:#c4b5fd;background:#faf5ff}.employee-shift-main h3{margin:3px 0 5px;color:#123f7a;font-size:18px}.employee-shift-main p{margin:4px 0}.employee-shift-main .schedule-plan-dot{margin-right:6px;vertical-align:middle}.employee-shift-date{font-size:12px;font-weight:900;color:#475569}.employee-shift-actions{border-top:1px solid #edf2f7;padding-top:8px}.employee-shift-actions summary{cursor:pointer;font-weight:900;color:#123f7a}.employee-shift-actions form{margin:10px 0 0}.employee-shift-actions .field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.employee-shift-actions textarea{min-height:68px}.employee-shift-claim{margin:0}.employee-request-block{border:1px solid #dbe5f1;border-radius:8px;background:#fff;padding:12px;margin:10px 0}.employee-request-block h3{margin:0 0 8px;color:#123f7a;font-size:16px}.employee-request-block-swap{border-color:#c4b5fd;background:#faf5ff}.schedule-request-notice{border:1px dashed #c4b5fd;border-radius:8px;background:#fff;padding:10px}.schedule-request-notice p{margin:5px 0}.schedule-cancel-request-form{margin-top:8px!important}.schedule-requests-panel{margin-top:14px}.schedule-employee-stats{margin-bottom:16px}.schedule-employee-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 12px}.schedule-employee-filter label{margin:0;min-width:220px}.schedule-employee-filter select{margin:6px 0 0}.employee-calendar-panel{margin-bottom:16px}.employee-calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-4px 0 12px}.employee-calendar-controls .schedule-select-toolbar,.employee-calendar-controls .schedule-view-toggle{margin:0}.employee-calendar-grid .schedule-plan-day{min-height:170px}.employee-calendar-shift.is-owned{border-color:#bfdbfe;background:#eff6ff}.employee-calendar-shift.is-open{border-color:#bbf7d0;background:#f0fdf4}.employee-calendar-shift.is-colleague{border-color:#e9d5ff;background:#faf5ff}.employee-calendar-shift.has-pending-swap{border-color:#a78bfa;background:#f5f3ff}.employee-open-shifts-panel table td{vertical-align:middle}.employee-calendar-claim{margin:4px 0 0}.employee-calendar-claim button{width:100%;padding:5px 8px;font-size:12px}.employee-calendar-link{font-size:12px;font-weight:900;color:var(--primary)}.schedule-detail-actions{border-top:0;padding-top:0}
@media(max-width:760px){.schedule-month-grid{gap:5px}.schedule-month-spacer{display:none}.schedule-day{min-height:82px;padding:7px}.schedule-day-number{font-size:17px}.schedule-day-count,.schedule-day-empty,.schedule-day-drafts{font-size:11px;padding:2px 6px}.schedule-dialog .field-grid,.employee-shift-actions .field-grid{grid-template-columns:1fr}.schedule-weekday-picker{grid-template-columns:1fr 1fr}.schedule-month-title{grid-template-columns:38px minmax(0,1fr) 38px}.schedule-plan-grid,.employee-schedule-grid{grid-template-columns:1fr}.schedule-month-head{display:none}.schedule-plan-day{min-height:auto}.schedule-plan-day.is-muted{display:none}}
.schedule-filter-actions{align-self:flex-end;display:flex;gap:8px;margin-left:auto}.schedule-print-button{white-space:nowrap}.schedule-print-summary{display:none}@media(max-width:760px){.schedule-filter-actions{margin-left:0;width:100%}.schedule-print-button{width:100%}}@media print{@page{size:A4 landscape;margin:10mm}body.schedule-printing{background:#fff!important;color:#111827!important}body.schedule-printing header,body.schedule-printing footer,body.schedule-printing .toolbar,body.schedule-printing .schedule-requests-panel,body.schedule-printing .schedule-employee-filter,body.schedule-printing .schedule-employee-filter-panel h3,body.schedule-printing .schedule-employee-filter-panel .table-wrap,body.schedule-printing .schedule-month-arrow,body.schedule-printing .flash,body.schedule-printing dialog,body.schedule-printing .modal-actions,body.schedule-printing .button,body.schedule-printing button{display:none!important}body.schedule-printing main{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}body.schedule-printing h1{font-size:22pt;margin:0 0 8mm;color:#111827!important}body.schedule-printing .panel{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0 0 5mm!important;padding:0!important;background:#fff!important}body.schedule-printing .schedule-print-summary{display:block;margin:0 0 5mm;color:#334155;font-size:10pt;font-weight:800}body.schedule-printing .schedule-month-title{display:block;margin:0 0 4mm;text-align:center}body.schedule-printing .schedule-month-title h2{font-size:18pt;color:#111827!important}body.schedule-printing .schedule-month-grid{gap:3mm}body.schedule-printing .schedule-month-head{display:grid;margin-bottom:2mm}body.schedule-printing .schedule-month-head div{font-size:9pt;color:#334155!important}body.schedule-printing .schedule-plan-day{break-inside:avoid;box-shadow:none!important;min-height:25mm;padding:2.5mm;border-color:#cbd5e1!important;background:#fff!important}body.schedule-printing .schedule-plan-day.is-special-day{background:#fff7ed!important;border-color:#fed7aa!important}body.schedule-printing .schedule-plan-day.is-today{box-shadow:none!important;border-width:2px!important}body.schedule-printing .schedule-plan-day-head strong{font-size:12pt}body.schedule-printing .schedule-plan-day-head span{font-size:7.5pt}body.schedule-printing .schedule-plan-empty{font-size:8pt}body.schedule-printing .schedule-plan-shift{break-inside:avoid;font-size:8pt;line-height:1.15;padding:1.5mm 2mm;text-decoration:none!important}body.schedule-printing .schedule-plan-shift strong,body.schedule-printing .schedule-plan-shift span{white-space:normal}body.schedule-printing .schedule-plan-event{font-size:8pt;padding:1.5mm 2mm;white-space:normal}body.schedule-printing .badge{font-size:7pt;padding:1mm 1.6mm}}
@media print{body.schedule-printing .schedule-print-calendar{border:1px solid #dbe5f1!important;border-radius:8px!important;padding:6mm!important;background:#fff!important}body.schedule-printing .schedule-print-calendar>p{margin:0 0 4mm;font-size:10pt;color:#172033}body.schedule-printing .schedule-print-calendar .schedule-month-title{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:center;margin:0 0 4mm!important}body.schedule-printing .schedule-print-calendar .schedule-month-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:2.5mm!important}body.schedule-printing .schedule-print-calendar .schedule-day-view-grid{grid-template-columns:minmax(0,1fr)!important}body.schedule-printing .schedule-print-calendar .schedule-plan-day{display:grid!important;align-content:start;gap:1.6mm;min-height:29mm;border-radius:7px!important;border:1px solid #dbe5f1!important;background:#fff!important;color:#172033!important;overflow:hidden}body.schedule-printing .schedule-print-calendar .schedule-plan-day.is-special-day{background:#fff7ed!important;border-color:#fed7aa!important}body.schedule-printing .schedule-print-calendar .schedule-plan-day.is-muted{background:#f8fafc!important;color:#94a3b8!important}body.schedule-printing .schedule-print-calendar .schedule-plan-day.is-today{background:#ecfeff!important;border-color:#0891b2!important}body.schedule-printing .schedule-print-calendar .schedule-plan-shift{border:1px solid #bfdbfe!important;border-radius:6px!important;background:#eff6ff!important;color:#172033!important}body.schedule-printing .schedule-print-calendar .schedule-plan-shift.is-draft{border-color:#fde68a!important;background:#fffbeb!important}body.schedule-printing .schedule-print-calendar .schedule-plan-event{border:1px solid #86efac!important;border-radius:6px!important;background:#dcfce7!important;color:#14532d!important}}
@media print{@page{size:A4 landscape;margin:5mm}body.schedule-printing h1,body.schedule-printing .schedule-list-panel{display:none!important}body.schedule-printing a[href]::after{content:""!important}body.schedule-printing .schedule-employee-filter-panel{margin:0 0 2mm!important}body.schedule-printing .schedule-print-summary{font-size:7.5pt!important;margin:0!important;color:#475569!important}body.schedule-printing .schedule-print-calendar{box-sizing:border-box!important;height:190mm!important;margin:0!important;padding:4mm!important;overflow:hidden!important;page-break-after:avoid!important;break-after:avoid!important}body.schedule-printing .schedule-print-calendar>p{font-size:8pt!important;margin:0 0 2mm!important;line-height:1.15!important}body.schedule-printing .schedule-print-calendar .schedule-month-title{margin:0 0 2mm!important}body.schedule-printing .schedule-print-calendar .schedule-month-title h2{font-size:17pt!important;line-height:1.1!important}body.schedule-printing .schedule-print-calendar .schedule-month-head{margin:0 0 1.5mm!important}body.schedule-printing .schedule-print-calendar .schedule-month-head div{font-size:8pt!important;line-height:1.1!important}body.schedule-printing .schedule-print-calendar .schedule-plan-grid{height:154mm!important;grid-auto-rows:minmax(0,1fr)!important;gap:1.8mm!important}body.schedule-printing .schedule-print-calendar .schedule-day-view-grid{height:154mm!important}body.schedule-printing .schedule-print-calendar .schedule-plan-day{min-height:0!important;padding:1.8mm!important;gap:1mm!important;border-radius:5px!important;background:#fff!important;border-color:#dbe5f1!important;box-shadow:none!important}body.schedule-printing .schedule-print-calendar .schedule-plan-day.is-today{background:#fff!important;border-color:#dbe5f1!important;border-width:1px!important}body.schedule-printing .schedule-print-calendar .schedule-plan-day.is-special-day,body.schedule-printing .schedule-print-calendar .schedule-plan-day.is-special-day.is-today{background:#fff7ed!important;border-color:#fed7aa!important}body.schedule-printing .schedule-print-calendar .schedule-plan-day-head strong{font-size:10pt!important;line-height:1!important}body.schedule-printing .schedule-print-calendar .schedule-plan-day-head span{font-size:6.5pt!important;line-height:1.05!important;color:#9a3412!important}body.schedule-printing .schedule-print-calendar .schedule-plan-empty{font-size:6.5pt!important}.schedule-print-calendar .schedule-plan-shift[href]{text-decoration:none!important}body.schedule-printing .schedule-print-calendar .schedule-plan-shift{font-size:6.6pt!important;line-height:1.08!important;padding:1mm 1.2mm!important;gap:.4mm!important}body.schedule-printing .schedule-print-calendar .schedule-plan-shift-time{font-size:6.8pt!important}body.schedule-printing .schedule-print-calendar .schedule-plan-event{font-size:6.6pt!important;line-height:1.08!important;padding:1mm 1.2mm!important}body.schedule-printing .schedule-plan-dot{width:6px!important;height:6px!important;flex-basis:6px!important}body.schedule-printing .badge{font-size:5.8pt!important;padding:.5mm 1mm!important}}
@media print{html,body.schedule-printing,body.schedule-printing.has-fixed-header{margin:0!important;padding:0!important;width:287mm!important;height:200mm!important;overflow:hidden!important}body.schedule-printing main{height:200mm!important;overflow:hidden!important}body.schedule-printing .schedule-employee-filter-panel{display:none!important}body.schedule-printing .schedule-print-calendar{height:198mm!important}body.schedule-printing .schedule-print-calendar .schedule-month-spacer{display:block!important;min-height:0!important}body.schedule-printing .schedule-print-calendar .schedule-month-head{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}body.schedule-printing .schedule-print-calendar .schedule-plan-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;height:163mm!important}body.schedule-printing .schedule-print-calendar .schedule-day-view-grid{grid-template-columns:minmax(0,1fr)!important;height:163mm!important}}
.employee-shift-actions .employee-request-block{margin:0}.employee-shift-actions .employee-request-block+.employee-request-block{margin-top:48px!important}.schedule-detail-actions{display:grid!important;gap:48px!important}.schedule-detail-actions .employee-request-block+.employee-request-block{margin-top:0!important}
.employee-action-panel{margin:0 0 24px!important}.employee-action-panel h2{margin-bottom:12px}.employee-action-panel-swap{border-color:#c4b5fd!important;background:#faf5ff!important}.employee-action-panel-release{background:#fff!important}
.schedule-day-number-wrap{display:inline-flex;align-items:center;gap:6px;min-width:0}.schedule-plan-day-head .schedule-week-badge{display:inline-flex;align-items:center;border-radius:999px;background:#e0f2fe;color:#075985;font-size:11px;font-weight:900;line-height:1;padding:3px 7px;white-space:nowrap;overflow:visible;text-overflow:clip}.schedule-plan-day-head .schedule-holiday-label{font-size:11px;font-weight:900;color:#9a3412;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media print{body.schedule-printing .schedule-plan-day-head .schedule-week-badge{font-size:5.8pt!important;padding:.5mm 1mm!important;background:#e0f2fe!important;color:#075985!important}body.schedule-printing .schedule-plan-day-head .schedule-holiday-label{font-size:6.5pt!important;line-height:1.05!important;color:#9a3412!important}}
