/* Per-user layout customization for Anbudsvakt 365 */
body.menu-right .side{left:auto;right:0}
body.menu-right .main{margin-left:0;margin-right:250px}
body.menu-top .side{position:relative;inset:auto;width:100%;min-height:0;display:flex;align-items:center;gap:20px;padding:12px 20px}
body.menu-top .side .logo{padding:6px 10px;margin:0;white-space:nowrap}
body.menu-top .side .nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
body.menu-top .side .nav a{display:inline-block;margin:0}
body.menu-top .main{margin-left:0;margin-right:0;max-width:none}
body.custom-compact .card{padding:14px;border-radius:12px;margin-bottom:10px}
body.custom-compact .main{padding-top:20px}
#dashboard .stats{grid-template-columns:repeat(var(--user-stat-columns,4),minmax(0,1fr))}
.customizer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.customizer-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.customizer-color{display:grid;grid-template-columns:1fr 64px;align-items:center;gap:10px}
.customizer-color input[type=color]{height:42px;padding:3px}
.customizer-order{display:grid;gap:8px}
.customizer-order-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:var(--panel)}
.customizer-order-row .actions{flex-wrap:nowrap}
.customizer-order-row button{padding:7px 10px}
.customizer-preview{border:1px dashed var(--line);border-radius:12px;padding:12px;color:var(--muted)}
.personal-presets{margin:18px 0 22px;padding:18px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--bg) 72%,var(--panel))}.preset-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.preset-heading h3,.preset-heading p{margin:0}.preset-heading p{margin-top:4px}.preset-save{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px}.preset-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.preset-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.preset-card b,.preset-card small{display:block}.preset-card small{margin-top:3px;color:var(--muted);font-size:10px}.preset-swatches{display:flex}.preset-swatches i{width:13px;height:32px;border:1px solid #ffffff88}.preset-swatches i:first-child{border-radius:7px 0 0 7px}.preset-swatches i:last-child{border-radius:0 7px 7px 0}.preset-card .actions{flex-wrap:nowrap}.preset-card .btn{padding:7px 9px}.preset-delete{display:grid;place-items:center;width:29px;height:29px;border:0;border-radius:8px;background:#fff1f3;color:#a32a3c;font-size:18px;cursor:pointer}
.layout-template-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 20px}.layout-template{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer}.layout-template:hover{border-color:var(--brand);transform:translateY(-1px)}.layout-template i{position:relative;display:block;height:42px;border-radius:8px;background:#f5f7fb;box-shadow:inset 13px 0 #101827}.layout-template i:after{content:"";position:absolute;left:19px;right:6px;top:8px;height:7px;border-radius:3px;background:#315efb;box-shadow:0 11px #fff,0 22px #e8ecf3}.layout-template.control i{background:#1b1c20;box-shadow:inset 13px 0 #0b0c0e}.layout-template.control i:after{background:#ff6b35;box-shadow:0 11px #2a2c31,0 22px #2a2c31}.layout-template.focus i{background:#f6f4ff;box-shadow:inset 13px 0 #17132e}.layout-template.focus i:after{background:#6d4aff;box-shadow:0 11px #e9e4ff,0 22px #e9e4ff}.layout-template b,.layout-template small{display:block}.layout-template small{margin-top:3px;color:var(--muted);font-size:10px}.widget-visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.widget-visibility{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:12px;font-weight:700}.widget-visibility input{width:auto!important;margin:0;accent-color:var(--brand)}.user-hidden{display:none!important}
@media(max-width:950px){body.menu-right .side{width:74px}body.menu-right .main{margin-right:74px}.customizer-grid{grid-template-columns:1fr}}
@media(max-width:1050px){.preset-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.layout-template-list{grid-template-columns:1fr}}
@media(max-width:700px){body.menu-top .side{display:block}body.menu-top .side .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.customizer-colors{grid-template-columns:1fr}#dashboard .stats{grid-template-columns:1fr!important}.preset-heading{display:block}.preset-save{grid-template-columns:1fr;margin-top:12px}.preset-list{grid-template-columns:1fr}.widget-visibility-grid{grid-template-columns:1fr}}

/* County filters */
.search-filter-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(360px,1.6fr) minmax(150px,.6fr);gap:14px;align-items:start}
.county-picker{margin-top:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}
.county-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.county-option{display:flex!important;align-items:center;gap:8px;min-width:0;padding:9px 11px;background:var(--panel);cursor:pointer;font-weight:500}
.county-option:hover{background:var(--bg)}
.county-option input{width:auto!important;margin:0;accent-color:var(--brand)}
.county-all{font-weight:700;background:color-mix(in srgb,var(--brand) 7%,var(--panel))}
.recommendation-box{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.recommendation-box>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.recommendation-list{display:flex;flex-wrap:wrap;gap:7px}.recommendation-chip{border:1px solid var(--line);border-radius:99px;padding:7px 10px;background:var(--panel);color:var(--ink);font-size:11px;cursor:pointer}.recommendation-chip:hover{border-color:var(--brand);color:var(--brand)}.recommendation-chip.selected{background:#e7f7ef;border-color:#83d4ad;color:#087349}.recommendation-chip small{color:var(--muted)}
.notice-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:12px}.notice-tabs{display:flex;gap:7px}.notice-tabs .btn.active{background:var(--brand);color:#fff}.notice-why{margin-top:9px;color:var(--muted);font-size:11px}
.legal-overlay{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:20px;background:#081120cc;backdrop-filter:blur(5px)}.legal-dialog{width:min(820px,96vw);max-height:92vh;overflow:auto;border-radius:20px;padding:25px;background:var(--panel);color:var(--ink);box-shadow:0 24px 80px #0007}.legal-dialog h2{margin:0 0 8px}.legal-dialog h3{margin:20px 0 6px;font-size:15px}.legal-dialog p,.legal-dialog li{line-height:1.55}.legal-summary{padding:13px;border-left:4px solid var(--brand);border-radius:8px;background:var(--bg)}.legal-accept{display:flex;align-items:flex-start;gap:10px;margin:18px 0}.legal-accept input{width:auto;margin-top:3px}.legal-document{max-width:900px}.legal-version{font-size:11px;color:var(--muted)}
@media(max-width:950px){.search-filter-grid{grid-template-columns:1fr}.county-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.county-options{grid-template-columns:1fr}}

/* Dashboard insights */
#dashboardInsights{margin-bottom:16px}
.dashboard-hero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;overflow:hidden;padding:27px 30px;border-radius:22px;color:#fff;background:radial-gradient(circle at 82% 12%,#6791ff 0,transparent 30%),linear-gradient(125deg,#172554 0%,#2448a8 58%,#315efb 100%);box-shadow:0 18px 45px #1d3f9a33}
.dashboard-hero:after{content:"";position:absolute;right:-55px;bottom:-95px;width:230px;height:230px;border:45px solid #ffffff12;border-radius:50%}
.dashboard-hero h2{font-size:27px;margin:5px 0 7px}.dashboard-hero p{margin:0;color:#dce6ff;max-width:660px}
.dashboard-eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.14em;color:#8fabff}.dashboard-hero .dashboard-eyebrow{color:#bcd0ff}
.dashboard-sync{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-width:310px;padding:12px 13px;border:1px solid #ffffff2b;border-radius:14px;background:#ffffff12;backdrop-filter:blur(8px)}
.dashboard-sync>span{width:10px;height:10px;border-radius:50%;background:#4be4a0;box-shadow:0 0 0 5px #4be4a022}.dashboard-sync b,.dashboard-sync small{display:block}.dashboard-sync small{margin-top:2px;color:#dce6ff}.dashboard-sync .btn{padding:8px 11px;background:#fff;color:#2448a8}
.insight-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
.insight-kpi{display:flex;gap:13px;align-items:center;min-height:120px;padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--panel);box-shadow:var(--shadow)}
.insight-kpi.accent{background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 10%,var(--panel)),var(--panel))}.insight-kpi.success{background:linear-gradient(145deg,#eafaf3,var(--panel))}
.insight-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#edf2ff;color:var(--brand);font-size:20px;font-weight:900}.insight-kpi.success .insight-icon{background:#dff7eb;color:#0c8155}
.insight-kpi small,.insight-kpi p{display:block;color:var(--muted)}.insight-kpi strong{display:block;margin:3px 0;font-size:29px;line-height:1}.insight-kpi p{overflow:hidden;margin:0;white-space:nowrap;text-overflow:ellipsis;font-size:11px}
.insight-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:16px;margin-top:16px}.insight-panel{margin:0;min-width:0}.insight-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.insight-heading h2{margin:4px 0 0;font-size:18px}
.dashboard-layout-analytics .insight-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-layout-analytics .insight-trend-panel,.dashboard-layout-analytics .insight-recent-panel{grid-column:span 2}.dashboard-layout-focus .insight-layout{grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr)}.dashboard-layout-focus .insight-trend-panel,.dashboard-layout-focus .insight-recent-panel{grid-column:1}.dashboard-layout-focus .insight-deadline-panel{grid-column:2;grid-row:1}
.chart-legend{display:flex;gap:12px;color:var(--muted);font-size:11px}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:9px;height:9px;border-radius:3px;background:#aec0ef}.chart-legend i.match{background:#20b978}
.trend-chart{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:10px;height:220px;padding-top:10px}.trend-day{display:grid;grid-template-rows:1fr auto;min-width:0;text-align:center}.trend-values{display:flex;align-items:end;justify-content:center;gap:5px;border-bottom:1px solid var(--line)}.trend-bar{position:relative;width:min(24px,38%);min-height:3px;border-radius:7px 7px 2px 2px;background:linear-gradient(#6e8ee8,#aec0ef);transition:.25s}.trend-bar.match{background:linear-gradient(#14a96c,#66d5a5)}.trend-bar b{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--muted)}.trend-day small{padding-top:8px;color:var(--muted);font-size:10px}
.deadline-chart{display:grid;gap:17px;padding-top:5px}.deadline-row>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.deadline-row span{font-size:12px}.deadline-track{height:8px;overflow:hidden;border-radius:99px;background:#edf0f5}.deadline-track span{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,var(--brand),#7e9dff)}
.source-chart{display:grid;gap:9px}.source-summary{display:grid;grid-template-columns:126px 1fr;align-items:center;gap:14px}.source-donut{display:grid;place-items:center;width:126px;height:126px;border-radius:50%}.source-donut>div{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}.source-donut strong,.source-donut small{display:block}.source-donut strong{font-size:23px}.source-donut small{color:var(--muted);font-size:10px}.source-list{display:grid;gap:7px}.source-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;background:var(--bg)}.source-row div b,.source-row div small{display:block}.source-row div small{margin-top:2px;color:var(--muted);font-size:10px}.source-row>strong{font-size:13px}.source-dot{width:11px;height:11px;border-radius:50%;background:var(--brand)}
.insight-recent-panel{grid-column:1}.insight-recent{display:grid}.recent-match{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 3px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.recent-match:hover b{color:var(--brand)}.recent-source{padding:5px 7px;border-radius:7px;background:#eef2ff;color:#3151bd;font-size:9px;font-weight:900}.recent-match b,.recent-match small{display:block}.recent-match small{overflow:hidden;margin-top:4px;color:var(--muted);font-size:10px;white-space:nowrap;text-overflow:ellipsis}.recent-arrow{color:var(--brand);font-size:16px}
@media(max-width:1100px){.insight-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero{align-items:flex-start}.dashboard-sync{min-width:270px}}
@media(max-width:850px){.dashboard-hero{display:block}.dashboard-sync{margin-top:18px;min-width:0}.insight-layout,.dashboard-layout-analytics .insight-layout,.dashboard-layout-focus .insight-layout{grid-template-columns:1fr}.insight-trend-panel,.insight-recent-panel,.dashboard-layout-analytics .insight-trend-panel,.dashboard-layout-analytics .insight-recent-panel,.dashboard-layout-focus .insight-trend-panel,.dashboard-layout-focus .insight-recent-panel,.dashboard-layout-focus .insight-deadline-panel{grid-column:auto;grid-row:auto}}
@media(max-width:560px){.dashboard-hero{padding:22px}.dashboard-hero h2{font-size:23px}.dashboard-sync{grid-template-columns:auto 1fr}.dashboard-sync .btn{grid-column:1/-1}.insight-kpis{grid-template-columns:1fr}.trend-chart{gap:4px;height:190px}.trend-bar b{display:none}}
.theme-dark input,.theme-dark select,.theme-dark textarea{border-color:var(--line);background:#15161a;color:var(--ink)}.theme-dark .btn.secondary,.theme-dark .source,.theme-dark .tag{background:#292b32;color:#c9d3ff}.theme-dark .pill{background:#17372c;color:#75ddb0}.theme-dark .dashboard-hero{background:radial-gradient(circle at 82% 10%,#ff6b3536 0,transparent 28%),linear-gradient(125deg,#18191d,#24262c)}.theme-dark .dashboard-eyebrow{color:#ff916a}.theme-dark .insight-kpi.accent,.theme-dark .insight-kpi.success{background:linear-gradient(145deg,#24262c,var(--panel))}.theme-dark .insight-icon,.theme-dark .insight-kpi.success .insight-icon{background:#30251f;color:#ff875d}.theme-dark .trend-bar.all{background:linear-gradient(#ff6b35,#ffae58)}.theme-dark .recent-source{background:#30251f;color:#ff9b77}.theme-dark .report-feedback.success{background:#17372c;color:#75ddb0}
.btn:disabled{cursor:not-allowed;opacity:.58}.mfa-message{padding:11px;border-radius:10px;margin:12px 0}.mfa-message.success{background:#edf8f3;color:#137052}

/* Report control */
.report-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:16px}
.report-primary{padding:26px}
.report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.report-heading h2{margin:4px 0 7px}
.report-kicker{color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.1em}
.report-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.report-meta>div,.report-next{border:1px solid var(--line);border-radius:12px;padding:14px;background:color-mix(in srgb,var(--panel) 88%,var(--bg))}
.report-meta span,.report-next span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;margin-bottom:6px}
.report-meta b{display:block;overflow-wrap:anywhere}
.report-recipient-editor{border:1px solid var(--line);border-radius:12px;padding:14px;margin:-12px 0 18px}.report-recipient-editor label{display:block;font-size:12px;font-weight:800;margin-bottom:8px}.report-recipient-editor .actions{display:grid;grid-template-columns:1fr auto}.report-recipient-editor small{display:block;margin-top:7px}
.report-send{width:100%;font-size:15px;padding:15px}
.report-send:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.55}
.report-help{text-align:center;font-size:12px}
.report-confirm,.report-feedback{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}
.report-feedback.sending{background:#eef2ff;color:#294bbf}.report-feedback.success{background:#edf8f3;color:#0d6b48}.report-feedback.error{background:#fff1f3;color:#a32a3c}
.report-toggle{position:relative;width:48px;height:28px;border:0;border-radius:99px;background:#b7c0cc;cursor:pointer;transition:.2s}
.report-toggle span{position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #13203a25;transition:.2s}
.report-toggle.on{background:var(--green)}.report-toggle.on span{left:24px}.report-toggle:disabled{cursor:not-allowed;opacity:.5}
.report-next{margin-top:18px}.report-next b,.report-next small{display:block}.report-next b{font-size:17px;margin-bottom:5px}.report-next small{color:var(--muted)}
.report-event{display:flex;gap:12px;align-items:flex-start}.report-event>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:900}.report-event .good{background:#dcf2e7;color:#087448}.report-event .bad{background:#ffe1e5;color:#a32a3c}.report-event p{margin:4px 0;color:var(--muted);font-size:12px}
@media(max-width:950px){.report-grid{grid-template-columns:1fr}}
@media(max-width:650px){.report-meta{grid-template-columns:1fr}.report-heading{align-items:flex-start}.report-primary{padding:19px}.report-recipient-editor .actions{grid-template-columns:1fr}}
