: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;align-items:center;justify-content:center}.login-form{display:flex;flex-direction:column;gap:10px;width:280px;padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.login-form h1{font-size:16px;margin:0 0 8px}.login-form input{padding:8px 10px;border:1px solid var(--border);border-radius:6px}.login-form button{padding:8px 10px;border-radius:6px;border:none;background:var(--accent);color:#fff;cursor:pointer}.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}
