:root{color-scheme:light;--bg: #f6f7f9;--panel: #ffffff;--border: #dfe3e8;--text: #1b1f24;--sub: #667085;--accent: #0b5fff;--attention: #fff4e5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,sans-serif}.app-header{padding:16px 24px 0}.app-header h1{margin:0;font-size:20px}.sub{color:var(--sub);font-size:13px}.tab-nav{display:flex;flex-wrap:wrap;gap:4px;padding:12px 24px;border-bottom:1px solid var(--border)}.tab-btn{padding:8px 14px;border-radius:6px;text-decoration:none;color:var(--text);font-size:13px}.tab-btn.active{background:var(--accent);color:#fff}.app-main{padding:20px 24px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.filter-bar input[type=text],.filter-bar input:not([type]){padding:6px 10px;border:1px solid var(--border);border-radius:6px}.site-table{width:100%;border-collapse:collapse;background:var(--panel)}.site-table th,.site-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-size:13px}.row-attention{background:var(--attention)}.error{color:#b42318}.login-shell{min-height:100vh;display:flex;font-family:Montserrat,-apple-system,Segoe UI,Roboto,sans-serif}.login-visual{position:relative;flex:1 1 50%;min-width:0;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:48px;background:radial-gradient(circle at 15% 15%,#202127,#141417 55%,#0c0c0e);color:#fff}.login-brand{display:flex;align-items:center;gap:10px;color:#fff}.login-brand span{font-family:Alata,Montserrat,sans-serif;font-size:20px;letter-spacing:.5px}.login-visual-copy{max-width:420px;margin-top:40px}.login-visual-copy h1{font-family:Alata,Montserrat,sans-serif;font-size:40px;line-height:1.15;margin:0 0 16px;font-weight:400}.login-visual-copy p{color:#ffffffa6;font-size:15px;line-height:1.5;margin:0}.login-illustration{position:absolute;right:-30px;bottom:-20px;width:62%;max-width:380px;height:auto;pointer-events:none}.login-panel{flex:1 1 50%;display:flex;align-items:center;justify-content:center;background:#fff;padding:24px}.login-card{width:100%;max-width:360px}.login-card h2{font-family:Alata,Montserrat,sans-serif;font-weight:400;font-size:26px;margin:0 0 8px;color:var(--text)}.login-sub{color:var(--sub);font-size:14px;line-height:1.5;margin:0 0 24px}.login-card form{display:flex;flex-direction:column}.login-card input{padding:12px 14px;margin-bottom:12px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.login-card input:focus{outline:none;border-color:#3d7cff;box-shadow:0 0 0 3px #3d7cff26}.login-card button[type=submit]{padding:12px 14px;margin-top:4px;border:none;border-radius:8px;background:#3d7cff;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.login-card button[type=submit]:hover:not(:disabled){background:#2a67e8}.login-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-link-btn{margin-top:14px;padding:0;border:none;background:none;color:var(--sub);font-size:13px;text-decoration:underline;cursor:pointer;align-self:center}@media (max-width: 860px){.login-visual{display:none}.login-panel{flex:1 1 100%}}.logout-btn{float:right;border:1px solid var(--border);background:var(--panel);border-radius:6px;padding:6px 12px;cursor:pointer}.dropzone{border:2px dashed var(--border);border-radius:8px;padding:24px;text-align:center;color:var(--sub);cursor:pointer;background:var(--bg);transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--accent)}.dropzone-active{border-color:var(--accent);background:#e7f1ff;color:var(--text)}.upload-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;margin-bottom:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.upload-mode-toggle{display:flex;gap:14px;font-size:13px}.upload-mode-toggle label{display:flex;align-items:center;gap:4px}.upload-form input[type=text],.upload-form input:not([type]){padding:6px 10px;border:1px solid var(--border);border-radius:6px}.upload-form button{padding:7px 14px;border-radius:6px;border:none;background:var(--accent);color:#fff;cursor:pointer}.upload-form button:disabled{opacity:.6;cursor:not-allowed}.tiny-btn{padding:4px 10px;font-size:12px;border-radius:6px;border:1px solid var(--border);background:var(--panel);cursor:pointer}.tiny-btn:disabled{opacity:.6;cursor:not-allowed}.row-selected{outline:2px solid var(--accent);outline-offset:-2px}.kommune-detail-panel{width:320px;flex-shrink:0;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;height:fit-content}.opgave-detail-grid,.stat-tiles{display:flex;gap:12px;margin-bottom:16px}.panel-box{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;margin-top:20px;max-width:700px}.panel-box h3{margin-top:0}.stat-tile{flex:1;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;text-align:center}.stat-tile-value{font-size:24px;font-weight:600}.stat-tile-label{font-size:12px;color:var(--sub);margin-top:4px}@media print{.app-header .logout-btn,.tab-nav,.no-print{display:none}}.chart-container{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;max-width:700px}.callout-info{background:#e7f1ff;border:1px solid #b6d4fe;padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.dashboard-greeting{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:20px}.dashboard-greeting h2{margin:0 0 4px}.dashboard-date{color:var(--sub);font-size:14px;text-align:right}.dashboard-section-heading{margin:28px 0 12px;font-size:15px}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.dashboard-card{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text);transition:border-color .15s,box-shadow .15s,transform .1s}.dashboard-card:hover{border-color:var(--accent);box-shadow:0 2px 10px #0b5fff1a;transform:translateY(-1px)}.dashboard-card-icon{font-size:22px}.dashboard-card-label{font-weight:600;font-size:14px}.dashboard-card-desc{color:var(--sub);font-size:12px}
