/* extracted style block 1 */

:root{font-family:Inter,system-ui,sans-serif;--bg:#f7f7f5;--card:#fff;--line:#ece7e2;--text:#25262b;--muted:#686a70;--red:#d6574f;--dark:#101219}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}.hidden{display:none!important}.auth{min-height:100vh;padding:28px;background:linear-gradient(145deg,#f7f6f4 0,#efe8e5 52%,#e9dedb 100%);display:grid;place-items:center;position:relative;overflow:hidden}.auth:before{content:'';position:absolute;width:540px;height:540px;border-radius:50%;background:#d6574f12;right:-190px;top:-210px}.auth:after{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:#10121908;left:-160px;bottom:-210px}.auth-shell{position:relative;z-index:1;width:min(1080px,100%);min-height:650px;background:#fff;border:1px solid #e9e2de;border-radius:30px;box-shadow:0 30px 80px #31231f18;display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden}.auth-intro{background:linear-gradient(155deg,#171a23 0,#0d0f15 78%);color:#fff;padding:54px 52px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-intro:after{content:'';position:absolute;width:300px;height:300px;border:56px solid #d6574f22;border-radius:50%;right:-120px;bottom:-105px}.auth-brand{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.auth-brand .logo{width:52px;height:52px;border-radius:15px;background:#d6574f;color:#fff;display:grid;place-items:center;font-weight:950;font-size:18px;box-shadow:0 10px 30px #0004}.auth-brand strong{display:block;font-size:22px;letter-spacing:-.02em}.auth-brand span{display:block;color:#aeb2bd;font-size:13px;margin-top:2px}.auth-copy{position:relative;z-index:1;max-width:460px}.auth-kicker{display:inline-flex;align-items:center;gap:8px;color:#f0aaa4;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.auth-kicker:before{content:'';width:22px;height:2px;background:#d6574f;border-radius:2px}.auth-copy h1{font-size:43px;line-height:1.08;letter-spacing:-.04em;margin:16px 0 16px}.auth-copy p{font-size:16px;line-height:1.65;color:#c5c8d1;margin:0;max-width:420px}.auth-points{display:grid;gap:11px;margin-top:28px}.auth-point{display:flex;align-items:center;gap:10px;color:#e6e7ec;font-size:14px}.auth-point i{font-style:normal;width:25px;height:25px;border-radius:8px;background:#ffffff0d;border:1px solid #ffffff12;display:grid;place-items:center;color:#ef9e98;font-weight:900}.auth-foot{position:relative;z-index:1;color:#858b99;font-size:12px}.auth-panel{padding:50px 48px;display:flex;flex-direction:column;justify-content:center;background:#fff}.auth-panel .eyebrow{margin-bottom:9px}.auth-panel h2{font-size:31px;letter-spacing:-.035em;margin:0 0 8px}.auth-panel>p{margin:0 0 25px;color:var(--muted);line-height:1.55}.real-login{display:grid;gap:15px;margin:0}.real-login label{display:grid;gap:7px;font-size:13px;font-weight:850;color:#3c3e44}.real-login input{width:100%;border:1px solid #ddd5d0;background:#fbfaf9;border-radius:13px;padding:14px 14px;outline:none;transition:.18s box-shadow,.18s border-color,.18s background}.real-login input:focus{background:#fff;border-color:#cf817b;box-shadow:0 0 0 4px #d6574f14}.login-button{margin-top:3px;border:0;background:linear-gradient(180deg,#da5b53,#c84640);color:#fff;border-radius:13px;padding:14px 16px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px #d6574f25;transition:.18s transform,.18s box-shadow}.login-button:hover{transform:translateY(-1px);box-shadow:0 13px 28px #d6574f30}.auth-forgot{justify-self:start;border:0;background:transparent;color:#8b5551;padding:2px 0;font-weight:800;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-forgot:hover{color:#c84640}.auth-forgot:focus-visible{outline:3px solid #d6574f24;outline-offset:4px;border-radius:4px}.login-status{font-size:13px;color:#8b5551;min-height:19px}.auth-help{margin-top:17px;padding:13px 14px;border-radius:13px;background:#f7f6f4;border:1px solid #ece7e2;color:#686a70;font-size:12px;line-height:1.5}.auth-help strong{color:#3f4147}.secondary{border:1px solid #e3ddd8;background:#fff;border-radius:10px;padding:9px 8px;font-weight:800;cursor:pointer;color:#606269;font-size:12px}.auth-mini-security{display:flex;align-items:center;gap:8px;margin-top:18px;color:#6d7077;font-size:11px}.auth-mini-security:before{content:'✓';width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#edf5ef;color:#3e7650;font-weight:900}@media(max-width:800px){.auth{padding:0;background:#fff;place-items:stretch}.auth-shell{min-height:100vh;border:0;border-radius:0;box-shadow:none;display:block}.auth-intro{padding:28px 25px 32px;min-height:auto}.auth-copy{margin-top:38px}.auth-copy h1{font-size:34px}.auth-copy p{font-size:14px}.auth-points,.auth-foot{display:none}.auth-panel{padding:32px 25px 38px}.auth-panel h2{font-size:28px}.auth-intro:after{opacity:.6}}.app{min-height:100vh}.top{height:84px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:15px}.brand strong{font-size:25px}.brand span{color:#565860}.profile{width:42px;height:42px;border:0;border-radius:50%;background:#252936;color:#fff;font-weight:800;cursor:pointer}.layout{display:grid;grid-template-columns:275px 1fr;min-height:calc(100vh - 84px)}aside{background:radial-gradient(circle at 20% 10%,#1d2435,#0e1016 65%);padding:24px 18px;color:#fff}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#e2e5ed;text-align:left;padding:14px 16px;border-radius:12px;font-weight:700;cursor:pointer}.nav button.active{background:#ffffff0c;box-shadow:inset 4px 0 var(--red)}main{padding:30px;max-width:1500px}.hero{background:linear-gradient(135deg,#db6158,#c93f38);color:#fff;border-radius:27px;padding:35px 40px}.hero small{font-weight:800;font-size:17px}.hero h1{font-size:34px;max-width:850px;margin:10px 0}.hero p{margin:0;opacity:.85}.section{margin-top:32px}.eyebrow{color:#d28a83;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.13em}.section h2,.page-title h1{margin:6px 0 15px;font-size:29px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.quick button{border:0;background:transparent;text-align:left;cursor:pointer}.ico{width:44px;height:44px;border-radius:12px;color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:12px}.blue{background:#687e9d}.green{background:#91a27d}.red{background:#d96661}.quick h3{margin:0 0 5px}.quick p{margin:0;color:var(--muted)}.cols{display:grid;grid-template-columns:1fr 1fr;gap:26px}.panel,.formcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 22px #00000008}.row{display:flex;align-items:center;gap:13px;padding:13px 4px;border-bottom:1px solid #f0ebe7}.row:last-child{border:0}.row>div:nth-child(2){flex:1}.row strong,.row p{display:block}.row p{margin:4px 0 0;color:var(--muted);font-size:13px}.pill{border-radius:999px;background:#f2f2f4;padding:6px 9px;font-size:11px;font-weight:800}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.page-title p{margin:0;color:var(--muted)}.primary{border:0;background:var(--red);color:#fff;border-radius:12px;padding:12px 15px;font-weight:800;cursor:pointer}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.tabs button{border:1px solid #e0dad5;background:#fff;border-radius:11px;padding:10px 13px;font-weight:800;cursor:pointer}.tabs button.active{background:#242731;color:#fff;border-color:#242731}.admin{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(450px,1.2fr);gap:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fields label{display:grid;gap:6px;font-size:13px;font-weight:800}.fields label.full{grid-column:1/-1}.fields input,.fields textarea,.fields select{width:100%;border:1px solid #e4ddd8;border-radius:12px;padding:11px;background:#fff}.fields textarea{min-height:105px}.upload{border:2px dashed #dfc7c3;background:#fff8f7;border-radius:16px;padding:16px}.upload strong,.upload span{display:block}.upload span{color:var(--muted);font-size:12px;margin:4px 0 10px}.actions{display:flex;gap:6px;flex-wrap:wrap}.small{border:1px solid #ded9d4;background:#fff;border-radius:9px;padding:7px 9px;font-weight:800;cursor:pointer;font-size:12px}.danger{color:#a33e39;background:#fff7f6;border-color:#edc8c5}.status{color:#36734a;background:#eff8f1;border-color:#d0e7d5}.banner{margin-top:14px;padding:13px 14px;border-radius:13px;background:#fff6ec;border:1px solid #ecd9b7;color:#66583d}.security{margin-top:15px;border-left:4px solid #66826c;background:#f3f8f4;padding:13px;border-radius:12px}.security p{margin:4px 0 0;color:#647068;font-size:13px}.users-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.user-main{display:flex;gap:10px;align-items:center;flex:1}.avatar{width:36px;height:36px;background:#282c38;color:#fff;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900}.faq{background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:10px;padding:17px}.faq strong{display:block;margin-bottom:6px}.faq p{color:#5d6067;line-height:1.55;margin:0}.locked-note{font-size:12px;color:#8a8c92}.search{margin-bottom:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 15px}.search input{border:0;outline:0;width:100%;min-height:24px}
/* v0.9 admin redesign */
.admin-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}.admin-side{background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;position:sticky;top:112px}.admin-side .group{padding:8px 10px 6px;color:#a0a1a6;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.admin-side button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;border-radius:12px;padding:11px 12px;text-align:left;font-weight:800;color:#4b4e56;cursor:pointer}.admin-side button:hover{background:#faf8f6}.admin-side button.active{background:#2a2d36;color:#fff}.admin-side .count{font-size:11px;background:#f0eeeb;border-radius:999px;padding:4px 7px;color:#777}.admin-side button.active .count{background:#ffffff18;color:#fff}.admin-main{min-width:0}.admin-overview{display:grid;gap:22px}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.kpi small{display:block;color:var(--muted);font-weight:800;margin-bottom:9px}.kpi strong{font-size:29px;display:block}.kpi span{display:block;color:#95979d;font-size:12px;margin-top:6px}.admin-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-actions button{border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px;text-align:left;cursor:pointer}.admin-actions button:hover{box-shadow:0 8px 20px #0000000a}.admin-actions .plus{width:32px;height:32px;border-radius:9px;background:#fff0ee;color:#c94e47;display:grid;place-items:center;font-weight:900;margin-bottom:10px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.admin-toolbar h3{margin:0}.admin-toolbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.admin-toolbar .toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-list{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.admin-list .head,.admin-item{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(110px,.65fr) minmax(100px,.55fr) minmax(170px,.8fr);gap:12px;align-items:center;padding:12px 16px}.admin-list .head{background:#faf9f7;color:#999;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.admin-item{border-top:1px solid #f0ebe7}.admin-item:first-of-type{border-top:0}.admin-item .title-cell strong{display:block}.admin-item .title-cell small{display:block;margin-top:4px;color:var(--muted)}.admin-doc-title{border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer}.admin-doc-title:hover strong{color:var(--red);text-decoration:underline}.admin-doc-title small{font-weight:400}.status-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.status-badge.live{background:#edf7ef;color:#357048}.status-badge.draft{background:#f5f3ef;color:#777}.status-badge.off{background:#fff1ef;color:#a34c44}.row-menu{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.admin-form-wrap{max-width:850px}.admin-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.admin-form-head h3{margin:0 0 4px;font-size:23px}.admin-form-head p{margin:0;color:var(--muted)}.admin-form-wrap .formcard{padding:26px}.admin-form-wrap .upload{padding:22px;text-align:center}.admin-form-wrap .upload strong{font-size:16px}.admin-empty{padding:34px;text-align:center;color:var(--muted)}.admin-note{background:#f7f8fb;border:1px solid #e4e7ee;border-radius:14px;padding:14px;color:#626671;font-size:13px;line-height:1.55}.admin-breadcrumb{display:flex;gap:7px;align-items:center;color:#94969c;font-size:13px;margin-bottom:10px}.admin-breadcrumb button{border:0;background:transparent;color:#b54e47;font-weight:800;padding:0;cursor:pointer}.audit-row{display:grid;grid-template-columns:110px 1fr 180px;gap:14px;padding:13px 16px;border-top:1px solid #f0ebe7}.audit-row:first-child{border-top:0}.audit-row strong{font-size:13px}.audit-row span{color:var(--muted);font-size:13px}.admin-user-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.admin-user-actions select{border:1px solid #ddd6d1;border-radius:9px;padding:7px 8px;background:#fff}.admin-section-title{margin:0 0 14px}.admin-section-title h3{margin:0;font-size:20px}.admin-section-title p{margin:4px 0 0;color:var(--muted);font-size:13px}

.mini-list{display:grid;gap:12px;margin-top:8px}.doc-entry,.event-entry{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 2px;border-bottom:1px solid #f0ebe7}.doc-entry:last-child,.event-entry:last-child{border-bottom:0}.file-badge{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:11px;font-weight:900;letter-spacing:.03em}.file-badge.pdf{background:#fff0ee;color:#c74e47}.file-badge.doc,.file-badge.docx{background:#edf3ff;color:#4d6ea7}.file-badge.xls,.file-badge.xlsx{background:#eef8ef;color:#4b8156}.file-badge.ppt,.file-badge.pptx{background:#fff3e8;color:#b66b35}.file-badge.file{background:#f2f2f4;color:#636670}.doc-copy strong,.event-copy strong{display:block;font-size:16px}.doc-copy p,.event-copy p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.doc-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:#f5f3ef;color:#64666d}.chip.soft-red{background:#fff1ef;color:#af4d46}.chip.soft-blue{background:#eef3fb;color:#536f99}.chip.soft-green{background:#eef7ef;color:#4b7a57}.doc-end,.event-end{display:flex;align-items:center;gap:10px}.chev{width:34px;height:34px;border-radius:999px;background:#f3f2f1;color:#666;display:grid;place-items:center;font-weight:900}.event-date{width:56px;height:68px;border-radius:18px;background:#fff6f5;border:1px solid #f0d4d1;display:flex;flex-direction:column;align-items:center;justify-content:center}.event-date em{font-style:normal;font-size:11px;font-weight:900;color:#d25d55;letter-spacing:.08em}.event-date strong{font-size:24px;line-height:1;margin-top:4px}.event-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.calendar-stack{display:grid;gap:14px}.calendar-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 18px 16px;box-shadow:0 8px 22px #00000008}.calendar-card-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.calendar-card h3{margin:0;font-size:20px}.calendar-card p{margin:4px 0 0;color:var(--muted);line-height:1.5}.event-topline{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.calendar-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.detail-pill{background:#faf8f6;border:1px solid #efe7e1;border-radius:14px;padding:11px 12px}.detail-pill small{display:block;color:#9a9ca2;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.detail-pill strong{font-size:14px}.calendar-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:0 8px 18px #00000006}.summary-card small{display:block;color:var(--muted);font-weight:800;margin-bottom:8px}.summary-card strong{font-size:28px;display:block}.summary-card span{display:block;color:#8d8f95;font-size:13px;margin-top:4px}.calendar-list-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 8px 22px #00000008}.calendar-source{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;background:#eef7ef;color:#467553;font-size:11px;font-weight:900}.calendar-source.demo{background:#f5f3ef;color:#777}.calendar-source .pulse{width:7px;height:7px;border-radius:50%;background:currentColor}.calendar-list-panel h3{margin:0 0 4px}.calendar-list-panel p{margin:0 0 14px;color:var(--muted)}

.admin-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.admin-dashboard-head h2{margin:6px 0 4px}.admin-dashboard-head p{margin:0;color:var(--muted)}.admin-search{min-width:290px;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0 12px}.admin-search span{color:var(--muted);font-size:18px}.admin-search input{width:100%;border:0;outline:0;background:transparent;padding:12px 0;font:inherit;color:var(--text)}.admin-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-area-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 6px 18px #00000005}.admin-area-card.advanced{background:color-mix(in srgb,var(--card) 94%,var(--surface-soft))}.admin-area-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:12px}.admin-area-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--surface-soft);font-size:20px;flex:0 0 auto}.admin-area-head h3{margin:1px 0 4px;font-size:17px}.admin-area-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.admin-area-links{display:grid;gap:6px}.admin-area-links button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;border-radius:12px;padding:10px;text-align:left;cursor:pointer;color:inherit}.admin-area-links button:hover{background:var(--surface-soft)}.admin-area-links strong,.admin-area-links small{display:block}.admin-area-links strong{font-size:13px}.admin-area-links small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:500}.admin-area-arrow{font-size:22px;color:var(--muted)}.admin-side-top{padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid var(--line)}.admin-side .admin-home-button{font-size:13px}.admin-nav-group{padding-top:7px}.admin-nav-group+.admin-nav-group{margin-top:3px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.admin-nav-advanced{margin-top:10px!important}.admin-nav-label{display:flex;align-items:center;gap:8px;min-width:0}.admin-nav-icon{width:18px;text-align:center;opacity:.8;flex:0 0 auto}.admin-quick-panel{margin-top:2px}

@media(max-width:1000px){.admin-shell{grid-template-columns:1fr}.admin-side{position:static;display:flex;overflow:auto;gap:6px;align-items:flex-start}.admin-side-top{display:flex;border:0;padding:0;margin:0}.admin-nav-group{display:flex;gap:6px;padding:0}.admin-nav-group+.admin-nav-group{border:0;margin:0}.admin-side .group{display:none}.admin-dashboard-head{align-items:stretch;flex-direction:column}.admin-search{min-width:0;width:100%;box-sizing:border-box}.admin-area-grid{grid-template-columns:1fr 1fr}.admin-side .group{display:none}.admin-side button{width:auto;white-space:nowrap}.admin-kpis,.admin-actions{grid-template-columns:1fr 1fr}.admin-list .head{display:none}.admin-list .admin-item{grid-template-columns:1fr}.row-menu,.admin-user-actions{justify-content:flex-start}.audit-row{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.layout{grid-template-columns:1fr}aside{display:flex;overflow:auto;padding:9px}.nav{display:flex}.nav button{white-space:nowrap}.quick{grid-template-columns:1fr 1fr}.cols,.admin,.event-grid{grid-template-columns:1fr}.calendar-summary{grid-template-columns:1fr 1fr}main{padding:20px}}@media(max-width:560px){.admin-side button{min-height:44px}.admin-kpis,.admin-actions,.admin-area-grid{grid-template-columns:1fr}.admin-toolbar{align-items:flex-start;flex-direction:column}.admin-form-head{flex-direction:column}.admin-side{margin:0 -4px}.admin-list .admin-item{padding:14px}.quick,.fields{grid-template-columns:1fr}.quick,.fields,.calendar-summary,.calendar-details{grid-template-columns:1fr}.doc-entry,.event-entry{grid-template-columns:auto 1fr}.doc-end .chev,.event-end .chev{display:none}.top{padding:0 14px}.brand strong{font-size:18px}.brand small{display:none}.page-title{flex-direction:column}}

.profile img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.profile-page{display:grid;grid-template-columns:300px 1fr;gap:24px}.profile-card{text-align:center}.profile-page .fields{align-items:start}.profile-page .fields label{align-content:start}.profile-page .fields input:not([type='checkbox']):not([type='file']),.profile-page .fields select{height:44px;min-height:44px;padding:10px 12px;line-height:1.2}.profile-page .profile-basic-fields{grid-template-columns:minmax(0,520px) 1fr}.profile-page .profile-basic-fields>label.full{max-width:520px}.profile-page .profile-basic-fields>label:not(.full){max-width:360px}.profile-page .password-card .fields{max-width:760px}.profile-page .password-card .fields label.full{max-width:520px}@media(max-width:900px){.profile-page .profile-basic-fields{grid-template-columns:1fr}.profile-page .profile-basic-fields>label,.profile-page .profile-basic-fields>label.full{max-width:none}.profile-page .password-card .fields{max-width:none}}.profile-avatar-big{width:150px;height:150px;border-radius:50%;margin:4px auto 16px;background:#252936;color:#fff;display:grid;place-items:center;font-size:42px;font-weight:900;overflow:hidden}.profile-avatar-big img{width:100%;height:100%;object-fit:cover}.profile-meta{color:var(--muted);font-size:13px;line-height:1.6}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.role-check{display:flex;gap:9px;align-items:center;border:1px solid #e4ddd8;border-radius:12px;padding:11px 12px;background:#fff;font-size:13px;font-weight:750}.role-check input{width:auto}.profile-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.avatar-upload{margin-top:14px;padding:14px;border:2px dashed #dfc7c3;border-radius:14px;background:#fff8f7}.avatar-upload input{width:100%;font-size:12px}.user-name-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}@media(max-width:760px){.profile-page{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr}}

.ombud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.ombud-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px;text-align:left;display:flex;gap:13px;align-items:center;cursor:pointer;transition:.15s transform,.15s box-shadow}
.ombud-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0000000b}
.ombud-card .ombud-avatar{width:54px;height:54px;border-radius:50%;background:#252936;color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden;flex:0 0 auto}
.ombud-card .ombud-avatar img{width:100%;height:100%;object-fit:cover}
.ombud-card p{margin:4px 0 0;color:var(--muted);font-size:13px}
.modal-backdrop{position:fixed;inset:0;background:#0008;z-index:100;display:grid;place-items:center;padding:20px}
.modal-card{width:min(520px,100%);background:#fff;border-radius:24px;padding:24px;box-shadow:0 30px 80px #0005;position:relative}
.modal-close{position:absolute;right:16px;top:16px;border:0;background:#f2f2f3;border-radius:50%;width:34px;height:34px;cursor:pointer;font-weight:900}
.ombud-detail-head{display:flex;gap:16px;align-items:center;padding-right:38px}
.ombud-detail-avatar{width:82px;height:82px;border-radius:50%;background:#252936;color:#fff;display:grid;place-items:center;font-weight:900;font-size:24px;overflow:hidden;flex:0 0 auto}
.ombud-detail-avatar img{width:100%;height:100%;object-fit:cover}
.ombud-detail-list{display:grid;gap:10px;margin-top:20px}
.ombud-detail-row{padding:12px 14px;border-radius:13px;background:#f7f6f4}
.ombud-detail-row small{display:block;color:var(--muted);font-weight:800;margin-bottom:3px}


.install-card{border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f8f6f3);border-radius:20px;padding:18px;margin-top:16px}
.install-card h3{margin:4px 0 8px}
.install-card p{margin:5px 0;color:var(--muted);line-height:1.5}
.install-steps{margin:12px 0 0;padding-left:20px;color:#3f4350}
.install-steps li{margin:6px 0;line-height:1.45}
.install-ok{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#eef8f0;color:#26683b;font-weight:800;font-size:12px}
.install-tip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#fff5e8;color:#80561d;font-weight:800;font-size:12px}


.training-wrap{display:grid;grid-template-columns:minmax(250px,330px) 1fr;gap:18px;align-items:start}
.training-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px}
.training-list-select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}
.training-detail h2{margin:4px 0 8px}
.training-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.training-meta span{padding:6px 9px;border-radius:999px;background:#f3f2ef;color:#555;font-size:12px;font-weight:800}
.training-session{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.training-session:first-child{border-top:0}
.training-contact{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
.example-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff3dd;color:#84591f;font-size:11px;font-weight:900}
@media(max-width:800px){.training-wrap{grid-template-columns:1fr}}


.expedition-box{margin-top:18px;padding:15px 14px;border:1px solid #ffffff14;background:#ffffff09;border-radius:16px;color:#f6f7f9;box-shadow:inset 0 1px #ffffff08}.expedition-box .exp-icon{width:32px;height:32px;border-radius:10px;background:#d6574f22;border:1px solid #d6574f44;display:grid;place-items:center;margin-bottom:10px}.expedition-box h4{margin:0 0 5px;font-size:14px}.expedition-box .days{font-size:12px;color:#b7bdc8;margin-bottom:9px}.expedition-times{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.expedition-times span{display:inline-flex;padding:6px 8px;border-radius:999px;background:#ffffff0d;border:1px solid #ffffff12;font-size:11px;font-weight:850}.expedition-box p{font-size:11px;line-height:1.45;color:#aeb4c0;margin:9px 0 0}.expedition-alert{margin-top:9px;padding:8px 9px;border-radius:10px;background:#d6574f22;color:#ffd8d5;font-size:11px;font-weight:800}.expedition-admin-preview{background:linear-gradient(145deg,#171a23,#0f1118);color:#fff;border-radius:18px;padding:18px}.expedition-admin-preview h3{margin:5px 0}.expedition-admin-preview p{color:#c8ccd4}.expedition-admin-preview .expedition-times span{background:#ffffff12;border-color:#ffffff16}


.cropper-backdrop{position:fixed;inset:0;background:rgba(20,22,28,.62);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}
.cropper-card{width:min(520px,96vw);background:#fff;border-radius:22px;padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.24)}
.cropper-stage{position:relative;width:min(360px,82vw);aspect-ratio:1/1;margin:16px auto;overflow:hidden;border-radius:50%;background:#eee;touch-action:none;cursor:grab}
.cropper-stage:active{cursor:grabbing}
.cropper-stage img{position:absolute;left:50%;top:50%;transform-origin:center center;user-select:none;pointer-events:none;max-width:none}
.cropper-grid{position:absolute;inset:0;border:2px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.30)}
.cropper-controls{display:grid;gap:10px}
.cropper-controls input[type=range]{width:100%}
.push-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}
.push-role-choice{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}


/* Mobile field-mode UX */
.mobile-dock{display:none}
.mobile-home-search,.mobile-shortcuts-block,.mobile-situation-grid,.mobile-doc-tools,.mobile-search-results{display:none}
@media(max-width:760px){
  body{padding-bottom:76px}
  .top{height:62px;position:sticky;top:0;z-index:45;background:#fff;border-bottom:1px solid var(--line)}
  .top .logo{width:38px;height:38px}
  .brand strong{font-size:16px!important}
  .profile{width:42px;height:42px}
  .layout{display:block!important}
  aside{display:none!important}
  main{padding:14px 12px 24px!important;max-width:none}
  .desktop-search{display:none!important}
  .page-title{margin-bottom:14px}
  .page-title h1{font-size:28px;line-height:1.08;margin:4px 0 6px}
  .page-title p{font-size:14px;line-height:1.45}
  .hero{padding:20px 18px;border-radius:18px;margin-bottom:14px}
  .hero h1{font-size:25px;line-height:1.12;margin:8px 0}
  .hero p{font-size:14px}
  .install-card{display:none}
  .section{margin-top:18px}
  .section h2{font-size:21px;margin:5px 0 12px}
  .quick{display:none!important}
  .cols{display:grid;grid-template-columns:1fr!important;gap:12px}
  .panel{border-radius:16px;padding:15px}
  .mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:68px;background:rgba(255,255,255,.97);border-top:1px solid #ddd8d3;z-index:70;padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));box-shadow:0 -8px 24px rgba(0,0,0,.07)}
  .mobile-dock button{border:0;background:transparent;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:800;color:#666;min-height:52px;padding:3px}
  .mobile-dock button b{font-size:20px;line-height:1;font-weight:500}
  .mobile-dock button.active{color:var(--red);background:#fff3f1}
  .mobile-home-search{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:0 0 14px;box-shadow:0 7px 24px rgba(0,0,0,.045)}
  .mobile-home-search strong{display:block;font-size:18px;margin-bottom:8px}
  .mobile-search-box{display:flex;align-items:center;gap:8px;background:#f5f4f2;border:1px solid #e5e1dd;border-radius:14px;padding:5px 6px 5px 13px}
  .mobile-search-box span{font-size:20px}
  .mobile-search-box input{flex:1;min-width:0;border:0;background:transparent;padding:10px 3px;font-size:16px;outline:none}
  .mobile-search-box button{min-width:48px;min-height:44px;border:0;border-radius:11px;background:var(--red);color:#fff;font-weight:900}
  .mobile-shortcuts-block{display:block;margin:4px 0 18px}
  .mobile-shortcuts-block h2{font-size:21px;margin:4px 0 12px}
  .mobile-situation-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
  .mobile-situation{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px 13px;text-align:left;min-height:118px;display:flex;flex-direction:column;justify-content:flex-start;gap:10px;box-shadow:0 5px 18px rgba(0,0,0,.03)}
  .mobile-situation .mi{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:#fff2f0;border:1px solid #f0d1cb}
  .mobile-situation strong{font-size:15px;line-height:1.22}
  .mobile-situation small{color:var(--muted);font-size:11px;line-height:1.35}
  .mobile-situation:nth-child(2n) .mi{background:#f5f1ff;border-color:#ddd0ff}
  .mobile-situation:nth-child(3n) .mi{background:#eef8f2;border-color:#d2e8db}
  .mobile-situation:nth-child(4n) .mi{background:#fff7e9;border-color:#edd9ae}
    .mobile-doc-tools{display:block;position:sticky;top:72px;z-index:20;background:#f7f6f4;padding:8px 0 10px;margin-bottom:8px}
  .mobile-doc-search{display:flex;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 5px 4px 12px;gap:5px}
  .mobile-doc-search input{border:0;outline:0;flex:1;min-width:0;font-size:16px;padding:10px 2px}
  .mobile-doc-search button{border:0;border-radius:10px;background:#252936;color:#fff;min-width:44px}
  .mobile-filter-row{display:flex;gap:7px;overflow-x:auto;padding:8px 1px 2px;scrollbar-width:none}
  .mobile-filter-row::-webkit-scrollbar{display:none}
  .mobile-filter-row button{white-space:nowrap;border:1px solid #ded9d4;background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}
  .mobile-filter-row button.active{background:#252936;color:#fff;border-color:#252936}
  .doc-entry{display:grid!important;grid-template-columns:44px 1fr!important;gap:10px!important;padding:14px 0!important;align-items:start}
  .doc-entry+.doc-entry{border-top:1px solid var(--line)}
  .doc-copy strong{font-size:15px;line-height:1.3}
  .doc-copy p{font-size:12px;line-height:1.4;margin:5px 0}
  .doc-meta{gap:5px}
  .chip{font-size:10px!important;padding:5px 7px!important}
  .doc-end{grid-column:2!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;margin-top:2px}
  .doc-end .pill{display:none}
  .doc-end .small{min-height:42px;padding:9px 14px;font-size:13px;background:#252936;color:#fff;border-color:#252936}
  .file-badge{width:42px!important;height:42px!important;min-width:42px!important;font-size:10px!important}
  .ombud-grid{grid-template-columns:1fr!important;gap:9px}
  .ombud-card{min-height:76px;padding:12px;border-radius:15px}
  .ombud-card .ombud-avatar{width:50px;height:50px}
  .row{padding:13px 0;gap:9px}
  .row .small{min-height:40px}
  .training-wrap{gap:12px}
  .faq{padding:15px;border-radius:14px}
  .calendar-card{border-radius:16px}
  .mobile-search-results{display:block}
  .search-result-group{margin:18px 0}
  .search-result-group h3{font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:#727781;margin:0 0 8px}
  .search-result{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;text-align:left;margin:7px 0;display:flex;align-items:center;gap:11px;min-height:64px}
  .search-result .sr-icon{width:38px;height:38px;border-radius:11px;background:#f1f0ed;display:grid;place-items:center;flex:0 0 auto}
  .search-result strong{display:block;font-size:14px}
  .search-result small{display:block;color:var(--muted);margin-top:3px;font-size:11px}
  .mobile-menu-backdrop{position:fixed;inset:0;background:#0007;z-index:90;display:flex;align-items:flex-end}
  .mobile-menu-sheet{background:#fff;width:100%;border-radius:22px 22px 0 0;padding:12px 14px calc(20px + env(safe-area-inset-bottom));max-height:78vh;overflow:auto}
  .mobile-menu-handle{width:44px;height:5px;border-radius:999px;background:#d4d1cd;margin:0 auto 14px}
  .mobile-menu-sheet h3{margin:0 0 10px}
  .mobile-menu-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mobile-menu-list button{min-height:54px;border:1px solid var(--line);background:#fff;border-radius:13px;text-align:left;padding:10px 12px;font-weight:800}
}
@media(max-width:380px){
  .mobile-situation-grid{grid-template-columns:1fr}
  .mobile-situation.risk{grid-column:auto}
  .mobile-menu-list{grid-template-columns:1fr}
}


.mobile-install-section{display:none}
@media(max-width:760px){
  .mobile-install-section{display:block;margin:24px 0 8px}
  .mobile-install-section>h2{font-size:21px;margin:5px 0 6px}
  .mobile-install-section>p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 12px}
  
.install-platform-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 10px}
.install-platform-tab{min-height:48px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;text-align:left;font-weight:800;display:flex;align-items:center;gap:10px}
.install-platform-tab .tag{width:32px;height:32px;border-radius:10px;background:#252936;color:#fff;display:grid;place-items:center;font-size:16px;font-weight:900}
.install-platform-tab.active{background:#fff3f1;border-color:#dcb6b1;color:var(--red)}
.install-platform-tab.active .tag{background:#d6574f}
.install-guide-panel{display:none}
.install-guide-panel.active{display:block}

.install-platform-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;margin:10px 0;box-shadow:0 5px 18px rgba(0,0,0,.03)}
  .install-platform-head{display:flex;align-items:center;gap:11px;margin-bottom:10px}
  .install-platform-icon{width:42px;height:42px;border-radius:13px;background:#252936;color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px;flex:0 0 auto}
  .install-platform-head h3{margin:0;font-size:17px}
  .install-platform-head p{margin:2px 0 0;color:var(--muted);font-size:11px}
  .install-visual-steps{display:grid;gap:9px;margin-top:10px}
  .install-visual-step{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;background:#f8f7f5;border:1px solid #eee8e3;border-radius:13px;padding:10px}
  .install-step-no{width:30px;height:30px;border-radius:10px;background:#fff;border:1px solid #ddd7d2;display:grid;place-items:center;font-weight:900;color:#d6574f}
  .install-step-visual{margin-top:7px;background:#fff;border:1px solid #ddd8d3;border-radius:10px;padding:9px 10px;font-size:12px;color:#565a63;display:flex;align-items:center;gap:8px}
  .install-step-visual .symbol{width:27px;height:27px;border-radius:8px;background:#f1f0ed;display:grid;place-items:center;font-size:16px}
  .install-note{margin-top:10px;padding:10px 11px;border-radius:12px;background:#fff7ed;border:1px solid #eedbc0;color:#695a41;font-size:11px;line-height:1.45}
  .install-platform-card.recommended{border-color:#dcb6b1;background:linear-gradient(145deg,#fff,#fff8f7)}
  .install-platform-card .install-action{margin-top:11px;width:100%;min-height:44px}
  /* Calendar gets a dedicated compact phone layout. */
  .calendar-summary{display:none!important}
  .event-grid{display:block!important}
  .event-grid>.calendar-list-panel{display:none!important}
  .calendar-stack{gap:10px!important}
  .calendar-card{padding:13px!important;border-radius:16px!important;box-shadow:none!important;width:100%!important}
  .calendar-card-header{gap:10px!important;margin-bottom:8px!important}
  .calendar-card-header>div:last-child{min-width:0;flex:1}
  .calendar-card h3{font-size:16px!important;line-height:1.25!important}
  .calendar-card p{font-size:12px!important;line-height:1.4!important}
  .calendar-card .event-date{width:48px!important;height:57px!important;border-radius:14px!important;flex:0 0 48px}
  .calendar-card .event-date strong{font-size:20px!important}
  .calendar-card .event-topline{gap:5px!important;margin-top:6px!important}
  .calendar-card .calendar-details{grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:8px!important}
  .calendar-card .detail-pill{padding:9px!important;border-radius:11px!important}
  .calendar-card .detail-pill strong{font-size:12px!important;word-break:break-word}
  .calendar-card .detail-pill small{font-size:9px!important}
  .calendar-source{font-size:10px!important;padding:6px 8px!important}
  #calendarRefreshBtn{width:100%;min-height:44px}
}
@media(max-width:420px){
  .calendar-card .calendar-details{grid-template-columns:1fr!important}
}


.mobile-ombud-choices{display:grid;gap:10px;margin:4px 0 18px}
.mobile-ombud-choice{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;text-align:left;min-height:78px}
.mobile-ombud-choice .moc-icon{width:46px;height:46px;border-radius:14px;background:#f3f2ef;display:grid;place-items:center;font-size:22px}
.mobile-ombud-choice strong{display:block;font-size:16px}
.mobile-ombud-choice small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.mobile-ombud-choice>b{font-size:24px;color:#999}
@media(min-width:761px){.mobile-ombud-choices{display:none}.mobile-ombud-preview{display:none}}


@media(max-width:760px){
  .password-card{margin-top:12px}
  .password-card .fields{grid-template-columns:1fr!important}
  .password-card input{min-height:46px}
  .password-card .primary{width:100%;min-height:46px}
}

@media(max-width:760px){
  /* Prevent long calendar text/URLs from forcing desktop-width layout */
  .event-grid,.calendar-stack,.calendar-card,.calendar-card-header,
  .calendar-card-header>div,.event-topline,.calendar-details,.detail-pill,
  .event-copy,.event-entry,.calendar-list-panel{
    min-width:0!important;
    max-width:100%!important;
  }
  .calendar-card{
    overflow:hidden!important;
  }
  .calendar-card h3,
  .calendar-card p,
  .calendar-card strong,
  .calendar-card span,
  .calendar-card .chip,
  .calendar-card .detail-pill,
  .calendar-card .detail-pill strong,
  .event-copy strong,
  .event-copy p{
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    white-space:normal!important;
    max-width:100%!important;
  }
  .calendar-card .event-topline .chip{
    display:inline-flex!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .calendar-card a{
    overflow-wrap:anywhere!important;
    word-break:break-all!important;
  }
  .calendar-card-header{
    width:100%!important;
  }
  .calendar-card-header>div:last-child{
    width:calc(100% - 58px)!important;
    overflow:hidden!important;
  }
  .calendar-card .calendar-details{
    width:100%!important;
  }
}



.mobile-calendar-home{display:none}
@media(max-width:760px){
  .mobile-calendar-home{
    display:block;
    margin:0 0 14px;
    padding:15px 14px 10px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 5px 18px rgba(0,0,0,.03);
  }
  .mobile-calendar-home-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:4px;
  }
  .mobile-calendar-home-head h2{font-size:22px;margin:4px 0 0}
  .mobile-calendar-home-head .small{min-width:58px}
  .mobile-calendar-home .event-entry{padding:11px 0}
  .mobile-calendar-home .event-date{width:50px;height:60px;border-radius:15px}
  .mobile-calendar-home .event-date strong{font-size:21px}
  .mobile-calendar-home .event-copy strong{font-size:15px}
  .mobile-calendar-home .event-copy p{font-size:12px}
  .overview-calendar-desktop{display:none!important}
}


@media(max-width:760px){
  .home-order-card{margin-top:12px}
}
.home-order-options{display:grid;gap:10px}
.home-order-option{
  display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;
  padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;
  cursor:pointer
}
.home-order-option input{margin-top:3px}
.home-order-option strong{display:block;font-size:14px}
.home-order-option small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:3px}

.brand-logo-auth{display:block;max-width:300px;width:min(100%,300px);height:auto;filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))}
.brand-logo-top{display:block;height:50px;width:auto;max-width:min(62vw,320px)}
.brand-sub small{display:block;color:#8a8e98;margin-top:5px}
.news-panel{background:linear-gradient(135deg,#fff,#fff8f6);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 8px 22px #00000008;margin-bottom:22px}
.news-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.news-panel-head h2{margin:6px 0 0;font-size:28px}
.news-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#feece8;color:#b14b45;font-size:12px;font-weight:900}
.news-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}
.news-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 16px 15px}
.news-item.featured{background:linear-gradient(135deg,#d6574f,#c94840);border-color:#c94840;color:#fff;box-shadow:0 14px 34px #c9484026}
.news-item.featured p,.news-item.featured .news-date{color:#fff;opacity:.95}
.news-item.featured-primary{grid-column:span 2;padding:22px 22px 20px;min-height:190px;align-content:start}
.news-item.featured-primary h3{font-size:24px;max-width:720px;margin-top:12px}
.news-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:24px}
.news-featured-label{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#fff;color:#a63e38;font-size:11px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 4px 12px #00000018}
.news-item h3{margin:8px 0 8px;font-size:18px;line-height:1.22}
.news-item p{margin:0;color:var(--muted);line-height:1.5;font-size:14px}
.news-date{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#c07068}
.contact-page{display:grid;gap:18px}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 22px #00000008}
.contact-role{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff2f0;color:#bb544d;font-size:12px;font-weight:900;margin-bottom:10px}
.contact-card h3{margin:0 0 12px;font-size:22px}
.contact-line{display:grid;gap:4px;margin:10px 0}
.contact-line small{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.contact-line a{display:flex;align-items:center;min-height:36px;border-radius:8px}.contact-line a:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 22%,transparent);outline-offset:2px}
.contact-note{margin:10px 0 0;color:var(--muted);font-size:13px}

@media(max-width:980px){
  .news-grid{grid-template-columns:1fr}
  .news-item.featured-primary{grid-column:auto;min-height:0}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .top{padding:0 18px}
  .brand{gap:10px;min-width:0}
  .brand-logo-top{height:34px;max-width:calc(100vw - 115px)}
  .brand-sub small{font-size:12px;line-height:1.25}
  .auth-brand{align-items:flex-start}
  .brand-logo-auth{max-width:230px}
  .news-panel{padding:18px 16px;margin-bottom:16px;border-radius:20px}
  .news-panel-head h2{font-size:22px}
  .news-grid{grid-template-columns:1fr;gap:12px}
  .news-item h3{font-size:17px}
  .contact-card h3{font-size:20px}
  .contact-line a{min-height:44px;padding:7px 0}
}

.document-section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.document-section-tabs button{border:1px solid #ded8d3;background:#fff;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}
.document-section-tabs button.active{background:#252936;color:#fff;border-color:#252936}
.document-guides-panel>h3{margin:6px 0 4px;font-size:22px}
.document-guides-intro{margin:0 0 12px;color:var(--muted)}
@media(max-width:760px){
  .document-section-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;position:sticky;top:70px;z-index:7;background:var(--bg);padding:7px 0 9px;margin-top:-4px}
  .document-section-tabs button{padding:10px 6px;font-size:12px;min-height:44px}
}


.category-manager{margin-bottom:20px}
.category-create-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;margin:12px 0}
.category-create-row input{width:100%;border:1px solid #e4ddd8;border-radius:12px;padding:12px 13px}
.category-admin-list{display:grid;gap:8px;margin-top:12px}
.category-admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#faf9f7}
.category-admin-row strong{display:block}
.category-admin-row small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:760px){
  .category-create-row{grid-template-columns:1fr}
  .category-create-row .primary{width:100%}
  .category-admin-row{align-items:flex-start;flex-direction:column}
}


.user-create-wrap{max-width:900px}
.user-create-card{padding:22px}
.user-form-section{padding:16px 0;border-top:1px solid var(--line)}
.user-form-section:first-of-type{border-top:0;padding-top:10px}
.user-form-section-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.user-form-section-head strong{display:block;font-size:15px}
.user-form-section-head small{display:block;color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4}
.user-section-icon{width:28px;height:28px;border-radius:9px;background:#fff0ee;color:#be544d;display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.user-basic-fields{grid-template-columns:1fr 1fr}
.user-create-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.user-create-method{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.user-create-method input{margin-top:3px;flex:0 0 auto}
.user-create-method>span{display:grid;gap:4px}
.user-create-method strong{font-size:13px}.user-create-method small{color:var(--muted);font-size:11.5px;line-height:1.4}
.user-create-method:has(input:checked){border-color:color-mix(in srgb,var(--accent,#b71921) 55%,var(--line));background:color-mix(in srgb,var(--card,#fff) 94%,var(--accent,#b71921) 6%);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#b71921) 10%,transparent)}
.simple-select-label{display:grid;gap:6px;font-size:13px;font-weight:800;max-width:340px}
.simple-select-label select{width:100%;border:1px solid #e4ddd8;border-radius:12px;padding:11px 12px;background:#fff}
.admin-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.compact-role{min-height:42px;border:1px solid #e4ddd8;border-radius:11px;padding:9px 10px;background:#fff;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750;cursor:pointer}
.compact-role input{width:auto;margin:0;flex:0 0 auto}
.compact-role:has(input:checked){background:#fff3f1;border-color:#d8aaa5}
.compact-btn{padding:9px 12px}
.user-create-actions{margin-top:6px}
.user-security-note{margin-top:14px;padding:12px 14px}
.contact-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.contact-avatar{width:58px;height:58px;border-radius:50%;background:#252936;color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden;flex:0 0 auto}
.contact-avatar img{width:100%;height:100%;object-fit:cover}
.contact-card-head .contact-role{margin-bottom:5px}
.contact-card-head h3{margin:0}
.contact-sync{display:inline-flex;margin-top:10px;padding:6px 9px;border-radius:999px;background:#eef7ef;color:#4b7a57;font-size:11px;font-weight:800}
.contact-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.contact-card-actions .message-contact{min-height:42px;padding:9px 14px}.contact-card-actions .message-contact:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.45)}@media(max-width:760px){.contact-card-actions .message-contact{width:100%;min-height:44px}}
@media(max-width:900px){
  .admin-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .user-create-card{padding:16px}
  .user-create-methods{grid-template-columns:1fr}
  .user-basic-fields{grid-template-columns:1fr}
  .admin-role-grid{grid-template-columns:1fr}
  .compact-role{min-height:44px}
  .user-create-actions{display:grid;grid-template-columns:1fr}
  .user-create-actions button{width:100%}
}


.ombud-section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.ombud-section-tabs button{border:1px solid #ded8d3;background:#fff;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.ombud-section-tabs button span{display:inline-flex;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#f0eeeb;align-items:center;justify-content:center;font-size:11px;color:#666}
.ombud-section-tabs button.active{background:#252936;color:#fff;border-color:#252936}
.ombud-section-tabs button.active span{background:#ffffff1a;color:#fff}
@media(max-width:760px){
  .ombud-section-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;position:sticky;top:70px;z-index:7;background:var(--bg);padding:7px 0 9px;margin-top:-4px}
  .ombud-section-tabs button{padding:10px 6px;font-size:12px;justify-content:center;min-height:44px}
}


.user-edit-modal{max-width:820px;padding:22px}
.user-edit-head{margin-bottom:4px}
.user-edit-head h3{margin:6px 0 2px;font-size:24px}
.user-edit-head p{margin:0;color:var(--muted);font-size:13px}
.user-edit-section{padding:16px 0;border-top:1px solid var(--line)}
.user-edit-section:first-of-type{border-top:0}
.user-edit-fields{grid-template-columns:1fr 1fr}
.readonly-field input{background:#f5f4f2;color:#777}
.user-permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.toggle-row{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;cursor:pointer}
.toggle-row input{width:auto;margin-top:3px;flex:0 0 auto}
.toggle-row strong{display:block;font-size:13px}
.toggle-row small{display:block;color:var(--muted);font-size:11px;line-height:1.35;margin-top:3px}
.user-edit-actions{margin-top:16px}
@media(max-width:760px){
  .user-edit-modal{padding:16px;max-height:92vh;overflow:auto}
  .user-edit-fields{grid-template-columns:1fr}
  .user-permission-grid{grid-template-columns:1fr}
  .user-edit-actions{display:grid;grid-template-columns:1fr}
  .user-edit-actions button{width:100%}
}


.ombud-source-tag{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:999px;background:#f4f1ed;color:#777;font-size:10px;font-weight:800}


.ombud-create-wrap{max-width:860px}
.ombud-create-card{padding:22px}
.ombud-form-section{padding:16px 0;border-top:1px solid var(--line)}
.ombud-form-section:first-of-type{border-top:0;padding-top:10px}
.ombud-basic-fields{grid-template-columns:1fr 1fr}
.ombud-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ombud-create-actions{margin-top:12px}
@media(max-width:760px){
  .ombud-create-card{padding:16px}
  .ombud-basic-fields{grid-template-columns:1fr}
  .ombud-role-grid{grid-template-columns:1fr}
  .ombud-create-actions{display:grid;grid-template-columns:1fr}
  .ombud-create-actions button{width:100%}
}


.ombud-card-rich{display:flex;flex-direction:column;overflow:hidden}
.ombud-card-main{display:flex;align-items:center;gap:14px;width:100%;border:0;background:transparent;text-align:left;padding:16px;cursor:pointer}
.ombud-card-actions{display:flex;gap:7px;flex-wrap:wrap;padding:0 14px 14px}
.ombud-action-btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}
.ombud-action-btn.primary-contact{background:#252936;color:#fff;border-color:#252936}.ombud-action-btn.message-contact{background:var(--primary,#b5121b);color:#fff;border-color:var(--primary,#b5121b)}
.ombud-modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.ombud-modal-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.ombud-message-modal{max-width:650px}
.ombud-message-recipient{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#faf9f7;margin:12px 0 16px}
.ombud-message-recipient strong,.ombud-message-recipient small{display:block}
.ombud-message-recipient small{color:var(--muted);margin-top:2px}
.small-avatar{width:42px;height:42px}
.ombud-message-note{margin:12px 0 0;color:var(--muted);font-size:12px}
.success-banner{background:#eef7ef!important;color:#3d6e48!important;border-color:#cde4d2!important}
@media(max-width:760px){
  .ombud-card-actions{display:grid;grid-template-columns:1fr 1fr}
  .ombud-card-actions .primary-contact{grid-column:1/-1}
  .ombud-action-btn{text-align:center;min-height:40px;display:flex;align-items:center;justify-content:center}
  .ombud-modal-actions{display:grid;grid-template-columns:1fr}
  .ombud-modal-btn{width:100%}
  .ombud-message-actions{display:grid;grid-template-columns:1fr}
  .ombud-message-actions button{width:100%}
}


.backup-warning{background:#fff7e8;border:1px solid #ead7a9;border-radius:16px;padding:14px 16px;margin-bottom:18px}
.backup-warning strong{display:block;margin-bottom:4px}
.backup-warning p{margin:0;color:#6c6047;line-height:1.5}
.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.backup-card{position:relative}
.backup-card h3{margin:7px 0 7px;font-size:22px}
.backup-card>p{margin:0 0 14px;color:var(--muted);line-height:1.55}
.backup-icon{width:46px;height:46px;border-radius:13px;background:#fff0ee;color:#bd554d;display:grid;place-items:center;font-size:24px;font-weight:900;margin-bottom:12px}
.backup-includes{display:grid;gap:7px;margin:14px 0;color:#53555b;font-size:13px}
.backup-primary,.backup-restore-btn{width:100%;margin-top:8px}
.backup-file-picker{display:flex;align-items:center;justify-content:center;border:1.5px dashed #d8d0ca;border-radius:13px;padding:18px;background:#faf9f7;cursor:pointer;font-weight:800;margin:14px 0}
.backup-file-picker input{display:none}
.backup-status{margin-top:10px}
.backup-preview{display:grid;gap:4px;padding:12px;border-radius:12px;background:#f5f4f2;margin:10px 0;font-size:12px}
.backup-preview strong{font-size:13px}
.backup-preview span{color:var(--muted)}
.backup-help{margin-top:18px}
.backup-help h3{margin-top:0}
.backup-help p{margin-bottom:0;color:var(--muted);line-height:1.55}
.danger.backup-restore-btn{border:0;background:#a9433e;color:#fff;border-radius:12px;padding:12px 15px;font-weight:800;cursor:pointer}
.danger.backup-restore-btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:850px){
  .backup-grid{grid-template-columns:1fr}
}


/* v1.10.3 — clean ombud message dialog */
.ombud-message-modal{
  width:min(610px,100%);
  max-width:610px;
  max-height:calc(100vh - 32px);
  overflow:auto;
  padding:28px;
}
.ombud-message-head{padding-right:42px;margin-bottom:18px}
.ombud-message-head h2{margin:6px 0 6px;font-size:27px;letter-spacing:-.02em}
.ombud-message-head p{margin:0;color:var(--muted);line-height:1.5;font-size:14px}
.ombud-message-recipient{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#faf9f7;
  margin:0 0 18px;
}
.ombud-message-avatar{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:50%;
  overflow:hidden;
  background:#252936;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900;
}
.ombud-message-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.ombud-message-recipient-copy{min-width:0}
.ombud-message-recipient-copy small{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:2px;
}
.ombud-message-recipient-copy strong{
  display:block;
  font-size:15px;
  line-height:1.25;
}
.ombud-message-recipient-copy span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ombud-message-fields{display:grid;gap:15px}
.ombud-message-fields label{display:grid;gap:7px}
.ombud-message-fields label>span{font-size:13px;font-weight:850}
.ombud-message-fields input,
.ombud-message-fields textarea{
  width:100%;
  border:1px solid #ddd6d1;
  background:#fff;
  border-radius:13px;
  padding:13px 14px;
  outline:none;
  resize:vertical;
}
.ombud-message-fields input:focus,
.ombud-message-fields textarea:focus{
  border-color:#ca756f;
  box-shadow:0 0 0 4px #d6574f12;
}
.ombud-message-actions{
  display:flex;
  gap:9px;
  align-items:center;
  margin-top:16px;
}
.ombud-message-actions .primary{padding:11px 17px}
.ombud-message-actions .secondary{padding:10px 15px}
.ombud-message-note{
  margin:12px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
@media(max-width:760px){
  .ombud-card-actions{grid-template-columns:1fr 1fr}
  .ombud-card-actions .primary-contact{grid-column:auto}
  .ombud-message-modal{padding:22px 18px;border-radius:22px}
  .ombud-message-head h2{font-size:24px}
  .ombud-message-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:440px){
  .ombud-card-actions{grid-template-columns:1fr}
  .ombud-message-actions{grid-template-columns:1fr}
}


.name-with-role{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}
.role-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;background:#fff;border:1px solid #eee6e1;box-shadow:0 3px 12px rgba(0,0,0,.05)}
.role-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:999px}
.role-icon-sm{width:28px;height:28px;padding:2px}
.role-icon-md{width:38px;height:38px;padding:3px}
.role-icon-lg{width:48px;height:48px;padding:4px}
.role-icon.vice-role:after{content:'Vice';position:absolute;right:-6px;bottom:-5px;background:#161922;color:#fff;border:2px solid #fff;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:900;line-height:1.2}
.contact-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.contact-name-row h3{margin:2px 0 0}


.help-page{display:grid;gap:20px}
.help-intro{background:linear-gradient(135deg,#fff,#faf7f5);border:1px solid var(--line);border-radius:22px;padding:22px}
.help-intro h2{margin:5px 0 8px;font-size:28px}
.help-intro p{margin:0;color:var(--muted);line-height:1.6;max-width:850px}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.help-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.help-card summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;align-items:flex-start;gap:13px;font-weight:850}
.help-card summary::-webkit-details-marker{display:none}
.help-card summary:after{content:'+';margin-left:auto;width:28px;height:28px;border-radius:9px;background:#f4f1ee;display:grid;place-items:center;font-size:18px;color:#6d6f75;flex:0 0 auto}
.help-card[open] summary:after{content:'–'}
.help-card-icon{width:38px;height:38px;border-radius:11px;background:#fff2f0;color:#c95049;display:grid;place-items:center;flex:0 0 auto;font-weight:900}
.help-card-title{display:grid;gap:3px}
.help-card-title strong{font-size:15px}
.help-card-title span{font-size:12px;color:var(--muted);font-weight:600}
.help-card-body{padding:0 20px 18px 71px;color:#55585f;line-height:1.6;font-size:13px}
.help-card-body p{margin:0 0 9px}
.help-card-body ul{margin:7px 0 0;padding-left:18px}
.help-card-body li{margin:5px 0}
.help-admin-section{margin-top:4px}
.help-admin-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.help-admin-head .admin-lock{width:34px;height:34px;border-radius:10px;background:#20232c;color:#fff;display:grid;place-items:center}
.help-admin-head h2{margin:0;font-size:23px}
.help-admin-head p{margin:3px 0 0;color:var(--muted);font-size:13px}
.help-security{background:#fff8f0;border:1px solid #ead8c4;border-radius:16px;padding:15px 17px;margin-top:14px}
.help-security strong{display:block;margin-bottom:4px}
.help-security p{margin:0;color:#6b6257;font-size:13px;line-height:1.55}
@media(max-width:820px){
  .help-grid{grid-template-columns:1fr}
  .help-card-body{padding-left:20px}
}


.help-steps{counter-reset:helpstep;display:grid;gap:8px;margin:10px 0 12px}
.help-step{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start}
.help-step:before{counter-increment:helpstep;content:counter(helpstep);width:25px;height:25px;border-radius:8px;background:#f4efec;color:#a64f49;display:grid;place-items:center;font-size:11px;font-weight:900}
.help-step strong{display:block;margin-bottom:2px;color:#393b40}
.help-tip{margin-top:10px;padding:10px 12px;border-radius:11px;background:#f7f6f4;border:1px solid #ebe5e0;font-size:12px;color:#5f6268}
.help-tip b{color:#3e4146}
.help-warning-note{margin-top:10px;padding:10px 12px;border-radius:11px;background:#fff5ef;border:1px solid #efd7ca;font-size:12px;color:#725c52}
.help-card-body h4{margin:12px 0 6px;font-size:13px;color:#393b40}
.help-card-body code{background:#f2f1ef;padding:2px 5px;border-radius:5px;font-size:11px}


.news-item-button{appearance:none;width:100%;border:1px solid var(--line);font:inherit;color:inherit;text-align:left;cursor:pointer;position:relative;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.news-item-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000010;border-color:#dfcfc9}
.news-item-button.featured{border-color:transparent}
.news-read-more{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:12px;font-weight:900;color:#b34e47}
.news-item-button.featured .news-read-more{color:#fff}
.news-detail-wrap{max-width:980px;margin:0 auto}
.news-back{border:0;background:transparent;color:#a94d47;font-weight:850;padding:4px 0 14px;cursor:pointer}
.news-detail-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,4vw,48px);box-shadow:0 12px 32px #00000009}
.news-detail-meta{display:flex;justify-content:space-between;gap:15px;align-items:center;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:10px}
.news-detail-card h1{font-size:clamp(30px,5vw,48px);line-height:1.08;letter-spacing:-.04em;margin:8px 0 16px}
.news-detail-lead{font-size:18px;line-height:1.6;color:#555a62;margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.news-detail-body{max-width:760px;font-size:16px;line-height:1.78;color:#3f4248}
.news-detail-body p{margin:0 0 18px}
.news-detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 26px}
.news-detail-gallery.single{grid-template-columns:1fr}
.news-detail-gallery button{border:0;background:transparent;padding:0;cursor:zoom-in;border-radius:16px;overflow:hidden}
.news-detail-gallery img{display:block;width:100%;height:280px;object-fit:cover;border-radius:16px}
.news-detail-gallery.single img{height:auto;max-height:560px;object-fit:contain;background:#f7f6f4}
.news-admin-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.news-admin-image{border:1px solid var(--line);border-radius:14px;padding:8px;background:#faf9f7;display:grid!important;gap:8px!important}
.news-admin-image img{width:100%;height:120px;object-fit:cover;border-radius:10px;background:#eee}
.news-admin-image span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}
.news-admin-image input{width:auto!important}
@media(max-width:640px){.news-detail-gallery{grid-template-columns:1fr}.news-detail-gallery img{height:auto;max-height:420px}.news-detail-meta{align-items:flex-start;flex-direction:column;gap:5px}.news-detail-card{border-radius:18px}}


.news-attachments{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.news-attachments h3{margin:0 0 12px;font-size:18px}
.news-attachment-list{display:grid;gap:10px}
.news-attachment{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#faf9f7}
.news-attachment .file-badge{margin:0}
.news-attachment strong{display:block}
.news-attachment small{display:block;color:var(--muted);margin-top:3px}
.news-admin-attachments{display:grid;gap:9px;margin-top:8px}
.news-admin-attachment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f7f6f4;border:1px solid var(--line);border-radius:12px}
.news-admin-attachment span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:560px){.news-attachment{grid-template-columns:auto 1fr}.news-attachment .small{grid-column:1/-1;width:100%}}


.workplace-profile-box{border:1px solid var(--line);border-radius:16px;padding:14px;background:#faf9f7}
.workplace-profile-box>p{margin:5px 0 12px;color:var(--muted);font-size:13px}
.profile-role-box{border:1px solid var(--line);border-radius:16px;padding:14px;background:#faf9f7;margin-top:12px}.profile-role-box>p{margin:5px 0 12px;color:var(--muted);font-size:13px}.profile-role-chips{display:flex;flex-wrap:wrap;gap:8px}.profile-role-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:var(--card);font-size:12px;font-weight:800}.profile-role-chip:before{content:'✓';font-size:11px}.profile-role-empty{color:var(--muted);font-size:12px}
.workplace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.workplace-choice{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;border:1px solid var(--line);border-radius:12px;padding:10px!important;background:white;cursor:pointer}
.workplace-choice input{width:auto!important}
.outreach-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px}
.outreach-summary>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:0 6px 20px rgba(0,0,0,.03)}
.outreach-summary span{display:block;color:var(--muted);font-size:12px;font-weight:800}
.outreach-summary strong{display:block;font-size:30px;margin-top:4px}
.outreach-admin-strip{display:flex;align-items:center;gap:12px;background:#fff7ee;border:1px solid #ead6bd;border-radius:15px;padding:12px 14px;margin-bottom:16px}
.outreach-admin-strip span{font-weight:900}.outreach-admin-strip p{margin:0;flex:1;color:var(--muted);font-size:13px}
.outreach-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.outreach-location-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px;text-align:left;box-shadow:0 7px 24px rgba(0,0,0,.035);cursor:pointer;transition:.15s}
.outreach-location-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.07)}
.outreach-location-head{display:flex;gap:12px;align-items:center}.outreach-location-head>span:last-child{min-width:0}
.outreach-location-head strong{display:block;font-size:20px}.outreach-location-head small{display:block;color:var(--muted);margin-top:3px}
.outreach-factory-icon{width:44px;height:44px;border-radius:14px;background:#fff1ef;display:grid;place-items:center;font-size:23px}
.outreach-last{border-top:1px solid var(--line);margin-top:15px;padding-top:13px}.outreach-last small,.outreach-last span{display:block;color:var(--muted);font-size:11px}.outreach-last strong{display:block;margin:3px 0}
.outreach-never{border-top:1px solid var(--line);margin-top:15px;padding-top:13px;color:var(--muted);font-size:12px}
.outreach-page-wrap{max-width:1100px;margin:0 auto}
.outreach-location-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;background:#252936;color:#fff;border-radius:24px;padding:24px;margin-bottom:16px}
.outreach-location-hero h1{font-size:36px;margin:5px 0}.outreach-location-hero p{margin:0;color:#d8dbe4}.outreach-location-hero .eyebrow{color:#ffb5ad}
.outreach-latest-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:18px;padding:18px;margin-bottom:16px}
.outreach-latest-card small{color:var(--muted);font-weight:800}.outreach-latest-card h3{margin:3px 0}.outreach-latest-card p{margin:0;color:var(--muted)}
.outreach-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.outreach-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.outreach-section-head h3,.outreach-section-head h2{margin:4px 0}
.outreach-contact-list{display:grid;gap:9px;margin-top:12px}.outreach-contact{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:11px;background:#faf9f7}
.outreach-contact strong,.outreach-contact small{display:block}.outreach-contact small{color:var(--muted);margin-top:2px}.outreach-contact .actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.outreach-report-list{display:grid;gap:9px}.outreach-report-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:15px;background:#fff;padding:13px 15px}
.outreach-report-row strong,.outreach-report-row small{display:block}.outreach-report-row small{color:var(--muted);margin-top:3px}
.outreach-field-form{max-width:900px;margin:0 auto}.outreach-field-form input[type=number]{font-size:20px;font-weight:900}
.outreach-report-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px}
.outreach-report-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.outreach-report-top h1{font-size:34px;margin:6px 0}.outreach-report-top p{color:var(--muted)}
.outreach-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:22px 0}.outreach-metrics>div{border:1px solid var(--line);border-radius:15px;padding:13px;background:#faf9f7}.outreach-metrics span{display:block;color:var(--muted);font-size:11px;font-weight:800}.outreach-metrics strong{font-size:28px}
.outreach-report-sections{display:grid;gap:12px}.outreach-report-sections section{border-top:1px solid var(--line);padding-top:15px}.outreach-report-sections h3{margin:0 0 7px}.outreach-report-sections p{line-height:1.6}
@media(max-width:900px){.outreach-location-grid{grid-template-columns:1fr 1fr}.outreach-metrics{grid-template-columns:repeat(3,1fr)}.workplace-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.outreach-summary{grid-template-columns:1fr 1fr}.outreach-summary>div:last-child{grid-column:1/-1}.outreach-location-grid,.outreach-two-cols,.workplace-grid{grid-template-columns:1fr}.outreach-location-hero,.outreach-latest-card,.outreach-report-top{align-items:stretch;flex-direction:column}.outreach-location-hero h1,.outreach-report-top h1{font-size:28px}.outreach-metrics{grid-template-columns:1fr 1fr}.outreach-report-row{grid-template-columns:1fr auto}.outreach-report-row .pill{grid-column:1/2}.outreach-contact{align-items:flex-start;flex-direction:column}.outreach-contact .actions{justify-content:flex-start}.outreach-admin-strip{align-items:flex-start;flex-wrap:wrap}}


/* v1.14.3 – iPhone/mobile stabilization */
html,body{max-width:100%;overflow-x:hidden}
.app,.layout,main,#content{min-width:0;max-width:100%}
.brand{min-width:0;flex:1;overflow:hidden}
.portal-lockup{min-width:0}
.profile{flex:0 0 auto}
@supports (min-height:100dvh){
  .app{min-height:100dvh}
}
@media(max-width:760px){
  body{
    padding-bottom:calc(78px + env(safe-area-inset-bottom));
    overflow-x:hidden;
  }
  .top{
    height:auto!important;
    min-height:62px;
    padding:
      calc(7px + env(safe-area-inset-top))
      max(12px,env(safe-area-inset-right))
      7px
      max(12px,env(safe-area-inset-left))!important;
    gap:9px;
  }
  .brand{
    gap:9px!important;
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
  }
  .brand-logo-top{
    height:31px!important;
    width:auto!important;
    max-width:112px!important;
    flex:0 1 auto;
    object-fit:contain;
  }
  .brand-divider{
    height:28px!important;
    flex:0 0 1px;
  }
  .portal-kicker{display:none!important}
  .portal-title{
    font-size:14px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .portal-subtitle{
    font-size:9px!important;
    line-height:1.15!important;
    max-width:none!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .profile{
    width:40px!important;
    height:40px!important;
  }
  main{
    width:100%!important;
    padding:13px max(12px,env(safe-area-inset-right)) 24px max(12px,env(safe-area-inset-left))!important;
    overflow:hidden;
  }
  #content>*{max-width:100%}
  .fields{grid-template-columns:minmax(0,1fr)!important}
  .fields label,.fields .full{min-width:0!important;max-width:100%!important}
  .fields input,.fields textarea,.fields select{
    min-width:0!important;
    max-width:100%!important;
    font-size:16px!important; /* avoids Safari auto-zoom */
  }
  .primary,.secondary,.small{max-width:100%}
  .btn-row{display:flex;flex-wrap:wrap;gap:8px}
  .mobile-dock{
    height:auto!important;
    min-height:68px;
    padding:
      5px max(5px,env(safe-area-inset-right))
      calc(5px + env(safe-area-inset-bottom))
      max(5px,env(safe-area-inset-left))!important;
  }

  /* Uppsökeri */
  .outreach-page-wrap{width:100%;max-width:100%;min-width:0}
  .outreach-summary{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .outreach-summary>div{
    min-width:0;
    padding:13px!important;
    border-radius:15px!important;
  }
  .outreach-summary>div:last-child{grid-column:1/-1}
  .outreach-summary span{font-size:10px!important;line-height:1.25}
  .outreach-summary strong{font-size:25px!important}

  .outreach-admin-strip{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    padding:13px!important;
  }
  .outreach-admin-strip p{width:100%;font-size:12px!important}
  .outreach-admin-strip button{width:100%;min-height:42px}

  .outreach-location-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  .outreach-location-card{
    width:100%;
    min-width:0;
    padding:15px!important;
    border-radius:17px!important;
  }
  .outreach-location-head{min-width:0}
  .outreach-location-head>span:last-child{
    min-width:0;
    flex:1;
  }
  .outreach-location-head strong{font-size:18px!important}
  .outreach-location-head small{
    overflow-wrap:anywhere;
    line-height:1.35;
  }

  .outreach-location-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    padding:18px!important;
    border-radius:19px!important;
  }
  .outreach-location-hero h1{font-size:27px!important}
  .outreach-location-hero .primary{width:100%;min-height:46px}

  .outreach-latest-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:12px!important;
    padding:15px!important;
  }
  .outreach-latest-card p{
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  .outreach-latest-card .secondary{width:100%;min-height:44px}

  .outreach-two-cols{grid-template-columns:minmax(0,1fr)!important}
  .outreach-contact{
    min-width:0;
    align-items:flex-start!important;
  }
  .outreach-contact>div:first-child{
    min-width:0;
    width:100%;
  }
  .outreach-contact strong,.outreach-contact small{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .outreach-contact .actions{
    width:100%;
    justify-content:flex-start!important;
  }

  .outreach-report-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:12px!important;
  }
  .outreach-report-row>span:first-child{min-width:0}
  .outreach-report-row small{
    line-height:1.35;
    overflow-wrap:anywhere;
  }
  .outreach-report-row .pill{
    grid-column:1/-1!important;
    justify-self:start;
    white-space:normal;
  }

  .outreach-field-form{
    width:100%!important;
    max-width:100%!important;
    padding:15px!important;
    border-radius:17px!important;
  }
  .outreach-field-form .admin-form-head{
    display:block!important;
  }
  .outreach-field-form input[type=number]{font-size:18px!important}

  .outreach-report-card{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:16px!important;
    border-radius:18px!important;
  }
  .outreach-report-top{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .outreach-report-top h1{
    font-size:27px!important;
    overflow-wrap:anywhere;
  }
  .outreach-report-top .secondary{width:100%;min-height:44px}
  .outreach-metrics{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .outreach-metrics>div{padding:11px!important;min-width:0}
  .outreach-metrics span{
    font-size:10px!important;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  .outreach-metrics strong{font-size:24px!important}

  .workplace-profile-box{padding:12px!important}
  .workplace-grid{grid-template-columns:minmax(0,1fr)!important}
  .workplace-choice{min-width:0}
}
@media(max-width:390px){
  .portal-subtitle{display:none!important}
  .brand-logo-top{max-width:105px!important}
  .portal-title{font-size:13px!important}
  .outreach-summary{grid-template-columns:1fr!important}
  .outreach-summary>div:last-child{grid-column:auto}
  .outreach-metrics{grid-template-columns:1fr 1fr!important}
}


.outreach-card-admin{margin-left:auto;flex:0 0 auto}
.outreach-card-admin .small{font-size:11px;padding:6px 9px}
.outreach-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.danger-outline{border-color:#d8a3a0!important;color:#a63731!important;background:#fff!important}
.danger-outline:hover{background:#fff5f4!important}
@media(max-width:760px){
  .outreach-card-admin{margin-left:6px}
  .outreach-location-head{align-items:flex-start!important}
  .outreach-card-admin .small{padding:6px 8px}
  .outreach-hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .outreach-hero-actions .primary,.outreach-hero-actions .secondary{width:100%}
}


/* v1.14.3 – desktop alignment for outreach cards */
.outreach-location-grid{
  align-items:stretch!important;
}
.outreach-location-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:255px;
  padding:0!important;
  overflow:hidden;
}
.outreach-location-open{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  width:100%;
  min-width:0;
  flex:1 1 auto;
  padding:18px;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
}
.outreach-location-open:hover{background:#fdfcfa}
.outreach-location-head{
  min-height:48px;
}
.outreach-last{
  min-height:74px;
}
.outreach-empty-last{
  color:var(--muted);
}
.outreach-location-open .news-read-more{
  margin-top:auto;
  padding-top:14px;
}
.outreach-card-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  padding:10px 14px 14px;
  border-top:1px solid var(--line);
  background:#faf9f7;
  min-height:58px;
  align-items:center;
}
.outreach-card-actions .small{
  min-width:82px;
}
@media(max-width:760px){
  .outreach-location-card{min-height:0}
  .outreach-location-open{padding:15px}
  .outreach-card-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:0;
    padding:10px 12px 12px;
  }
  .outreach-card-actions .small{width:100%;min-width:0}
}


.calendar-audience-box,.calendar-push-box{border:1px solid var(--line);border-radius:16px;padding:14px;background:#faf9f7}
.calendar-audience-box>p,.calendar-push-box>p{margin:4px 0 12px;color:var(--muted);font-size:12px}
.calendar-audience-box>small{display:block;margin-top:8px;color:var(--muted)}
#eventPushPanel{margin-top:10px}


.startup-screen{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:var(--startup-bg,#f5f3f0);
  padding:20px;
  transition:background .15s ease;
}
.startup-card{
  width:min(360px,calc(100vw - 32px));
  background:var(--startup-card,#fff);
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px 24px;
  box-shadow:0 18px 50px rgba(0,0,0,.08);
  display:grid;
  justify-items:center;
  text-align:center;
  gap:10px;
}
.startup-card img{width:150px;max-width:70%;height:auto;margin-bottom:7px}
.startup-card strong{font-size:17px;color:#292b30}
.startup-card span{font-size:12px;color:var(--muted)}
.startup-spinner{
  width:28px;height:28px;border-radius:50%;
  border:3px solid #eadfdb;border-top-color:#c94c43;
  animation:startup-spin .75s linear infinite;
}
@keyframes startup-spin{to{transform:rotate(360deg)}}
body[data-theme="default"]{--startup-bg:#f5f3f0;--startup-card:#fff}
body[data-theme="dark"]{--startup-bg:#111318;--startup-card:#1a1d24}
body[data-theme="pink"]{--startup-bg:#f8a9c9;--startup-card:#ffd0e2}
body[data-theme="blue"]{--startup-bg:#dcecff;--startup-card:#edf6ff}
body[data-theme="green"]{--startup-bg:#dceedd;--startup-card:#eef8ef}
body[data-theme="dark"] .startup-card strong{color:#f3f4f6}
body[data-theme="pink"] .startup-card strong{color:#4b1630}
body[data-theme="blue"] .startup-card strong{color:#17344f}
body[data-theme="green"] .startup-card strong{color:#1f4328}
body[data-theme="dark"] .startup-spinner{border-color:#3b4049;border-top-color:#e06b64}
body[data-theme="pink"] .startup-spinner{border-color:#f6c0d5;border-top-color:#e02173}
body[data-theme="blue"] .startup-spinner{border-color:#b9d4ed;border-top-color:#2f78c4}
body[data-theme="green"] .startup-spinner{border-color:#bdd7c1;border-top-color:#4d8c62}


/* v1.14.3 – installation banner + cleaner mobile More menu */
.install-home-banner{display:none}
.mobile-menu-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.mobile-menu-title small{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.mobile-menu-title h3{margin:2px 0 0;font-size:22px}
.mobile-menu-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:23px;line-height:1;cursor:pointer}
.mobile-menu-list-clean button{display:grid!important;grid-template-columns:32px 1fr!important;align-items:center!important;text-align:left!important;gap:8px!important}
.mobile-menu-list-clean button>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f4f1ee;font-size:15px}
.mobile-menu-list-clean button>b{font-size:14px}
.mobile-menu-divider{height:1px;background:var(--line);margin:6px 2px}
.mobile-help-last{margin-top:0!important}
.ios-guide-placeholder{border-style:dashed!important}

@media(max-width:760px){
  .install-home-banner{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:11px;
    align-items:center;
    background:#fff;
    border:1px solid var(--line);
    border-radius:17px;
    padding:13px;
    box-shadow:0 7px 20px rgba(0,0,0,.035);
    margin:12px 0 16px;
  }
  .install-home-icon{
    width:46px;height:46px;border-radius:14px;
    display:grid;place-items:center;
    background:#fff1ef;font-size:22px;
  }
  .install-home-copy{min-width:0}
  .install-home-copy strong{display:block;font-size:15px;line-height:1.2}
  .install-home-copy span{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}
  .install-home-actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
  }
  .install-banner-primary{width:100%;min-height:42px}
  .install-not-now{
    border:0;background:transparent;color:var(--muted);
    font-weight:800;padding:8px 10px;cursor:pointer;white-space:nowrap
  }
  .mobile-menu-sheet{padding-bottom:calc(14px + env(safe-area-inset-bottom))!important}
  .mobile-menu-list-clean{display:grid;gap:5px}
  .mobile-menu-list-clean button{min-height:48px!important;border-radius:12px!important}
}


.profile-install-bottom{
  margin-top:18px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.profile-install-bottom>h3{margin:6px 0 4px}
.profile-install-bottom>p{margin:0 0 12px;color:var(--muted)}
.profile-install-bottom .install-card{margin-top:0}


/* v1.14.3 – structured 2026 training catalogue */
.training-tools{display:grid;gap:12px;margin-bottom:16px}
.training-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 12px;max-width:560px}
.training-search span{color:var(--muted);font-size:18px}
.training-search input{border:0!important;box-shadow:none!important;background:transparent!important;padding:12px 0!important;width:100%}
.training-category-tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.training-category-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;white-space:nowrap;font-weight:800;color:#575b62;cursor:pointer}
.training-category-tabs button span{font-size:10px;color:var(--muted);margin-left:3px}
.training-category-tabs button.active{background:#2e3138;color:#fff;border-color:#2e3138}
.training-category-tabs button.active span{color:#ddd}
.training-wrap-catalog{grid-template-columns:minmax(250px,330px) minmax(0,1fr);align-items:start}
.training-catalog-list{position:sticky;top:86px;padding:0!important;overflow:hidden;max-height:calc(100vh - 110px)}
.training-list-head{padding:16px 16px 10px;border-bottom:1px solid var(--line)}
.training-list-head h3{margin:4px 0}
.training-course-list{overflow:auto;max-height:calc(100vh - 190px);padding:8px}
.training-course-item{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:12px;cursor:pointer;margin:2px 0;color:var(--text)}
.training-course-item:hover{background:#f5f3f0}
.training-course-item.active{background:#fff0ed;box-shadow:inset 0 0 0 1px #efd0cb}
.training-course-title{display:block;font-weight:900;line-height:1.25}
.training-course-item small{display:block;color:var(--muted);margin-top:4px;line-height:1.3}
.training-detail-catalog{min-width:0}
.training-category-badge,.training-source-badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;margin-right:5px}
.training-category-badge{background:#292c33;color:#fff}
.training-source-badge{background:#fff1ef;color:#a9453f}
.training-detail-top h2{font-size:32px;margin:10px 0 8px;line-height:1.12}
.training-lead{font-size:16px!important;line-height:1.55;color:#555b62}
.training-meta-rich{display:grid!important;grid-template-columns:180px minmax(0,1fr)!important;gap:9px!important;margin:18px 0!important}
.training-meta-rich>div{border:1px solid var(--line);background:#faf9f7;border-radius:13px;padding:11px 12px}
.training-meta-rich small{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.training-meta-rich strong{display:block;margin-top:4px;line-height:1.35}
.training-info-section{border-top:1px solid var(--line);padding-top:17px;margin-top:17px}
.training-info-section>h3{margin:0 0 7px}
.training-info-section>p{line-height:1.65;color:#484c53}
.training-important-note{margin:17px 0;padding:13px 15px;border-radius:14px;background:#fff6ea;border:1px solid #ead7b7}
.training-important-note strong{display:block;margin-bottom:4px}
.training-important-note p{margin:0;line-height:1.5}
.training-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.training-section-head h3{margin:0}.training-section-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.training-session-rich{align-items:flex-start!important;gap:12px}
.training-session-date{min-width:0}
.training-session-date strong,.training-session-date span,.training-session-date small{display:block}
.training-session-date span{margin-top:3px;color:var(--muted)}
.training-session-date small{margin-top:4px;color:#6d7077;font-size:11px}
.training-session-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.training-deadline{font-size:11px;font-weight:850;color:#52704e;white-space:nowrap}
.training-deadline.passed{color:#8b7774}
.training-past{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
.training-past summary{cursor:pointer;color:var(--muted);font-weight:850;font-size:12px;margin-bottom:8px}
@media(max-width:900px){
  .training-wrap-catalog{grid-template-columns:1fr}
  .training-catalog-list{position:static;max-height:none}
  .training-course-list{display:flex;overflow-x:auto;max-height:none;padding:8px}
  .training-course-item{min-width:220px;max-width:260px}
}
@media(max-width:600px){
  .training-detail-top h2{font-size:26px}
  .training-meta-rich{grid-template-columns:1fr!important}
  .training-session-rich{flex-direction:column!important}
  .training-session-side{align-items:flex-start!important;width:100%}
  .training-deadline{white-space:normal}
  .training-section-head{flex-direction:column}
}


.training-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.training-edit-btn{flex:0 0 auto}
.training-edit-modal{width:min(820px,calc(100vw - 24px));max-height:90vh;overflow:auto}
.training-edit-intro{margin-top:-4px;color:var(--muted)}
@media(max-width:700px){
  .training-detail-top{flex-direction:column}
  .training-edit-btn{width:100%}
  .training-edit-modal{max-height:92dvh}
}


.profile-install-action{margin-top:8px}
.profile-install-note{font-size:12px!important;color:var(--muted)!important;margin:8px 0 0!important}


.calendar-page-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:12px}
@media(max-width:600px){
  .calendar-page-toolbar{justify-content:space-between}
  .calendar-create-btn{flex:1}
}


/* v1.16.23 — teman */
.theme-options{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:14px;width:100%;max-width:620px}
.theme-option{width:100%;display:grid;grid-template-columns:56px minmax(0,1fr) 24px;align-items:center;gap:14px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:16px;padding:12px 14px;text-align:left;cursor:pointer;transition:.16s border-color,.16s box-shadow,.16s background;box-sizing:border-box}
.theme-option:hover{border-color:color-mix(in srgb,var(--red) 40%,var(--line));background:color-mix(in srgb,var(--card) 94%,var(--red) 6%)}
.theme-option.active{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 13%,transparent);background:color-mix(in srgb,var(--card) 92%,var(--red) 8%)}
.theme-option-text{min-width:0;display:grid;gap:2px}.theme-option strong,.theme-option small{display:block}.theme-option strong{margin:0;font-size:14px;line-height:1.2}.theme-option small{margin:0;color:var(--muted);font-size:12px;line-height:1.35}
.theme-swatch{width:56px;height:44px;border-radius:14px;border:1px solid #00000012;box-shadow:inset 0 1px #ffffff55;position:relative;overflow:hidden;flex:none}
.theme-swatch:before{content:'';position:absolute;left:0;top:0;bottom:0;width:14px;background:var(--swatch-side)}
.theme-swatch:after{content:'';position:absolute;left:21px;right:7px;top:9px;height:8px;border-radius:4px;background:var(--swatch-accent);box-shadow:0 14px 0 var(--swatch-card)}
.theme-swatch-default{background:#f7f7f5;--swatch-side:#151922;--swatch-accent:#d6574f;--swatch-card:#fff}
.theme-swatch-dark{background:#111318;--swatch-side:#080a0e;--swatch-accent:#e06b64;--swatch-card:#1a1d24}
.theme-swatch-pink{background:#f8a9c9;--swatch-side:#7b1646;--swatch-accent:#e02173;--swatch-card:#ffd0e2}
.theme-swatch-blue{background:#dcecff;--swatch-side:#173e68;--swatch-accent:#2f78c4;--swatch-card:#edf6ff}
.theme-swatch-green{background:#dceedd;--swatch-side:#234f35;--swatch-accent:#4d8c62;--swatch-card:#eef8ef}
.theme-option-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff}
.theme-option.active .theme-option-check{background:var(--red);border-color:var(--red)}
.theme-option.active .theme-option-check:after{content:'✓'}
body[data-theme="dark"]{--bg:#111318;--card:#1a1d24;--line:#303641;--text:#f3f4f6;--muted:#aeb4bf;--red:#e06b64;--dark:#080a0e;background:var(--bg);color:var(--text)}
body[data-theme="dark"] .top,body[data-theme="dark"] .panel,body[data-theme="dark"] .formcard,body[data-theme="dark"] .faq,body[data-theme="dark"] .search,body[data-theme="dark"] .news-item,body[data-theme="dark"] .contact-card,body[data-theme="dark"] .mobile-doc-search,body[data-theme="dark"] .search-result,body[data-theme="dark"] .mobile-menu-sheet,body[data-theme="dark"] .mobile-menu-list button,body[data-theme="dark"] .install-platform-tab,body[data-theme="dark"] .install-platform-card,body[data-theme="dark"] .mobile-ombud-choice,body[data-theme="dark"] .document-section-tabs button,body[data-theme="dark"] .simple-select-label select,body[data-theme="dark"] .compact-role,body[data-theme="dark"] .ombud-section-tabs button,body[data-theme="dark"] .toggle-row,body[data-theme="dark"] .ombud-action-btn,body[data-theme="dark"] .help-card,body[data-theme="dark"] .news-detail-card,body[data-theme="dark"] .outreach-summary>div,body[data-theme="dark"] .outreach-location-card,body[data-theme="dark"] .outreach-latest-card,body[data-theme="dark"] .outreach-report-row,body[data-theme="dark"] .outreach-report-card,body[data-theme="dark"] .training-search,body[data-theme="dark"] .training-category-tabs button,body[data-theme="dark"] .diag-card,body[data-theme="dark"] .theme-option{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
body[data-theme="dark"] input,body[data-theme="dark"] textarea,body[data-theme="dark"] select{background:#14171d!important;color:var(--text)!important;border-color:var(--line)!important}
body[data-theme="dark"] input::placeholder,body[data-theme="dark"] textarea::placeholder{color:#7f8794}
body[data-theme="dark"] .tabs button,body[data-theme="dark"] .small,body[data-theme="dark"] .secondary,body[data-theme="dark"] .mobile-filter-row button,body[data-theme="dark"] .mobile-menu-close{background:#20242c;color:var(--text);border-color:var(--line)}
body[data-theme="dark"] .tabs button.active,body[data-theme="dark"] .document-section-tabs button.active,body[data-theme="dark"] .ombud-section-tabs button.active,body[data-theme="dark"] .training-category-tabs button.active{background:#343a46!important;color:#fff!important}
body[data-theme="dark"] .row{border-color:var(--line)}body[data-theme="dark"] .pill{background:#292e37;color:#dfe2e7}
body[data-theme="dark"] .mobile-situation{background:#191d24;border-color:var(--line);color:var(--text)}body[data-theme="dark"] .mobile-situation .mi{background:#2a2224;border-color:#443235}
body[data-theme="dark"] .contact-role,body[data-theme="dark"] .training-source-badge,body[data-theme="dark"] .role-icon{background:#2a2224;color:#f19a94;border-color:#463336}
body[data-theme="dark"] .help-card-body code{background:#252a32;color:#f0f1f3}
body[data-theme="dark"] .help-security,body[data-theme="dark"] .help-warning-note,body[data-theme="dark"] .backup-warning,body[data-theme="dark"] .training-important-note,body[data-theme="dark"] .install-note,body[data-theme="dark"] .outreach-admin-strip{background:#26231d;color:#ddd2ba;border-color:#49402e}
body[data-theme="dark"] .security{background:#17251c;color:#d9eadc}body[data-theme="dark"] .banner{background:#2c2419;color:#ead8b6;border-color:#59452b}
body[data-theme="dark"] .auth{background:#0d0f14}body[data-theme="dark"] .auth-shell,body[data-theme="dark"] .auth-panel{background:#171a20;border-color:#2b3039;color:var(--text)}body[data-theme="dark"] .auth-help{background:#20242b;border-color:#303641;color:#c5cad2}
@media(max-width:700px){.theme-options{max-width:none}.theme-option{grid-template-columns:44px minmax(0,1fr) 22px;padding:10px 11px;gap:11px}.theme-swatch{width:44px;height:38px;border-radius:12px}.theme-swatch:before{width:12px}.theme-swatch:after{left:16px;right:6px;top:8px}}


.training-closed-note{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--muted);font-size:13px}

/* v1.16.27 – profile form proportions */
.profile-page>.formcard:first-of-type{min-width:0}
.profile-page .profile-basic-fields{
  width:min(100%,720px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
}
.profile-page .profile-basic-fields>label,
.profile-page .profile-basic-fields>label.full{
  width:100%;
  max-width:none;
  min-width:0;
}
.profile-page .profile-basic-fields input:not([type='checkbox']):not([type='file']){
  width:100%;
  height:42px;
  min-height:42px;
  padding:9px 12px;
  border-radius:10px;
}
.profile-page .profile-basic-fields .workplace-profile-box,
.profile-page .profile-basic-fields>label.full{
  grid-column:1 / -1;
}
@media(max-width:1050px){
  .profile-page{grid-template-columns:260px minmax(0,1fr)}
  .profile-page .profile-basic-fields{grid-template-columns:1fr}
  .profile-page .profile-basic-fields>label,
  .profile-page .profile-basic-fields .workplace-profile-box{grid-column:1}
}
@media(max-width:760px){
  .profile-page{grid-template-columns:1fr}
  .profile-page .profile-basic-fields{width:100%;gap:13px}
}

/* v1.16.28 */
.outreach-participant-multiselect{margin-top:8px}
.outreach-contact-person{display:flex;align-items:center;gap:10px;min-width:0}
.outreach-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#eee;border:1px solid var(--line);flex:0 0 auto}
.outreach-avatar-fallback{display:grid;place-items:center;font-weight:900;color:#777}
.calendar-sync-note{margin:0 0 16px;background:#eef5ff;border:1px solid #cfdcf0;border-radius:14px;padding:13px 15px;font-size:13px;line-height:1.5}
.calendar-sync-note code{font-family:inherit;background:#fff;padding:3px 7px;border-radius:7px;border:1px solid #dbe3ef}
.private-calendar-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.private-event-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f2efff;color:#62539a;font-size:11px;font-weight:900}
.private-event-actions{display:flex;gap:6px;margin-top:8px}
.workplace-editor-modal .fields{grid-template-columns:1fr 1fr}.workplace-editor-modal .full{grid-column:1/-1}
.audit-friendly-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1.2fr) auto;gap:14px;padding:14px 16px;border-top:1px solid #f0ebe7;align-items:center}
.audit-friendly-row:first-child{border-top:0}.audit-friendly-row strong{display:block}.audit-friendly-row small{display:block;color:var(--muted);margin-top:3px}.audit-action-pill{display:inline-flex;width:max-content;border-radius:999px;padding:5px 8px;background:#f5f3ef;font-size:11px;font-weight:900;margin-bottom:4px}
.push-history-toggle{margin-top:12px}.push-destination-help{margin:6px 0 0;color:var(--muted);font-size:12px}
.training-admin-grid{display:grid;gap:12px}.training-admin-item{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-top:1px solid #f0ebe7}.training-admin-item:first-child{border-top:0}.training-admin-item small{display:block;color:var(--muted);margin-top:4px}.training-admin-section{margin-top:18px}.training-admin-session{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-top:1px dashed #e7e1dc}.training-admin-session:first-child{border-top:0}
/* v1.16.30 — compact administration/forms */
.training-admin-shell{display:grid;gap:16px}
.training-admin-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.training-admin-summary .pill{background:#f7f4f1}
.training-admin-list{overflow:hidden}
.training-admin-item{padding:12px 14px;gap:10px}
.training-admin-item>.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.training-admin-session{padding:7px 0;font-size:13px}
.training-admin-section{margin-top:0}
.training-admin-section .row{padding:11px 14px}
.outreach-field-form{max-width:900px;margin-left:auto;margin-right:auto}
.outreach-field-form .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.outreach-field-form .fields>label:not(.full),.outreach-field-form .fields>div:not(.full){min-width:0}
.outreach-field-form input,.outreach-field-form select{min-height:42px;height:42px;padding:9px 11px}
.outreach-field-form input[type=number]{max-width:100%}
.outreach-field-form textarea{min-height:0;resize:vertical;padding:10px 11px}
.outreach-field-form #oeTopics{height:100px}
.outreach-field-form #oeNotes{height:120px}
.outreach-field-form #oeFollow{height:92px}
.workplace-editor-modal{max-width:720px}
.workplace-editor-modal .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.workplace-editor-modal .manager-editor-section{grid-column:1/-1;border-top:1px solid #ece6e1;margin-top:4px;padding-top:14px}.workplace-editor-modal .manager-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.workplace-editor-modal .manager-editor-list{display:grid;gap:10px;margin-top:10px}.workplace-editor-modal .manager-editor-row{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface-soft)}.workplace-editor-modal .manager-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.workplace-editor-modal .manager-row-actions{display:flex;justify-content:flex-end;margin-top:9px}.workplace-editor-modal .manager-editor-row.is-removed{opacity:.55}.workplace-editor-modal .manager-editor-row.is-removed .manager-editor-grid{display:none}
.workplace-editor-modal input,.workplace-editor-modal select{min-height:42px;height:42px;padding:9px 11px}
.workplace-editor-modal textarea{min-height:82px;resize:vertical}
@media(max-width:700px){.workplace-editor-modal .fields,.workplace-editor-modal .manager-editor-grid,.outreach-field-form .fields{grid-template-columns:1fr}.audit-friendly-row,.training-admin-item{grid-template-columns:1fr}.training-admin-item>.actions{justify-content:flex-start}}

.faq-admin-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff7f6;border:1px solid #edc8c5;border-left:4px solid var(--red);border-radius:16px;padding:14px 16px;margin:0 0 16px}.faq-admin-cta div{display:grid;gap:3px}.faq-admin-cta span{font-size:12px;color:var(--muted)}.help-section-image{display:block;width:min(100%,760px);max-height:420px;object-fit:contain;border-radius:14px;margin:0 0 18px;border:1px solid var(--line);background:#fafafa}.help-custom-text{white-space:normal;line-height:1.65}.help-admin-list{padding:8px 16px}.help-admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 2px;border-bottom:1px solid var(--line)}.help-admin-row:last-child{border-bottom:0}.help-admin-row>div{display:grid;gap:3px}.help-admin-row small{color:var(--muted)}.help-admin-preview{display:block;width:min(100%,420px);max-height:240px;object-fit:contain;border-radius:12px;margin-top:12px;border:1px solid var(--line)}.help-remove-image{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;margin-top:10px;font-weight:700!important}.help-remove-image input{width:auto!important}@media(max-width:700px){.faq-admin-cta{align-items:stretch;flex-direction:column}.faq-admin-cta .primary{width:100%}.help-admin-row{align-items:flex-start}.help-admin-row .small{flex:none}}
/* Meddelanden */
.nav-message-label{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.nav button.has-unread{color:#fff;font-weight:900;background:#ffffff0b}
.nav-message-text{display:flex;align-items:center;min-width:0}
.nav-unread-badge{display:inline-flex;flex:none;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#c8102e;color:#fff;font-size:11px;font-weight:950;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 2px #ffffff20}
.mobile-menu-unread{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#bd0018;color:#fff;font-size:11px;font-style:normal;font-weight:900;display:inline-flex;align-items:center;justify-content:center}
.mobile-menu-list-clean button.has-unread>b{font-weight:950;color:#a60018}
.mobile-menu-list-clean button.has-unread>span{background:#fff0f2;color:#bd0018}
.messages-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.messages-page-head h2{margin:2px 0 4px;font-size:26px}.messages-page-head p{margin:0;color:var(--muted)}
.messages-page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.messages-settings-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:10px 13px;background:var(--surface,#fff);margin-bottom:14px}
.messages-push-pref{display:flex;align-items:flex-start;gap:10px;margin:0;min-width:0}.messages-push-pref input{width:auto;margin-top:3px}.messages-push-pref strong,.messages-push-pref small{display:block}.messages-push-pref small{color:var(--muted);margin-top:2px;line-height:1.35}
.messages-notice{padding:10px 13px;border:1px solid #e8d8a8;background:#fffaf0;border-radius:12px;margin-bottom:14px;font-size:12px;line-height:1.4;color:#5b4b25}
.messages-encryption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid color-mix(in srgb,#2f7d4a 32%,var(--line));background:color-mix(in srgb,#2f7d4a 7%,var(--surface,#fff));border-radius:12px;margin-bottom:14px;font-size:12px;line-height:1.4}.messages-encryption-copy{display:flex;align-items:flex-start;gap:9px;min-width:0}.messages-encryption-icon{font-size:17px;line-height:1;margin-top:1px}.messages-encryption-copy strong{display:block;color:var(--text);margin-bottom:2px}.messages-encryption-copy span{color:var(--muted)}.messages-encryption button{flex:0 0 auto;border:1px solid var(--line);background:var(--surface,#fff);color:var(--text);border-radius:9px;padding:7px 10px;font:inherit;font-weight:800;cursor:pointer}
.messages-shell{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:0;min-height:640px;height:min(72vh,760px);border:1px solid var(--line);border-radius:18px;background:var(--surface,#fff);overflow:hidden;box-shadow:0 8px 30px rgba(25,20,20,.05)}
.messages-sidebar{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line);background:var(--surface,#fff)}
.messages-sidebar-head{padding:14px;border-bottom:1px solid var(--line);display:grid;gap:10px}.messages-sidebar-head strong{font-size:15px}.messages-search{position:relative}.messages-search input{width:100%;height:40px;padding:8px 34px 8px 11px;border-radius:11px}.messages-search span{position:absolute;right:11px;top:9px;color:var(--muted)}
.messages-list{overflow:auto;flex:1}.message-thread{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:13px 12px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;min-height:70px}.message-thread:hover{background:rgba(180,0,0,.035)}.message-thread.active{background:rgba(180,0,0,.075);box-shadow:inset 3px 0 0 #bd0018}.message-thread.unread .message-thread-copy strong{font-weight:950}.message-thread.unread .message-thread-copy small{color:var(--text);font-weight:650}
.message-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ece9e5;font-weight:850;overflow:hidden;flex:0 0 auto}.message-avatar img{width:100%;height:100%;object-fit:cover}.message-avatar.small{width:34px;height:34px;font-size:12px}
.message-thread-copy{min-width:0}.message-thread-copy strong,.message-thread-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-thread-copy strong{font-size:14px}.message-thread-copy small{color:var(--muted);margin-top:4px;font-size:12px}.message-thread-meta{display:grid;justify-items:end;gap:7px;align-self:stretch;padding-top:2px}.message-thread-time{font-size:10px;color:var(--muted)}.message-unread-count{display:inline-flex;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#bd0018;color:#fff;align-items:center;justify-content:center;font-size:10px;font-weight:900}
.messages-empty{padding:30px 18px;color:var(--muted);text-align:center}.messages-empty strong{display:block;color:var(--text);font-size:16px;margin-bottom:5px}
.messages-chat{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface,#fff)}
.messages-chat-head{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:68px;background:var(--surface,#fff);z-index:2}.messages-chat-head-main{display:flex;align-items:center;gap:10px;min-width:0}.messages-chat-head-main>div{min-width:0}.messages-chat-head-main h3{margin:0;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-chat-head-main small{display:block;color:var(--muted);margin-top:2px}.messages-back{display:none;border:0;background:transparent;font-size:22px;padding:6px 8px;cursor:pointer;color:var(--text)}
.message-group-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.message-group-actions button{white-space:nowrap}
.messages-stream{flex:1;min-height:0;overflow:auto;padding:18px clamp(12px,2vw,24px);display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,rgba(120,110,100,.02),rgba(120,110,100,.045))}
.message-day-spacer{height:2px}.message-bubble-row{display:flex}.message-bubble-row.mine{justify-content:flex-end}.message-bubble{max-width:min(72%,650px);border:1px solid var(--line);background:#fff;border-radius:16px 16px 16px 5px;padding:9px 11px;box-shadow:0 1px 2px rgba(0,0,0,.035)}.message-bubble-row.mine .message-bubble{background:#f7e9eb;border-color:#e9c9ce;border-radius:16px 16px 5px 16px}.message-bubble-name{font-size:11px;font-weight:900;margin-bottom:4px;color:#9d0014}.message-bubble-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;font-size:14px}.message-bubble-time{font-size:10px;color:var(--muted);text-align:right;margin-top:5px}.message-bubble-actions{display:flex;gap:5px;align-items:center;margin-top:7px;flex-wrap:wrap}.message-reaction{border:1px solid var(--line);background:rgba(255,255,255,.65);border-radius:999px;padding:5px 9px;min-height:30px;font-size:12px;cursor:pointer}.message-reaction.active{background:#f4dfe2;border-color:#d7a9b0}.message-delete,.message-edit{border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;padding:3px 5px}.message-delete:hover{color:#a80016}.message-edit:hover{color:var(--text)}.message-edited{font-size:10px;color:var(--muted);margin-left:4px}
.messages-compose{border-top:1px solid var(--line);padding:10px 12px;background:var(--surface,#fff);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}.message-compose-main{min-width:0}.message-compose-box{display:flex;align-items:flex-end;gap:7px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);padding:6px 8px}.message-compose-box textarea{border:0!important;box-shadow:none!important;outline:0!important;background:transparent!important;resize:none;min-height:38px;max-height:120px;padding:9px 3px;width:100%}.message-tools-toggle{border:0;background:transparent;font-size:20px;padding:7px;cursor:pointer;color:var(--muted)}.message-compose-tools{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:6px}.message-compose-tools.collapsed{display:none}.message-emoji-btn{border:1px solid var(--line);background:var(--surface,#fff);border-radius:9px;padding:5px 7px;font-size:16px;cursor:pointer;line-height:1}.messages-compose>.primary{height:50px;min-width:82px;border-radius:13px}
.message-poll{border:1px solid var(--line);border-radius:13px;padding:11px;margin-top:3px;background:rgba(0,0,0,.018)}.message-poll-question{font-weight:850;margin-bottom:8px}.message-poll-option{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid var(--line);background:var(--surface,#fff);border-radius:10px;padding:8px 10px;margin-top:6px;text-align:left;cursor:pointer}.message-poll-option.voted{border-color:#b77980;background:#fff4f5}.message-poll-option small{color:var(--muted)}.message-poll-meta{font-size:11px;color:var(--muted);margin-top:8px}.message-poll-option-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:7px}.message-poll-option-row button{min-width:38px}
.message-modal-list{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:13px;margin-top:10px}.message-person-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.message-person-row:last-child{border-bottom:0}.message-person-row label{display:flex;gap:10px;align-items:center;width:100%;cursor:pointer}.message-person-row input{width:auto}.message-owner-tag{font-size:11px;font-weight:800;color:var(--muted)}
@media(max-width:760px){
  .messages-page-head{align-items:center;margin-bottom:10px}.messages-page-head h2{font-size:22px}.messages-page-head p{display:none}.messages-page-actions{gap:6px}.messages-page-actions .secondary{display:none}
  .messages-settings-row{padding:9px 11px}.messages-push-pref small{font-size:11px}.messages-notice{font-size:11px;margin-bottom:10px}
  .messages-shell{display:block;height:calc(100dvh - 250px);min-height:520px;border-radius:14px}.messages-sidebar{height:100%;border-right:0}.messages-sidebar-head{padding:11px;position:sticky;top:0;background:var(--surface,#fff);z-index:2}.message-thread{padding:12px 11px;min-height:72px}.message-avatar{width:46px;height:46px}.message-thread-copy strong{font-size:15px}.message-thread-copy small{font-size:12px}
  .messages-chat{height:100%;min-height:0}.messages-chat-head{position:sticky;top:0;padding:8px 8px 8px 4px;min-height:58px}.messages-back{display:inline-flex}.messages-chat-head-main{gap:6px;flex:1}.messages-chat-head .message-avatar{width:38px;height:38px}.messages-chat-head-main h3{font-size:16px}.messages-chat-head-main small{font-size:10px}.message-group-actions{gap:3px}.message-group-actions button{font-size:0;padding:7px 9px}.message-group-actions button:before{font-size:15px}.message-group-actions .message-info-btn:before{content:'ⓘ'}.message-group-actions button[data-message-action='delete-direct']:before,.message-group-actions button[data-message-action='delete-group']:before{content:'🗑';font-size:14px}.message-group-actions button[data-message-action='leave-group']:before{content:'↩';font-size:18px}
  .messages-sidebar.messages-mobile-hidden{display:none}.messages-chat.messages-mobile-hidden{display:none}.messages-stream{padding:12px 9px}.message-bubble{max-width:88%;font-size:14px}.message-bubble-actions{opacity:.9}.messages-compose{position:sticky;bottom:0;padding:8px;grid-template-columns:minmax(0,1fr) auto}.messages-compose>.primary{min-width:56px;width:56px;height:50px;font-size:0}.messages-compose>.primary:after{content:'➤';font-size:20px}.message-compose-tools{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.message-compose-tools .small{white-space:nowrap}.messages-empty{padding:24px 14px}
}

.messages-settings-mobile-btn{display:none}
.messages-mobile-settings-summary{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.messages-mobile-settings-summary b{color:var(--text)}
.messages-page.conversation-open .messages-shell{box-shadow:0 8px 30px rgba(25,20,20,.05)}
@media(max-width:760px){
  .messages-page{margin:-2px -2px 0}
  .messages-page-head{position:relative;padding:0 2px}
  .messages-page-actions{display:flex;flex-wrap:nowrap;align-items:center}
  .messages-page-actions .primary{padding:10px 13px;white-space:nowrap;font-size:0}.messages-page-actions .primary:after{content:'+ Nytt';font-size:14px;font-weight:850}
  .messages-page-actions .secondary{display:inline-flex!important;padding:9px 10px;min-width:42px;justify-content:center;font-size:0}
  .messages-page-actions .secondary:after{content:'👥';font-size:15px}
  .messages-settings-mobile-btn{display:inline-flex!important;border:1px solid var(--line);background:var(--surface,#fff);border-radius:11px;width:42px;height:42px;padding:0;align-items:center;justify-content:center;font-size:17px;cursor:pointer}
  .messages-settings-row{display:none}
  .messages-notice{padding:8px 10px;border-radius:10px;margin-bottom:9px;line-height:1.35}
  .messages-notice b{display:none}
  .messages-encryption{padding:8px 10px;border-radius:10px;margin-bottom:9px;gap:8px}.messages-encryption-copy{gap:7px}.messages-encryption-copy span{font-size:11px}.messages-encryption button{padding:6px 8px;font-size:11px}
  .messages-shell{height:calc(100dvh - 235px);min-height:440px;border-radius:14px;box-shadow:none}
  .messages-page.conversation-open .messages-page-head,.messages-page.conversation-open>.messages-notice,.messages-page.conversation-open>.messages-encryption,.messages-page.conversation-open>.messages-settings-row{display:none}
  .messages-page.conversation-open .messages-shell{height:calc(100dvh - 136px);min-height:500px;border-radius:14px;margin-top:0}
  .messages-page.conversation-open .messages-chat{height:100%}
  .messages-sidebar-head{padding:10px 11px}
  .messages-sidebar-head strong{font-size:14px}
  .messages-search input{height:42px;font-size:16px}
  .message-thread{min-height:74px;padding:12px}
  .message-thread.active{box-shadow:none}
  .message-thread-copy strong{font-size:15px}
  .message-thread-copy small{font-size:12px;line-height:1.3}
  .messages-chat-head{min-height:58px;padding:7px 8px 7px 3px}
  .messages-back{font-size:28px;line-height:1;width:38px;height:42px;align-items:center;justify-content:center}
  .message-group-actions .message-delete-chat-btn{width:42px;height:40px;border-radius:12px}
  .messages-stream{padding:12px 9px 16px;gap:9px}
  .message-bubble{max-width:88%;padding:9px 10px;border-radius:16px 16px 16px 6px}
  .message-bubble-row.mine .message-bubble{border-radius:16px 16px 6px 16px}
  .message-bubble-body{font-size:14.5px;line-height:1.42}
  .message-bubble-actions{gap:3px;margin-top:6px}
  .message-reaction{min-width:40px;min-height:40px;padding:6px 10px}
  .small{min-height:40px;padding:9px 11px}
  .messages-compose{padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:7px;background:var(--surface,#fff)}
  .message-compose-box{min-height:50px;border-radius:16px;padding:5px 7px}
  .message-compose-box textarea{font-size:16px;min-height:40px;padding:9px 3px}
  .messages-compose>.primary{width:54px;min-width:54px;height:50px;border-radius:15px}
  .message-compose-tools{margin:0 0 5px;padding:5px 2px;gap:4px;scrollbar-width:none}
  .message-compose-tools::-webkit-scrollbar{display:none}
}
[data-theme='dark'] .messages-shell,[data-theme='dark'] .messages-sidebar,[data-theme='dark'] .messages-chat,[data-theme='dark'] .message-compose-box,[data-theme='dark'] .message-bubble{background:var(--surface,#1c1c1c)}
[data-theme='dark'] .message-bubble-row.mine .message-bubble{background:#362326;border-color:#5d3439}[data-theme='dark'] .messages-notice{background:#302b1f;border-color:#51482d;color:#e5d9b9}[data-theme='dark'] .message-emoji-btn,[data-theme='dark'] .message-poll-option{background:var(--surface,#1c1c1c)}[data-theme='dark'] .message-poll-option.voted{background:#35272a}[data-theme='dark'] .message-reaction{background:#242424}


/* v1.16.65 – header daily info, theme contrast and calendar role colors */
.header-daily-info{display:flex;align-items:center;gap:18px;margin-left:auto;margin-right:18px;padding:8px 13px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--card) 92%,var(--bg) 8%);color:var(--text);min-width:0;box-shadow:0 4px 14px #00000008}
.header-dayline{display:grid;gap:2px;min-width:0}.header-date{font-size:12px;font-weight:900;white-space:nowrap}.header-nameday{font-size:10.5px;color:var(--muted);white-space:nowrap}.header-nameday>span{font-weight:850}.header-weather{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;color:var(--muted);padding-left:14px;border-left:1px solid var(--line)}.header-weather-icon{font-size:20px;line-height:1}.header-weather strong{color:var(--text);font-size:15px}.header-weather small{font-size:9px;font-weight:950;letter-spacing:.08em;color:var(--muted)}.header-weather-wind{font-size:10px}
.calendar-role-colors-panel{margin:0 0 18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text)}.calendar-role-colors-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.calendar-role-colors-head h4{margin:4px 0 3px;font-size:18px}.calendar-role-colors-head p{margin:0;color:var(--muted);font-size:12px}.calendar-role-colors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.calendar-role-color-row{display:grid;grid-template-columns:18px minmax(0,1fr) 42px;gap:8px;align-items:center;min-height:42px;padding:7px 9px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,var(--bg) 6%);font-size:12px;font-weight:800}.calendar-role-color-dot{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2px var(--card),0 0 0 3px var(--line)}.calendar-role-color-input{width:38px!important;height:28px!important;min-height:28px!important;padding:2px!important;border-radius:8px!important;cursor:pointer}
/* Contrast hardening: keep structural text readable in every selectable theme. */
.portal-title{color:var(--text)!important}.portal-subtitle{color:var(--muted)!important}.portal-kicker{color:var(--red)!important}
body[data-theme="pink"]{--muted:#71364f}body[data-theme="blue"]{--muted:#3f5e7a}body[data-theme="green"]{--muted:#42634d}body[data-theme="dark"]{--muted:#b6bdc8}
body[data-theme="pink"] :is(.page-title p,.quick p,.row p,.doc-copy p,.event-copy p,.calendar-card p,.summary-card span,.admin-toolbar p,.admin-note,.field-hint,.locked-note,.profile-meta,.role-guide-row span,.training-card p,.contact-card p,.help-card p,.news-item p,.calendar-role-colors-head p),body[data-theme="blue"] :is(.page-title p,.quick p,.row p,.doc-copy p,.event-copy p,.calendar-card p,.summary-card span,.admin-toolbar p,.admin-note,.field-hint,.locked-note,.profile-meta,.role-guide-row span,.training-card p,.contact-card p,.help-card p,.news-item p,.calendar-role-colors-head p),body[data-theme="green"] :is(.page-title p,.quick p,.row p,.doc-copy p,.event-copy p,.calendar-card p,.summary-card span,.admin-toolbar p,.admin-note,.field-hint,.locked-note,.profile-meta,.role-guide-row span,.training-card p,.contact-card p,.help-card p,.news-item p,.calendar-role-colors-head p),body[data-theme="dark"] :is(.page-title p,.quick p,.row p,.doc-copy p,.event-copy p,.calendar-card p,.summary-card span,.admin-toolbar p,.admin-note,.field-hint,.locked-note,.profile-meta,.role-guide-row span,.training-card p,.contact-card p,.help-card p,.news-item p,.calendar-role-colors-head p){color:var(--muted)!important}
body[data-theme="pink"] :is(.calendar-role-colors-panel,.calendar-role-color-row,.header-daily-info,.classic-calendar-shell,.classic-day,.calendar-style-option,.calendar-style-preview,.admin-side,.admin-list .head),body[data-theme="blue"] :is(.calendar-role-colors-panel,.calendar-role-color-row,.header-daily-info,.classic-calendar-shell,.classic-day,.calendar-style-option,.calendar-style-preview,.admin-side,.admin-list .head),body[data-theme="green"] :is(.calendar-role-colors-panel,.calendar-role-color-row,.header-daily-info,.classic-calendar-shell,.classic-day,.calendar-style-option,.calendar-style-preview,.admin-side,.admin-list .head),body[data-theme="dark"] :is(.calendar-role-colors-panel,.calendar-role-color-row,.header-daily-info){background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
body[data-theme="pink"] :is(.chev,.detail-pill,.chip,.calendar-source,.mobile-situation,.outreach-contact,.training-meta span),body[data-theme="blue"] :is(.chev,.detail-pill,.chip,.calendar-source,.mobile-situation,.outreach-contact,.training-meta span),body[data-theme="green"] :is(.chev,.detail-pill,.chip,.calendar-source,.mobile-situation,.outreach-contact,.training-meta span){color:var(--text)!important;border-color:var(--line)!important}
/* v1.16.66 — message header contrast across themes */
.messages-chat-head{box-shadow:0 1px 0 color-mix(in srgb,var(--line) 85%,transparent)}
.messages-chat-head-main h3{color:var(--text)!important}
.messages-chat-head-main small{color:var(--muted)!important;font-weight:700}
.messages-chat-head .message-avatar{background:color-mix(in srgb,var(--text) 10%,var(--card));color:var(--text);border:1px solid var(--line)}
.messages-chat-head .message-group-actions button{background:color-mix(in srgb,var(--card) 88%,var(--bg) 12%);color:var(--text);border-color:var(--line)}
body[data-theme='dark'] .messages-chat-head{background:#20242c!important;border-color:#3a414c!important;color:#f5f7fa!important}
body[data-theme='dark'] .messages-chat-head-main h3{color:#f5f7fa!important}
body[data-theme='dark'] .messages-chat-head-main small{color:#c7cdd6!important}
body[data-theme='dark'] .messages-chat-head .message-avatar{background:#303640!important;color:#fff!important;border-color:#48515e!important}
body[data-theme='dark'] .messages-chat-head .message-group-actions button{background:#2a3039!important;color:#f5f7fa!important;border-color:#48515e!important}
body[data-theme='pink'] .messages-chat-head{background:#f8b9d1!important;border-color:#d9799f!important;color:#451126!important}
body[data-theme='pink'] .messages-chat-head-main h3{color:#451126!important}
body[data-theme='pink'] .messages-chat-head-main small{color:#6a2943!important}
body[data-theme='pink'] .messages-chat-head .message-avatar{background:#ffe5ef!important;color:#4b1630!important;border-color:#d9799f!important}
body[data-theme='pink'] .messages-chat-head .message-group-actions button{background:#ffe0eb!important;color:#4b1630!important;border-color:#d9799f!important}
body[data-theme='blue'] .messages-chat-head{background:#d9e8f7!important;border-color:#9ebbd4!important;color:#17344f!important}
body[data-theme='blue'] .messages-chat-head-main h3{color:#17344f!important}
body[data-theme='blue'] .messages-chat-head-main small{color:#355771!important}
body[data-theme='blue'] .messages-chat-head .message-avatar{background:#eef6fc!important;color:#17344f!important;border-color:#9ebbd4!important}
body[data-theme='blue'] .messages-chat-head .message-group-actions button{background:#edf5fb!important;color:#17344f!important;border-color:#9ebbd4!important}
body[data-theme='green'] .messages-chat-head{background:#dcebdc!important;border-color:#a4c1a8!important;color:#1f4328!important}
body[data-theme='green'] .messages-chat-head-main h3{color:#1f4328!important}
body[data-theme='green'] .messages-chat-head-main small{color:#365c40!important}
body[data-theme='green'] .messages-chat-head .message-avatar{background:#eff7ef!important;color:#1f4328!important;border-color:#a4c1a8!important}
body[data-theme='green'] .messages-chat-head .message-group-actions button{background:#eef6ee!important;color:#1f4328!important;border-color:#a4c1a8!important}
@media(max-width:1100px){.header-daily-info{gap:10px;margin-right:10px;padding:7px 9px}.header-weather-place,.header-weather-wind{display:none}}
@media(max-width:760px){.top{height:74px!important;padding:0 12px!important}.brand{gap:8px!important}.brand-logo-top{height:30px!important;max-width:116px!important}.brand-divider{height:28px!important}.portal-title{font-size:14px!important}.portal-subtitle{display:none!important}.header-daily-info{margin:0 6px 0 auto;padding:5px 7px;border-radius:11px;gap:7px;box-shadow:none}.header-dayline{gap:0}.header-date{font-size:9.5px;max-width:98px;overflow:hidden;text-overflow:ellipsis}.header-nameday{font-size:8.5px;max-width:104px;overflow:hidden;text-overflow:ellipsis}.header-nameday>span{display:none}.header-weather{padding-left:7px;gap:3px}.header-weather-icon{font-size:15px}.header-weather strong{font-size:12px}.header-weather small{display:none}.header-account-actions{gap:5px!important}.header-message-alert{width:36px;height:36px}.header-account-actions .profile{width:36px!important;height:36px!important}.calendar-role-colors-grid{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.header-date{display:none}.header-daily-info{padding:5px}.header-nameday{max-width:72px}.calendar-role-colors-grid{grid-template-columns:1fr}}


/* v1.16.94 GDPR transparency */
.privacy-login-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--muted)}
.privacy-login-note button{border:0;background:transparent;color:var(--accent);font:inherit;font-weight:800;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.privacy-page{display:grid;gap:16px;max-width:980px;margin:0 auto}.privacy-hero{padding:22px}.privacy-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.privacy-status{padding:14px}.privacy-status small{display:block;color:var(--muted);font-weight:800;margin-bottom:5px}.privacy-status strong{display:block;font-size:14px;line-height:1.35}.privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.privacy-card{padding:18px}.privacy-section{border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}.privacy-section summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900}.privacy-section summary::-webkit-details-marker{display:none}.privacy-section summary:after{content:'⌄';font-size:18px;color:var(--muted)}.privacy-section[open] summary:after{transform:rotate(180deg)}.privacy-section-body{padding:0 18px 18px;border-top:1px solid var(--line)}.privacy-card h3{margin:5px 0 9px}.privacy-card p,.privacy-card li{line-height:1.58}.privacy-card ul{margin:8px 0 0;padding-left:20px}.privacy-table{display:grid;gap:8px;margin-top:10px}.privacy-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,2fr);gap:12px;padding:10px 0;border-top:1px solid var(--line)}.privacy-row:first-child{border-top:0}.privacy-row strong{font-size:13px}.privacy-muted{color:var(--muted)}.privacy-pending{display:inline-flex;align-items:center;gap:6px;border:1px solid #d6a33c;background:rgba(214,163,60,.09);padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900}.privacy-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.privacy-service{padding:11px 0;border-top:1px solid var(--line)}.privacy-service:first-child{border-top:0}.privacy-service strong{display:block;margin-bottom:3px}.privacy-public-modal{max-width:760px}.privacy-public-modal h2{margin:5px 0 8px}.privacy-public-modal .privacy-card{background:var(--bg);border:1px solid var(--line);border-radius:14px;margin-top:12px}.privacy-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.privacy-admin-grid label.full{grid-column:1/-1}.privacy-admin-help{font-size:12px;color:var(--muted);margin-top:5px;display:block}.register-extract-box{margin-top:16px;padding:18px}.register-extract-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}.register-extract-controls label{margin:0}.register-extract-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.register-extract-summary div{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:10px}.register-extract-summary strong{display:block;font-size:18px}.register-extract-modal{max-width:1050px;max-height:92vh;overflow:auto}.register-extract-section{margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.register-extract-section>h3{margin:0;padding:12px 14px;background:var(--surface-soft);font-size:15px}.register-extract-table{width:100%;border-collapse:collapse}.register-extract-table th,.register-extract-table td{padding:9px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top;font-size:12px}.register-extract-table th{width:210px;color:var(--muted)}.register-extract-list{padding:0 14px 12px;display:grid;gap:8px}.register-extract-item{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);white-space:pre-wrap;word-break:break-word}.register-extract-warning{border-left:4px solid #d6a33c}.help-gdpr-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.help-contact-admin{margin-top:18px;padding:18px}.profile-privacy-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:760px){.privacy-grid,.privacy-status-grid,.privacy-admin-grid{grid-template-columns:1fr}.register-extract-controls{grid-template-columns:1fr}.register-extract-summary{grid-template-columns:1fr 1fr}.privacy-row{grid-template-columns:1fr;gap:4px}.privacy-admin-grid label.full{grid-column:auto}}


/* v1.16.96 – adminstatistik */
.analytics-wrap{display:grid;gap:16px}.analytics-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.analytics-periods{display:flex;gap:7px;flex-wrap:wrap}.analytics-periods button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:8px 11px;font-weight:850;cursor:pointer}.analytics-periods button.active{background:var(--dark);color:#fff;border-color:var(--dark)}.analytics-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.analytics-kpi{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:16px}.analytics-kpi small{display:block;color:var(--muted);font-weight:800;margin-bottom:7px}.analytics-kpi strong{display:block;font-size:28px;line-height:1}.analytics-kpi span{display:block;color:var(--muted);font-size:12px;margin-top:7px;line-height:1.35}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.analytics-panel{padding:18px}.analytics-panel h3{margin:0}.analytics-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.analytics-rank{display:grid;gap:9px}.analytics-rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.analytics-rank-label{min-width:0}.analytics-rank-label strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-rank-label small{color:var(--muted)}.analytics-bar{height:7px;background:var(--surface-soft);border-radius:999px;overflow:hidden;margin-top:5px}.analytics-bar i{display:block;height:100%;background:var(--red);border-radius:999px}.analytics-rank-count{font-weight:900}.analytics-trend{display:flex;align-items:end;gap:4px;height:150px;padding-top:12px}.analytics-trend-day{flex:1;min-width:3px;display:flex;align-items:end;height:100%;position:relative}.analytics-trend-day i{display:block;width:100%;min-height:2px;background:var(--red);border-radius:4px 4px 1px 1px;opacity:.82}.analytics-trend-day:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--dark);color:#fff;padding:5px 7px;border-radius:7px;font-size:10px;white-space:nowrap;z-index:5}.analytics-note{font-size:12px;color:var(--muted);line-height:1.55}.analytics-empty{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.analytics-loading{padding:26px;text-align:center;color:var(--muted)}
@media(max-width:1050px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}}@media(max-width:620px){.analytics-kpis{grid-template-columns:1fr 1fr}.analytics-toolbar{display:grid}.analytics-trend{height:120px}}

/* v1.18.23 — semantic theme system / full readability hardening */
:root,
body[data-theme="default"]{
  --background:#f7f7f5;--surface:#ffffff;--surface-secondary:#f1efec;--surface-raised:#ffffff;--surface-soft:#f5f3f0;
  --text-primary:#25262b;--text-secondary:#4f5259;--text-muted:#5f626a;--border:#d9d4cf;--border-strong:#b9b2ac;
  --accent:#b93d36;--accent-hover:#a5322d;--accent-foreground:#ffffff;--accent-soft:#f8e7e5;--accent-soft-text:#7f2924;
  --link:#8f302b;--focus:#8f302b;--control-bg:#ffffff;--control-hover:#f0eeeb;--selected-bg:#262a34;--selected-text:#ffffff;
  --danger:#9b302d;--danger-bg:#fbeae8;--danger-text:#7c2623;--success:#2f7046;--success-bg:#eaf6ed;--success-text:#245b38;
  --warning:#77551c;--warning-bg:#fff4dd;--warning-text:#654716;--info:#285f92;--info-bg:#eaf3fb;--info-text:#214f78;
  --overlay:rgba(12,16,24,.58);--shadow:0 8px 24px rgba(26,22,20,.08);--nav-bg:#11151d;--nav-text:#edf0f5;--nav-muted:#b8bec9;--nav-active:rgba(255,255,255,.09);
  --hero-start:#b93d36;--hero-end:#9f312c;--hero-text:#ffffff;
  --chat-own-bg:#f5dedf;--chat-own-border:#ddb9bd;--chat-peer-bg:#ffffff;--chat-peer-border:#d9d4cf;
}
body[data-theme="dark"]{
  --background:#101318;--surface:#1a1e25;--surface-secondary:#222730;--surface-raised:#20252d;--surface-soft:#181c22;
  --text-primary:#f0f2f5;--text-secondary:#cdd2da;--text-muted:#b9c0ca;--border:#39414c;--border-strong:#596473;
  --accent:#b94d48;--accent-hover:#a9403c;--accent-foreground:#ffffff;--accent-soft:#392426;--accent-soft-text:#f2c5c2;
  --link:#8fc0ff;--focus:#9bc7ff;--control-bg:#20252d;--control-hover:#29303a;--selected-bg:#39414c;--selected-text:#ffffff;
  --danger:#e07b76;--danger-bg:#382326;--danger-text:#f4c1bd;--success:#77bd8a;--success-bg:#1d3023;--success-text:#cce9d4;
  --warning:#d6b46d;--warning-bg:#30291b;--warning-text:#ead9b2;--info:#8fc0ff;--info-bg:#1d2b3a;--info-text:#cfe4ff;
  --overlay:rgba(0,0,0,.72);--shadow:0 10px 30px rgba(0,0,0,.28);--nav-bg:#171d2a;--nav-text:#eef1f6;--nav-muted:#c3c9d2;--nav-active:#283142;
  --hero-start:#b94d48;--hero-end:#9a3c38;--hero-text:#ffffff;
  --chat-own-bg:#392427;--chat-own-border:#654046;--chat-peer-bg:#20252d;--chat-peer-border:#39414c;
}
body[data-theme="pink"]{
  --background:#f7bfd4;--surface:#ffd4e4;--surface-secondary:#f8bdd3;--surface-raised:#ffe3ed;--surface-soft:#f9c8da;
  --text-primary:#431329;--text-secondary:#62243f;--text-muted:#71364f;--border:#d982a4;--border-strong:#b9577e;
  --accent:#a61e58;--accent-hover:#8f174c;--accent-foreground:#ffffff;--accent-soft:#f5a9c6;--accent-soft-text:#57152f;
  --link:#7f1845;--focus:#7f1845;--control-bg:#ffe5ef;--control-hover:#f7bfd4;--selected-bg:#7f1845;--selected-text:#ffffff;
  --danger:#8f2744;--danger-bg:#ffdce7;--danger-text:#711d36;--success:#356f4b;--success-bg:#e0f0e5;--success-text:#285a3b;
  --warning:#735018;--warning-bg:#fff0d4;--warning-text:#624212;--info:#245f96;--info-bg:#e5f0fb;--info-text:#1e4e7a;
  --overlay:rgba(67,19,41,.54);--shadow:0 9px 26px rgba(92,25,52,.14);--nav-bg:#7d1645;--nav-text:#fff7fb;--nav-muted:#f3c5d7;--nav-active:#a92761;
  --hero-start:#b92768;--hero-end:#9f1956;--hero-text:#ffffff;
  --chat-own-bg:#f6afc9;--chat-own-border:#d36d95;--chat-peer-bg:#ffe3ed;--chat-peer-border:#d982a4;
}
body[data-theme="blue"]{
  --background:#eaf2fb;--surface:#f7fbff;--surface-secondary:#e2edf8;--surface-raised:#ffffff;--surface-soft:#edf5fc;
  --text-primary:#17344f;--text-secondary:#31536f;--text-muted:#3f5e7a;--border:#b7cde1;--border-strong:#89abc8;
  --accent:#245f96;--accent-hover:#1d517f;--accent-foreground:#ffffff;--accent-soft:#d8e8f7;--accent-soft-text:#204c73;
  --link:#1f5688;--focus:#1f5688;--control-bg:#edf6ff;--control-hover:#dcebf8;--selected-bg:#245f96;--selected-text:#ffffff;
  --danger:#a13d49;--danger-bg:#f8e7ea;--danger-text:#7f3039;--success:#356f4b;--success-bg:#e4f2e8;--success-text:#285a3b;
  --warning:#755219;--warning-bg:#fff3dc;--warning-text:#654616;--info:#245f96;--info-bg:#e1eef9;--info-text:#1d4e79;
  --overlay:rgba(15,39,64,.52);--shadow:0 9px 26px rgba(29,71,112,.12);--nav-bg:#19486f;--nav-text:#f7fbff;--nav-muted:#c9e0f2;--nav-active:#2c6798;
  --hero-start:#245f96;--hero-end:#1d517f;--hero-text:#ffffff;
  --chat-own-bg:#d8e8f7;--chat-own-border:#9dbbd5;--chat-peer-bg:#ffffff;--chat-peer-border:#b7cde1;
}
body[data-theme="green"]{
  --background:#eaf4ec;--surface:#f8fcf8;--surface-secondary:#e1eee4;--surface-raised:#ffffff;--surface-soft:#edf6ef;
  --text-primary:#203f2c;--text-secondary:#365c43;--text-muted:#42634d;--border:#bfd5c4;--border-strong:#8fb59a;
  --accent:#356e49;--accent-hover:#2c603e;--accent-foreground:#ffffff;--accent-soft:#dcecdf;--accent-soft-text:#2d5e3e;
  --link:#2d6543;--focus:#2d6543;--control-bg:#eff8f0;--control-hover:#dfede2;--selected-bg:#356e49;--selected-text:#ffffff;
  --danger:#963b42;--danger-bg:#f8e8e9;--danger-text:#773137;--success:#356e49;--success-bg:#e0eee3;--success-text:#28593a;
  --warning:#755219;--warning-bg:#fff3dc;--warning-text:#654616;--info:#2e617e;--info-bg:#e2eef4;--info-text:#254f67;
  --overlay:rgba(20,53,33,.52);--shadow:0 9px 26px rgba(31,78,47,.11);--nav-bg:#214d34;--nav-text:#f7fcf8;--nav-muted:#c8e1cf;--nav-active:#356e49;
  --hero-start:#356e49;--hero-end:#2c603e;--hero-text:#ffffff;
  --chat-own-bg:#dcecdf;--chat-own-border:#9ebea6;--chat-peer-bg:#ffffff;--chat-peer-border:#bfd5c4;
}
body{
  --bg:var(--background);--card:var(--surface);--line:var(--border);--text:var(--text-primary);--muted:var(--text-muted);--red:var(--accent);--dark:var(--nav-bg);
  background:var(--background);color:var(--text-primary);color-scheme:light;
}
body[data-theme="dark"]{color-scheme:dark}

/* shared structural surfaces */
.top,.panel,.formcard,.faq,.search,.news-item,.contact-card,.modal-card,.calendar-card,.summary-card,.admin-list,.admin-side,.mobile-menu-sheet,.mobile-menu-list button,.help-card,.news-detail-card,.outreach-location-card,.outreach-latest-card,.outreach-report-card,.diag-card,.theme-option,.training-overview-card,.training-overview-tools,.training-side-card,.role-check,.avatar-upload,.workplace-profile-box,.calendar-role-colors-panel,.calendar-role-color-row,.classic-calendar-shell,.calendar-style-option,.calendar-style-preview{
  background:var(--surface)!important;color:var(--text-primary)!important;border-color:var(--border)!important;
}
main,.app{color:var(--text-primary)}
aside{background:var(--nav-bg)!important;color:var(--nav-text)!important}
.nav button{color:var(--nav-text)!important}.nav button.active,.nav button:hover{background:var(--nav-active)!important;color:var(--nav-text)!important}
.hero{background:linear-gradient(135deg,var(--hero-start),var(--hero-end))!important;color:var(--hero-text)!important}
.hero p{opacity:1;color:color-mix(in srgb,var(--hero-text) 88%,transparent)!important}
.eyebrow,.portal-kicker{color:var(--accent)!important}

/* controls and interaction states */
.primary,.login-button,.profile-tab.active,.mobile-search-box button,.install-platform-tab.active .tag{background:var(--accent)!important;color:var(--accent-foreground)!important;border-color:var(--accent)!important}
.primary:hover,.login-button:hover{background:var(--accent-hover)!important}
.secondary,.small,.tabs button,.document-section-tabs button,.ombud-section-tabs button,.training-category-tabs button,.mobile-filter-row button,.calendar-style-option,.install-platform-tab,.ombud-action-btn{
  background:var(--control-bg)!important;color:var(--text-primary)!important;border-color:var(--border)!important;
}
.secondary:hover,.small:hover,.tabs button:hover,.document-section-tabs button:hover,.ombud-section-tabs button:hover,.training-category-tabs button:hover,.mobile-filter-row button:hover,.install-platform-tab:hover{background:var(--control-hover)!important}
.tabs button.active,.document-section-tabs button.active,.ombud-section-tabs button.active,.training-category-tabs button.active,.mobile-filter-row button.active,.calendar-style-option.active{background:var(--selected-bg)!important;color:var(--selected-text)!important;border-color:var(--selected-bg)!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 72%,white 28%)!important;outline-offset:2px!important;box-shadow:0 0 0 2px var(--surface)!important}
button:disabled,input:disabled,textarea:disabled,select:disabled{opacity:.62!important;cursor:not-allowed}
input,textarea,select,.messages-search input,.floating-message-toolbar input,.message-compose-box,.floating-message-compose textarea{background:var(--control-bg)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
input::placeholder,textarea::placeholder{color:var(--text-muted)!important;opacity:1}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary)!important;box-shadow:0 0 0 1000px var(--control-bg) inset!important;caret-color:var(--text-primary)!important}
select option{background:var(--surface)!important;color:var(--text-primary)!important}

/* typography, links and separators */
.page-title p,.quick p,.row p,.doc-copy p,.event-copy p,.calendar-card p,.summary-card span,.admin-toolbar p,.admin-note,.field-hint,.locked-note,.profile-meta,.role-guide-row span,.training-card p,.contact-card p,.help-card p,.news-item p,.calendar-role-colors-head p,.portal-subtitle,.message-thread-copy small,.message-thread-time,.message-bubble-time,.messages-page-head p,.training-course-item small,.training-session-date span,.training-session-date small,.header-nameday,.header-weather{color:var(--text-muted)!important}
a{color:var(--link)}
.row,.doc-entry,.event-entry,.admin-item,.training-admin-item,.training-admin-session,.help-admin-row{border-color:var(--border)!important}
.pill,.chip,.detail-pill,.calendar-source,.mobile-situation,.outreach-contact,.training-meta span,.chev{background:var(--surface-secondary)!important;color:var(--text-primary)!important;border-color:var(--border)!important}

/* semantic feedback */
.danger{background:var(--danger-bg)!important;color:var(--danger-text)!important;border-color:color-mix(in srgb,var(--danger) 38%,var(--border))!important}
.status,.success,.success-banner,.security{background:var(--success-bg)!important;color:var(--success-text)!important;border-color:color-mix(in srgb,var(--success) 38%,var(--border))!important}
.banner,.help-warning-note,.backup-warning,.training-important-note,.install-note,.outreach-admin-strip,.messages-notice{background:var(--warning-bg)!important;color:var(--warning-text)!important;border-color:color-mix(in srgb,var(--warning) 38%,var(--border))!important}
.calendar-sync-note,.info-banner{background:var(--info-bg)!important;color:var(--info-text)!important;border-color:color-mix(in srgb,var(--info) 35%,var(--border))!important}

/* messages: every surface follows the active theme */
.messages-encryption,.messages-settings-row{background:var(--surface)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
.messages-encryption-copy strong,.messages-push-pref strong{color:var(--text-primary)!important}.messages-encryption-copy span,.messages-push-pref small{color:var(--text-muted)!important}
.messages-encryption button{background:var(--control-bg)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
.messages-shell,.messages-sidebar,.messages-chat,.messages-chat-head,.floating-message-panel,.floating-message-top,.floating-message-compose,.floating-hub-popover,.floating-chat-window{background:var(--surface)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
.messages-stream{background:color-mix(in srgb,var(--surface-secondary) 56%,var(--surface) 44%)!important}
.message-thread:hover{background:var(--control-hover)!important}.message-thread.active{background:var(--accent-soft)!important;box-shadow:inset 3px 0 0 var(--accent)!important}
.message-avatar{background:var(--surface-secondary)!important;color:var(--text-primary)!important;border:1px solid var(--border)!important}
.message-bubble{background:var(--chat-peer-bg)!important;color:var(--text-primary)!important;border-color:var(--chat-peer-border)!important}
.message-bubble-row.mine .message-bubble{background:var(--chat-own-bg)!important;color:var(--text-primary)!important;border-color:var(--chat-own-border)!important}
.message-bubble-name{color:var(--accent)!important}.message-reaction{background:var(--control-bg)!important;color:var(--text-primary)!important;border-color:var(--border)!important}.message-reaction.active{background:var(--accent-soft)!important;border-color:var(--accent)!important}
.message-edit,.message-delete,.floating-message-icon-btn,.floating-message-footer button{color:var(--text-secondary)!important}.message-delete:hover,.floating-message-footer button:hover{color:var(--accent)!important}
.floating-message-icon-btn:hover{background:var(--control-hover)!important}

/* calendars */
.classic-day,.calendar-card .detail-pill{background:var(--surface)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
.classic-day.muted,.classic-day.outside{color:var(--text-muted)!important;background:var(--surface-soft)!important}
.classic-day.today,.classic-day.selected{border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}
.calendar-card .detail-pill small{color:var(--text-muted)!important}.event-date{background:var(--accent-soft)!important;border-color:var(--chat-own-border)!important}.event-date em{color:var(--accent)!important}
.private-event-badge{background:var(--accent-soft)!important;color:var(--accent-soft-text)!important}

/* training, contacts and admin */
.training-meta-rich>div,.training-course-item,.training-search,.training-overview-card,.training-side-card{background:var(--surface)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
.training-course-item:hover{background:var(--control-hover)!important}.training-course-item.active{background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px var(--accent)!important}
.training-lead,.training-info-section>p{color:var(--text-secondary)!important}.training-related-links a,.training-side-card a,.training-side-card button{color:var(--link)!important}
.contact-role,.training-source-badge,.role-icon{background:var(--accent-soft)!important;color:var(--accent-soft-text)!important;border-color:var(--chat-own-border)!important}
.admin-list .head{background:var(--surface-secondary)!important;color:var(--text-secondary)!important;border-color:var(--border)!important}.admin-empty{color:var(--text-muted)!important}
.status-badge.live{background:var(--success-bg)!important;color:var(--success-text)!important}.status-badge.off{background:var(--surface-secondary)!important;color:var(--text-muted)!important}

/* overlays, modal separation and scrollbars */
.modal-backdrop,.mobile-menu-backdrop{background:var(--overlay)!important}.modal-card{box-shadow:0 24px 70px color-mix(in srgb,var(--text-primary) 25%,transparent)!important}
*{scrollbar-color:color-mix(in srgb,var(--text-muted) 55%,transparent) var(--surface-secondary)}
*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:var(--surface-secondary)}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 58%,var(--surface));border:2px solid var(--surface-secondary);border-radius:999px}

/* header and mobile chrome */
.header-daily-info,.mobile-dock,.mobile-home-search,.mobile-doc-search,.search-result,.mobile-situation,.mobile-ombud-choice{background:var(--surface)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
.header-logout-btn{background:var(--control-bg)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
.mobile-dock button{color:var(--text-secondary)!important}.mobile-dock button.active{background:var(--accent-soft)!important;color:var(--accent-soft-text)!important}
.mobile-search-box,.mobile-situation .mi,.search-result .sr-icon,.mobile-ombud-choice .moc-icon{background:var(--surface-secondary)!important;border-color:var(--border)!important;color:var(--text-primary)!important}

/* theme chooser itself */
.theme-option.active{border-color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)!important}.theme-option-check{color:var(--accent-foreground)!important}.theme-option.active .theme-option-check{background:var(--accent)!important;border-color:var(--accent)!important}


/* extracted style block 2 */

.brand{gap:16px;min-width:0}
.brand-divider{width:1px;height:42px;background:linear-gradient(180deg,#f2e9e4,#dcd3ce,#f2e9e4);border-radius:999px;flex:0 0 auto}
.portal-lockup{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}
.portal-kicker{display:inline-flex;align-items:center;gap:7px;color:#c66d66;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.portal-kicker:before{content:'';width:16px;height:2px;background:#d6574f;border-radius:999px}
.portal-title{font-size:22px;font-weight:900;letter-spacing:-.03em;color:#25262b;line-height:1.05;white-space:nowrap}
.portal-subtitle{display:block;color:#8a8e98;font-size:12px;line-height:1.2}
.brand-sub{display:none!important}
@media (max-width:900px){
  .top{padding:0 20px}
  .brand-logo-top{height:42px;max-width:210px}
  .portal-title{font-size:18px;white-space:normal}
}

.header-message-alert{display:none;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--red) 22%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--red) 8%,#fff),#fff);color:var(--text);border-radius:999px;padding:8px 10px 8px 9px;font-weight:850;cursor:pointer;box-shadow:0 8px 20px #0000000b;transition:.18s transform,.18s box-shadow,.18s border-color}.header-message-alert.show{display:inline-flex}.header-message-alert:hover{transform:translateY(-1px);box-shadow:0 11px 24px #00000012;border-color:color-mix(in srgb,var(--red) 42%,var(--line))}.header-message-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:14px}.header-message-text{font-size:12px;white-space:nowrap}.header-message-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#bb0017;color:#fff;font-size:11px;font-weight:950;line-height:1}@media(max-width:760px){.header-message-alert{padding:5px;border-radius:50%;width:38px;height:38px;justify-content:center;position:relative}.header-message-alert.show{display:inline-flex}.header-message-icon{width:28px;height:28px}.header-message-text{display:none}.header-message-count{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 5px;border:2px solid var(--surface,#fff);font-size:10px}}
.header-account-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.header-logout-btn{border:1px solid #ded9d4;background:#fff;color:#555861;border-radius:11px;padding:9px 13px;font-size:13px;font-weight:800;cursor:pointer;transition:.16s background,.16s border-color,.16s transform}
.header-logout-btn:hover{background:#f7f5f3;border-color:#d2cbc5;transform:translateY(-1px)}
.header-account-actions .profile{width:48px;height:48px;font-size:13px}
body[data-theme="dark"] .header-logout-btn{background:var(--card);color:var(--text);border-color:var(--line)}
@media(max-width:760px){.header-logout-btn{display:none!important}.header-account-actions{gap:0}.header-account-actions .profile{width:40px!important;height:40px!important}}

@media (max-width:560px){
  .brand{gap:10px}
  .brand-logo-top{height:32px;max-width:132px}
  .brand-divider{height:30px}
  .portal-kicker{display:none}
  .portal-title{font-size:15px;line-height:1.05}
  .portal-subtitle{display:block;font-size:10px;line-height:1.15;max-width:135px}
}


/* extracted style block 3 */

.network-status-banner{
  position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:10020;
  display:none;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;
  background:#2f3135;color:#fff;font-size:12px;font-weight:800;
  box-shadow:0 10px 28px rgba(0,0,0,.18)
}
.network-status-banner.show{display:flex}
.network-status-banner.online{background:#356b46}
.startup-recovery{display:grid;gap:10px;width:100%;margin-top:6px}
.startup-recovery p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.startup-recovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.startup-recovery-actions button{min-height:42px}
.diag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.diag-card{border:1px solid var(--line);border-radius:15px;padding:13px;background:#fff}
.diag-card strong{display:block;font-size:13px}
.diag-card small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}
.diag-card.ok{border-color:#bdd8c5;background:#f7fbf8}
.diag-card.warn{border-color:#e4d09b;background:#fffaf0}
.diag-card.fail{border-color:#e7b9b5;background:#fff7f6}
.diag-card.pending{opacity:.72}
.diag-status{font-weight:900;margin-bottom:5px}
.diag-error-list{display:grid;gap:8px;margin-top:12px}
.diag-error-row{border:1px solid var(--line);border-radius:12px;padding:10px;background:#faf9f7}
.diag-error-row strong{font-size:12px}
.diag-error-row span{display:block;color:var(--muted);font-size:11px;margin-top:3px;word-break:break-word}
.diag-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:700px){.diag-grid{grid-template-columns:1fr}.startup-recovery-actions{grid-template-columns:1fr}}

/* v1.16.23 – ny, lugn utbildningsöversikt */
.training-overview-alert{margin:0 0 14px auto;max-width:490px;background:#fff0f2;border:1px solid #f2cbd1;border-radius:15px;padding:14px 16px;display:flex;gap:12px;color:#9f2838}.training-overview-alert>b{font-size:20px}.training-overview-alert strong,.training-overview-alert span{display:block}.training-overview-alert span{font-size:12px;margin-top:3px}.training-overview-tools{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;margin:14px 0 16px}.training-overview-tabs{margin:0;overflow:visible;display:flex;flex-wrap:wrap;gap:7px;min-width:0}.training-overview-tabs button{white-space:nowrap;padding:10px 15px}.training-overview-search{max-width:none;margin:0;height:46px;align-self:start}.training-overview-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,300px);gap:18px;align-items:start}.training-overview-list{display:grid;gap:10px}.training-overview-card{width:100%;display:grid;grid-template-columns:150px minmax(0,1fr) 34px;gap:16px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-radius:15px;padding:11px 13px;min-height:126px;transition:.15s ease;box-shadow:0 4px 16px rgba(28,34,47,.025)}.training-overview-card:hover{transform:translateY(-1px);border-color:#d8cec8;box-shadow:0 8px 24px rgba(28,34,47,.06)}.training-overview-thumb{height:104px;border-radius:11px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eceff4,#d9dee8);color:#162138}.training-overview-thumb b{font-size:34px}.training-overview-thumb.red{background:linear-gradient(145deg,#791e25,#d94d55);color:#fff}.training-overview-thumb.mint{background:linear-gradient(145deg,#d9f4ea,#b8dfd1);color:#12634d}.training-overview-thumb.rose{background:linear-gradient(145deg,#f6d4d7,#e3a7ad);color:#7e2630}.training-overview-thumb.violet{background:linear-gradient(145deg,#ece0fa,#cfb6ea);color:#54317d}.training-overview-thumb.blue,.training-overview-thumb.sky{background:linear-gradient(145deg,#dcecff,#bad5f3);color:#1f5894}.training-overview-thumb.neutral{background:linear-gradient(145deg,#ece9e5,#d9d3cc);color:#554d45}.training-overview-copy{min-width:0}.training-overview-copy .training-category-badge{display:inline-flex;margin-bottom:6px}.training-overview-title{display:block;font-size:18px;line-height:1.2;margin-bottom:4px;color:var(--text)}.training-overview-summary{display:-webkit-box;color:var(--muted);font-size:13px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.training-overview-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:#465064}.training-overview-arrow{font-size:30px;color:#25324b;text-align:center}.training-more-row{background:#f3f5f8;border-radius:12px;padding:9px 13px;display:flex;align-items:center;justify-content:center;gap:18px;color:var(--muted);font-size:12px}.training-overview-side{display:grid;gap:12px;background:transparent!important;padding:0!important;color:var(--text)!important;overflow:visible!important;min-width:0}.training-side-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:8px}.training-side-card h3{margin:0 0 3px}.training-side-card>span{color:var(--muted);font-size:12px}.training-side-card a{color:#1d67d3;text-decoration:none;font-size:13px}.training-side-card label{display:grid;gap:6px;font-size:12px;font-weight:800}.training-side-card select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.training-side-card select:disabled{opacity:.65}.training-side-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:5px}.training-side-head strong{font-size:17px}.training-side-head button{border:0;background:transparent;color:#1d67d3;font-size:11px;font-weight:800}.training-help-card{background:#eef7ff;display:grid;grid-template-columns:38px 1fr;gap:10px}.training-help-card p{font-size:12px;color:var(--muted);line-height:1.45;margin:5px 0}.training-side-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff}.training-related-links{display:grid}.training-related-links button{border:0;border-top:1px solid var(--line);background:transparent;text-align:left;padding:10px 0;color:#165ebd}.training-related-links button:first-child{border-top:0}.training-back-btn{border:0;background:transparent;color:var(--muted);font-weight:800;padding:0;margin:0 0 8px;cursor:pointer}.training-detail-only{grid-template-columns:1fr}.training-detail-only .training-detail{max-width:100%}body[data-theme='dark'] .training-overview-tools,body[data-theme='dark'] .training-overview-card,body[data-theme='dark'] .training-side-card{background:var(--card);border-color:var(--line);color:var(--text)}body[data-theme='dark'] .training-overview-alert{background:#3a2027;border-color:#6b3440;color:#ffc4ce}body[data-theme='dark'] .training-more-row{background:#252a33}body[data-theme='dark'] .training-side-card select{background:#20242c;color:var(--text);border-color:var(--line)}body[data-theme='dark'] .training-help-card{background:#202b36}@media(max-width:1120px){.training-overview-tools{grid-template-columns:1fr}.training-overview-search{grid-row:1}.training-overview-tabs{grid-row:2}.training-overview-layout{grid-template-columns:minmax(0,1fr) 270px}}@media(max-width:900px){.training-overview-layout{grid-template-columns:1fr}.training-overview-alert{margin:0 0 12px;max-width:none}.training-overview-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.training-overview-tools{padding:7px;gap:8px}.training-overview-card{grid-template-columns:74px minmax(0,1fr) 20px;gap:10px;min-height:104px;padding:10px}.training-overview-thumb{height:80px}.training-overview-thumb b{font-size:25px}.training-overview-title{font-size:15px}.training-overview-summary{font-size:11px;-webkit-line-clamp:1}.training-overview-meta{gap:8px;font-size:10px;margin-top:6px}.training-overview-meta span:nth-child(2){display:none}.training-overview-side{grid-template-columns:1fr}.training-side-card:first-child{display:none}.training-more-row{flex-direction:column;gap:7px}.training-overview-alert{font-size:12px}.training-overview-tabs button{padding:8px 11px;font-size:11px}}


/* extracted style block 4 */

/* v1.16.23 – utbildningsfilter */
.training-sidebar select,
.training-filter-card select,
.training-filters select {
  opacity: 1 !important;
  color: var(--text) !important;
  background: var(--surface, #fff) !important;
  cursor: pointer !important;
}
.training-sidebar select:disabled,
.training-filter-card select:disabled,
.training-filters select:disabled {
  opacity: 1 !important;
  color: var(--text) !important;
  background: var(--surface, #fff) !important;
}


/* extracted style block 5 */

/* v1.16.23 – utbildningsöversikt, visuellt närmare godkänd mockup */
.training-overview-alert{max-width:450px;border-radius:14px;padding:13px 16px;background:#fff0f2;border-color:#f3c8cf;box-shadow:none}
.training-overview-tools{grid-template-columns:minmax(0,1fr) 330px;padding:8px 10px;border-radius:14px;background:#fff;box-shadow:none}
.training-overview-tabs{gap:8px}.training-overview-tabs button{display:inline-flex;align-items:center;gap:7px;border-radius:10px;padding:8px 12px;background:#f4f6f9;border-color:#edf0f4;color:#263247;font-weight:800}.training-overview-tabs button.active{background:#1f6feb;border-color:#1f6feb;color:#fff}.training-overview-tabs button>span:last-child{font-size:10px;opacity:.85;color:inherit;margin-left:1px}.training-tab-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:7px}.training-tab-icon svg{width:16px;height:16px}.training-tab-icon.all{background:rgba(255,255,255,.22)}.training-overview-tabs button:not(.active) .training-tab-icon.mint{color:#16835f;background:#dff6ed}.training-overview-tabs button:not(.active) .training-tab-icon.rose{color:#b04149;background:#fde6e8}.training-overview-tabs button:not(.active) .training-tab-icon.red{color:#b52d39;background:#fee5e8}.training-overview-tabs button:not(.active) .training-tab-icon.violet{color:#6e49b3;background:#efe7ff}.training-overview-tabs button:not(.active) .training-tab-icon.blue,.training-overview-tabs button:not(.active) .training-tab-icon.sky{color:#2466aa;background:#e5f0ff}.training-overview-tabs button:not(.active) .training-tab-icon.orange{color:#b76318;background:#fff0df}
.training-overview-search{border-radius:10px;height:42px;background:#fff;border-color:#dce2ea}.training-overview-layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.training-overview-list{gap:9px}.training-overview-card{grid-template-columns:190px minmax(0,1fr) 28px;gap:16px;min-height:132px;border-radius:11px;padding:10px 13px;box-shadow:none;border-color:#e1e5eb}.training-overview-card:hover{transform:none;border-color:#bfc9d8;box-shadow:0 5px 18px rgba(20,30,50,.06)}
.training-overview-thumb{height:112px;border-radius:9px;position:relative;display:grid;place-items:center;overflow:hidden}.training-overview-thumb svg{width:62px;height:62px;position:relative;z-index:2}.training-thumb-glow{position:absolute;width:110px;height:110px;border-radius:50%;filter:blur(4px);opacity:.32;right:-20px;top:-30px;background:#fff}.training-overview-thumb:after{content:'';position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,rgba(0,0,0,.06))}.training-overview-thumb.mint{background:linear-gradient(145deg,#ccefe2,#a7dbc9);color:#0f6b4d}.training-overview-thumb.rose{background:linear-gradient(145deg,#f5d4d6,#e9aeb3);color:#8b2933}.training-overview-thumb.red{background:linear-gradient(145deg,#b32635,#e85c64);color:#fff}.training-overview-thumb.violet{background:linear-gradient(145deg,#e7ddf8,#cdb4ef);color:#57358f}.training-overview-thumb.blue,.training-overview-thumb.sky{background:linear-gradient(145deg,#dcecff,#b8d4f4);color:#235f9c}.training-overview-thumb.orange{background:linear-gradient(145deg,#ffe6c6,#f5c98f);color:#9f5716}.training-overview-thumb.neutral{background:linear-gradient(145deg,#e9edf2,#d3dae4);color:#45536a}
.training-category-badge{border-radius:7px;padding:5px 9px;font-size:10px;background:#eef1f5;color:#31405a}.training-category-badge.mint{background:#dff6ed;color:#12664e}.training-category-badge.rose{background:#fde6e8;color:#9a3440}.training-category-badge.red{background:#fee6e9;color:#a82835}.training-category-badge.violet{background:#eee6ff;color:#58358e}.training-category-badge.blue,.training-category-badge.sky{background:#e4efff;color:#215b98}.training-category-badge.orange{background:#fff0df;color:#965619}
.training-overview-title{font-size:17px}.training-overview-summary{font-size:12px}.training-overview-meta{gap:18px;margin-top:9px}.meta-item{display:inline-flex;gap:5px;align-items:center}.meta-item b{font-size:11px;color:#23314b}.training-overview-arrow{font-size:28px}.training-more-row{border-radius:9px;background:#f2f5f9}
.training-overview-side{gap:10px}.training-side-card{border-radius:11px;padding:15px;border-color:#e1e5eb}.training-side-head strong{font-size:16px}.training-side-heading-icon{font-size:18px}.training-side-card label{gap:7px;margin-top:4px}.training-side-card select{border-radius:9px;padding:11px 12px;color:var(--text)!important;background:#fff!important;opacity:1!important;cursor:pointer!important}.training-help-card{background:#eef7ff}.training-related-links button{padding:8px 0}.training-contact-card a{word-break:break-word;display:inline-flex;align-items:center;min-height:32px}.training-side-head button{min-height:32px;display:inline-flex;align-items:center}.training-help-card a{display:inline-flex;align-items:center;min-height:32px}
body[data-theme='dark'] .training-overview-tabs button{background:#252b35;border-color:#353e4d;color:var(--text)}body[data-theme='dark'] .training-overview-tabs button.active{background:#2563eb;color:#fff}body[data-theme='dark'] .training-tab-icon{background:#303744!important}body[data-theme='dark'] .training-overview-search{background:var(--card)}
@media(max-width:1180px){.training-overview-tools{grid-template-columns:1fr}.training-overview-search{grid-row:1}.training-overview-tabs{grid-row:2}.training-overview-layout{grid-template-columns:minmax(0,1fr) 280px}.training-overview-card{grid-template-columns:145px minmax(0,1fr) 24px}.training-overview-thumb{height:102px}}
@media(max-width:900px){.training-overview-layout{grid-template-columns:1fr}.training-overview-side{grid-template-columns:repeat(2,minmax(0,1fr))}.training-overview-card{grid-template-columns:150px minmax(0,1fr) 24px}}
@media(max-width:760px){.training-overview-side{grid-template-columns:1fr}.training-overview-card{grid-template-columns:82px minmax(0,1fr) 18px}.training-overview-thumb{height:82px}.training-overview-thumb svg{width:42px;height:42px}.training-overview-tabs button{font-size:11px;padding:7px 9px}.training-tab-icon{width:20px;height:20px}.training-tab-icon svg{width:14px;height:14px}}


/* extracted style block 6 */

/* v1.16.23 – bildbrickor som i mockupen */
.training-overview-thumb.training-overview-photo{
  padding:0 !important;
  overflow:hidden !important;
  background:#eef2f6 !important;
}
.training-overview-thumb.training-overview-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}


/* extracted style block 7 */

/* v1.16.23 – utbildningsinfo */
.training-info-page{display:grid;gap:16px}
.training-info-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:var(--surface,#fff);border:1px solid var(--border,#e5e1dc);border-radius:18px}
.training-info-intro h2{margin:4px 0 6px;font-size:24px}
.training-info-intro p{margin:0;color:var(--muted);max-width:760px}
.training-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.training-info-card{background:var(--surface,#fff);border:1px solid var(--border,#e5e1dc);border-radius:16px;padding:18px}
.training-info-card h3{margin:0 0 9px;font-size:17px}
.training-info-card p{margin:0 0 8px;color:var(--muted);line-height:1.55}
.training-info-card p:last-child{margin-bottom:0}
.training-info-note{font-size:13px;padding-top:4px}
.training-info-contact a{font-weight:800}
.training-info-source{display:flex;flex-direction:column;gap:4px;padding:15px 18px;border-radius:14px;background:rgba(74,126,190,.09);color:var(--text)}
.training-info-source span{color:var(--muted);font-size:13px}
@media(max-width:760px){
  .training-info-intro{align-items:flex-start;flex-direction:column}
  .training-info-grid{grid-template-columns:1fr}
}


/* extracted style block 8 */

/* v1.16.23 – flerval arbetsplatser */
.workplace-multiselect{margin-top:10px;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.workplace-multiselect summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;font-weight:850;cursor:pointer}
.workplace-multiselect summary::-webkit-details-marker{display:none}
.workplace-chevron{font-size:18px;color:var(--muted);transition:transform .15s ease}
.workplace-multiselect[open] .workplace-chevron{transform:rotate(180deg)}
.workplace-multiselect .workplace-grid{padding:0 12px 12px;max-height:320px;overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
.workplace-choice{transition:border-color .15s ease,background .15s ease}
.workplace-choice:has(input:checked){border-color:#d79a95;background:#fff7f6}
@media(max-width:720px){.workplace-multiselect .workplace-grid{grid-template-columns:1fr}}


/* extracted style block 9 */

/* v1.16.23 – admin: roller och arbetsplatser */
.role-admin-list,.workplace-admin-list{padding:0;overflow:hidden}
.role-admin-row,.workplace-admin-main,.workplace-manager-row{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.role-admin-row{padding:14px 16px;border-bottom:1px solid var(--line)}
.role-admin-row:last-child{border-bottom:0}
.role-admin-row>div:first-child{display:flex;flex-direction:column;gap:3px}
.role-admin-row small,.workplace-manager-row small,.workplace-manager-row span{color:var(--muted)}
.workplace-admin-row{padding:16px;border-bottom:1px solid var(--line)}
.workplace-admin-row:last-child{border-bottom:0}
.workplace-admin-main>div:first-child{min-width:0}
.workplace-admin-main p{margin:4px 0 0;color:var(--muted)}
.workplace-manager-list{margin-top:12px;padding:10px 12px;background:rgba(0,0,0,.025);border-radius:12px}
.workplace-manager-row{padding:8px 0;border-bottom:1px solid var(--line)}
.workplace-manager-row:last-child{border-bottom:0}
.workplace-manager-row>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.workplace-manager-row strong{min-width:160px}
.admin-empty.compact{padding:6px 0}
@media(max-width:760px){
  .role-admin-row,.workplace-admin-main,.workplace-manager-row{align-items:flex-start;flex-direction:column}
  .role-admin-row .actions,.workplace-admin-main .actions,.workplace-manager-row .actions{width:100%;display:flex;flex-wrap:wrap}
}


/* extracted style block 10 */

/* v1.16.23 – Portalutvecklare-badge */
.role-icon.developer-role{
  background:linear-gradient(135deg,#252a36,#4e5970);
  border-color:#3d4659;
  color:#fff;
  box-shadow:0 3px 12px rgba(24,29,40,.18);
}
.developer-glyph{
  display:block;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-weight:950;
  letter-spacing:-.12em;
  transform:translateX(-.04em);
}
.role-icon-sm .developer-glyph{font-size:9px}
.role-icon-md .developer-glyph{font-size:12px}
.role-icon-lg .developer-glyph{font-size:15px}
body[data-theme="dark"] .role-icon.developer-role{
  background:linear-gradient(135deg,#dfe5f1,#aebbd1);
  color:#1d2430;
  border-color:#8795ab;
}
body[data-theme="pink"] .role-icon.developer-role{
  background:linear-gradient(135deg,#512b3b,#87516a);
  color:#fff;
  border-color:#744459;
}


/* extracted style block 11 */

/* v1.16.23 – Ordförande/Vice ordförande/Studieorganisatör + scroll i rollredigering */
.role-icon.chair-role{
  background:linear-gradient(135deg,#7a1f1f,#a93232);
  border-color:#7b2020;
  color:#fff;
}
.role-icon.vice-chair-role{
  background:linear-gradient(135deg,#9a3d1f,#c45a2f);
  border-color:#913a1f;
  color:#fff;
}
.role-icon.study-organizer-role{
  background:linear-gradient(135deg,#2e5b43,#4a7d60);
  border-color:#345e48;
  color:#fff;
}
.role-text-glyph{
  display:block;
  font-weight:950;
  line-height:1;
  letter-spacing:-.02em;
}
.role-icon-sm .role-text-glyph{font-size:10px}
.role-icon-md .role-text-glyph{font-size:12px}
.role-icon-lg .role-text-glyph{font-size:14px}
body[data-theme="dark"] .role-icon.chair-role,
body[data-theme="dark"] .role-icon.vice-chair-role,
body[data-theme="dark"] .role-icon.study-organizer-role{filter:brightness(1.08)}
body[data-theme="pink"] .role-icon.study-organizer-role{
  background:linear-gradient(135deg,#69485a,#956a80);
  border-color:#765165;
}

/* Gör administrationsdialoger scrollbar om innehållet blir längre än skärmen */
.modal,.dialog,.admin-modal,.admin-editor,.sheet,.drawer{
  max-height:calc(100vh - 32px);
}
.modal-content,.dialog-content,.admin-modal-content,.admin-editor-content,.sheet-content,.drawer-content{
  max-height:calc(100vh - 64px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
@media(max-width:720px){
  .modal,.dialog,.admin-modal,.admin-editor,.sheet,.drawer{
    max-height:calc(100dvh - 16px);
  }
  .modal-content,.dialog-content,.admin-modal-content,.admin-editor-content,.sheet-content,.drawer-content{
    max-height:calc(100dvh - 32px);
  }
}


/* extracted style block 12 */

.modal-card{max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}


/* extracted style block 13 */

/* v1.16.23 – tydliga textbadges */
.role-text-badge{display:inline-flex;align-items:center;min-height:22px;padding:3px 9px;border-radius:999px;font-size:10px;line-height:1.2;font-weight:900;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent;vertical-align:middle}
.role-text-badge.developer-role{background:#252a36;color:#fff;border-color:#3d4659}
.role-text-badge.chair-role{background:#8f2626;color:#fff;border-color:#792020}
.role-text-badge.vice-chair-role{background:#a64625;color:#fff;border-color:#8d3a20}
.role-text-badge.study-organizer-role{background:#38694e;color:#fff;border-color:#315c45}
body[data-theme="dark"] .role-text-badge{box-shadow:0 0 0 1px rgba(255,255,255,.05)}
body[data-theme="pink"] .role-text-badge.study-organizer-role{background:#795269;border-color:#68465a}
@media(max-width:520px){.role-text-badge{font-size:9px;padding:3px 7px}}


/* extracted style block 14 */

/* v1.16.23 – valda grafiska rollbadges */
.role-icon.developer-role,
.role-icon.chair-role,
.role-icon.vice-chair-role,
.role-icon.study-organizer-role{
  background:transparent;
  border-color:transparent;
  padding:0;
  box-shadow:none;
  overflow:visible;
}
.role-icon.developer-role img,
.role-icon.chair-role img,
.role-icon.vice-chair-role img,
.role-icon.study-organizer-role img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:999px;
}
.role-icon.vice-chair-role:after{
  content:'Vice';
}


/* extracted style block 15 */

/* v1.16.24 – Portalutvecklare och Studieorganisatör visas utan textetikett.
   Rollernas betydelse förklaras i den utfällbara rollguiden. */
.role-icon.vice-chair-role{position:relative;margin-right:3rem}
.role-icon.vice-chair-role::before{
  content:'Vice';position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);
  display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 7px;
  border-radius:999px;font-size:9px;line-height:1;font-weight:900;letter-spacing:.045em;text-transform:uppercase;
  white-space:nowrap;border:1px solid #e7bbbb;box-shadow:0 1px 2px rgba(0,0,0,.08);background:#f9e5e5;color:#8f2626
}
.role-icon.vice-chair-role::after{content:none!important}
body[data-theme="dark"] .role-icon.vice-chair-role::before{background:#4b2424;color:#ffdede;border-color:#754040}
@media(max-width:520px){.role-icon.vice-chair-role{margin-right:2.7rem}.role-icon.vice-chair-role::before{font-size:8px;padding:2px 6px}}

.role-icon.vice-hso-role{position:relative;margin-right:3rem;background:transparent;border-color:transparent;padding:0;box-shadow:none;overflow:visible}
.role-icon.vice-hso-role img{width:100%;height:100%;object-fit:contain;border-radius:999px}
.role-icon.vice-hso-role::before{
  content:'Vice';position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);
  display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 7px;
  border-radius:999px;font-size:9px;line-height:1;font-weight:900;letter-spacing:.045em;text-transform:uppercase;
  white-space:nowrap;border:1px solid #e7bbbb;box-shadow:0 1px 2px rgba(0,0,0,.08);background:#f9e5e5;color:#8f2626
}
.role-icon.vice-hso-role::after{content:none!important}
body[data-theme="dark"] .role-icon.vice-hso-role::before{background:#4b2424;color:#ffdede;border-color:#754040}
@media(max-width:520px){.role-icon.vice-hso-role{margin-right:2.7rem}.role-icon.vice-hso-role::before{font-size:8px;padding:2px 6px}}

.role-guide{margin-top:14px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.018);overflow:hidden}
.role-guide summary{cursor:pointer;list-style:none;padding:12px 14px;font-size:12px;font-weight:900;display:flex;align-items:center;gap:8px}
.role-guide summary::-webkit-details-marker{display:none}.role-guide summary::before{content:'ⓘ';font-size:14px;color:var(--red)}
.role-guide[open] summary{border-bottom:1px solid var(--line)}.role-guide-list{padding:4px 14px 12px}
.role-guide-row{display:grid;grid-template-columns:minmax(128px,.42fr) 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.45}
.role-guide-row:last-child{border-bottom:0}.role-guide-row strong{color:var(--text)}.role-guide-row span{color:var(--muted)}
@media(max-width:560px){.role-guide-row{grid-template-columns:1fr;gap:3px}}

.recovery-panel{display:grid;gap:14px}.recovery-panel label{display:grid;gap:7px;font-size:13px;font-weight:850;color:#3c3e44}
.recovery-panel input{width:100%;border:1px solid #ddd5d0;background:#fbfaf9;border-radius:13px;padding:14px;outline:none}
.recovery-panel input:focus{background:#fff;border-color:#cf817b;box-shadow:0 0 0 4px #d6574f14}


/* extracted style block 16 */

/* v1.16.37 – theme hardening + expedition seasonal themes */
.theme-options{grid-template-columns:minmax(0,1fr)}
body[data-theme="pink"]{--bg:#f7bfd4;--card:#ffd4e4;--line:#e89bb8;--text:#4b1630;--muted:#7d435a;--red:#e02173;--dark:#6e123b;background:var(--bg);color:var(--text)}
body[data-theme="pink"] aside{background:radial-gradient(circle at 18% 8%,#a62661,#65133b 70%)}body[data-theme="pink"] .hero{background:linear-gradient(135deg,#ed3984,#c71762)}
body[data-theme="pink"] .top,body[data-theme="pink"] .panel,body[data-theme="pink"] .formcard,body[data-theme="pink"] .faq,body[data-theme="pink"] .search,body[data-theme="pink"] .news-item,body[data-theme="pink"] .contact-card,body[data-theme="pink"] .modal-card,body[data-theme="pink"] .training-card,body[data-theme="pink"] .calendar-card,body[data-theme="pink"] .summary-card,body[data-theme="pink"] .admin-list,body[data-theme="pink"] .mobile-menu-sheet,body[data-theme="pink"] .mobile-menu-list button,body[data-theme="pink"] .help-card,body[data-theme="pink"] .news-detail-card,body[data-theme="pink"] .outreach-summary>div,body[data-theme="pink"] .outreach-location-card,body[data-theme="pink"] .outreach-latest-card,body[data-theme="pink"] .outreach-report-card,body[data-theme="pink"] .diag-card,body[data-theme="pink"] .theme-option,body[data-theme="pink"] .training-overview-card,body[data-theme="pink"] .training-overview-tools,body[data-theme="pink"] .training-side-card{background:var(--card)!important;border-color:var(--line)!important;color:var(--text)!important}
body[data-theme="pink"] input,body[data-theme="pink"] textarea,body[data-theme="pink"] select{background:#ffe5ef!important;color:var(--text)!important;border-color:var(--line)!important}body[data-theme="pink"] input::placeholder,body[data-theme="pink"] textarea::placeholder{color:#a5637d}
body[data-theme="pink"] .tabs button,body[data-theme="pink"] .small,body[data-theme="pink"] .secondary,body[data-theme="pink"] .document-section-tabs button,body[data-theme="pink"] .ombud-section-tabs button,body[data-theme="pink"] .training-category-tabs button{background:#ffdce9;color:var(--text);border-color:var(--line)}
body[data-theme="pink"] .tabs button.active,body[data-theme="pink"] .document-section-tabs button.active,body[data-theme="pink"] .ombud-section-tabs button.active,body[data-theme="pink"] .training-category-tabs button.active{background:#8d1d50!important;color:#fff!important;border-color:#8d1d50!important}
body[data-theme="pink"] .eyebrow{color:#b7175a}body[data-theme="pink"] .pill{background:#f4a9c5;color:#57152f}body[data-theme="pink"] .mobile-dock{background:#ffd4e4;border-color:#e89bb8}body[data-theme="pink"] .mobile-dock button.active{background:#f6a9c7;color:#8f174d}
body[data-theme="blue"]{--bg:#eaf2fb;--card:#f7fbff;--line:#bfd1e5;--text:#18324d;--muted:#5f7891;--red:#2f78c4;--dark:#102a46;background:var(--bg);color:var(--text)}
body[data-theme="blue"] aside{background:radial-gradient(circle at 18% 8%,#265d91,#123553 72%)}body[data-theme="blue"] .hero{background:linear-gradient(135deg,#4e8fcf,#286caf)}
body[data-theme="blue"] :is(.top,.panel,.formcard,.faq,.search,.news-item,.contact-card,.modal-card,.training-card,.calendar-card,.summary-card,.admin-list,.mobile-menu-sheet,.mobile-menu-list button,.help-card,.news-detail-card,.outreach-summary>div,.outreach-location-card,.outreach-latest-card,.outreach-report-card,.diag-card,.theme-option,.training-overview-card,.training-overview-tools,.training-side-card,.role-check,.avatar-upload,.workplace-profile-box){background:var(--card)!important;border-color:var(--line)!important;color:var(--text)!important}
body[data-theme="blue"] input,body[data-theme="blue"] textarea,body[data-theme="blue"] select{background:#edf6ff!important;color:var(--text)!important;border-color:var(--line)!important}body[data-theme="blue"] .tabs button,body[data-theme="blue"] .small,body[data-theme="blue"] .secondary,body[data-theme="blue"] .document-section-tabs button,body[data-theme="blue"] .ombud-section-tabs button,body[data-theme="blue"] .training-category-tabs button{background:#e3effb;color:var(--text);border-color:var(--line)}body[data-theme="blue"] .tabs button.active,body[data-theme="blue"] .document-section-tabs button.active,body[data-theme="blue"] .ombud-section-tabs button.active,body[data-theme="blue"] .training-category-tabs button.active{background:#245f96!important;color:#fff!important;border-color:#245f96!important}body[data-theme="blue"] .eyebrow{color:#397bb6}body[data-theme="blue"] .pill{background:#d6e7f8;color:#204c73}body[data-theme="blue"] .mobile-dock{background:#f7fbff;border-color:#bfd1e5}body[data-theme="blue"] .mobile-dock button.active{background:#d9e9f8;color:#245f96}
body[data-theme="green"]{--bg:#eaf4ec;--card:#f8fcf8;--line:#c4d9c8;--text:#203f2c;--muted:#647f6b;--red:#4d8c62;--dark:#173822;background:var(--bg);color:var(--text)}
body[data-theme="green"] aside{background:radial-gradient(circle at 18% 8%,#376d4b,#193b27 72%)}body[data-theme="green"] .hero{background:linear-gradient(135deg,#67a879,#397b50)}
body[data-theme="green"] :is(.top,.panel,.formcard,.faq,.search,.news-item,.contact-card,.modal-card,.training-card,.calendar-card,.summary-card,.admin-list,.mobile-menu-sheet,.mobile-menu-list button,.help-card,.news-detail-card,.outreach-summary>div,.outreach-location-card,.outreach-latest-card,.outreach-report-card,.diag-card,.theme-option,.training-overview-card,.training-overview-tools,.training-side-card,.role-check,.avatar-upload,.workplace-profile-box){background:var(--card)!important;border-color:var(--line)!important;color:var(--text)!important}
body[data-theme="green"] input,body[data-theme="green"] textarea,body[data-theme="green"] select{background:#eff8f0!important;color:var(--text)!important;border-color:var(--line)!important}body[data-theme="green"] .tabs button,body[data-theme="green"] .small,body[data-theme="green"] .secondary,body[data-theme="green"] .document-section-tabs button,body[data-theme="green"] .ombud-section-tabs button,body[data-theme="green"] .training-category-tabs button{background:#e4f1e6;color:var(--text);border-color:var(--line)}body[data-theme="green"] .tabs button.active,body[data-theme="green"] .document-section-tabs button.active,body[data-theme="green"] .ombud-section-tabs button.active,body[data-theme="green"] .training-category-tabs button.active{background:#356e49!important;color:#fff!important;border-color:#356e49!important}body[data-theme="green"] .eyebrow{color:#4c8e61}body[data-theme="green"] .pill{background:#dcecdf;color:#2d5e3e}body[data-theme="green"] .mobile-dock{background:#f8fcf8;border-color:#c4d9c8}body[data-theme="green"] .mobile-dock button.active{background:#dcecdf;color:#356e49}
body[data-theme="dark"]{color-scheme:dark;--surface-soft:#20242c;--surface-raised:#242933;--surface-muted:#171a20;--text-soft:#c7cbd2}
body[data-theme="dark"] :is(.admin-side,.admin-list,.admin-list .head,.kpi,.calendar-card,.summary-card,.calendar-list-panel,.training-card,.training-list-select,.modal-card,.cropper-card,.workplace-profile-box,.workplace-choice,.calendar-audience-box,.calendar-push-box,.backup-file-picker,.backup-preview,.ombud-message-recipient,.mobile-calendar-home,.home-order-option,.category-admin-row,.readonly-field input,.push-role-choice,.training-overview-alert,.training-overview-tools,.training-overview-card,.training-side-card,.training-overview-search,.training-side-card select,.recovery-panel,.faq-admin-cta,.help-section-image,.diag-error-row,.admin-empty,.training-admin-summary,.install-home-banner,.role-check,.avatar-upload,.ombud-card,.ombud-detail-row,.ombud-message-fields input,.ombud-message-fields textarea,.news-admin-image,.news-attachment,.news-admin-attachment,.startup-card,.training-more-row){background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
body[data-theme="dark"] :is(.admin-side button,.admin-actions button,.modal-close,.chev,.install-tip,.training-meta span,.example-badge,.mobile-doc-search button,.search-result .sr-icon,.install-platform-tab,.install-platform-card,.install-visual-step,.install-step-no,.install-step-visual,.install-step-visual .symbol,.mobile-ombud-choice,.mobile-ombud-choice .moc-icon,.news-badge,.contact-role,.user-section-icon,.ombud-section-tabs button span,.ombud-source-tag,.backup-icon,.help-card summary:after,.help-card-icon,.help-step:before,.help-tip,.outreach-factory-icon,.outreach-contact,.outreach-metrics>div,.outreach-card-actions,.training-source-badge,.training-meta-rich>div,.training-side-icon,.private-event-badge,.audit-action-pill,.training-admin-summary .pill){background:var(--surface-soft)!important;color:var(--text)!important;border-color:var(--line)!important}
body[data-theme="dark"] :is(.news-item p,.faq p,.row p,.page-title p,.training-card p,.contact-card p,.help-card-body p,.admin-toolbar p,.admin-section-title p,.training-overview-card p,.training-side-card p,.days,.field-hint){color:var(--muted)!important}
body[data-theme="dark"] :is(.file-badge.pdf,.file-badge.ppt,.file-badge.pptx,.file-badge.file,.chip,.chip.soft-red,.event-date,.detail-pill){filter:saturate(.86) brightness(.82);color:#f4f5f7!important}
body[data-theme="dark"] .upload{background:#231b1d!important;border-color:#5a3438!important;color:var(--text)!important}body[data-theme="dark"] .danger,body[data-theme="dark"] .danger-outline{background:#321d20!important;color:#ffb8b3!important;border-color:#6b3439!important}body[data-theme="dark"] .status,body[data-theme="dark"] .security{background:#17271e!important;color:#d6eadc!important;border-color:#315740!important}body[data-theme="dark"] .status-badge.draft,body[data-theme="dark"] .status-badge.off{background:#2a2d35!important;color:#d8dbe0!important}
body[data-theme="dark"] .mobile-dock{background:rgba(26,29,36,.98)!important;border-color:var(--line)!important}body[data-theme="dark"] .mobile-dock button{color:#c1c6ce!important}body[data-theme="dark"] .mobile-dock button.active{background:#2c2425!important;color:#f38f88!important}body[data-theme="dark"] .mobile-home-search,body[data-theme="dark"] .mobile-search-box,body[data-theme="dark"] .mobile-doc-tools{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
body[data-theme="dark"] .training-course-item:hover,body[data-theme="dark"] .training-course-item.active{background:var(--surface-soft)!important;color:var(--text)!important}
body[data-theme="dark"] .training-overview-tabs button{background:var(--surface-soft)!important;color:var(--text)!important;border-color:var(--line)!important}body[data-theme="dark"] .training-overview-tabs button.active{background:#353b47!important;color:#fff!important}body[data-theme="dark"] .training-category-badge.rose,body[data-theme="dark"] .training-category-badge.red,body[data-theme="dark"] .training-category-badge.orange{color:#f6dce6!important;background:#38262f!important;border-color:#593845!important}body[data-theme="dark"] a{color:#eaa19d}
.expedition-themed{position:relative;isolation:isolate;overflow:visible}.expedition-themed>*{position:relative;z-index:2}
.expedition-themed.expedition-theme-christmas{margin-top:30px;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.26) 0 1.8px,transparent 2.2px),radial-gradient(circle at 26% 34%,rgba(255,255,255,.18) 0 1.4px,transparent 2px),radial-gradient(circle at 44% 18%,rgba(255,255,255,.24) 0 1.6px,transparent 2px),radial-gradient(circle at 62% 30%,rgba(255,255,255,.16) 0 1.3px,transparent 1.9px),radial-gradient(circle at 82% 16%,rgba(255,255,255,.24) 0 1.8px,transparent 2.2px),radial-gradient(circle at 90% 34%,rgba(255,255,255,.16) 0 1.2px,transparent 1.8px),linear-gradient(150deg,#254838,#183226)!important;border-color:#648b77!important;box-shadow:inset 0 1px #ffffff22,0 8px 22px #0002,inset 0 -16px 26px rgba(239,249,255,.08), inset 0 18px 30px rgba(255,236,200,.05)}.expedition-themed.expedition-theme-christmas:before{content:'';position:absolute;z-index:3;left:-5px;right:-5px;top:-12px;height:28px;border-radius:20px 20px 62% 58%;background:radial-gradient(circle at 4% 78%,#fff 0 11px,transparent 12px),radial-gradient(circle at 14% 44%,#fff 0 13px,transparent 14px),radial-gradient(circle at 28% 72%,#fff 0 12px,transparent 13px),radial-gradient(circle at 43% 42%,#fff 0 15px,transparent 16px),radial-gradient(circle at 58% 70%,#fff 0 13px,transparent 14px),radial-gradient(circle at 72% 43%,#fff 0 15px,transparent 16px),radial-gradient(circle at 86% 71%,#fff 0 12px,transparent 13px),radial-gradient(circle at 96% 48%,#fff 0 10px,transparent 11px),linear-gradient(#ffffff,#eef8fb);box-shadow:0 6px 12px #0002}.expedition-themed.expedition-theme-christmas:after{content:'🎅';position:absolute;z-index:4;right:10px;top:-35px;font-size:35px;filter:drop-shadow(0 3px 2px #0005);transform:rotate(4deg)}.expedition-themed.expedition-theme-christmas .exp-icon{background:#b92436!important;border-color:#e56d78!important}.expedition-themed.expedition-theme-christmas .expedition-times span{background:#ffffff1b!important;border-color:#ffffff2c!important}.expedition-themed.expedition-theme-christmas .days,.expedition-themed.expedition-theme-christmas p{color:#e7f0f3!important}.expedition-themed.expedition-theme-christmas h3,.expedition-themed.expedition-theme-christmas h4{color:#fff4e8!important;text-shadow:0 1px 0 rgba(0,0,0,.14)}
.expedition-themed.expedition-theme-halloween{background:linear-gradient(145deg,#2c1c13,#171310)!important;border-color:#765033!important;box-shadow:inset 0 1px #ffffff10}.expedition-themed.expedition-theme-halloween:before{content:'🍂 🍁 🍂';position:absolute;z-index:1;left:7px;bottom:4px;font-size:19px;opacity:.72;transform:rotate(-7deg)}.expedition-themed.expedition-theme-halloween:after{content:'🎃';position:absolute;z-index:4;right:8px;top:-18px;font-size:32px;filter:drop-shadow(0 3px 2px #0005);transform:rotate(5deg)}.expedition-themed.expedition-theme-halloween .exp-icon{background:#b85a16!important;border-color:#df7d31!important}.expedition-themed.expedition-theme-halloween .expedition-alert{background:#6e341c!important;color:#ffe0bf!important;border:1px solid #96502d}
.expedition-themed.expedition-theme-easter{background:linear-gradient(145deg,#404063,#2b3044)!important;border-color:#7c82a8!important;box-shadow:inset 0 1px #ffffff12}.expedition-themed.expedition-theme-easter:before{content:'🥚 🥚 🥚';position:absolute;z-index:1;left:10px;bottom:4px;font-size:18px;opacity:.78}.expedition-themed.expedition-theme-easter:after{content:'🐣';position:absolute;z-index:4;right:9px;top:-19px;font-size:31px;filter:drop-shadow(0 3px 2px #0004)}.expedition-themed.expedition-theme-easter .exp-icon{background:#d7a94d!important;border-color:#f1ce7d!important;color:#352c18!important}.expedition-themed.expedition-theme-easter .expedition-times span{background:#ffffff13!important;border-color:#ffffff20!important}
.expedition-admin-preview.expedition-themed{min-height:190px;padding:18px}.expedition-admin-preview .exp-icon{width:32px;height:32px;border-radius:10px;background:#d6574f22;border:1px solid #d6574f44;display:grid;place-items:center;margin-bottom:10px}.field-hint{display:block;margin-top:5px;font-size:11px;font-weight:600;color:var(--muted)}
@media(max-width:700px){.theme-options{grid-template-columns:1fr}.expedition-themed.expedition-theme-christmas{margin-top:28px}}
/* v1.16.41 – final dark-theme safety layer. Kept last so legacy light rules cannot override it. */
html[data-theme="dark"],html[data-theme="dark"] body,body[data-theme="dark"],body[data-theme="dark"] .app,body[data-theme="dark"] .layout,body[data-theme="dark"] main,body[data-theme="dark"] #content,body[data-theme="dark"] .profile-page{background:#111318!important;color:#f3f4f6!important}
body[data-theme="dark"] :is(.top,.panel,.formcard,.profile-card,.password-card,.theme-card,.faq,.search,.news-item,.contact-card,.modal-card,.cropper-card,.admin-side,.admin-list,.admin-list .head,.calendar-card,.summary-card,.calendar-list-panel,.training-card,.training-list-select,.training-overview-card,.training-overview-tools,.training-side-card,.training-overview-search,.workplace-profile-box,.workplace-choice,.role-check,.role-guide,.role-guide-list,.avatar-upload,.toggle-row,.readonly-field input,.calendar-audience-box,.calendar-push-box,.backup-file-picker,.backup-preview,.ombud-message-recipient,.mobile-calendar-home,.home-order-option,.category-admin-row,.push-role-choice,.recovery-panel,.faq-admin-cta,.help-section-image,.diag-card,.diag-error-row,.admin-empty,.training-admin-summary,.install-home-banner,.ombud-card,.ombud-detail-row,.ombud-message-fields input,.ombud-message-fields textarea,.news-admin-image,.news-attachment,.news-admin-attachment,.startup-card,.training-more-row,.theme-option){background:#1a1d24!important;color:#f3f4f6!important;border-color:#303641!important}
body[data-theme="dark"] :is(.role-check,.role-guide-row,.role-guide-row strong,.role-guide-row span,.profile-meta,.profile-meta b,.profile-page label,.profile-page strong,.profile-page h3,.profile-page p,.theme-option strong,.theme-option small){color:inherit!important}
body[data-theme="dark"] :is(.profile-meta,.profile-page p,.theme-option small,.role-guide-row span,.field-hint){color:#aeb4bf!important}
body[data-theme="dark"] :is(input,textarea,select){background:#14171d!important;color:#f3f4f6!important;border-color:#303641!important}
body[data-theme="dark"] :is(input:disabled,select:disabled,textarea:disabled){background:#20242c!important;color:#c7cbd2!important;opacity:1}
body[data-theme="dark"] .role-check:has(input:checked),body[data-theme="dark"] .compact-role:has(input:checked){background:#2c2428!important;border-color:#69454d!important;color:#f3f4f6!important}
body[data-theme="dark"] .theme-option.active{background:#2b2325!important;border-color:#e06b64!important;box-shadow:0 0 0 3px rgba(224,107,100,.16)!important}
body[data-theme="dark"] .top{box-shadow:none!important}


/* extracted style block 17 */

/* v1.16.44 — modern visual system adopted from Modern Preview */
/* v1.16.45 — semantic login form: Enter submits credentials */
/* v1.16.46 — clickable calendar event details */
:root{
  font-family:"Segoe UI Variable","SF Pro Text","SF Pro Display",Inter,Roboto,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --modern-radius-lg:20px;
  --modern-radius-md:14px;
  --modern-shadow:0 10px 30px rgba(25,31,43,.055);
  --modern-shadow-hover:0 16px 38px rgba(25,31,43,.085);
}
html{font-size:16px}body{font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.006em}
main{padding:34px 36px 46px}.section{margin-top:36px}.page-title{margin-bottom:24px}.page-title h1,.section h2{letter-spacing:-.035em;font-weight:780}.page-title h1{font-size:32px;line-height:1.08}.section h2{font-size:27px;line-height:1.15}.page-title p{font-size:14px;line-height:1.55;max-width:760px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:850}
.top{height:80px;padding:0 32px;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.brand-logo-top{filter:saturate(.92)}
.layout{grid-template-columns:264px minmax(0,1fr);min-height:calc(100vh - 80px)}aside{padding:22px 16px}.nav{gap:4px}.nav button{padding:12px 14px;border-radius:10px;font-size:13px;font-weight:720;transition:.16s background,.16s transform}.nav button:hover{background:#ffffff0b}.nav button.active{background:#ffffff10;box-shadow:inset 3px 0 var(--red)}
.hero{border-radius:22px;padding:32px 34px;background:linear-gradient(135deg,color-mix(in srgb,var(--red) 92%,#fff 8%),color-mix(in srgb,var(--red) 80%,#9a201c 20%));box-shadow:0 18px 44px color-mix(in srgb,var(--red) 15%,transparent);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:360px;height:360px;border-radius:50%;right:-180px;top:-215px;background:rgba(255,255,255,.08);pointer-events:none}.hero small{font-size:14px;letter-spacing:.01em}.hero h1{font-size:32px;line-height:1.12;letter-spacing:-.04em;margin:8px 0 8px}.hero p{font-size:14px;line-height:1.55}
.panel,.formcard,.faq,.contact-card,.news-item,.help-card,.calendar-card,.training-card,.summary-card,.admin-side,.modal-card{border-radius:var(--modern-radius-lg);border-color:color-mix(in srgb,var(--line) 88%,transparent);box-shadow:var(--modern-shadow)}
.event-entry-button,.calendar-card-button{font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer}.event-entry-button{border:0;background:transparent}.event-entry-button:hover .chev{transform:translateX(2px)}.calendar-card-button{border:1px solid var(--line);background:var(--card);transition:.16s transform,.16s border-color,.16s box-shadow}.calendar-card-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--red) 35%,var(--line));box-shadow:0 12px 28px #0000000d}.calendar-card-button:focus-visible,.event-entry-button:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 24%,transparent);outline-offset:3px}.calendar-event-detail{width:min(620px,100%)}.calendar-event-detail h2{margin:5px 0 8px;font-size:26px}.calendar-event-detail-lead{margin:0 0 18px;color:var(--muted);line-height:1.6}.calendar-event-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.calendar-event-detail-item{background:color-mix(in srgb,var(--card) 92%,var(--bg) 8%);border:1px solid var(--line);border-radius:14px;padding:12px 13px}.calendar-event-detail-item small{display:block;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.calendar-event-detail-item strong{display:block;font-size:14px;line-height:1.45}.calendar-event-detail-description{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);line-height:1.65}.calendar-event-detail-description h3{font-size:14px;margin:0 0 7px}.calendar-event-detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.calendar-event-source-line{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}@media(max-width:600px){.calendar-event-detail-grid{grid-template-columns:1fr}.calendar-event-detail h2{font-size:22px}}

.panel,.formcard{padding:24px}.faq{padding:18px 19px}.row{padding:14px 3px}.row strong{font-weight:760}.row p{line-height:1.45}
.quick{gap:14px}.quick button{padding:15px 16px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:16px;background:color-mix(in srgb,var(--card) 98%,var(--bg) 2%);box-shadow:0 5px 18px rgba(25,31,43,.035);transition:.16s transform,.16s box-shadow,.16s border-color}.quick button:hover{transform:translateY(-2px);box-shadow:var(--modern-shadow-hover);border-color:color-mix(in srgb,var(--red) 22%,var(--line))}.quick .ico{width:40px;height:40px;border-radius:11px;margin-bottom:11px}.quick h3{font-size:15px;letter-spacing:-.02em}.quick p{font-size:12px;line-height:1.45}
.primary,.secondary,.small,.tabs button{transition:.16s transform,.16s box-shadow,.16s background,.16s border-color}.primary{border-radius:11px;padding:11px 15px;font-weight:760;box-shadow:0 5px 14px color-mix(in srgb,var(--red) 17%,transparent)}.primary:hover{transform:translateY(-1px);box-shadow:0 8px 18px color-mix(in srgb,var(--red) 22%,transparent)}.secondary{border-radius:11px;padding:10px 12px}.small{border-radius:9px}.tabs{gap:7px}.tabs button{border-radius:10px;padding:9px 12px;font-size:12px}
.fields{gap:14px}.fields label{font-size:12px;font-weight:760;gap:7px}.fields input,.fields textarea,.fields select,.real-login input{border-radius:11px;padding:11px 12px;border-color:color-mix(in srgb,var(--line) 94%,#aaa 6%);transition:.16s border-color,.16s box-shadow,.16s background}.fields input:focus,.fields textarea:focus,.fields select:focus{outline:none;border-color:color-mix(in srgb,var(--red) 60%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 10%,transparent)}
.search{border-radius:13px;padding:11px 14px;box-shadow:0 5px 18px rgba(25,31,43,.025)}.search input{font-size:13px}.pill{padding:5px 9px;font-size:10px;letter-spacing:.01em}.actions{gap:8px}
.admin-shell{gap:20px}.admin-side{padding:10px}.admin-side button{border-radius:10px;padding:10px 11px;font-size:12px}.admin-side .group{font-size:10px}
.training-overview-card{border-radius:16px;box-shadow:0 6px 20px rgba(25,31,43,.035)}.training-overview-card:hover{box-shadow:var(--modern-shadow-hover)}.training-side-card{border-radius:14px}.training-overview-thumb{border-radius:12px}
.theme-card{overflow:hidden}.theme-option{border-radius:14px;box-shadow:none}.theme-option.active{box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 10%,transparent)}
.expedition-box{border-radius:14px}
body[data-theme="dark"]{--modern-shadow:0 10px 28px rgba(0,0,0,.18);--modern-shadow-hover:0 16px 36px rgba(0,0,0,.24)}body[data-theme="dark"] .quick button{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important;box-shadow:var(--modern-shadow)}body[data-theme="dark"] .hero{box-shadow:0 18px 44px rgba(0,0,0,.22)}
@media(max-width:900px){main{padding:24px 20px 96px}.hero{padding:27px 25px}.hero h1{font-size:29px}.quick{grid-template-columns:repeat(2,minmax(0,1fr))}.page-title h1{font-size:29px}}
@media(max-width:760px){.top{height:68px;padding:0 15px}.layout{min-height:calc(100vh - 68px)}main{padding:20px 14px 94px}.hero{border-radius:18px;padding:24px 20px}.hero h1{font-size:27px}.section{margin-top:28px}.panel,.formcard{padding:18px;border-radius:17px}.quick{gap:10px}.quick button{padding:13px;border-radius:14px}.page-title{margin-bottom:18px}.page-title h1{font-size:27px}.section h2{font-size:23px}}

/* v1.16.47 – personal calendar appearance */
.calendar-style-options{display:grid;gap:10px;margin-top:14px;max-width:760px}.calendar-style-option{display:grid;grid-template-columns:92px minmax(0,1fr) 24px;gap:14px;align-items:center;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--text);text-align:left;cursor:pointer;transition:.16s border-color,.16s box-shadow,.16s transform}.calendar-style-option:hover{border-color:color-mix(in srgb,var(--red) 38%,var(--line));transform:translateY(-1px)}.calendar-style-option.active{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 12%,transparent)}.calendar-style-option>span:nth-child(2){min-width:0}.calendar-style-option strong,.calendar-style-option small{display:block}.calendar-style-option strong{font-size:14px}.calendar-style-option small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}.calendar-style-option>b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:11px;opacity:0}.calendar-style-option.active>b{opacity:1}.calendar-style-preview{height:58px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 76%,var(--card));padding:8px;display:grid;gap:5px;overflow:hidden}.calendar-style-preview i{display:block;border-radius:4px;background:color-mix(in srgb,var(--red) 22%,var(--card));border:1px solid color-mix(in srgb,var(--red) 24%,var(--line))}.preview-standard{grid-template-columns:1fr 1fr}.preview-standard i:first-child{grid-row:1/3}.preview-compact{grid-template-columns:1fr}.preview-compact i{height:6px}.preview-agenda{position:relative;padding-left:18px}.preview-agenda:before{content:'';position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:color-mix(in srgb,var(--red) 45%,var(--line))}.preview-agenda i{position:relative}.preview-agenda i:before{content:'';position:absolute;left:-12px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--red);transform:translateY(-50%)}
.calendar-view-compact{max-width:none}.calendar-view-compact .mini-list{gap:0}.calendar-view-compact .event-entry{padding:9px 4px;gap:10px}.calendar-view-compact .event-date{width:44px;height:50px;border-radius:12px}.calendar-view-compact .event-date strong{font-size:18px}.calendar-view-compact .event-copy strong{font-size:14px}.calendar-view-compact .event-copy p{font-size:12px;margin-top:2px}.calendar-view-compact .doc-meta{margin-top:4px}.calendar-view-compact .chip{padding:3px 7px;font-size:10px}.calendar-view-agenda{max-width:none}.calendar-agenda-list{position:relative;display:grid;gap:0;margin-top:12px;padding-left:22px}.calendar-agenda-list:before{content:'';position:absolute;left:9px;top:13px;bottom:13px;width:2px;background:color-mix(in srgb,var(--red) 24%,var(--line))}.calendar-view-agenda .event-entry{position:relative;padding:13px 4px;border-bottom:1px solid var(--line)}.calendar-view-agenda .event-entry:before{content:'';position:absolute;left:-18px;top:31px;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--card)}.calendar-view-agenda .event-date{width:50px;height:58px;border-radius:14px}.calendar-view-agenda .event-copy strong{font-size:15px}
.calendar-home-view-compact .event-entry{padding:8px 1px;gap:9px}.calendar-home-view-compact .event-date{width:42px;height:48px;border-radius:11px}.calendar-home-view-compact .event-date strong{font-size:17px}.calendar-home-view-compact .event-copy strong{font-size:14px}.calendar-home-view-compact .doc-meta{display:none}.calendar-home-view-agenda .mini-list{position:relative;padding-left:18px;gap:0}.calendar-home-view-agenda .mini-list:before{content:'';position:absolute;left:6px;top:13px;bottom:13px;width:2px;background:color-mix(in srgb,var(--red) 25%,var(--line))}.calendar-home-view-agenda .event-entry{position:relative;padding:11px 1px}.calendar-home-view-agenda .event-entry:before{content:'';position:absolute;left:-16px;top:28px;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px var(--card)}.calendar-home-view-agenda .event-date{width:46px;height:54px;border-radius:12px}.calendar-home-view-agenda .doc-meta{display:none}
body[data-theme="dark"] .calendar-style-option,body[data-theme="dark"] .calendar-style-preview{background:#1a1d24!important;color:#f3f4f6!important;border-color:#303641!important}body[data-theme="blue"] .calendar-style-option,body[data-theme="green"] .calendar-style-option,body[data-theme="pink"] .calendar-style-option{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
@media(max-width:700px){.calendar-style-option{grid-template-columns:72px minmax(0,1fr) 20px;padding:10px 11px;gap:11px}.calendar-style-preview{height:52px}.calendar-summary{grid-template-columns:1fr}.calendar-view-standard.event-grid{grid-template-columns:1fr}.calendar-view-standard>.calendar-list-panel{display:none}}

/* v1.16.48 – calendar appearance now uses genuinely different home layouts */
.home-calendar-compact-list{display:grid;gap:5px;margin-top:8px}.home-compact-event{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;gap:10px;align-items:center;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 96%,var(--bg) 4%);color:var(--text);border-radius:11px;padding:8px 9px;text-align:left;cursor:pointer}.home-compact-event:hover{border-color:color-mix(in srgb,var(--red) 35%,var(--line));background:color-mix(in srgb,var(--card) 92%,var(--red) 8%)}.home-compact-date{display:flex;align-items:baseline;gap:4px;white-space:nowrap}.home-compact-date strong{font-size:17px;line-height:1}.home-compact-date span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.home-compact-copy{min-width:0;display:grid;gap:2px}.home-compact-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-compact-copy span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-compact-arrow{font-size:20px;color:var(--muted)}
.home-calendar-agenda-list{position:relative;display:grid;gap:0;margin-top:10px;padding-left:17px}.home-calendar-agenda-list:before{content:'';position:absolute;left:5px;top:9px;bottom:9px;width:2px;background:color-mix(in srgb,var(--red) 30%,var(--line))}.home-agenda-event{position:relative;width:100%;display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:11px 5px;text-align:left;cursor:pointer}.home-agenda-event:last-child{border-bottom:0}.home-agenda-event:hover{background:color-mix(in srgb,var(--card) 92%,var(--red) 8%);border-radius:10px}.home-agenda-marker{position:absolute;left:-16px;top:50%;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--card);transform:translateY(-50%)}.home-agenda-when{display:grid;gap:2px}.home-agenda-when strong{font-size:12px}.home-agenda-when span{font-size:11px;color:var(--muted)}.home-agenda-copy{min-width:0;display:grid;gap:2px}.home-agenda-copy strong{font-size:14px}.home-agenda-copy span{font-size:11px;color:var(--muted)}
.calendar-home-view-standard .event-entry{padding:12px 2px}.calendar-home-view-standard .event-date{width:52px;height:60px}.calendar-home-view-standard .doc-meta{display:flex}
body[data-theme="dark"] .home-compact-event{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}body[data-theme="dark"] .home-agenda-event{color:var(--text)!important}
@media(max-width:700px){.home-agenda-event{grid-template-columns:78px minmax(0,1fr);gap:9px}.home-compact-event{grid-template-columns:44px minmax(0,1fr) 16px}.home-compact-copy strong{font-size:12px}}

/* v1.16.50 – classic monthly calendar */
.preview-classic{grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(4,1fr);gap:2px;padding:6px}.preview-classic i{min-width:0;border-radius:2px;background:color-mix(in srgb,var(--red) 12%,var(--card));border-color:color-mix(in srgb,var(--red) 15%,var(--line))}.preview-classic i:nth-child(3),.preview-classic i:nth-child(11),.preview-classic i:nth-child(18){background:color-mix(in srgb,var(--red) 52%,var(--card))}
.classic-calendar-shell{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden}.classic-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.classic-calendar-head h3{margin:0;font-size:18px;text-transform:capitalize}.classic-calendar-nav{display:flex;align-items:center;gap:6px}.classic-calendar-nav button{width:36px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);cursor:pointer;font-size:18px}.classic-calendar-nav button:hover{border-color:color-mix(in srgb,var(--red) 38%,var(--line));background:color-mix(in srgb,var(--card) 94%,var(--red) 6%)}.classic-weekdays,.classic-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.classic-weekdays{background:color-mix(in srgb,var(--bg) 68%,var(--card));border-bottom:1px solid var(--line)}.classic-weekdays span{padding:9px 7px;text-align:center;font-size:11px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.classic-day{min-height:116px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);min-width:0}.classic-day:nth-child(7n){border-right:0}.classic-day.outside{background:color-mix(in srgb,var(--bg) 72%,var(--card));color:var(--muted)}.classic-day.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--red) 56%,transparent)}.classic-day-number{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:850;margin-bottom:5px}.classic-day.today .classic-day-number{background:var(--red);color:#fff}.classic-day-events{display:grid;gap:4px}.classic-event{position:relative;z-index:2;width:100%;display:block;border:1px solid color-mix(in srgb,var(--red) 28%,var(--line));border-left:4px solid var(--red);border-radius:7px;background:color-mix(in srgb,var(--red) 12%,var(--card));color:var(--text);padding:6px 7px;text-align:left;cursor:pointer;min-width:0;pointer-events:auto;box-shadow:0 1px 2px #0000000b}.classic-event:hover,.classic-event:focus-visible{background:color-mix(in srgb,var(--red) 19%,var(--card));border-color:color-mix(in srgb,var(--red) 48%,var(--line));outline:none}.classic-event-title,.classic-event-time{display:block;min-width:0}.classic-event-title{font-size:11px;line-height:1.25;font-weight:850;color:var(--text);white-space:normal;overflow-wrap:anywhere}.classic-event-time{font-size:10px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classic-more{font-size:10px;color:var(--muted);font-weight:750;padding-left:4px}.home-classic-calendar .classic-calendar-shell{margin-top:8px;border-radius:14px}.home-classic-calendar .classic-calendar-head{padding:9px 10px}.home-classic-calendar .classic-calendar-head h3{font-size:14px}.home-classic-calendar .classic-calendar-nav button{width:30px;height:28px;font-size:16px}.home-classic-calendar .classic-weekdays span{padding:6px 2px;font-size:9px}.home-classic-calendar .classic-day{min-height:68px;padding:4px}.home-classic-calendar .classic-day-number{width:20px;height:20px;font-size:10px;margin-bottom:2px}.home-classic-calendar .classic-event{padding:4px 5px;border-left-width:3px;min-height:28px}.home-classic-calendar .classic-event-title{font-size:9.5px;line-height:1.15;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.home-classic-calendar .classic-event-time{display:none}.home-classic-calendar .classic-more{font-size:8px;padding-left:2px}
body[data-theme="dark"] .classic-calendar-shell,body[data-theme="dark"] .classic-day,body[data-theme="dark"] .classic-calendar-nav button{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}body[data-theme="dark"] .classic-day.outside,body[data-theme="dark"] .classic-weekdays{background:var(--surface-muted)!important}body[data-theme="dark"] .classic-event{background:color-mix(in srgb,var(--red) 13%,var(--card))!important;color:var(--text)!important}
@media(max-width:760px){.classic-calendar-scroll{overflow-x:auto;padding-bottom:4px}.classic-calendar-scroll>.classic-calendar-shell{min-width:720px}.home-classic-calendar .classic-calendar-scroll>.classic-calendar-shell{min-width:620px}.classic-day{min-height:100px}.home-classic-calendar .classic-day{min-height:64px}}



/* extracted style block 18 */

/* v1.16.51 – dark theme contrast cleanup */
body[data-theme="dark"] .calendar-sync-note{
  background:#182230!important;
  border-color:#33465e!important;
  color:#dbe7f5!important;
}
body[data-theme="dark"] .calendar-sync-note strong{color:#f3f7fb!important}
body[data-theme="dark"] .calendar-sync-note code{
  background:#101720!important;
  border-color:#3a4c62!important;
  color:#dce9f7!important;
}
body[data-theme="dark"] .file-badge.pdf{background:#3a2426!important;color:#ffaaa3!important;border:1px solid #593438!important;filter:none!important}
body[data-theme="dark"] .file-badge.doc,
body[data-theme="dark"] .file-badge.docx{background:#202d43!important;color:#aac8ff!important;border:1px solid #344867!important;filter:none!important}
body[data-theme="dark"] .file-badge.xls,
body[data-theme="dark"] .file-badge.xlsx{background:#20352a!important;color:#a9ddb8!important;border:1px solid #355744!important;filter:none!important}
body[data-theme="dark"] .file-badge.ppt,
body[data-theme="dark"] .file-badge.pptx{background:#3b2b20!important;color:#ffc08f!important;border:1px solid #5b412e!important;filter:none!important}
body[data-theme="dark"] .file-badge.file{background:#292d35!important;color:#d4d9e2!important;border:1px solid #3b424d!important;filter:none!important}
body[data-theme="dark"] .chip{background:#292e37!important;color:#dfe4eb!important;border:1px solid #3a414c!important;filter:none!important}
body[data-theme="dark"] .chip.soft-red{background:#382426!important;color:#ffaaa3!important;border-color:#593438!important;filter:none!important}
body[data-theme="dark"] .chip.soft-blue{background:#202d43!important;color:#b8d2ff!important;border-color:#344867!important;filter:none!important}
body[data-theme="dark"] .chip.soft-green{background:#20352a!important;color:#b5e2c1!important;border-color:#355744!important;filter:none!important}
body[data-theme="dark"] .event-date{background:#2d2527!important;border-color:#503639!important;color:#f6f7f9!important;filter:none!important}
body[data-theme="dark"] .event-date em{color:#f38f88!important}
body[data-theme="dark"] .detail-pill{background:#20242c!important;border-color:#343a45!important;color:#f3f4f6!important;filter:none!important}
body[data-theme="dark"] .calendar-source{background:#20352a!important;color:#b5e2c1!important;border:1px solid #355744!important}
body[data-theme="dark"] .calendar-source.demo{background:#292e37!important;color:#d6dbe4!important;border-color:#3a414c!important}
body[data-theme="dark"] .contact-sync,
body[data-theme="dark"] .admin-note,
body[data-theme="dark"] .success-banner,
body[data-theme="dark"] .help-intro{
  background:#20242c!important;
  color:#e5e8ed!important;
  border-color:#343a45!important;
}
body[data-theme="dark"] .install-card,
body[data-theme="dark"] .training-help-card{
  background:#1d2632!important;
  color:#e4edf7!important;
  border-color:#334355!important;
}
body[data-theme="dark"] .install-ok,
body[data-theme="dark"] .success-banner{
  background:#1c3024!important;
  color:#d8ebdf!important;
  border-color:#365642!important;
}
body[data-theme="dark"] .calendar-event-detail-item,
body[data-theme="dark"] .calendar-event-detail-description{
  background:#20242c!important;
  color:#f3f4f6!important;
  border-color:#343a45!important;
}
body[data-theme="dark"] .calendar-event-detail-item small{color:#aeb4bf!important}


/* extracted style block 19 */

/* v1.16.52 – mobile QA hardening + fluffier Christmas snowfall */
.expedition-snowfall{display:none}
.expedition-theme-christmas .expedition-snowfall{
  display:block;position:absolute;z-index:1;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.92) 0 1.6px,transparent 1.9px),
    radial-gradient(circle,rgba(255,255,255,.72) 0 1.1px,transparent 1.4px),
    radial-gradient(circle,rgba(255,255,255,.5) 0 .8px,transparent 1.1px);
  background-size:44px 62px,31px 48px,57px 74px;
  background-position:4px -8px,18px -26px,31px -42px;
  opacity:.85;
  animation:expedition-snowfall 9s linear infinite;
}
@keyframes expedition-snowfall{
  from{background-position:4px -60px,18px -48px,31px -74px}
  to{background-position:10px 64px,12px 96px,38px 74px}
}
.expedition-themed.expedition-theme-christmas:before{
  height:34px!important;top:-16px!important;left:-6px!important;right:-6px!important;
  border-radius:22px 22px 64% 60%!important;
  background:
    radial-gradient(ellipse at 3% 72%,#fff 0 13px,transparent 14px),
    radial-gradient(ellipse at 13% 45%,#fff 0 16px,transparent 17px),
    radial-gradient(ellipse at 26% 70%,#fff 0 15px,transparent 16px),
    radial-gradient(ellipse at 40% 40%,#fff 0 18px,transparent 19px),
    radial-gradient(ellipse at 55% 72%,#fff 0 16px,transparent 17px),
    radial-gradient(ellipse at 70% 42%,#fff 0 18px,transparent 19px),
    radial-gradient(ellipse at 84% 70%,#fff 0 15px,transparent 16px),
    radial-gradient(ellipse at 97% 48%,#fff 0 13px,transparent 14px),
    linear-gradient(#fff 0 58%,#eef8fb 82%,#dcecf2 100%)!important;
  box-shadow:0 7px 12px rgba(0,0,0,.18),inset 0 -4px 7px rgba(188,216,228,.35)!important;
}
.expedition-themed.expedition-theme-christmas:after{top:-40px!important;font-size:37px!important}

/* Defensive mobile layout pass */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  main,.section,.panel,.formcard,.faq,.contact-card,.news-item,.help-card,.calendar-card,.training-card,.summary-card,.modal-card,.admin-shell,.admin,.profile-page,.training-overview-layout,.training-overview-tools{min-width:0;max-width:100%;box-sizing:border-box}
  .fields,.fields>*,.admin>*,.training-overview-layout>*,.profile-page>*{min-width:0}
  input,select,textarea{max-width:100%;box-sizing:border-box}
  .fields input,.fields select,.fields textarea,.real-login input{width:100%}
  .actions,.btn-row,.private-event-actions,.calendar-event-detail-actions{flex-wrap:wrap}
  .admin[style*="grid-template-columns"]{grid-template-columns:1fr!important}
  .expedition-admin-preview{width:100%;min-width:0;box-sizing:border-box}
  .help-admin-preview,.help-section-image{max-width:100%;height:auto}
  .theme-options,.calendar-style-options{width:100%;max-width:100%}
  .calendar-style-option{width:100%;box-sizing:border-box}
  .document-section-tabs,.ombud-section-tabs,.training-category-tabs,.tabs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
  .mobile-menu-sheet{max-width:100vw;box-sizing:border-box}
}
@media(max-width:420px){
  .hero{padding:21px 17px}.hero h1{font-size:24px}
  .panel,.formcard{padding:16px}
  .quick{grid-template-columns:1fr}
  .calendar-style-option{grid-template-columns:58px minmax(0,1fr) 20px;gap:9px}
  .calendar-style-preview{height:46px;padding:6px}
}
@media(prefers-reduced-motion:reduce){.expedition-theme-christmas .expedition-snowfall{animation:none;background-position:4px 0,18px 8px,31px 14px}}

/* Mobile dark-theme surfaces that were still capable of inheriting light backgrounds */
@media(max-width:760px){
  body[data-theme="dark"] :is(.install-home-banner,.install-home-icon,.mobile-menu-list-clean button>span,.calendar-style-preview,.calendar-style-option,.calendar-sync-note,.mobile-situation,.mobile-search-box,.mobile-home-search,.training-overview-tools,.training-side-card,.classic-calendar-shell,.classic-day,.classic-calendar-nav button){border-color:var(--line)!important}
  body[data-theme="dark"] :is(.install-home-banner,.calendar-style-preview,.calendar-style-option,.mobile-search-box,.mobile-home-search,.training-overview-tools,.training-side-card,.classic-calendar-shell,.classic-day,.classic-calendar-nav button){background:var(--card)!important;color:var(--text)!important}
  body[data-theme="dark"] .install-home-icon,body[data-theme="dark"] .mobile-menu-list-clean button>span{background:#2a2224!important;color:#f0a09a!important}
  body[data-theme="dark"] .classic-weekdays,body[data-theme="dark"] .classic-day.outside{background:var(--surface-muted)!important;color:var(--muted)!important}
}


/* extracted style block 20 */

/* v1.16.53 – dark news panel contrast fix */
body[data-theme="dark"] .news-panel{
  background:linear-gradient(145deg,#1a1d24,#171a20)!important;
  border-color:#303641!important;
  color:#f3f4f6!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
}
body[data-theme="dark"] .news-panel-head h2{color:#f3f4f6!important}
body[data-theme="dark"] .news-panel .eyebrow{color:#f09a94!important}
body[data-theme="dark"] .news-panel .news-badge{
  background:#2a2224!important;
  color:#f4aaa4!important;
  border:1px solid #463336!important;
}
body[data-theme="dark"] .news-panel .news-item{
  background:#1d2027!important;
  border-color:#343a45!important;
  color:#f3f4f6!important;
}
body[data-theme="dark"] .news-panel .news-item p{color:#b8bec8!important}
body[data-theme="dark"] .news-panel .news-date{color:#f09a94!important}
body[data-theme="dark"] .news-panel .news-read-more{color:#f09a94!important}


/* extracted style block 21 */

/* v1.16.54 – upgraded seasonal expedition themes */
.expedition-theme-halloween .expedition-snowfall,
.expedition-theme-easter .expedition-snowfall,
.expedition-theme-summer .expedition-snowfall{
  display:block;position:absolute;inset:0;z-index:1;border-radius:inherit;overflow:hidden;pointer-events:none
}
.expedition-theme-halloween .expedition-snowfall::before,
.expedition-theme-halloween .expedition-snowfall::after,
.expedition-theme-easter .expedition-snowfall::before,
.expedition-theme-easter .expedition-snowfall::after,
.expedition-theme-summer .expedition-snowfall::before,
.expedition-theme-summer .expedition-snowfall::after{position:absolute;white-space:nowrap;pointer-events:none}

.expedition-themed.expedition-theme-halloween{
  margin-top:30px;
  background:
    radial-gradient(circle at 83% 18%,rgba(255,207,102,.18) 0 46px,transparent 47px),
    linear-gradient(180deg,#4b345d 0%,#29172e 44%,#17110f 100%)!important;
  border-color:#7f5938!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.16),inset 0 -20px 28px rgba(0,0,0,.22)
}
.expedition-themed.expedition-theme-halloween:before{
  content:none;
}
.expedition-themed.expedition-theme-halloween:after{
  content:'🎃';position:absolute;z-index:4;right:10px;top:-32px;font-size:36px;filter:drop-shadow(0 4px 3px rgba(0,0,0,.35));animation:expedition-halloween-pumpkin 2.9s ease-in-out infinite
}
.expedition-theme-halloween .expedition-snowfall{
  background:linear-gradient(180deg,transparent 0 58%,rgba(255,255,255,.05) 59% 74%,transparent 75% 100%);
  opacity:1;animation:expedition-halloween-fog 8s ease-in-out infinite alternate
}
.expedition-theme-halloween .expedition-snowfall:before{
  content:'🦇   🦇    🦇   🦇';left:-20%;top:10px;font-size:17px;opacity:.82;filter:drop-shadow(0 2px 2px rgba(0,0,0,.28));animation:expedition-halloween-bats 12s linear infinite
}
.expedition-theme-halloween .expedition-snowfall:after{
  content:'🍂   🍁   🍂   🍁';left:-8%;bottom:2px;font-size:15px;opacity:.74;filter:drop-shadow(0 2px 1px rgba(0,0,0,.2));animation:expedition-halloween-leaves 9s linear infinite
}
.expedition-themed.expedition-theme-halloween .exp-icon{background:#b85a16!important;border-color:#df7d31!important;color:#fff3e5!important}
.expedition-themed.expedition-theme-halloween .expedition-times span{background:#ffffff14!important;border-color:#ffffff24!important}
.expedition-themed.expedition-theme-halloween .days,.expedition-themed.expedition-theme-halloween p{color:#f0d9c3!important}
.expedition-themed.expedition-theme-halloween h3,.expedition-themed.expedition-theme-halloween h4{color:#fff1de!important;text-shadow:0 1px 0 rgba(0,0,0,.18)}
.expedition-themed.expedition-theme-halloween .expedition-alert{background:#6e341c!important;color:#ffe0bf!important;border:1px solid #96502d}

.expedition-themed.expedition-theme-easter{
  margin-top:28px;
  background:
    radial-gradient(circle at 18% 14%,rgba(255,255,255,.42) 0 16px,transparent 17px),
    linear-gradient(180deg,#ffe4f1 0%,#e6ecff 45%,#d8efdb 100%)!important;
  border-color:#cda7cb!important;
  box-shadow:inset 0 1px rgba(255,255,255,.45),0 10px 24px rgba(79,88,116,.12),inset 0 -18px 26px rgba(142,191,152,.18)
}
.expedition-themed.expedition-theme-easter:before{
  content:'';position:absolute;z-index:1;left:-3px;right:-3px;bottom:0;height:42px;border-radius:0 0 18px 18px;
  background:
    radial-gradient(circle at 9% 88%,#8cc78f 0 13px,transparent 14px),
    radial-gradient(circle at 24% 83%,#a6d7aa 0 16px,transparent 17px),
    radial-gradient(circle at 42% 88%,#91c694 0 14px,transparent 15px),
    radial-gradient(circle at 60% 84%,#a7dcae 0 15px,transparent 16px),
    radial-gradient(circle at 78% 88%,#89c089 0 14px,transparent 15px),
    radial-gradient(circle at 94% 84%,#a9d8ab 0 15px,transparent 16px),
    linear-gradient(180deg,transparent 0 44%,#75b681 45% 100%)
}
.expedition-themed.expedition-theme-easter:after{
  content:'🐇';position:absolute;z-index:4;right:8px;top:-24px;font-size:33px;filter:drop-shadow(0 4px 3px rgba(93,80,114,.18));transform-origin:bottom center;animation:expedition-easter-hop 3.2s ease-in-out infinite
}
.expedition-theme-easter .expedition-snowfall{
  background-image:
    radial-gradient(circle,rgba(255,255,255,.8) 0 1.5px,transparent 1.8px),
    radial-gradient(circle,rgba(255,194,222,.7) 0 1.9px,transparent 2.2px),
    radial-gradient(circle,rgba(255,239,163,.78) 0 1.7px,transparent 2px),
    radial-gradient(circle,rgba(175,219,255,.72) 0 1.6px,transparent 2px);
  background-size:38px 54px,50px 68px,42px 60px,56px 72px;
  background-position:4px -4px,16px -22px,28px -12px,10px -34px;
  opacity:.72;animation:expedition-easter-petals 10s linear infinite
}
.expedition-theme-easter .expedition-snowfall:before{
  content:'🥚   🐣   🥚   ✿';left:-12%;top:4px;font-size:15px;opacity:.72;animation:expedition-easter-garland 12s linear infinite
}
.expedition-theme-easter .expedition-snowfall:after{
  content:'✿';right:14px;top:14px;font-size:13px;color:#ff9dc7;text-shadow:-76px 12px 0 #ffd676,-142px 4px 0 #a8cfff,-108px 22px 0 #ffb7d5,-28px 38px 0 #ffd676;animation:expedition-easter-sparkle 3.4s ease-in-out infinite
}
.expedition-themed.expedition-theme-easter .exp-icon{background:#ffe7a6!important;border-color:#efc868!important;color:#725711!important}
.expedition-themed.expedition-theme-easter .expedition-times span{background:#ffffff99!important;border-color:#ffffffcf!important;color:#5e4768!important}
.expedition-themed.expedition-theme-easter .days,.expedition-themed.expedition-theme-easter p{color:#5d5670!important}
.expedition-themed.expedition-theme-easter h3,.expedition-themed.expedition-theme-easter h4{color:#6d3873!important;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.expedition-themed.expedition-theme-easter .expedition-alert{background:#fff5cf!important;color:#7a5d14!important;border:1px solid #efd88f}

.expedition-themed.expedition-theme-summer{
  margin-top:30px;
  background:
    linear-gradient(180deg,#8ad5ff 0%,#56b8ef 42%,#27b4b0 67%,#f1cf83 68%,#f7e2b6 100%)!important;
  border-color:#58a7c7!important;
  box-shadow:inset 0 1px rgba(255,255,255,.34),0 10px 24px rgba(28,90,126,.14),inset 0 -16px 26px rgba(255,255,255,.18)
}
.expedition-themed.expedition-theme-summer:before{
  content:'';position:absolute;z-index:1;right:12px;top:-18px;width:58px;height:58px;border-radius:50%;
  background:radial-gradient(circle,#fff6c1 0 16px,#ffd768 17px 28px,rgba(255,215,104,.12) 29px 100%);
  box-shadow:0 0 0 8px rgba(255,234,165,.16),0 8px 16px rgba(255,181,73,.18)
}
.expedition-themed.expedition-theme-summer:after{
  content:'🌴';position:absolute;z-index:4;left:10px;bottom:-6px;font-size:35px;transform-origin:bottom center;filter:drop-shadow(0 3px 3px rgba(0,0,0,.14));animation:expedition-summer-palm 4s ease-in-out infinite
}
.expedition-theme-summer .expedition-snowfall{
  background:
    linear-gradient(180deg,transparent 0 58%,rgba(255,255,255,.18) 59% 63%,transparent 64% 100%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 36%);
  opacity:.92
}
.expedition-theme-summer .expedition-snowfall:before{
  content:'☁️      ☁️';left:-18%;top:10px;font-size:16px;opacity:.82;animation:expedition-summer-clouds 15s linear infinite
}
.expedition-theme-summer .expedition-snowfall:after{
  content:'';left:-8%;right:-8%;bottom:24px;height:18px;border-radius:14px;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,0) 0 4px,rgba(255,255,255,.44) 5px 7px,rgba(255,255,255,0) 8px 12px);
  opacity:.55;animation:expedition-summer-waves 4.2s linear infinite
}
.expedition-themed.expedition-theme-summer .exp-icon{background:#ffe29c!important;border-color:#ffd064!important;color:#795000!important}
.expedition-themed.expedition-theme-summer .expedition-times span{background:#ffffffa8!important;border-color:#ffffffd8!important;color:#18415e!important}
.expedition-themed.expedition-theme-summer .days,.expedition-themed.expedition-theme-summer p{color:#0d4564!important}
.expedition-themed.expedition-theme-summer h3,.expedition-themed.expedition-theme-summer h4{color:#083a56!important;text-shadow:0 1px 0 rgba(255,255,255,.34)}
.expedition-themed.expedition-theme-summer .expedition-alert{background:#fff3bf!important;color:#75530f!important;border:1px solid #f1d270}

@keyframes expedition-halloween-bats{0%{transform:translateX(-8%) translateY(0)}35%{transform:translateX(28%) translateY(4px)}70%{transform:translateX(64%) translateY(-6px)}100%{transform:translateX(112%) translateY(1px)}}
@keyframes expedition-halloween-leaves{0%{transform:translateX(0) translateY(0)}35%{transform:translateX(26%) translateY(-5px)}70%{transform:translateX(56%) translateY(3px)}100%{transform:translateX(110%) translateY(-2px)}}
@keyframes expedition-halloween-pumpkin{0%,100%{transform:translateY(0) rotate(5deg)}50%{transform:translateY(-4px) rotate(-2deg)}}
@keyframes expedition-halloween-fog{from{opacity:.78;transform:translateY(0)}to{opacity:1;transform:translateY(-2px)}}
@keyframes expedition-easter-hop{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-2px) rotate(-4deg)}50%{transform:translateY(-8px) rotate(5deg)}70%{transform:translateY(-2px) rotate(-2deg)}}
@keyframes expedition-easter-petals{from{background-position:4px -46px,16px -54px,28px -42px,10px -62px}to{background-position:11px 56px,8px 88px,36px 62px,18px 96px}}
@keyframes expedition-easter-garland{0%{transform:translateX(0)}50%{transform:translateX(28%)}100%{transform:translateX(112%)}}
@keyframes expedition-easter-sparkle{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.95;transform:scale(1.08)}}
@keyframes expedition-summer-palm{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes expedition-summer-clouds{from{transform:translateX(0)}to{transform:translateX(118%)}}
@keyframes expedition-summer-waves{from{transform:translateX(0)}to{transform:translateX(18px)}}

@media(max-width:700px){
  .expedition-themed.expedition-theme-halloween,
  .expedition-themed.expedition-theme-easter,
  .expedition-themed.expedition-theme-summer{margin-top:28px}
  .expedition-themed.expedition-theme-summer:before{width:52px;height:52px;top:-16px}
}
@media(prefers-reduced-motion:reduce){
  .expedition-theme-halloween .expedition-snowfall,
  .expedition-theme-easter .expedition-snowfall,
  .expedition-theme-summer .expedition-snowfall,
  .expedition-theme-halloween .expedition-snowfall:before,
  .expedition-theme-halloween .expedition-snowfall:after,
  .expedition-theme-easter .expedition-snowfall:before,
  .expedition-theme-easter .expedition-snowfall:after,
  .expedition-theme-summer .expedition-snowfall:before,
  .expedition-theme-summer .expedition-snowfall:after,
  .expedition-themed.expedition-theme-halloween:after,
  .expedition-themed.expedition-theme-easter:after,
  .expedition-themed.expedition-theme-summer:after{animation:none!important}
}


/* extracted style block 22 */

/* v1.16.55 – seasonal expedition theme polish fixes */
.expedition-theme-halloween .expedition-snowfall{overflow:hidden;border-radius:inherit}
.expedition-theme-halloween .expedition-snowfall:before{
  content:'🦇   🦇   🦇';
  left:-12%;top:10px;font-size:16px;opacity:.78;
  animation:expedition-halloween-bats 12s linear infinite
}
.expedition-theme-halloween .expedition-snowfall:after{
  content:'🍂   🍁   🍂   🍁   🍂';
  left:8px;right:8px;bottom:8px;font-size:13px;opacity:.72;
  letter-spacing:8px;white-space:nowrap;overflow:hidden;text-align:center;
  animation:expedition-halloween-leaf-sway 4.6s ease-in-out infinite
}
.expedition-themed.expedition-theme-halloween:before{height:40px}

.expedition-themed.expedition-theme-easter{
  background:
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.42) 0 14px,transparent 15px),
    linear-gradient(180deg,#fff1f7 0%,#eef4ff 48%,#edf9ef 100%)!important;
}
.expedition-themed.expedition-theme-easter:before{
  content:'';position:absolute;z-index:1;left:10px;right:10px;bottom:7px;height:22px;border-radius:14px;
  background:
    radial-gradient(ellipse at 8% 55%,#ffd2e3 0 10px,transparent 11px),
    radial-gradient(ellipse at 24% 55%,#cde7ff 0 10px,transparent 11px),
    radial-gradient(ellipse at 40% 55%,#fff0ae 0 10px,transparent 11px),
    radial-gradient(ellipse at 56% 55%,#d8f0cb 0 10px,transparent 11px),
    radial-gradient(ellipse at 72% 55%,#ffd9b6 0 10px,transparent 11px),
    radial-gradient(ellipse at 88% 55%,#d8d2ff 0 10px,transparent 11px),
    linear-gradient(180deg,transparent 0 34%,#8bc38f 35% 100%);
  opacity:.94
}
.expedition-themed.expedition-theme-easter:after{
  right:10px;top:-22px;font-size:29px;animation:expedition-easter-hop 3.2s ease-in-out infinite
}
.expedition-theme-easter .expedition-snowfall{
  overflow:hidden;border-radius:inherit;
  background-image:
    radial-gradient(circle,rgba(255,185,214,.72) 0 1.8px,transparent 2px),
    radial-gradient(circle,rgba(255,232,151,.82) 0 1.6px,transparent 1.9px),
    radial-gradient(circle,rgba(176,214,255,.7) 0 1.7px,transparent 2px),
    radial-gradient(circle,rgba(255,255,255,.8) 0 1.4px,transparent 1.7px);
  background-size:42px 60px,52px 74px,46px 66px,56px 78px;
  background-position:8px -24px,18px -36px,30px -18px,12px -44px;
  opacity:.68;animation:expedition-easter-petals 11s linear infinite
}
.expedition-theme-easter .expedition-snowfall:before{
  content:'✿';left:auto;right:14px;top:13px;font-size:13px;color:#ff9dc7;
  text-shadow:-74px 10px 0 #ffd676,-138px 4px 0 #a8cfff,-102px 20px 0 #ffb7d5,-28px 36px 0 #ffd676;
  animation:expedition-easter-sparkle 3.4s ease-in-out infinite
}
.expedition-theme-easter .expedition-snowfall:after{content:none}

.expedition-themed.expedition-theme-summer:after{
  left:auto;right:10px;bottom:2px;font-size:26px;line-height:1;
  animation:expedition-summer-palm 4s ease-in-out infinite
}
.expedition-themed.expedition-theme-summer p,
.expedition-themed.expedition-theme-summer .expedition-alert{padding-right:40px}

@keyframes expedition-halloween-leaf-sway{
  0%,100%{transform:translateY(0) translateX(0)}
  25%{transform:translateY(-1px) translateX(2px)}
  50%{transform:translateY(1px) translateX(-2px)}
  75%{transform:translateY(-1px) translateX(1px)}
}
@media(max-width:700px){
  .expedition-themed.expedition-theme-summer:after{right:8px;bottom:4px;font-size:23px}
  .expedition-themed.expedition-theme-summer p,
  .expedition-themed.expedition-theme-summer .expedition-alert{padding-right:34px}
}
@media(prefers-reduced-motion:reduce){
  .expedition-theme-halloween .expedition-snowfall:after,
  .expedition-themed.expedition-theme-easter:after{animation:none!important}
}


/* extracted style block 23 */

/* v1.16.60 – mobile usability QA */
@media(max-width:760px){
  /* Primary mobile controls use comfortable touch targets. */
  .header-message-alert{width:44px!important;height:44px!important;min-width:44px!important;padding:7px!important}
  .messages-back{width:44px!important;height:44px!important;min-width:44px!important}
  .messages-settings-mobile-btn{width:44px!important;height:44px!important;min-width:44px!important}
  .messages-page-actions .secondary{min-width:44px!important;min-height:44px!important}
  .ombud-action-btn{min-height:44px!important;padding:10px 11px!important}
  .mobile-filter-row button,.document-section-tabs button{min-height:44px}
  .message-tools-toggle{min-width:44px!important;min-height:44px!important;padding:8px!important}
  .training-overview-tabs button{min-height:44px!important;padding:9px 11px!important}
  .tabs button{min-height:44px!important;padding:10px 13px!important}

  /* Only the search/filter toolbar is sticky on Documents. Two stacked
     sticky bars were competing for the same top position on phones. */
  .document-section-tabs{position:static!important;top:auto!important;z-index:auto!important;background:transparent!important;padding-top:0!important}

  /* Keep long titles/actions from squeezing card content. */
  .ombud-card-main{min-width:0}
  .ombud-card-main>div:not(.ombud-avatar){min-width:0}
  .ombud-card-main strong,.ombud-card-main small{overflow-wrap:anywhere}
  .page-title{min-width:0}
  .page-title>div{min-width:0}
  .page-title h1,.page-title p{overflow-wrap:anywhere}
}
@media(max-width:370px){
  /* On very narrow phones, preserve the logo and account actions instead
     of compressing all header text into an unreadable strip. */
  .brand-divider,.portal-lockup{display:none!important}
  .brand-logo-top{max-width:122px!important}
  .header-account-actions{gap:4px!important}
}

/* v1.16.64 – rollfärger, låsta kallelser och mobil dock */
.event-role-colored{--event-color:#c8102e}
.event-entry.event-role-colored,.calendar-card.event-role-colored,.home-compact-event.event-role-colored{border-left:4px solid var(--event-color)!important}
.classic-event.event-role-colored{border-left-color:var(--event-color)!important;background:color-mix(in srgb,var(--event-color) 12%,var(--card))!important;border-color:color-mix(in srgb,var(--event-color) 30%,var(--line));border-left-width:4px!important}
.home-agenda-event.event-role-colored .home-agenda-marker{background:var(--event-color)!important}
.event-audience-chip{border-color:color-mix(in srgb,var(--event-color) 36%,var(--line))!important;background:color-mix(in srgb,var(--event-color) 11%,var(--card))!important;color:var(--text)!important}
.event-locked{cursor:default!important;opacity:.82}
.event-locked:hover{transform:none!important;box-shadow:none!important}
button.event-locked:disabled{color:var(--text);-webkit-text-fill-color:var(--text)}
.mobile-dock button.has-unread{font-weight:950;color:#9e1428}
.mobile-dock-unread{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#c8102e;color:#fff;font-style:normal;font-size:9px;font-weight:950;vertical-align:top;margin-left:3px;box-shadow:0 0 0 2px var(--card,#fff)}


/* extracted style block 24 */

body[data-theme="pink"]{--muted:#71364f!important}
body[data-theme="blue"]{--muted:#3f5e7a!important}
body[data-theme="green"]{--muted:#42634d!important}
body[data-theme="dark"]{--muted:#b6bdc8!important}


/* extracted style block 25 */

/* v1.16.67 – the Rörgruppen logo must remain visibly rendered on phones. */
@media(max-width:760px){
  .top{column-gap:8px!important}
  .brand{flex:0 0 auto!important;min-width:88px!important;overflow:visible!important}
  .brand-logo-top{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:92px!important;
    height:auto!important;
    max-width:92px!important;
    min-width:92px!important;
    object-fit:contain!important;
    flex:0 0 92px!important;
  }
  .brand-divider{display:none!important}
  .portal-lockup{display:none!important}
  .header-daily-info{min-width:0!important;flex:1 1 auto!important;margin-left:0!important}
  .header-account-actions{flex:0 0 auto!important}
}
@media(max-width:370px){
  .brand{min-width:78px!important}
  .brand-logo-top{width:80px!important;min-width:80px!important;max-width:80px!important;flex-basis:80px!important}
}


/* extracted style block 26 */

.message-read-status{display:inline-flex;align-items:center;margin-left:7px;font-size:10px;font-weight:850;white-space:nowrap;letter-spacing:.01em}
.message-read-status.sent{color:var(--muted)}
.message-delivery-state{display:inline-flex;align-items:center;margin-left:7px;font-size:10px;font-weight:850;color:var(--muted);white-space:nowrap}.message-bubble-row.pending .message-bubble{opacity:.88}.message-bubble-row.pending .message-bubble-actions{display:none}
.message-read-status.read{color:#276b9a}
.message-new-indicator{position:sticky;bottom:10px;display:block;margin:10px auto 0;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-primary);box-shadow:0 6px 18px rgba(20,24,34,.16);font:inherit;font-size:12px;font-weight:850;cursor:pointer;z-index:4}.message-new-indicator:hover{background:var(--surface-secondary)}

body[data-theme='dark'] .message-read-status.read{color:#78bce8}
body[data-theme='pink'] .message-read-status.read{color:#8b3157}
body[data-theme='blue'] .message-read-status.read{color:#1d628e}
body[data-theme='green'] .message-read-status.read{color:#2c6b3c}

/* v1.16.93 — floating desktop messages */
.floating-messages{position:fixed;right:24px;bottom:22px;z-index:850;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.floating-messages>*{pointer-events:auto}
.floating-message-launcher{min-height:48px;padding:0 16px;border:0;border-radius:999px;background:#252936;color:#fff;box-shadow:0 10px 30px rgba(20,24,34,.24);display:flex;align-items:center;gap:9px;font:inherit;font-size:14px;font-weight:850;cursor:pointer}
.floating-message-launcher:hover{transform:translateY(-1px);box-shadow:0 13px 34px rgba(20,24,34,.29)}
.floating-message-launcher .floating-message-count{display:none;min-width:23px;height:23px;padding:0 7px;border-radius:999px;background:#c8102e;color:#fff;align-items:center;justify-content:center;font-size:11px;box-shadow:0 0 0 2px #252936}
.floating-message-launcher .floating-message-count.show{display:inline-flex}
.floating-message-panel{width:min(390px,calc(100vw - 40px));height:min(610px,calc(100vh - 105px));border:1px solid var(--line);border-radius:20px;background:var(--surface,#fff);box-shadow:0 22px 70px rgba(20,24,34,.28);overflow:hidden;display:flex;flex-direction:column;color:var(--text)}
.floating-message-top{min-height:62px;padding:11px 13px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;background:var(--surface,#fff)}
.floating-message-top-copy{min-width:0;flex:1}.floating-message-top-copy strong,.floating-message-top-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-message-top-copy small{font-size:11px;color:var(--muted);margin-top:2px}
.floating-message-icon-btn{width:38px;height:38px;border:0;border-radius:11px;background:transparent;color:var(--text);font-size:20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.floating-message-icon-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}
.floating-message-toolbar{padding:11px 12px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.floating-message-toolbar input{height:40px;border-radius:11px}.floating-message-toolbar button{white-space:nowrap}
.floating-message-list{flex:1;min-height:0;overflow:auto}.floating-message-list .message-thread{min-height:68px}.floating-message-list .messages-empty{padding-top:54px}
.floating-message-chat{display:flex;flex-direction:column;min-height:0;flex:1}.floating-message-chat .messages-stream{padding:14px 12px}.floating-message-chat .message-bubble{max-width:86%}.floating-message-chat .message-bubble-actions{display:none}.floating-message-compose{padding:9px 10px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:7px;background:var(--surface,#fff)}.floating-message-compose textarea{min-height:44px;max-height:100px;resize:none;border-radius:13px;padding:11px;font:inherit}.floating-message-compose button{width:46px;height:46px;padding:0;border-radius:13px;font-size:18px}
.floating-message-footer{padding:9px 12px;border-top:1px solid var(--line);display:flex;justify-content:center}.floating-message-footer button{border:0;background:transparent;color:var(--primary,#b5121b);font:inherit;font-size:12px;font-weight:850;cursor:pointer}
body[data-theme='dark'] .floating-message-panel,body[data-theme='dark'] .floating-message-top,body[data-theme='dark'] .floating-message-compose{background:var(--surface,#1c1c1c)}

/* v1.16.94 — Facebook-inspired desktop chat dock */
.floating-messages{right:18px;bottom:14px;left:auto;display:block}
.floating-chat-dock{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;max-width:calc(100vw - 36px)}
.floating-chat-window{width:338px;height:min(470px,calc(100vh - 92px));border:1px solid var(--line);border-radius:14px 14px 10px 10px;background:var(--surface,#fff);box-shadow:0 12px 42px rgba(20,24,34,.25);overflow:hidden;display:flex;flex-direction:column;color:var(--text)}
.floating-chat-window .floating-message-top{min-height:54px;padding:7px 8px 7px 10px;box-shadow:0 1px 0 var(--line)}
.floating-chat-window .floating-message-top .message-avatar{width:36px;height:36px;font-size:12px}
.floating-chat-window .floating-message-top-copy strong{font-size:14px}.floating-chat-window .floating-message-top-copy small{font-size:11px}
.floating-chat-window .floating-message-icon-btn{width:34px;height:34px;border-radius:50%;font-size:19px;color:var(--primary,#b5121b)}
.floating-chat-window .messages-stream{padding:12px 10px;background:color-mix(in srgb,var(--bg) 72%,var(--surface) 28%)}
.floating-chat-window .message-bubble{max-width:84%;border-radius:17px 17px 17px 5px}.floating-chat-window .message-bubble-row.mine .message-bubble{border-radius:17px 17px 5px 17px}
.floating-chat-window .floating-message-compose{padding:8px;grid-template-columns:minmax(0,1fr) 42px}.floating-chat-window .floating-message-compose textarea{min-height:42px;padding:10px 11px;border-radius:18px}.floating-chat-window .floating-message-compose button{width:42px;height:42px;border-radius:50%}
.floating-chat-window .floating-message-footer{padding:6px 10px}
.floating-minimized-tray{display:flex;align-items:flex-end;gap:8px;max-width:min(410px,36vw);overflow-x:auto;padding:4px 2px;scrollbar-width:none}.floating-minimized-tray::-webkit-scrollbar{display:none}
.floating-chat-chip{height:46px;max-width:170px;padding:4px 10px 4px 5px;border:1px solid var(--line);border-radius:999px;background:var(--surface,#fff);color:var(--text);box-shadow:0 7px 24px rgba(20,24,34,.2);display:flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:850;cursor:pointer;position:relative}.floating-chat-chip:hover{transform:translateY(-1px)}.floating-chat-chip .message-avatar{width:34px;height:34px;font-size:11px}.floating-chat-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-chat-chip .message-unread-count{position:absolute;right:-3px;top:-5px}
.floating-chat-actions{display:flex;align-items:center;gap:8px;position:relative}
.floating-round-button{width:50px;height:50px;border:0;border-radius:50%;background:#252936;color:#fff;box-shadow:0 8px 26px rgba(20,24,34,.25);display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:21px;cursor:pointer;position:relative}.floating-round-button:hover{transform:translateY(-1px)}
.floating-chat-tooltip{position:absolute;right:60px;bottom:0;width:250px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:14px;background:var(--surface);color:var(--text-primary);box-shadow:0 12px 34px rgba(20,24,34,.22);display:flex;align-items:flex-start;gap:9px;opacity:0;visibility:hidden;transform:translateX(6px) scale(.98);transform-origin:right bottom;pointer-events:none;transition:opacity .16s ease,visibility .16s ease,transform .16s ease;z-index:8;text-align:left}.floating-chat-tooltip::after{content:'';position:absolute;right:-6px;bottom:18px;width:11px;height:11px;background:var(--surface);border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-right:1px solid color-mix(in srgb,var(--border) 70%,transparent);transform:rotate(45deg)}.floating-chat-tooltip-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:17px}.floating-chat-tooltip-copy{min-width:0}.floating-chat-tooltip strong{display:block;font-size:13px;line-height:1.25;margin-bottom:2px}.floating-chat-tooltip small{display:block;color:var(--text-secondary);font-size:11px;line-height:1.35}.floating-round-button:hover + .floating-chat-tooltip,.floating-round-button:focus-visible + .floating-chat-tooltip,.floating-chat-actions:focus-within .floating-chat-tooltip{opacity:1;visibility:visible;transform:translateX(0) scale(1)}
@media(hover:none){.floating-chat-tooltip{width:auto;max-width:220px;padding:9px 11px;right:58px}.floating-chat-tooltip small{display:none}.floating-chat-tooltip-icon{width:30px;height:30px;flex-basis:30px}.floating-chat-tooltip strong{font-size:12px}.floating-chat-actions.is-idle .floating-chat-tooltip{opacity:1;visibility:visible;transform:translateX(0) scale(1)}}
.floating-round-button .floating-message-count{display:none;position:absolute;right:-3px;top:-5px;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#c8102e;color:#fff;align-items:center;justify-content:center;font-size:10px;font-weight:900;box-shadow:0 0 0 2px var(--surface,#fff)}.floating-round-button .floating-message-count.show{display:inline-flex}
.floating-hub-popover{position:absolute;right:0;bottom:60px;width:370px;height:min(535px,calc(100vh - 100px));border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff);box-shadow:0 18px 58px rgba(20,24,34,.28);overflow:hidden;display:flex;flex-direction:column;color:var(--text)}
.floating-hub-popover .floating-message-top{min-height:56px}.floating-hub-popover .floating-message-list{flex:1}.floating-hub-popover .floating-message-toolbar{grid-template-columns:1fr}.floating-hub-popover .message-thread{min-height:66px}
.floating-ombud-role{display:block;margin-top:2px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-theme='dark'] .floating-chat-window,body[data-theme='dark'] .floating-hub-popover,body[data-theme='dark'] .floating-chat-chip{background:var(--surface,#1c1c1c)}
@media(max-width:900px){
  .floating-messages{display:block!important;right:14px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:980}
  .floating-chat-dock{max-width:none}
  .floating-minimized-tray{display:none}
  .floating-round-button{width:52px;height:52px;font-size:22px}
  .floating-chat-window{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;border:0;border-radius:0;z-index:990;background:var(--surface,#fff)}
  .floating-chat-window .floating-message-top{min-height:62px;padding:calc(7px + env(safe-area-inset-top)) 8px 7px 10px}
  .floating-chat-window .floating-message-top .message-avatar{width:40px;height:40px}
  .floating-chat-window .floating-message-top-copy strong{font-size:16px}
  .floating-chat-window .floating-message-top-copy small{font-size:12px}
  .floating-chat-window .messages-stream{padding:12px 9px 16px}
  .floating-chat-window .message-bubble{max-width:88%}
  .floating-chat-window .message-bubble-actions{display:flex}
  .floating-chat-window .floating-message-compose{padding:8px 8px calc(8px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) 48px}
  .floating-chat-window .floating-message-compose textarea{font-size:16px;min-height:48px}
  .floating-chat-window .floating-message-compose button{width:48px;height:48px}
  .floating-chat-window .floating-message-footer{display:none}
  .floating-hub-popover{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;border:0;border-radius:0;z-index:990;background:var(--surface,#fff)}
  .floating-hub-popover .floating-message-top{min-height:64px;padding:calc(8px + env(safe-area-inset-top)) 10px 8px}
  .floating-hub-popover .floating-message-top-copy strong{font-size:19px}
  .floating-hub-popover .floating-message-toolbar{padding:10px 12px}
  .floating-hub-popover .floating-message-toolbar input{height:46px;font-size:16px;border-radius:14px}
  .floating-hub-popover .message-thread{min-height:74px;padding:12px}
  .floating-hub-popover .message-avatar{width:46px;height:46px}
  .floating-hub-popover .message-thread-copy strong{font-size:15px}
  .floating-hub-popover .message-thread-copy small,.floating-hub-popover .floating-ombud-role{font-size:12px}
  body.mobile-floating-chat-open{overflow:hidden;overscroll-behavior:none}
}
@media(max-width:760px){
  .top{height:90px!important;padding:0 10px!important;column-gap:7px!important}
  .brand{min-width:106px!important}
  .brand-logo-top{width:108px!important;min-width:108px!important;max-width:108px!important;flex-basis:108px!important}
  .header-daily-info{align-self:center!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:4px!important;padding:6px 8px!important;margin:0!important;min-width:0!important;border-radius:12px!important}
  .header-dayline{display:flex!important;flex-direction:column!important;gap:1px!important;min-width:0!important}
  .header-date{display:block!important;font-size:10px!important;line-height:1.1!important;max-width:132px!important}
  .header-nameday{font-size:9.5px!important;line-height:1.1!important;max-width:132px!important}
  .header-weather{padding-left:0!important;border-left:0!important;gap:5px!important;font-size:12px!important;line-height:1.15!important;color:var(--text)!important}
  .header-weather-icon{font-size:21px!important}
  .header-weather strong{font-size:16px!important;line-height:1!important}
  .header-weather-place{display:inline!important;font-size:10.5px!important;font-weight:800!important}
  .header-weather-wind{display:none!important}
  .header-weather small{display:none!important}
  .header-message-alert{width:38px!important;height:38px!important}
  .header-account-actions .profile{width:40px!important;height:40px!important}
  .message-read-status{font-size:9.5px;margin-left:6px}
}
@media(max-width:370px){
  .top{padding:0 8px!important;column-gap:5px!important}
  .brand{min-width:94px!important}
  .brand-logo-top{width:96px!important;min-width:96px!important;max-width:96px!important;flex-basis:96px!important}
  .header-daily-info{padding:5px 6px!important;gap:3px!important}
  .header-date{font-size:9px!important;max-width:116px!important}
  .header-nameday{font-size:8.8px!important;max-width:116px!important}
  .header-weather{gap:4px!important}
  .header-weather-icon{font-size:19px!important}
  .header-weather strong{font-size:15px!important}
  .header-weather-place{font-size:9.5px!important}
}

/* v1.16.70 – inbyggd dokumentvisare */
body.document-viewer-open{overflow:hidden}
.document-viewer-backdrop{position:fixed;inset:0;z-index:180;background:#111827d9;display:grid;place-items:center;padding:18px}
.document-viewer-shell{width:min(1180px,100%);height:min(900px,calc(100dvh - 36px));background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;box-shadow:0 30px 90px #0008}
.document-viewer-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--card)}
.document-viewer-back{width:44px;height:44px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;font-size:22px;font-weight:900;cursor:pointer;flex:0 0 auto}
.document-viewer-title{min-width:0;flex:1;display:grid;gap:3px}.document-viewer-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.document-viewer-title span{font-size:12px;color:var(--muted);font-weight:700}
.document-viewer-actions{display:flex;gap:8px}.document-viewer-body{min-height:0;overflow:auto;background:#f3f4f6;position:relative}.document-viewer-loading{height:100%;display:grid;place-items:center;color:#6b7280;font-weight:800}
.document-pdf-frame{width:100%;height:100%;border:0;background:#fff}.document-viewer-mobile-fallback{display:none}
.pdfjs-viewer{height:100%;display:grid;grid-template-rows:auto 1fr;min-height:0;background:#e5e7eb}.pdfjs-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.pdfjs-toolbar button{min-width:42px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font-weight:900;font-size:18px;cursor:pointer}.pdfjs-toolbar button:disabled{opacity:.4;cursor:default}.pdfjs-page-label{min-width:72px;text-align:center;font-size:13px;font-weight:900;color:var(--text)}.pdfjs-zoom-label{min-width:52px;text-align:center;font-size:12px;font-weight:800;color:var(--muted)}.pdfjs-stage{min-height:0;overflow:auto;padding:14px;display:grid;place-items:start center}.pdfjs-canvas-wrap{background:#fff;box-shadow:0 8px 28px #0003;line-height:0}.pdfjs-canvas{display:block;max-width:none}.pdfjs-error{padding:24px;text-align:center}.pdfjs-error h2{margin:0 0 8px}.pdfjs-error p{color:#6b7280;max-width:520px;margin:0 auto 14px}
@media(max-width:760px){.pdfjs-toolbar{padding:7px 8px;gap:6px}.pdfjs-toolbar button{min-width:40px;height:40px}.pdfjs-stage{padding:8px}.pdfjs-page-label{min-width:64px}.pdfjs-zoom-label{min-width:46px}}
.document-rendered{width:min(850px,calc(100% - 32px));margin:20px auto;background:#fff;color:#1f2937;border-radius:12px;padding:34px 38px;box-shadow:0 8px 30px #00000012;line-height:1.6}.document-rendered h1,.document-rendered h2,.document-rendered h3{color:#111827}.document-rendered img{max-width:100%;height:auto}.document-rendered table{border-collapse:collapse;width:100%;overflow:auto}.document-rendered th,.document-rendered td{border:1px solid #d1d5db;padding:8px;text-align:left}.document-rendered a{color:#1d4ed8}
.document-text-pre{width:min(950px,calc(100% - 28px));margin:18px auto;background:#fff;color:#111827;border-radius:12px;padding:22px;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:0 8px 30px #00000010}
.document-csv-wrap{margin:18px;overflow:auto;background:#fff;border-radius:12px;border:1px solid #dfe3e8}.document-csv{border-collapse:collapse;min-width:100%;color:#111827;font-size:13px}.document-csv th,.document-csv td{padding:9px 11px;border:1px solid #e5e7eb;white-space:nowrap}.document-csv th{background:#f8fafc;position:sticky;top:0;font-weight:900}
.document-viewer-note{margin:12px 18px;color:#6b7280;font-size:12px}.document-unsupported{min-height:100%;display:grid;place-content:center;justify-items:center;text-align:center;padding:30px;color:#374151}.document-unsupported-icon{font-size:48px}.document-unsupported h2{margin:12px 0 6px}.document-unsupported p{max-width:500px;color:#6b7280}.document-unsupported .btn-row{justify-content:center}
body[data-theme='dark'] .document-viewer-body{background:#11151d}body[data-theme='dark'] .document-rendered,body[data-theme='dark'] .document-text-pre,body[data-theme='dark'] .document-csv-wrap{background:#f8fafc;color:#111827}
@media(max-width:760px){.document-viewer-backdrop{padding:0}.document-viewer-shell{width:100%;height:100dvh;border-radius:0;border:0}.document-viewer-head{padding:9px 10px;gap:8px}.document-viewer-title strong{font-size:14px}.document-viewer-title span{font-size:11px}.document-viewer-actions .secondary{padding:9px 8px;min-height:40px;font-size:11px}.document-viewer-actions .secondary:last-child{display:none}.document-rendered{width:calc(100% - 18px);margin:9px auto;padding:22px 17px;border-radius:10px}.document-text-pre{width:calc(100% - 18px);margin:9px auto;padding:16px;font-size:13px}.document-csv-wrap{margin:9px}.document-pdf-frame{min-height:calc(100dvh - 63px)}}


/* extracted style block 27 */

.section-search{display:flex;align-items:center;gap:9px;width:min(620px,100%);padding:6px 7px 6px 14px;margin:0 0 15px;background:var(--card);border:1px solid var(--line);border-radius:15px;box-sizing:border-box}.section-search>span{color:var(--muted);font-size:18px}.section-search input{flex:1;min-width:0;border:0!important;background:transparent!important;padding:9px 2px!important;font:inherit;font-size:15px;outline:0}.section-search small{color:var(--muted);white-space:nowrap;padding-right:7px}
.document-ux-tools{display:grid;gap:11px;margin-bottom:15px}.document-ux-tools .mobile-doc-tools{display:block;position:static;background:transparent;padding:0;margin:0}.document-ux-tools .mobile-doc-search{max-width:620px}.document-ux-tools .mobile-filter-row{display:none}.document-result-count{font-size:13px;color:var(--muted);font-weight:750}
.calendar-view-switcher{display:flex;gap:7px;flex-wrap:wrap;padding:7px;margin:0 0 15px;border:1px solid var(--line);border-radius:14px;background:var(--card);width:max-content;max-width:100%}.calendar-view-switcher button{border:0;border-radius:10px;background:transparent;color:var(--text);padding:9px 12px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.calendar-view-switcher button.active{background:#252936;color:#fff}.calendar-view-switcher-label{display:flex;align-items:center;padding:0 7px;color:var(--muted);font-size:12px;font-weight:800}
.admin-side .group.admin-group-divider{margin-top:9px;padding-top:13px;border-top:1px solid var(--line)}.admin-side .group.admin-group-divider:first-child{margin-top:0;border-top:0;padding-top:8px}.admin-context{display:flex;gap:10px;align-items:center;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 94%,var(--bg) 6%)}.admin-context b{font-size:13px}.admin-context span{font-size:12px;color:var(--muted)}
.outreach-form-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 18px}.outreach-form-guide div{border:1px solid var(--line);border-radius:13px;padding:11px;background:color-mix(in srgb,var(--card) 94%,var(--bg) 6%)}.outreach-form-guide b{display:block;font-size:12px}.outreach-form-guide span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.outreach-privacy-note{margin:14px 0 0;padding:12px 14px;border-left:4px solid #d97706;background:#fff8e8;border-radius:10px;font-size:12px;line-height:1.5}
.profile-visibility-summary{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 94%,var(--bg) 6%);text-align:left}.profile-visibility-summary strong,.profile-visibility-summary span{display:block}.profile-visibility-summary span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.help-no-results{display:none;padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.help-no-results.show{display:block}
body[data-theme='dark'] :is(.section-search,.calendar-view-switcher,.admin-context,.outreach-form-guide div,.profile-visibility-summary){background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}body[data-theme='dark'] .outreach-privacy-note{background:#352d1f;color:#f4e6bc}
@media(max-width:1000px){.admin-side .group.admin-group-divider{display:none}.admin-context{display:none}}
@media(max-width:700px){.section-search{position:sticky;top:72px;z-index:8}.section-search small{display:none}.calendar-view-switcher{width:100%;overflow-x:auto;flex-wrap:nowrap}.calendar-view-switcher button{white-space:nowrap;min-height:44px}.calendar-view-switcher-label{display:none}.outreach-form-guide{grid-template-columns:1fr}.document-ux-tools .mobile-filter-row{display:flex}}


/* extracted style block 28 */

/* Shared form and dialog language across the portal. */
.modal-card :is(h2,h3),.admin-form-head :is(h2,h3){letter-spacing:-.015em}.modal-card>.eyebrow+h2{margin-top:5px}
.admin-form-wrap{width:min(900px,100%);margin-inline:auto}.admin-form-wrap>.formcard,.admin-form-card{padding:26px}.admin-form-head{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:20px}.admin-form-head p,.training-edit-intro{line-height:1.55}
.admin-form-wrap .fields label,.modal-card .fields label{font-size:14px;font-weight:800}.admin-form-wrap .fields label small,.modal-card .fields label small{font-weight:500;line-height:1.45}.admin-form-wrap :is(input,select,textarea),.modal-card .fields :is(input,select,textarea){font-size:16px}.admin-form-wrap textarea,.modal-card .fields textarea{line-height:1.5;resize:vertical}
.admin-form-wrap .btn-row,.modal-card>.btn-row{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.admin-form-wrap .btn-row button,.modal-card>.btn-row button{min-height:44px}.admin-form-wrap button:disabled,.modal-card button:disabled{opacity:.58;cursor:wait}
.modal-close{min-width:44px!important;min-height:44px!important}.row-menu{align-items:center}.row-menu>.small{min-height:38px}.row-menu>.danger{order:9}
.form-required-note{color:var(--muted);font-size:12px;margin:-8px 0 16px}.form-required-note b{color:var(--red)}
@media(max-width:700px){.modal-backdrop{padding:0}.modal-card{width:100%!important;max-width:none!important;max-height:100dvh!important;min-height:100dvh;border-radius:0!important;padding:20px 16px calc(18px + env(safe-area-inset-bottom))!important}.modal-card>.modal-close{position:sticky;top:calc(8px + env(safe-area-inset-top));float:right;z-index:5}.admin-form-wrap>.formcard,.admin-form-card{padding:18px 14px}.admin-form-head{padding-top:4px}.admin-form-wrap .btn-row,.modal-card>.btn-row{position:sticky;bottom:0;z-index:4;background:var(--card);padding:12px 0 calc(8px + env(safe-area-inset-bottom));box-shadow:0 -1px 0 var(--line)}.admin-form-wrap .btn-row button,.modal-card>.btn-row button{flex:1;min-width:130px}}


/* extracted style block 29 */

.profile-hub{display:grid;gap:18px}.profile-summary{display:flex;align-items:center;gap:20px;padding:22px 24px;text-align:left}.profile-summary .profile-avatar-big{width:112px;height:112px;margin:0;flex:0 0 auto;font-size:34px}.profile-summary-main{min-width:0;flex:1}.profile-summary-main h2{margin:2px 0 5px;font-size:25px}.profile-summary-meta{display:flex;gap:8px 16px;flex-wrap:wrap;color:var(--muted);font-size:13px}.profile-summary-tags,.profile-active-roles{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.profile-summary-tag,.profile-role-chip{display:inline-flex;align-items:center;min-height:31px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft,#f6f4f2);font-size:12px;font-weight:800}.profile-role-chip{background:#fff4f2;border-color:#efcbc5;color:#8d211b}.profile-tabs{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:15px;background:var(--card);overflow-x:auto}.profile-tab{flex:1;min-width:135px;min-height:44px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:850;cursor:pointer}.profile-tab.active{background:var(--red);color:#fff;box-shadow:0 5px 14px rgba(160,22,18,.18)}.profile-section{display:grid;gap:18px}.profile-section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.profile-section .formcard{margin:0}.profile-avatar-editor{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center}.profile-avatar-editor .profile-avatar-big{width:92px;height:92px;margin:0;font-size:28px}.profile-avatar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.profile-avatar-actions input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.profile-file-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.profile-setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.profile-setting-row:last-child{border-bottom:0}.profile-setting-copy strong,.profile-setting-copy span{display:block}.profile-setting-copy span{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45}.profile-switch{display:flex;align-items:center;gap:9px;font-weight:800;cursor:pointer}.profile-switch input{width:20px;height:20px}.profile-save-bar{position:sticky;bottom:10px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 10px 28px rgba(24,20,18,.12);backdrop-filter:blur(12px)}.profile-save-bar span{color:var(--muted);font-size:13px}.profile-save-bar button:disabled{opacity:.5;cursor:not-allowed}.profile-security-actions{display:flex;justify-content:flex-end;padding-top:14px;border-top:1px solid var(--line)}
body[data-theme="dark"] :is(.profile-tabs,.profile-summary-tag,.profile-role-chip,.profile-save-bar){background:var(--card)!important;border-color:var(--line)!important}body[data-theme="dark"] .profile-role-chip{color:#ffb8b2!important}
@media(max-width:760px){.profile-summary{align-items:flex-start;padding:18px}.profile-summary .profile-avatar-big{width:78px;height:78px;font-size:25px}.profile-summary-main h2{font-size:21px}.profile-summary-meta{display:grid;gap:4px}.profile-section-grid{grid-template-columns:1fr}.profile-tabs{position:sticky;top:68px;z-index:7}.profile-tab{min-width:112px}.profile-avatar-editor{grid-template-columns:72px 1fr}.profile-avatar-editor .profile-avatar-big{width:72px;height:72px}.profile-setting-row{align-items:flex-start;flex-direction:column}.profile-save-bar{bottom:calc(70px + env(safe-area-inset-bottom))}.profile-save-bar button{min-height:44px}.profile-security-actions .secondary{width:100%}}


/* extracted style block 30 */

.calendar-reminder-box{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft,#f7f5f3)}.calendar-reminder-head{display:flex;gap:12px;align-items:flex-start}.calendar-reminder-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);font-size:20px}.calendar-reminder-head h3{margin:1px 0 4px}.calendar-reminder-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.calendar-reminder-controls{display:flex;align-items:end;gap:10px;margin-top:14px}.calendar-reminder-controls label{flex:1}.calendar-reminder-controls select{width:100%;margin-top:5px}.calendar-reminder-actions{display:flex;gap:8px;flex-wrap:wrap}.calendar-reminder-status{margin-top:10px;font-size:12px;color:var(--muted)}.calendar-reminder-status.success{color:#17633b}.profile-notification-card .profile-setting-row{display:grid;grid-template-columns:1fr;gap:12px}.profile-notification-card .actions{justify-content:flex-start}.profile-notification-card .actions button{min-width:140px}.profile-hub>.profile-tabs{order:-2}.profile-hub>.profile-summary{order:-1}
body[data-theme="dark"] .calendar-reminder-box{background:var(--card);border-color:var(--line)}
@media(max-width:620px){.calendar-reminder-controls{align-items:stretch;flex-direction:column}.calendar-reminder-actions,.calendar-reminder-actions button{width:100%}.profile-notification-card .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.profile-notification-card .actions button{min-width:0}}


/* extracted style block 31 */

/* Final specificity layer: keep later legacy component styles from escaping semantic theme tokens. */
button:disabled,input:disabled,textarea:disabled,select:disabled{opacity:1!important;background:var(--surface-secondary)!important;color:var(--text-muted)!important;border-color:var(--border)!important;cursor:not-allowed!important}
.help-security :is(p,small,span),.help-warning-note :is(p,small,span),.backup-warning :is(p,small,span),.training-important-note :is(p,small,span),.install-note :is(p,small,span),.outreach-admin-strip :is(p,small,span),.banner :is(p,small,span),.security :is(p,small,span){color:inherit!important}
.floating-chat-window .floating-message-icon-btn,.floating-message-footer button{color:var(--text-secondary)!important}
.training-related-links :is(a,button),.training-side-card :is(a,button){color:var(--link)!important}
.contact-role,.training-source-badge{background:var(--accent-soft)!important;color:var(--accent-soft-text)!important;border-color:var(--chat-own-border)!important}
.calendar-card .detail-pill small{color:var(--text-muted)!important}

/* v1.18.24 UX audit: keyboard navigation and clearer filter state */
.skip-link{position:fixed;left:12px;top:10px;z-index:10000;transform:translateY(-160%);background:var(--accent,#b42318);color:var(--accent-foreground,#fff);padding:10px 14px;border-radius:10px;font-weight:850;box-shadow:0 8px 24px #0003}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--focus,#2563eb);outline-offset:2px}
.document-result-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media(max-width:700px){.document-result-line{align-items:flex-start}.document-result-line .small{min-height:40px}}

@media(max-width:700px){
  .desktop-home-primary,.desktop-home-quick{display:none!important}
  .document-section-tabs{display:none!important}
}

@media(max-width:760px){
  .messages-page.conversation-open .messages-shell{height:calc(100dvh - 169px);min-height:0}
}


/* v1.18.36 — tydlig visuell prioritet för framhävd nyhet, efter temats generella ytor */
body .news-panel .news-item.featured{
  background:linear-gradient(135deg,var(--accent),var(--accent-hover))!important;
  color:var(--accent-foreground)!important;
  border-color:var(--accent)!important;
  box-shadow:0 16px 38px color-mix(in srgb,var(--accent) 24%,transparent)!important;
}
body .news-panel .news-item.featured :is(h3,p,.news-date,.news-read-more){color:var(--accent-foreground)!important}
body .news-panel .news-item.featured .news-featured-label{
  background:var(--surface-raised)!important;
  color:var(--accent)!important;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--surface-raised))!important;
}


/* v1.18.38 — clickable weather/nameday detail + clearer spacing between welcome and news */
.header-daily-trigger{
  appearance:none;-webkit-appearance:none;font:inherit;color:inherit;background:transparent;cursor:pointer;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease
}
.header-dayline.header-daily-trigger{border:0;border-radius:10px;padding:4px 6px;margin:-4px -6px;text-align:left}
.header-weather.header-daily-trigger{border-top:0;border-right:0;border-bottom:0;border-radius:0 10px 10px 0;margin:-4px -5px -4px 0;padding-top:4px;padding-right:5px;padding-bottom:4px}
.header-daily-trigger:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.header-daily-trigger:active{transform:scale(.985)}
.header-daily-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--focus,#2563eb) 58%,transparent);outline-offset:2px}
.daily-info-open{overflow:hidden}
.daily-info-backdrop{z-index:1200!important}
.daily-info-sheet{width:min(620px,100%);max-width:620px;padding:25px 26px 24px;background:var(--card);color:var(--text)}
.daily-info-sheet-head{padding-right:52px;margin-bottom:12px}.daily-info-sheet-head h2{margin:5px 0 0;font-size:26px}
.daily-info-current{display:flex;align-items:center;gap:16px;padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}
.daily-info-current-icon{width:62px;height:62px;display:grid;place-items:center;flex:0 0 auto;border-radius:18px;background:var(--card);border:1px solid var(--line);font-size:34px}
.daily-info-current h2{margin:4px 0 4px;font-size:24px}.daily-info-current p{margin:0;color:var(--muted);font-size:12px}
.daily-info-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0 18px}
.daily-info-metric{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.daily-info-metric small,.daily-info-metric strong{display:block}.daily-info-metric small{color:var(--muted);font-size:11px;font-weight:800;margin-bottom:4px}.daily-info-metric strong{font-size:15px}
.daily-info-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 1px 8px}.daily-info-section-head small{color:var(--muted);font-weight:850}
.daily-info-forecast,.daily-info-namedays{display:grid;gap:7px}
.daily-info-forecast-row{display:grid;grid-template-columns:92px 38px minmax(150px,1fr) auto;gap:10px;align-items:center;min-height:58px;padding:9px 11px;border:1px solid var(--line);border-radius:13px;background:var(--card)}
.daily-info-forecast-date strong,.daily-info-forecast-date small,.daily-info-forecast-condition strong,.daily-info-forecast-condition small{display:block}.daily-info-forecast-date strong{font-size:13px}.daily-info-forecast-date small,.daily-info-forecast-condition small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:750}.daily-info-forecast-icon{font-size:25px;text-align:center}.daily-info-forecast-condition strong{font-size:13px}.daily-info-forecast-facts{display:grid;gap:3px;justify-items:end;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}
.daily-info-nameday-row{display:grid;grid-template-columns:minmax(105px,.55fr) minmax(0,1.45fr);gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.daily-info-nameday-row.is-today{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--card))}.daily-info-nameday-row strong,.daily-info-nameday-row small{display:block}.daily-info-nameday-row small{margin-top:2px;color:var(--muted);font-size:11px}.daily-info-nameday-row>span{font-weight:800;line-height:1.35}
.daily-info-loading,.daily-info-error{min-height:140px;display:grid;place-items:center;text-align:center;padding:24px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.daily-info-error{gap:5px}.daily-info-error strong{color:var(--text)}.daily-info-error span{font-size:12px}.daily-info-muted{color:var(--muted);font-size:13px}
@media(min-width:701px){.desktop-home-primary + .news-panel{margin-top:16px}}
@media(max-width:760px){
  .header-dayline.header-daily-trigger{padding:3px 4px;margin:-3px -4px}
  .header-weather.header-daily-trigger{padding-top:3px;padding-bottom:3px;margin-top:-3px;margin-bottom:-3px}
  .daily-info-backdrop{display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:0!important}
  .daily-info-sheet{width:100%!important;max-width:none!important;min-height:0!important;max-height:min(78dvh,720px)!important;border-radius:24px 24px 0 0!important;padding:21px 16px calc(18px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;box-shadow:0 -20px 60px #0005!important}
  .daily-info-sheet:before{content:'';display:block;width:42px;height:4px;border-radius:999px;background:var(--line);margin:-9px auto 11px}
  .daily-info-sheet>.modal-close{position:absolute!important;float:none!important;top:16px!important;right:14px!important}
  .daily-info-sheet-head{padding-right:48px}.daily-info-sheet-head h2{font-size:23px}
  .daily-info-current{gap:12px;padding:14px}.daily-info-current-icon{width:54px;height:54px;border-radius:16px;font-size:29px}.daily-info-current h2{font-size:20px}
  .daily-info-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 16px}.daily-info-metric{padding:9px 8px}.daily-info-metric strong{font-size:13px}.daily-info-metric small{font-size:9.5px}
  .daily-info-forecast-row{grid-template-columns:72px 32px minmax(0,1fr);gap:8px;padding:9px 10px}.daily-info-forecast-icon{font-size:22px}.daily-info-forecast-date strong,.daily-info-forecast-condition strong{font-size:12px}.daily-info-forecast-date small,.daily-info-forecast-condition small{font-size:10px}.daily-info-forecast-facts{grid-column:3;display:flex;justify-content:flex-start;gap:10px;font-size:10px}
  .daily-info-nameday-row{grid-template-columns:96px minmax(0,1fr);gap:9px;padding:10px 11px}.daily-info-nameday-row>span{font-size:13px}
}


/* v1.18.39 — monthly letter shortcut, unified daily info sheet, and consistent featured news size */
.desktop-home-primary{display:grid;gap:16px}
.desktop-home-primary-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:16px;align-items:stretch}
.home-monthly-letter-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;margin:0}
.home-monthly-letter-card h3{margin:6px 0 8px;font-size:24px;line-height:1.15}
.home-monthly-letter-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.home-monthly-letter-actions{display:flex;justify-content:flex-start;align-items:center}
.mobile-monthly-letter-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--modern-shadow);margin-top:12px}
.mobile-monthly-letter-copy{display:grid;gap:4px;min-width:0}
.mobile-monthly-letter-copy strong{font-size:15px;line-height:1.2}
.mobile-monthly-letter-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.monthly-letter-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.monthly-letter-open-btn{white-space:nowrap;align-self:center}
body .news-panel .news-item.featured-primary{grid-column:auto!important;min-height:0!important;padding:16px 16px 15px!important;align-content:normal!important}
body .news-panel .news-item.featured-primary h3{font-size:18px!important;max-width:none!important;margin-top:8px!important}
.daily-info-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.daily-info-summary-card{padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);display:grid;gap:4px}
.daily-info-summary-card small{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.daily-info-summary-card strong{font-size:16px;line-height:1.25}
.daily-info-summary-card span{color:var(--muted);font-size:12px;line-height:1.45}
.daily-info-summary-card.weather strong{display:flex;align-items:center;gap:6px}
.daily-info-summary-card.is-muted{opacity:.9}
.daily-info-block + .daily-info-block{margin-top:16px}
.daily-info-inline-error{display:grid;gap:4px;padding:14px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-soft);color:var(--muted)}
.daily-info-inline-error strong{color:var(--text)}
.daily-info-inline-error span{font-size:12px}
.daily-info-section-head-spaced{margin-top:4px}
@media(max-width:980px){
  .desktop-home-primary-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .daily-info-summary-grid{grid-template-columns:1fr;gap:8px;margin-bottom:12px}
  .mobile-monthly-letter-card{padding:13px}
}


/* v1.18.40 — equal-height news cards with safe text clamping */
.news-grid{grid-auto-rows:200px}
.news-item-button{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.news-item-button .news-card-top{flex:0 0 auto}
.news-item-button h3{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
  min-height:calc(1.22em * 2);
  max-height:calc(1.22em * 2);
}
.news-item-button p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
  min-height:calc(1.5em * 3);
  max-height:calc(1.5em * 3);
}
.news-item-button .news-read-more{margin-top:auto;flex:0 0 auto}
@media(max-width:980px){
  .news-grid{grid-auto-rows:190px}
  .news-item-button p{-webkit-line-clamp:2;line-clamp:2;min-height:calc(1.5em * 2);max-height:calc(1.5em * 2)}
}
@media(max-width:760px){
  .news-grid{grid-auto-rows:184px}
  .news-item-button h3{min-height:calc(1.22em * 2);max-height:calc(1.22em * 2)}
}

/* v1.18.41 — external document source + weather forecast */
.fields>div.full{grid-column:1/-1}.admin-source-note{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-soft));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));color:var(--text);font-size:10px;font-weight:850;vertical-align:middle}

/* v1.18.43 — document admin library + header refresh hotfix */
.admin-document-library{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 8px 22px #00000008;margin-bottom:18px}
.admin-document-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.admin-document-library-head h3{margin:4px 0 4px;font-size:22px}.admin-document-library-head p{margin:0;color:var(--muted);font-size:13px}
.admin-document-search{display:grid;gap:6px;min-width:min(360px,42vw);font-size:12px;font-weight:850;color:var(--muted)}
.admin-document-search input{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--card);color:var(--text);outline:none}
.admin-document-search input:focus{border-color:color-mix(in srgb,var(--red) 58%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 12%,transparent)}
.admin-document-filters{display:flex;gap:8px;overflow:auto;padding:2px 0 13px;scrollbar-width:thin}
.admin-document-filters button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:8px 10px;font-weight:800;cursor:pointer}
.admin-document-filters button small{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--text) 7%,transparent);font-size:11px;color:var(--muted)}
.admin-document-filters button.active{background:var(--text);border-color:var(--text);color:var(--card)}
.admin-document-filters button.active small{background:#ffffff20;color:inherit}
.admin-document-grid{display:grid;gap:10px}
.admin-document-card{border:1px solid var(--line);border-radius:17px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;background:color-mix(in srgb,var(--card) 97%,var(--bg))}
.admin-document-card-main{display:flex;align-items:flex-start;gap:13px;min-width:0}.admin-document-card-main>.file-badge{flex:0 0 auto;margin-top:1px}
.admin-document-card-copy{min-width:0}.admin-document-card-copy .admin-doc-title strong{font-size:15px}.admin-document-card-copy p{margin:5px 0 8px;color:var(--muted);font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.admin-document-meta{display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted);font-size:11px}.admin-document-meta span{min-width:0;overflow-wrap:anywhere}
.admin-document-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.admin-source-note{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#eef4ff;color:#365f93;font-size:10px;font-weight:900}.admin-source-note.internal{background:#eef7ef;color:#357048}
.admin-document-actions{display:grid;grid-template-columns:repeat(2,minmax(70px,1fr));gap:7px;min-width:164px}.admin-document-actions .small{min-height:36px}
.admin-document-empty{padding:34px 18px;text-align:center;color:var(--muted);display:grid;justify-items:center;gap:7px}.admin-document-empty strong{color:var(--text)}.admin-document-empty .secondary{margin-top:6px}
.admin-category-disclosure{padding:0!important;overflow:hidden}.admin-category-disclosure summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px}.admin-category-disclosure summary::-webkit-details-marker{display:none}.admin-category-disclosure summary>div{display:grid;gap:3px}.admin-category-disclosure summary strong{font-size:15px}.admin-category-disclosure summary span{color:var(--muted);font-size:12px}.admin-category-chevron{font-size:21px!important;transition:transform .15s}.admin-category-disclosure[open] .admin-category-chevron{transform:rotate(180deg)}.admin-category-disclosure-body{padding:4px 20px 20px;border-top:1px solid var(--line);padding-top:18px}
.document-admin-form{max-width:900px}.document-admin-step{border-top:1px solid var(--line);padding:20px 0}.document-admin-step:first-of-type{border-top:0;padding-top:4px}.document-admin-step-head{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px}.document-admin-step-head>span{width:28px;height:28px;border-radius:50%;background:var(--text);color:var(--card);display:grid;place-items:center;font-weight:900;font-size:12px;flex:0 0 auto}.document-admin-step-head strong,.document-admin-step-head small{display:block}.document-admin-step-head small{color:var(--muted);margin-top:3px;font-size:12px}.document-admin-publish-step{padding-bottom:0}.document-current-file{margin-top:12px;border:1px solid var(--line);border-radius:13px;padding:11px;display:flex;gap:10px;align-items:center;background:var(--card);text-align:left}.document-current-file .file-badge{flex:0 0 auto;margin:0}.document-current-file strong,.document-current-file small{display:block}.document-current-file small{margin-top:3px;color:var(--muted);overflow-wrap:anywhere}
body[data-theme="dark"] .admin-document-library,body[data-theme="dark"] .admin-document-card,body[data-theme="dark"] .admin-document-search input,body[data-theme="dark"] .admin-document-filters button,body[data-theme="dark"] .document-current-file{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
body[data-theme="dark"] .admin-document-filters button.active{background:#f3f4f6!important;color:#151820!important;border-color:#f3f4f6!important}
body[data-theme="dark"] .admin-source-note{background:#203149;color:#b9d5ff}body[data-theme="dark"] .admin-source-note.internal{background:#20382a;color:#b7e0c2}
@media(max-width:760px){.admin-document-library{padding:14px;border-radius:18px}.admin-document-library-head{align-items:stretch;flex-direction:column}.admin-document-search{min-width:0;width:100%}.admin-document-card{grid-template-columns:1fr;gap:12px}.admin-document-actions{grid-template-columns:1fr 1fr;min-width:0;width:100%}.admin-document-actions .small{min-height:44px}.admin-document-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px}.admin-document-card-main{gap:10px}.admin-category-disclosure summary{padding:15px}.admin-category-disclosure-body{padding:15px}.document-admin-step{padding:17px 0}}
@media(max-width:430px){.admin-document-meta{grid-template-columns:1fr}.admin-document-card-main>.file-badge{width:42px;height:42px}.admin-document-card{padding:12px}}

/* v1.18.45 — monthly letters: responsive home card + dedicated admin/editor */
@media(min-width:701px){
  .mobile-monthly-letter-card{display:none!important}
}
@media(max-width:700px){
  .mobile-monthly-letter-card{display:flex!important}
}
.home-monthly-letter-copy p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.monthly-letter-backdrop{z-index:1250!important}
.monthly-letter-modal{width:min(760px,calc(100vw - 28px));max-width:760px;max-height:min(86dvh,900px);overflow:auto;padding:26px}
.monthly-letter-modal-head{padding-right:48px;margin-bottom:18px}.monthly-letter-modal-head h2{margin:5px 0 4px;font-size:28px;line-height:1.15}.monthly-letter-modal-head p{margin:0;color:var(--muted);font-weight:800}
.monthly-letter-body{display:grid;gap:12px;font-size:15px;line-height:1.7}.monthly-letter-body p{margin:0;white-space:normal}
.monthly-letter-no-text{display:grid;gap:4px;padding:16px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-soft);color:var(--muted)}.monthly-letter-no-text strong{color:var(--text)}
.monthly-letter-attachments{margin-top:22px}
.monthly-letter-archive{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.monthly-letter-archive-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.monthly-letter-archive-head span{color:var(--muted);font-size:12px;font-weight:800}.monthly-letter-archive-list{display:grid;gap:7px}.monthly-letter-archive-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);cursor:pointer}.monthly-letter-archive-list button:hover{background:var(--surface-soft)}.monthly-letter-archive-list button span{display:grid;gap:2px}.monthly-letter-archive-list button small{color:var(--muted)}.monthly-letter-archive-list button b{font-size:22px;color:var(--muted)}
.monthly-letter-mode-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.monthly-letter-admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.monthly-letter-mode-guide{margin:4px 0 16px}.monthly-letter-mode-guide>div,.monthly-letter-admin-summary>div{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.monthly-letter-mode-guide>div>span,.monthly-letter-admin-summary>div>span{font-size:20px}.monthly-letter-mode-guide strong,.monthly-letter-admin-summary strong{font-size:13px}.monthly-letter-mode-guide small,.monthly-letter-admin-summary small{color:var(--muted);line-height:1.4}
.monthly-letter-admin-summary{margin:0 0 16px}.monthly-letter-admin-note{display:grid;gap:4px;margin:16px 0;padding:14px 15px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,var(--card))}.monthly-letter-admin-note span{color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:700px){
  .monthly-letter-modal{width:100%;max-width:none;max-height:88dvh;border-radius:24px 24px 0 0;padding:22px 16px calc(18px + env(safe-area-inset-bottom));align-self:flex-end}
  .monthly-letter-backdrop{display:flex!important;align-items:flex-end!important;padding:0!important}
  .monthly-letter-modal-head h2{font-size:23px}
  .monthly-letter-mode-guide,.monthly-letter-admin-summary{grid-template-columns:1fr}
  .monthly-letter-admin .admin-item{gap:10px}
}


/* v1.18.47 — unified date + weather interaction */
.header-daily-info{padding:0!important;overflow:hidden}
.header-daily-combined-trigger{display:flex;align-items:center;gap:18px;width:100%;border:0;padding:8px 13px;text-align:left;border-radius:15px}
.header-daily-combined-trigger .header-weather{margin-left:auto}
.daily-info-today-card{display:flex;align-items:center;gap:14px;padding:16px 17px;margin-bottom:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}
.daily-info-today-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:15px;background:var(--card);border:1px solid var(--line);font-size:27px}
.daily-info-today-copy{display:grid;gap:3px;min-width:0}.daily-info-today-copy small{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.daily-info-today-copy strong{font-size:19px;line-height:1.2}.daily-info-today-copy span{font-size:12px;color:var(--muted);line-height:1.4}.daily-info-today-copy b{color:var(--text)}
@media(max-width:760px){
  .header-daily-info{display:block!important;padding:0!important}
  .header-daily-combined-trigger{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:4px!important;padding:6px 8px!important;border-radius:12px!important}
  .header-daily-combined-trigger .header-weather{margin-left:0!important}
  .daily-info-sheet{max-height:min(84dvh,760px)!important}
  .daily-info-today-card{padding:13px 14px;gap:11px}.daily-info-today-icon{width:46px;height:46px;font-size:24px}.daily-info-today-copy strong{font-size:17px}.daily-info-today-copy span{font-size:11.5px}
}

/* v1.18.48 — mobile home ordering + round header avatar */
.mobile-home-flow{display:none}
@media(max-width:700px){
  .mobile-home-flow{display:block}
  .desktop-home-news{display:none!important}
  .mobile-home-flow>.news-panel{margin:0 0 14px}
  .mobile-home-flow>.mobile-home-search{margin-bottom:14px}
  .mobile-home-flow>.mobile-shortcuts-block{margin-top:0}
}
@media(min-width:701px){.mobile-home-news{display:none!important}}

.home-order-option{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;cursor:default}
.home-order-number{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--surface-soft,#f6f4f2);border:1px solid var(--line);font-weight:900;color:var(--muted)}
.home-order-copy{min-width:0}
.home-order-actions{display:flex;gap:6px}
.home-order-actions .small{width:38px;height:38px;padding:0;display:grid;place-items:center;font-size:17px}
.home-order-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}
@media(max-width:560px){
  .home-order-option{grid-template-columns:32px minmax(0,1fr) auto;padding:11px 10px;gap:8px}
  .home-order-actions{gap:4px}
  .home-order-actions .small{width:36px;height:36px}
  .home-order-footer{align-items:stretch;flex-direction:column}
  .home-order-footer .secondary{width:100%}
}

.header-account-actions .profile{
  padding:0!important;overflow:hidden!important;display:grid!important;place-items:center!important;
  aspect-ratio:1/1!important;min-width:48px!important;min-height:48px!important;flex:0 0 48px!important;line-height:1!important
}
.header-account-actions .profile img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;border-radius:50%!important}
@media(max-width:760px){
  .header-account-actions .profile{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex:0 0 40px!important}
}
.header-account-actions .profile{position:relative!important}
.header-account-actions .profile img{position:absolute!important;inset:0!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important}


/* v1.18.49 — mobile welcome + plain-language copy audit */
.mobile-home-welcome{display:none}
@media(max-width:700px){
  .mobile-home-welcome{display:block!important;margin:0 0 14px;padding:18px 17px;border-radius:18px}
  .mobile-home-welcome h1{font-size:22px;line-height:1.16;margin:6px 0 6px}
  .mobile-home-welcome p{font-size:13px;margin:0;max-width:34rem}
  .mobile-home-welcome small{font-size:12px;font-weight:850}
}


/* v1.18.54 – tydligare kalenderadministration */
.calendar-form-section-title,.calendar-publish-head{display:flex;align-items:center;gap:10px;margin:2px 0 2px}.calendar-form-section-title>span,.calendar-publish-head>span{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent);font-weight:900;flex:0 0 auto}.calendar-form-section-title strong,.calendar-publish-head strong{display:block}.calendar-form-section-title small,.calendar-publish-head small{display:block;color:var(--muted);margin-top:2px}.calendar-publish-box{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--card)}.calendar-publish-part{padding:14px 0 2px}.calendar-publish-part>p{margin:5px 0 12px;color:var(--muted);font-size:12px;line-height:1.5}.calendar-publish-divider{height:1px;background:var(--line);margin:12px 0 0}.calendar-role-hint{display:block;margin-top:9px;color:var(--muted);line-height:1.45}.calendar-notify-toggle{margin-bottom:10px}.calendar-notify-panel{display:grid;gap:9px;transition:opacity .15s ease}.calendar-notify-panel.is-disabled{opacity:.45;pointer-events:none}.calendar-notify-custom{display:grid;gap:8px;padding:10px;border:1px dashed var(--line);border-radius:13px}.calendar-notify-custom-label{font-size:12px;color:var(--muted);font-weight:700}.push-role-choice span small{display:block;margin-top:2px;color:var(--muted);font-weight:500;line-height:1.35}.calendar-admin-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.calendar-admin-path{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--card)}.calendar-admin-path-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--accent);font-weight:900;font-size:18px;flex:0 0 auto}.calendar-admin-path-copy{min-width:0;flex:1}.calendar-admin-path-copy strong{display:block}.calendar-admin-path-copy p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.calendar-visibility-note{margin-bottom:14px}.calendar-admin-list-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:18px 0 10px}.calendar-admin-list-title h4{margin:0;font-size:16px}.calendar-admin-list-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.calendar-source-label{display:block;margin-top:5px;color:var(--muted);font-size:11px}.calendar-role-colors-panel{margin-bottom:14px}
@media(max-width:760px){.calendar-admin-paths{grid-template-columns:1fr}.calendar-admin-path{align-items:flex-start;flex-wrap:wrap}.calendar-admin-path .primary{width:100%}.calendar-admin-list-title{align-items:stretch;flex-direction:column}.calendar-admin-list-title .secondary{width:100%}}

.calendar-role-colors-panel{border:1px solid var(--line);border-radius:15px;background:var(--card);overflow:hidden;padding:0}.calendar-role-colors-panel>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px}.calendar-role-colors-panel>summary::-webkit-details-marker{display:none}.calendar-role-colors-panel>summary span:first-child b,.calendar-role-colors-panel>summary span:first-child small{display:block}.calendar-role-colors-panel>summary small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:500}.calendar-role-colors-panel>summary span:last-child{font-size:12px;color:var(--accent);font-weight:800}.calendar-role-colors-panel[open]>summary{border-bottom:1px solid var(--line)}.calendar-role-colors-body{padding:15px}

/* v1.18.56 — clearer administration, messages and avatar UX */
.training-admin-hero{padding:4px 0}
.training-admin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.training-admin-kpis>div,.workplace-admin-kpis>div{border:1px solid var(--line);background:var(--surface,#fff);border-radius:15px;padding:13px 15px;display:grid;gap:3px}
.training-admin-kpis small,.workplace-admin-kpis small{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.training-admin-kpis strong,.workplace-admin-kpis strong{font-size:22px;line-height:1.1}
.training-admin-kpis span{color:var(--muted);font-size:12px}
.training-admin-guide{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;padding:12px 14px}
.training-admin-guide>span{display:flex;align-items:center;gap:10px;min-width:0}.training-admin-guide>span>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--surface,#fff);font-size:12px;flex:none}.training-admin-guide>span>span{display:grid;gap:2px;min-width:0}.training-admin-guide strong{font-size:13px}.training-admin-guide small{font-size:11px;color:var(--muted);line-height:1.3}.training-admin-guide>i{font-style:normal;color:var(--muted);font-size:20px}
.training-admin-section-head{padding:14px 14px 8px}.training-admin-section-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.training-admin-item{align-items:flex-start}.training-admin-item-copy{min-width:0}.training-admin-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.training-state{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900}.training-state.live{background:color-mix(in srgb,#2f7d4a 12%,var(--surface,#fff));color:#2f7d4a}.training-state.draft{background:var(--surface-soft);color:var(--muted);border:1px solid var(--line)}
.training-admin-next{margin-top:8px;font-size:12px;color:var(--muted)}.training-admin-next b{color:var(--text)}
.training-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.compact-action-menu{position:relative}.compact-action-menu>summary{list-style:none;width:36px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--surface,#fff);display:grid;place-items:center;font-weight:900;cursor:pointer}.compact-action-menu>summary::-webkit-details-marker{display:none}.compact-action-menu[open]>button{position:absolute;right:0;top:38px;z-index:5;white-space:nowrap;background:var(--surface,#fff);box-shadow:0 10px 25px rgba(20,24,34,.18)}
.training-admin-sessions{margin-top:9px}.training-admin-sessions>summary{cursor:pointer;font-size:12px;font-weight:850;color:var(--muted)}
.training-admin-faq-panel{padding:0;overflow:visible}.training-admin-faq-panel>summary{list-style:none;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.training-admin-faq-panel>summary::-webkit-details-marker{display:none}.training-admin-faq-panel>summary>span:first-child{display:grid;gap:3px}.training-admin-faq-panel>summary small{color:var(--muted);font-weight:500;font-size:12px}.details-chevron{color:var(--muted);transition:transform .15s ease}.training-admin-faq-panel[open] .details-chevron,.workplace-contacts-details[open] .details-chevron{transform:rotate(180deg)}.training-admin-faq-body{border-top:1px solid var(--line)}.training-admin-faq-actions{display:flex;justify-content:flex-end;padding:10px 14px 2px}

.workplace-admin-shell{gap:14px}.workplace-admin-head{margin-bottom:0}.workplace-admin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.workplace-admin-help{display:flex;gap:11px;align-items:flex-start;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.workplace-admin-help>span{font-size:17px}.workplace-admin-help strong{font-size:13px}.workplace-admin-help p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.workplace-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workplace-title-line>span{font-size:10px;font-weight:850;color:var(--muted);padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}.workplace-no-description{font-style:italic}.workplace-contacts-details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.workplace-contacts-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-size:12px;font-weight:850;color:var(--muted);padding:3px 0}.workplace-contacts-details>summary::-webkit-details-marker{display:none}.workplace-contacts-details[data-empty="1"]>summary{cursor:default}.workplace-contacts-details .workplace-manager-list{margin-top:8px}
.workplace-editor-modal{max-width:760px}.workplace-editor-modal>.workplace-editor-section{border:1px solid var(--line);border-radius:15px;padding:14px;margin-top:12px;background:var(--surface-soft)}.workplace-editor-section-title{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.workplace-editor-section-title>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--surface,#fff);font-size:11px;font-weight:900;flex:none}.workplace-editor-section-title>div{display:grid;gap:2px}.workplace-editor-section-title small{font-size:11px;color:var(--muted);font-weight:500}.workplace-editor-modal .manager-editor-section{border-top:1px solid var(--line);margin-top:12px;padding-top:14px}.workplace-editor-modal .manager-editor-head{align-items:flex-start}.workplace-editor-modal .manager-editor-head .workplace-editor-section-title{margin-bottom:0}.field-help{font-size:10px;color:var(--muted);font-weight:500;margin-left:4px}.workplace-editor-advanced{margin:12px 0;border:1px solid var(--line);border-radius:13px;padding:0 12px;background:var(--surface,#fff)}.workplace-editor-advanced>summary{list-style:none;display:flex;justify-content:space-between;gap:10px;padding:10px 0;cursor:pointer;font-size:12px;font-weight:850}.workplace-editor-advanced>summary::-webkit-details-marker{display:none}.workplace-editor-advanced>summary span{color:var(--muted);font-weight:500}.workplace-editor-advanced label{display:grid;gap:5px;padding:0 0 12px;font-size:12px;font-weight:800}.workplace-editor-advanced label small{color:var(--muted);font-weight:500;line-height:1.4}

.messages-status-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;padding:8px 10px;background:var(--surface,#fff);margin-bottom:8px}.messages-status-items,.messages-status-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.messages-status-item{border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:10px;text-align:left;font:inherit;cursor:pointer}.messages-status-item:hover{background:var(--surface-soft)}.messages-status-item>span:first-child{font-size:15px}.messages-status-item>span:last-child{display:grid;gap:1px}.messages-status-item strong{font-size:11px}.messages-status-item small{font-size:9.5px;color:var(--muted)}.messages-status-item.off{opacity:.72}.messages-safety-note{display:flex;gap:7px;align-items:flex-start;color:var(--muted);font-size:11px;line-height:1.35;margin:0 2px 10px}.messages-sidebar-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.messages-sidebar-title>span{font-size:10px;color:#fff;background:#c8102e;border-radius:999px;padding:3px 7px;font-weight:900}.messages-empty-chat{gap:8px}.messages-empty-chat .messages-empty-icon{font-size:28px;filter:grayscale(.15)}.messages-empty-chat>span:not(.messages-empty-icon){font-size:12px;color:var(--muted)}.messages-empty-chat button{margin-top:4px}

@media(max-width:760px){
  .training-admin-kpis,.workplace-admin-kpis{grid-template-columns:1fr 1fr}.training-admin-kpis>div:last-child,.workplace-admin-kpis>div:last-child{grid-column:1/-1}.training-admin-guide{grid-template-columns:1fr;gap:8px}.training-admin-guide>i{display:none}.training-admin-item{grid-template-columns:1fr}.training-admin-actions{justify-content:flex-start}.training-admin-faq-panel>summary{align-items:flex-start}.workplace-admin-head{align-items:stretch;flex-direction:column}.workplace-admin-head>.primary{width:100%}.workplace-editor-modal>.workplace-editor-section{padding:12px}.workplace-editor-modal .manager-editor-head{flex-direction:column}.workplace-editor-modal .manager-editor-head>.small{width:100%}
  .messages-status-strip{align-items:stretch;flex-direction:column}.messages-status-items{display:grid;grid-template-columns:1fr 1fr}.messages-status-item{padding:7px}.messages-status-actions{display:none}.messages-status-item small{display:none}.messages-safety-note{font-size:10.5px}.messages-page-head p{font-size:12px}
}
@media(max-width:430px){.training-admin-kpis,.workplace-admin-kpis{grid-template-columns:1fr}.training-admin-kpis>div:last-child,.workplace-admin-kpis>div:last-child{grid-column:auto}.messages-status-items{grid-template-columns:1fr 1fr}}


/* v1.18.57 – message people sidebar + functional workplace help */
@media(min-width:1181px){
  .messages-shell{grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(220px,270px)}
}
.messages-people-panel{display:flex;flex-direction:column;min-width:0;border-left:1px solid var(--line);background:var(--surface,#fff)}
.messages-people-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 8px}.messages-people-head>div{display:grid;gap:2px}.messages-people-head strong{font-size:15px}.messages-people-head small{font-size:10.5px;color:var(--muted);font-weight:750}.messages-people-head>span{font-size:17px;opacity:.7}
.messages-people-hint{margin:0;padding:0 14px 10px;color:var(--muted);font-size:10.5px;line-height:1.35}.messages-people-search{margin:0 12px 10px}.messages-people-search input{height:38px;font-size:12px}.messages-people-list{overflow:auto;min-height:0;border-top:1px solid var(--line)}
.message-person-shortcut{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.message-person-shortcut:hover{background:var(--surface-soft)}.message-person-shortcut.active{background:color-mix(in srgb,var(--red) 8%,var(--surface) 92%);box-shadow:inset 3px 0 var(--red)}.message-person-shortcut>span:nth-child(2){min-width:0;display:grid;gap:2px}.message-person-shortcut strong,.message-person-shortcut small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-person-shortcut strong{font-size:12px}.message-person-shortcut small{font-size:10px;color:var(--muted)}.message-person-arrow{color:var(--muted);font-size:18px}.messages-people-empty{padding:20px 12px;text-align:center;color:var(--muted);font-size:11px}.messages-people-panel .message-avatar.small{width:34px;height:34px;font-size:10px}
@media(max-width:1180px){.messages-people-panel{display:none}.messages-shell{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}}
@media(max-width:760px){.messages-shell{display:block}.messages-people-panel{display:none}}
[data-theme='dark'] .messages-people-panel{background:var(--surface,#1c1c1c)}

.workplace-admin-help{padding:0!important;display:block!important;overflow:hidden}.workplace-admin-help>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;cursor:pointer}.workplace-admin-help>summary::-webkit-details-marker{display:none}.workplace-admin-help>summary:hover{background:color-mix(in srgb,var(--surface-soft) 85%,var(--surface) 15%)}.workplace-help-icon{font-size:17px}.workplace-help-title{display:grid;gap:2px}.workplace-help-title strong{font-size:13px}.workplace-help-title small{font-size:10.5px;color:var(--muted);font-weight:700}.workplace-admin-help .details-chevron{transition:transform .18s ease}.workplace-admin-help[open] .details-chevron{transform:rotate(180deg)}.workplace-admin-help-body{border-top:1px solid var(--line);padding:11px 13px 12px 40px}.workplace-admin-help-body p{margin:0 0 7px;color:var(--muted);font-size:12px;line-height:1.45}.workplace-admin-help-body p:last-child{margin-bottom:0}.workplace-admin-help-body strong{color:var(--text)}

/* v1.18.58 — gemensam UX-feedback, adminmönster och osparade ändringar */
.portal-toast-host{position:fixed;right:18px;top:86px;z-index:260;display:grid;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}.portal-toast{pointer-events:auto;display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:10px;align-items:start;padding:13px 12px;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:0 16px 45px color-mix(in srgb,var(--text-primary) 18%,transparent);opacity:0;transform:translateY(-8px);transition:.18s ease}.portal-toast.show{opacity:1;transform:none}.portal-toast-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-weight:950;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent)}.portal-toast.success .portal-toast-icon{background:#e9f7ee;color:#267344}.portal-toast.error .portal-toast-icon{background:#fff0ee;color:#b33832}.portal-toast.warning .portal-toast-icon{background:#fff7df;color:#8b6400}.portal-toast strong{display:block;font-size:13px}.portal-toast p{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.portal-toast button{border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0}
.portal-dialog-backdrop{position:fixed;inset:0;z-index:280;background:var(--overlay,#0008);display:grid;place-items:center;padding:18px}.portal-dialog{width:min(440px,100%);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 25px 80px #0005;display:grid;grid-template-columns:42px 1fr;gap:14px}.portal-dialog-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent);font-weight:950;font-size:18px}.portal-dialog-icon.danger{background:#fff0ee;color:#b33832}.portal-dialog-copy h2{font-size:20px;margin:1px 0 7px}.portal-dialog-copy p{white-space:pre-line;margin:0;color:var(--muted);line-height:1.5}.portal-dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.portal-dialog-actions button{min-height:42px}.portal-dialog-actions .danger{background:#b6332e;color:#fff;border-color:#b6332e}
.portal-admin-savebar{position:sticky;bottom:12px;z-index:12;background:color-mix(in srgb,var(--card) 95%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line)!important;border-radius:14px;padding:10px!important;box-shadow:0 12px 34px color-mix(in srgb,var(--text-primary) 10%,transparent);align-items:center}.portal-save-state{margin-right:auto;display:inline-flex;gap:7px;align-items:center;font-size:12px;font-weight:850;padding:7px 9px;border-radius:999px;white-space:nowrap}.portal-save-state.clean{background:#edf7ef;color:#357048}.portal-save-state.dirty{background:#fff5dd;color:#815d00}.portal-save-state i{font-style:normal;font-size:10px}
.admin-page-stage{min-width:0}.admin-page-stage>.admin-stack>.admin-toolbar:first-child,.admin-page-stage>div>.admin-toolbar:first-child,.admin-page-stage>.document-admin-page>.admin-toolbar:first-child{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:17px 18px;margin-bottom:16px}.admin-page-stage .admin-toolbar h2,.admin-page-stage .admin-toolbar h3{letter-spacing:-.01em}.admin-page-stage .toolbar-actions>.primary{min-height:42px}.admin-page-stage .admin-list,.admin-page-stage .panel{box-shadow:0 1px 0 color-mix(in srgb,var(--text-primary) 3%,transparent)}
@media(max-width:700px){.portal-toast-host{right:12px;top:74px;width:calc(100vw - 24px)}.portal-dialog-backdrop{padding:12px}.portal-dialog{padding:18px;border-radius:18px}.portal-dialog-actions{flex-direction:column-reverse}.portal-dialog-actions button{width:100%}.portal-admin-savebar{bottom:calc(8px + env(safe-area-inset-bottom));border-radius:12px}.portal-save-state{width:100%;justify-content:center;order:-1}.admin-page-stage>.admin-stack>.admin-toolbar:first-child,.admin-page-stage>div>.admin-toolbar:first-child,.admin-page-stage>.document-admin-page>.admin-toolbar:first-child{padding:15px}}
.portal-dialog-field{display:grid;gap:6px;margin-top:14px;text-align:left}.portal-dialog-field>span{font-size:.86rem;font-weight:700;color:var(--text)}.portal-dialog-field input{width:100%;box-sizing:border-box}.portal-dialog-field-error{display:block;margin-top:6px;color:var(--danger,#b42318);font-weight:700}.portal-dialog-prompt .portal-dialog-copy{min-width:0}

/* v1.18.59 – gemensamma laddnings-, tom-, fel- och behörighetstillstånd */
.portal-state{display:flex;align-items:flex-start;justify-content:center;gap:13px;width:100%;padding:28px 22px;border:1px dashed var(--line);border-radius:16px;background:color-mix(in srgb,var(--card) 96%,var(--bg) 4%);color:var(--text);text-align:left}.portal-state.compact{padding:16px 14px;gap:10px}.portal-state-icon,.portal-state-spinner{flex:0 0 auto;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;font-size:14px;font-weight:950;background:var(--surface-soft);color:var(--muted)}.portal-state-spinner{border:3px solid color-mix(in srgb,var(--muted) 22%,transparent);border-top-color:var(--red);background:transparent;animation:portal-state-spin .8s linear infinite}.portal-state-copy{min-width:0;max-width:650px}.portal-state-copy>strong{display:block;font-size:15px;line-height:1.35}.portal-state-copy>p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.portal-state-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.portal-state-error{border-style:solid;border-color:color-mix(in srgb,var(--red) 30%,var(--line));background:color-mix(in srgb,var(--red) 5%,var(--card))}.portal-state-error .portal-state-icon{background:color-mix(in srgb,var(--red) 12%,var(--card));color:var(--red)}.portal-state-permission{border-style:solid}.portal-state-success{border-style:solid;border-color:color-mix(in srgb,#357048 28%,var(--line))}.portal-state-success .portal-state-icon{background:#edf7ef;color:#357048}.portal-state.messages-empty{display:flex!important}.portal-state.admin-empty{padding:24px 18px}.portal-state.admin-empty.compact{padding:12px}.portal-state.analytics-loading,.portal-state.analytics-empty{border-style:dashed}.daily-info-body>.portal-state{min-height:140px}.document-viewer-body>.portal-state{height:100%;border:0;border-radius:0}.help-no-results.portal-state{display:none}.help-no-results.portal-state.show{display:flex}@keyframes portal-state-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.portal-state{padding:22px 16px;text-align:left}.portal-state.compact{padding:14px 12px}.portal-state-icon,.portal-state-spinner{width:30px;height:30px}.portal-state-actions{display:grid;grid-template-columns:1fr}.portal-state-actions button{width:100%}}
.portal-field-invalid{border-color:var(--red)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 12%,transparent)!important}.portal-field-error{display:block;margin-top:5px;color:var(--red);font-size:11px;font-weight:750;line-height:1.35}

/* v1.18.60 – registered-user directory metadata in Messages */
.message-person-shortcut{align-items:flex-start;padding:11px}
.message-person-shortcut .message-avatar.small{margin-top:1px;flex:0 0 auto}
.message-person-copy{min-width:0;display:grid;gap:3px}
.message-person-name{display:flex;align-items:center;gap:6px;min-width:0}
.message-person-name strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-person-name em{flex:0 0 auto;font-style:normal;font-size:9px;font-weight:800;line-height:1;padding:4px 6px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);color:var(--muted)}
.message-person-role,.message-person-workplace{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px!important;line-height:1.3}
.message-person-role b,.message-person-workplace b{font-weight:800;color:var(--text)}
.message-person-shortcut.inactive{opacity:.68}
.message-person-shortcut.inactive:hover{background:var(--surface-soft)}
.message-person-shortcut.inactive .message-person-arrow{font-size:15px}


/* v1.18.61 — gemensamt adminmönster för Dokument och Utbildningar */
.document-admin-page>.admin-category-disclosure{margin-bottom:18px}
.training-admin-page .training-admin-library{margin-bottom:18px}
.training-admin-card-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);background:var(--surface-soft);color:var(--text)}
.training-admin-card-icon svg{width:27px;height:27px}
.training-admin-card-icon.mint{background:#dff6ed;color:#12664e;border-color:#c6e9dc}
.training-admin-card-icon.rose,.training-admin-card-icon.red{background:#fee6e9;color:#a82835;border-color:#f3cdd2}
.training-admin-card-icon.violet{background:#eee6ff;color:#58358e;border-color:#ddd0fa}
.training-admin-card-icon.blue,.training-admin-card-icon.sky{background:#e4efff;color:#215b98;border-color:#cbdff8}
.training-admin-card-icon.orange{background:#fff0df;color:#965619;border-color:#f1ddc5}
.training-admin-card .training-admin-title-row>strong{font-size:15px}
.training-admin-card .training-admin-sessions{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
.training-admin-card .training-admin-session{gap:14px}
.training-admin-card .admin-document-actions{grid-template-columns:1fr 1fr}
.training-admin-card .admin-document-actions .danger{grid-column:1/-1}
body[data-theme="dark"] .training-admin-card-icon{background:var(--surface-soft)!important;border-color:var(--line)!important;color:var(--text)!important}
/* RC140 – leveransspårning för utbildningsanmälningar */
.training-delivery-panel{margin-bottom:18px}
.training-delivery-head{align-items:flex-start}
.training-delivery-loading{padding:22px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);background:var(--surface-soft)}
.training-delivery-error{margin-top:12px}
.training-delivery-list{display:grid;gap:10px;margin-top:14px}
.training-delivery-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--surface);display:grid;gap:10px;box-shadow:0 2px 10px rgba(15,23,42,.03)}
.training-delivery-card.success{border-left:4px solid #2f7d4a}.training-delivery-card.danger{border-left:4px solid #b42318}.training-delivery-card.warning{border-left:4px solid #9a6700}.training-delivery-card.info{border-left:4px solid #2367a7}
.training-delivery-card-main,.training-delivery-footer,.training-delivery-route{display:flex;align-items:center;justify-content:space-between;gap:12px}
.training-delivery-person{display:grid;gap:2px;min-width:0}.training-delivery-person strong{font-size:15px}.training-delivery-person span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.training-delivery-status{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:4px 9px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:850;line-height:1.1;white-space:nowrap;background:var(--surface-soft);color:var(--muted)}
.training-delivery-status.success{background:var(--success-bg,#e6f5eb);color:var(--success-text,#246b3d);border-color:color-mix(in srgb,var(--success-text,#246b3d) 20%,transparent)}
.training-delivery-status.danger{background:color-mix(in srgb,#b42318 9%,var(--surface));color:#a11b11;border-color:color-mix(in srgb,#b42318 22%,transparent)}
.training-delivery-status.warning{background:color-mix(in srgb,#9a6700 10%,var(--surface));color:#805500;border-color:color-mix(in srgb,#9a6700 24%,transparent)}
.training-delivery-status.info{background:color-mix(in srgb,#2367a7 9%,var(--surface));color:#1f5d96;border-color:color-mix(in srgb,#2367a7 22%,transparent)}
.training-delivery-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:11px}.training-delivery-meta span{display:inline-flex;align-items:center}.training-delivery-meta span+span:before{content:'·';margin-right:7px}
.training-delivery-route{padding:10px 12px;border-radius:12px;background:var(--surface-soft);align-items:flex-start}.training-delivery-route>div{display:grid;gap:3px;min-width:0}.training-delivery-route strong{font-size:12px;word-break:break-word}.training-delivery-route small{color:var(--muted);line-height:1.4}.training-delivery-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--muted)}
.training-delivery-attempts{font-size:10px;font-weight:800;color:var(--muted);white-space:nowrap}
.training-delivery-failure,.training-delivery-note{display:grid;gap:3px;padding:9px 11px;border-radius:10px;background:color-mix(in srgb,#b42318 7%,var(--surface));font-size:11px;line-height:1.45}.training-delivery-failure strong{font-size:11px}.training-delivery-note{display:block;background:var(--surface-soft);color:var(--muted)}
.training-delivery-footer{padding-top:2px}.training-delivery-footer>span{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}
body[data-theme="dark"] .training-delivery-status.danger,body[data-theme="dark"] .training-delivery-status.warning,body[data-theme="dark"] .training-delivery-status.info{color:var(--text)}
@media(max-width:760px){
  .training-delivery-head{display:grid;grid-template-columns:1fr;gap:10px}.training-delivery-head>button{width:100%}
  .training-delivery-card{padding:13px;border-radius:14px}.training-delivery-card-main{align-items:flex-start}.training-delivery-person strong{font-size:14px}
  .training-delivery-route{display:grid}.training-delivery-attempts{justify-self:start}.training-delivery-footer{align-items:flex-start;flex-direction:column}.training-delivery-footer>button{width:100%}.training-delivery-footer>span{flex-wrap:wrap}
  .training-delivery-meta{gap:5px}.training-delivery-meta span+span:before{margin-right:5px}
  .training-admin-card-icon{width:42px;height:42px;border-radius:11px}
  .training-admin-card-icon svg{width:24px;height:24px}
  .training-admin-card .admin-document-actions{grid-template-columns:1fr 1fr}
  .training-admin-card .training-admin-session{align-items:flex-start;flex-direction:column}
  .training-admin-card .training-admin-session .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
}


/* v1.18.63 — calendar density, week numbers and mobile document reachability */
.event-date small{display:block;margin-top:2px;font-size:8.5px;line-height:1;color:var(--muted);font-weight:850;letter-spacing:.02em}
.calendar-week-chip{background:color-mix(in srgb,var(--text) 6%,var(--card));color:var(--muted)}
.home-compact-date small{display:block;margin-top:1px;font-size:8px;line-height:1;color:var(--muted);font-weight:850}
.calendar-view-standard .calendar-card{padding:14px 15px 13px;border-radius:17px}
.calendar-view-standard .calendar-card-header{gap:11px;margin-bottom:8px}
.calendar-view-standard .calendar-card h3{font-size:17px}
.calendar-view-standard .calendar-card p{font-size:12px;line-height:1.4}
.calendar-view-standard .event-date{width:50px;height:60px;border-radius:14px}
.calendar-view-standard .event-date strong{font-size:21px}
.calendar-view-standard .calendar-details{margin-top:10px;gap:8px}
.calendar-view-standard .detail-pill{padding:8px 10px;border-radius:11px}
.calendar-view-standard .detail-pill strong{font-size:12px}
.calendar-view-standard .event-topline{margin-top:6px;gap:5px}
.calendar-view-standard .chip{padding:4px 7px;font-size:10px}
.calendar-view-classic{padding:16px;max-width:1180px;margin-inline:auto}
.calendar-view-classic>p{margin-bottom:8px}
.classic-calendar-shell{margin-top:10px;border-radius:15px}
.classic-calendar-head{padding:10px 12px}
.classic-calendar-head>div:first-child{min-width:0}.classic-calendar-head h3{font-size:16px}.classic-calendar-head small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.classic-weekdays,.classic-calendar-grid{grid-template-columns:38px repeat(7,minmax(0,1fr))}
.classic-week-number-head{font-size:9px!important;color:var(--muted)!important}
.classic-week-number{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:92px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 68%,var(--card));color:var(--muted)}
.classic-week-number span{font-size:8px;font-weight:800}.classic-week-number strong{font-size:11px;color:var(--text)}
.classic-day{min-height:92px;padding:6px}.classic-day:nth-child(8n){border-right:0}
.classic-day-number{width:24px;height:24px;font-size:11px;margin-bottom:3px}
.classic-event{padding:4px 5px;border-left-width:3px}.classic-event-title{font-size:10px;line-height:1.18}.classic-event-time{font-size:9px}
.home-classic-calendar .classic-week-number{min-height:58px}.home-classic-calendar .classic-week-number span{font-size:7px}.home-classic-calendar .classic-week-number strong{font-size:9px}
.home-classic-calendar .classic-weekdays,.home-classic-calendar .classic-calendar-grid{grid-template-columns:30px repeat(7,minmax(0,1fr))}
.home-classic-calendar .classic-day{min-height:58px}
.mobile-filter-row,.document-section-tabs{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;scroll-snap-type:x proximity}
.mobile-filter-row button,.document-section-tabs button{scroll-snap-align:start}
@media(max-width:760px){
  .doc-entry{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:42px minmax(0,1fr)!important;overflow:visible!important}
  .doc-copy,.doc-copy strong,.doc-copy p,.doc-meta,.doc-end{min-width:0;max-width:100%}
  .doc-copy strong,.doc-copy p,.doc-meta .chip{overflow-wrap:anywhere;word-break:break-word}
  .doc-meta{display:flex!important;max-width:100%;overflow:visible}
  .doc-meta .chip{white-space:normal;max-width:100%}
  .doc-end{grid-column:2!important;width:100%;flex-wrap:wrap}
  .document-ux-tools,.document-ux-tools .mobile-doc-tools,.mobile-filter-row{min-width:0;max-width:100%}
  .mobile-filter-row{width:100%;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:6px}
  .classic-calendar-scroll{overflow-x:auto!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x}
  .classic-calendar-scroll>.classic-calendar-shell{min-width:650px}
  .home-classic-calendar .classic-calendar-scroll>.classic-calendar-shell{min-width:570px}
  .calendar-view-classic{padding:13px}
}

/* v1.18.64 — sticky desktop primary navigation */
@media(min-width:1001px){
  .layout>aside{
    position:sticky;
    top:80px;
    align-self:start;
    height:calc(100vh - 80px);
    max-height:calc(100vh - 80px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-gutter:stable;
  }
  .layout>aside::-webkit-scrollbar{width:8px}
  .layout>aside::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
  .layout>aside::-webkit-scrollbar-track{background:transparent}
}
/* Root clipping must not create a scroll container, otherwise sticky header/sidebar cannot stick. */
html,body{overflow-x:clip}


/* v1.18.67 — document requests */
.document-request-panel{margin-top:16px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px}
.document-request-panel h3{margin:4px 0 6px}.document-request-panel p{margin:0;color:var(--muted);max-width:720px}
.document-request-open{flex:0 0 auto;white-space:nowrap}
.document-request-modal{max-width:620px}.document-request-modal>label{display:grid;gap:7px;margin-top:14px;font-size:13px;font-weight:800}.document-request-modal textarea,.document-request-modal select{width:100%}
.document-request-admin{margin-bottom:16px}.document-request-admin>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px}.document-request-admin>summary>div{display:grid;gap:3px}.document-request-admin>summary span{color:var(--muted);font-size:12px}
.document-request-admin-body{padding-top:16px}.document-request-admin-list{display:grid;gap:10px}.document-request-admin-item{display:flex;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff)}
.document-request-admin-copy{min-width:0}.document-request-admin-copy p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.document-request-admin-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.document-request-admin-head small{color:var(--muted)}
.document-request-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:850}.document-request-status.new{background:rgba(37,95,150,.12)}.document-request-status.reviewing{background:rgba(217,119,6,.14)}.document-request-status.fulfilled{background:rgba(5,150,105,.14)}.document-request-status.declined{background:rgba(100,116,139,.14)}
.document-request-admin-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start;flex:0 0 auto}
@media(max-width:700px){.document-request-panel,.document-request-admin-item{align-items:stretch;flex-direction:column}.document-request-open{width:100%}.document-request-admin-actions{justify-content:flex-start}.document-request-admin-actions .small{flex:1 1 auto}}

/* Beta feedback — v1.18.68 */
.beta-feedback-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;align-items:start}.beta-feedback-form h2,.beta-feedback-history h2,.beta-admin-page h2{margin:5px 0 8px}.beta-feedback-form>p,.beta-admin-page .admin-toolbar p{color:var(--muted);margin:0 0 18px}.beta-feedback-fields{grid-template-columns:1fr 1fr}.beta-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.beta-report-list{display:grid;gap:12px}.beta-report-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--panel);box-shadow:var(--shadow-soft,0 4px 14px rgba(0,0,0,.04))}.beta-report-card h3{margin:10px 0 6px;font-size:16px}.beta-report-head,.beta-report-meta,.beta-report-admin-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.beta-report-head>div{display:flex;gap:6px;flex-wrap:wrap}.beta-type,.beta-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.beta-type.bug{background:rgba(200,16,46,.12);color:var(--red,#c8102e)}.beta-type.improvement{background:rgba(37,99,235,.12);color:#2563eb}.beta-type.clarification{background:rgba(217,119,6,.14);color:#b45309}.beta-status{background:var(--soft);color:var(--muted)}.beta-status.reviewing{background:rgba(217,119,6,.14);color:#b45309}.beta-status.resolved{background:rgba(5,150,105,.14);color:#047857}.beta-status.declined{background:rgba(100,116,139,.14);color:#64748b}.beta-report-meta{justify-content:flex-start;color:var(--muted);font-size:12px}.beta-reporter{font-weight:700}.beta-report-details{white-space:pre-wrap;margin:10px 0 0;line-height:1.5}.beta-admin-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--soft)}.beta-admin-note p{margin:4px 0 0;white-space:pre-wrap}.beta-report-admin-actions{justify-content:flex-end;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.beta-report-admin-actions select{width:auto;min-width:130px}.beta-report-admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.beta-feedback-layout,.beta-report-admin-list{grid-template-columns:1fr}.beta-feedback-fields{grid-template-columns:1fr}.beta-feedback-fields .full{grid-column:1}.beta-feedback-history{order:2}}
\n\n/* v1.18.78 — compact beta reporting utility link */
.beta-feedback-shortcut-wrap{margin:10px 7px 0;padding-top:9px;border-top:1px solid rgba(255,255,255,.10)}
.beta-feedback-shortcut-wrap:empty{display:none}
.beta-feedback-shortcut{width:auto;max-width:100%;display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--nav-muted,#aeb4c0);border-radius:7px;padding:6px 7px;text-align:left;cursor:pointer;font-size:11.5px;font-weight:700;line-height:1.2;transition:.16s background,.16s color}
.beta-feedback-shortcut:hover,.beta-feedback-shortcut:focus-visible{background:rgba(255,255,255,.06);color:var(--nav-text,#edf0f5);outline:none}
.beta-feedback-shortcut.active{background:rgba(255,255,255,.07);color:var(--nav-text,#edf0f5)}
.beta-feedback-shortcut-icon{display:inline-grid;place-items:center;width:18px;height:18px;font-size:12px;opacity:.82;flex:0 0 auto}
.mobile-menu-list-clean .mobile-beta-feedback{opacity:.82;background:transparent!important;font-size:12px}
.mobile-menu-list-clean .mobile-beta-feedback>span{font-size:13px;opacity:.82}
.mobile-menu-list-clean .mobile-beta-divider{margin-top:4px}
@media(max-width:1000px){.beta-feedback-shortcut-wrap{display:none!important}}

/* v1.18.76 — invitation approval, structured workplaces and editable Contact page */
.invite-flow-note{margin:16px 0;padding:15px 17px;border:1px solid color-mix(in srgb,var(--accent,#b71921) 22%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--card,#fff) 94%,var(--accent,#b71921) 6%)}
.invite-flow-note strong{display:block;margin-bottom:7px}.invite-flow-note ol{margin:0;padding-left:20px;display:grid;gap:5px;color:var(--muted);font-size:13px;line-height:1.45}
.admin-approval-alert,.admin-home-approval-alert{border:1px solid rgba(217,119,6,.35);background:rgba(217,119,6,.10);border-radius:14px;color:var(--text)}
.admin-approval-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;margin:0 0 14px}.admin-approval-alert>div{display:grid;gap:3px}.admin-approval-alert span:not(.count){font-size:12px;color:var(--muted)}
.admin-home-approval-alert{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin:0 0 16px;text-align:left;cursor:pointer}.admin-home-approval-alert>span{display:grid;gap:3px}.admin-home-approval-alert small{color:var(--muted)}.admin-home-approval-alert>b{font-size:24px}.admin-home-approval-alert:hover{background:rgba(217,119,6,.15)}
.admin-item-awaiting-approval{background:color-mix(in srgb,var(--card,#fff) 92%,#d97706 8%)}
.status-badge.pending,.status-badge.reviewing{background:rgba(217,119,6,.14);color:#b45309}.approval-help{display:block;margin-top:5px;max-width:250px;color:var(--muted);font-size:10.5px;line-height:1.35}.approval-inline-note{display:grid;gap:3px;margin:0 0 12px;padding:11px 13px;border-radius:12px;background:rgba(217,119,6,.10);border:1px solid rgba(217,119,6,.24)}.approval-inline-note span{font-size:12px;color:var(--muted)}
.disabled-toggle{opacity:.7}.field-help{margin:7px 0 0;color:var(--muted);font-size:12px}.workplace-choice-inactive{opacity:.72}

.contact-admin-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px;background:var(--soft)}
.contact-admin-rows{display:grid;gap:14px}.contact-admin-row{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:15px}.contact-admin-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.contact-admin-row-head>div:first-child{display:flex;align-items:center;gap:8px}.contact-admin-order{display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:var(--soft);font-size:11px;font-weight:850}.contact-admin-row-actions{display:flex;gap:6px;flex-wrap:wrap}.contact-admin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-admin-info{margin:0}.contact-admin-page>.btn-row{position:sticky;bottom:8px;z-index:3;padding:10px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(8px)}

.invite-rules,.invite-privacy,.account-gate-card{margin:13px 0;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.invite-rules h3,.invite-privacy h3{margin:0 0 7px;font-size:14px}.invite-rules ul{margin:0;padding-left:20px;display:grid;gap:5px;font-size:12.5px;line-height:1.4}.invite-privacy p,.account-gate-card p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}.invite-privacy .auth-forgot{margin-top:8px}.invite-setup-form{display:grid;gap:10px}.invite-setup-form>label:not(.invite-consent){display:grid;gap:5px;font-size:12px;font-weight:750}.invite-consent{display:flex!important;align-items:flex-start;gap:10px;width:100%;font-size:12px!important;font-weight:600!important;line-height:1.35}.invite-consent input[type="checkbox"]{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important;flex:0 0 18px!important;border-radius:4px;box-shadow:none;accent-color:var(--red)}.account-gate-actions{margin-top:14px}

@media(max-width:760px){
  .contact-admin-fields{grid-template-columns:1fr}.contact-admin-fields .full{grid-column:1}.contact-admin-row-head{align-items:flex-start;flex-direction:column}.contact-admin-row-actions{width:100%}.contact-admin-row-actions .small{flex:1 1 auto}.contact-admin-strip{align-items:stretch;flex-direction:column}.admin-approval-alert{align-items:flex-start}.admin-item-awaiting-approval .admin-user-actions{gap:7px}
}

/* v1.18.77 — complete portal rules + GDPR onboarding summary */
.invite-policy-card{padding:16px 17px}
.invite-policy-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.invite-policy-head .eyebrow{margin-bottom:3px}.invite-policy-head h3{margin:0;font-size:15px}
.invite-policy-version{flex:0 0 auto;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-size:9.5px;font-weight:750;white-space:nowrap}
.invite-policy-list{margin:0;padding-left:22px;display:grid;gap:10px;font-size:12.5px;line-height:1.42}
.invite-policy-list li{padding-left:2px}.invite-policy-list strong{display:block;margin-bottom:2px;color:var(--text)}.invite-policy-list span{display:block;color:var(--muted)}
.invite-privacy-summary{display:grid;gap:10px}.invite-privacy-summary p{display:grid;gap:2px;margin:0!important}.invite-privacy-summary strong{color:var(--text);font-size:12.5px}.invite-privacy-summary span{color:var(--muted);font-size:12px;line-height:1.45}
.invite-consent>span{display:grid;gap:2px;flex:1 1 auto;min-width:0}.invite-consent>span strong{font-size:12px}.invite-consent>span small{color:var(--muted);font-size:9.5px;font-weight:600}
@media(max-width:560px){.invite-policy-head{display:grid}.invite-policy-version{justify-self:start}.invite-policy-card{padding:14px}.invite-policy-list{padding-left:20px}}

/* v1.18.80 · first-use private initiative notice */
.private-initiative-modal{max-width:620px}
.private-initiative-modal h2{margin:5px 0 12px}
.private-initiative-copy{display:grid;gap:10px;line-height:1.6}
.private-initiative-copy p{margin:0}
.private-initiative-note{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:13px}
.private-initiative-actions{justify-content:flex-end}
.private-initiative-actions .primary{min-width:150px}

/* GDPR administration control panel — v1.18.84 */
.gdpr-admin-page{max-width:1180px}.gdpr-admin-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.gdpr-admin-hero h2{margin:5px 0 7px}.gdpr-admin-hero p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}.gdpr-admin-hero .toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.gdpr-guardrail{border-left:4px solid #d6a33c}.gdpr-guardrail p{margin:6px 0 0;color:var(--muted);line-height:1.5}.gdpr-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.gdpr-kpis>div{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:14px;min-width:0}.gdpr-kpis small,.gdpr-kpis span{display:block;color:var(--muted);font-size:11px;line-height:1.35}.gdpr-kpis strong{display:block;font-size:21px;margin:5px 0 3px;overflow-wrap:anywhere}.gdpr-admin-section{border:1px solid var(--line);border-radius:17px;background:var(--card);overflow:hidden}.gdpr-admin-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px}.gdpr-admin-section>summary::-webkit-details-marker{display:none}.gdpr-admin-section>summary span{display:grid;gap:3px;min-width:0}.gdpr-admin-section>summary b{font-size:15px}.gdpr-admin-section>summary small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.35}.gdpr-admin-section>summary em{font-style:normal;display:grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:12px;font-weight:900}.gdpr-admin-section>summary:after{content:'⌄';color:var(--muted);font-size:17px;margin-left:4px}.gdpr-admin-section[open]>summary:after{transform:rotate(180deg)}.gdpr-admin-section-body{border-top:1px solid var(--line);padding:18px}.gdpr-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.gdpr-section-head p{margin:0;color:var(--muted);max-width:780px;line-height:1.5}.gdpr-record-list{display:grid;gap:10px}.gdpr-record-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--bg)}.gdpr-record-card.gdpr-risk-high{border-left:4px solid #b42318}.gdpr-record-main{min-width:0;flex:1}.gdpr-record-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gdpr-record-title strong{font-size:14px}.gdpr-record-main p{margin:6px 0 9px;color:var(--muted);line-height:1.45}.gdpr-record-meta{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.gdpr-record-meta span{min-width:0}.gdpr-record-meta b{color:var(--text)}.gdpr-record-actions{display:flex;gap:6px;flex:0 0 auto}.gdpr-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);font-size:10px;font-weight:900;white-space:nowrap}.gdpr-status.ok{background:#edf7ef;border-color:#b7d9bd;color:#2d6a39}.gdpr-status.warn{background:#fff4e8;border-color:#ecc99b;color:#8a4d00}.gdpr-status.info{background:#edf4ff;border-color:#bfd2f4;color:#285b9d}.gdpr-status.pending{background:var(--surface-soft);color:var(--muted)}.gdpr-governance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gdpr-governance-grid label{display:grid;gap:7px;font-size:12px;font-weight:850}.gdpr-governance-grid label.full{grid-column:1/-1}.gdpr-governance-grid input,.gdpr-governance-grid select,.gdpr-governance-grid textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:11px;padding:11px;outline:none}.gdpr-inline-box{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important}.gdpr-audit-list{display:grid;gap:8px}.gdpr-audit-list>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.gdpr-audit-list>div:last-child{border-bottom:0}.gdpr-audit-list span{color:var(--muted);font-size:12px}.gdpr-record-modal{max-width:820px;max-height:92vh;overflow:auto}.gdpr-record-modal h2{margin:5px 0 6px}.gdpr-modal-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:16px}.gdpr-modal-fields label{display:grid;gap:7px;min-width:0}.gdpr-modal-fields label.full{grid-column:1/-1}.gdpr-modal-fields input,.gdpr-modal-fields select,.gdpr-modal-fields textarea{width:100%}.gdpr-record-modal .btn-row{margin-top:16px}
@media(max-width:1000px){.gdpr-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.gdpr-admin-hero,.gdpr-section-head,.gdpr-record-card,.gdpr-audit-list>div{flex-direction:column}.gdpr-admin-hero .toolbar-actions,.gdpr-section-head button,.gdpr-record-actions{width:100%}.gdpr-admin-hero .toolbar-actions button,.gdpr-section-head button,.gdpr-record-actions button{flex:1}.gdpr-kpis{grid-template-columns:1fr 1fr}.gdpr-governance-grid,.gdpr-modal-fields{grid-template-columns:1fr!important}.gdpr-governance-grid label.full,.gdpr-modal-fields label.full{grid-column:auto}.gdpr-admin-section>summary{padding:15px}.gdpr-admin-section-body{padding:15px}}
@media(max-width:430px){.gdpr-kpis{grid-template-columns:1fr}.gdpr-record-meta{display:grid;gap:5px}.gdpr-record-actions{display:grid;grid-template-columns:1fr 1fr}}


/* v1.18.90 — administration attention indicator */
.nav .nav-admin-label{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.admin-attention-badge,.mobile-menu-admin-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--red,#b42318);color:#fff;font-size:11px;font-weight:900;line-height:1;box-shadow:0 0 0 2px rgba(255,255,255,.7)}
.nav button.has-admin-attention:not(.active) .nav-admin-label>span:first-child{font-weight:850}
.mobile-menu-list button.has-admin-attention{position:relative}
.mobile-menu-admin-badge{margin-left:auto;flex:0 0 auto;box-shadow:none}
@media (max-width:800px){.admin-attention-badge,.mobile-menu-admin-badge{min-width:21px;height:21px;font-size:11px}}

/* v1.18.92 — administration work overview */
.admin-overview-v2{gap:18px}
.admin-work-queue{border:1px solid var(--line);border-radius:20px;background:var(--card);overflow:hidden;box-shadow:0 6px 18px #00000005}
.admin-work-queue.has-items{border-color:color-mix(in srgb,#d97706 38%,var(--line));background:color-mix(in srgb,var(--card) 96%,#f59e0b 4%)}
.admin-work-queue-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}
.admin-work-queue-head h3{margin:3px 0 4px;font-size:20px}.admin-work-queue-head p{margin:0;color:var(--muted);font-size:12px}
.admin-work-total,.admin-work-clear{display:grid;place-items:center;flex:0 0 auto;min-width:38px;height:38px;border-radius:999px;font-weight:900}
.admin-work-total{background:#b42318;color:#fff}.admin-work-clear{background:#e7f6ec;color:#28733e;font-size:18px}
.admin-work-list{border-top:1px solid var(--line)}
.admin-work-list button{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto 18px;align-items:center;gap:11px;border:0;border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:transparent;color:inherit;text-align:left;padding:12px 18px;cursor:pointer}
.admin-work-list button:first-child{border-top:0}.admin-work-list button:hover{background:var(--surface-soft)}
.admin-work-icon{width:34px;height:34px;border-radius:10px;background:var(--surface-soft);display:grid;place-items:center}
.admin-work-copy strong,.admin-work-copy small{display:block}.admin-work-copy strong{font-size:13px}.admin-work-copy small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4}
.admin-work-count{min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:#b42318;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900;box-sizing:border-box}
.admin-work-arrow{font-size:22px;color:var(--muted)}
.admin-work-empty{display:flex;gap:8px;align-items:baseline;padding:0 20px 18px;color:var(--muted);font-size:12px}.admin-work-empty strong{color:var(--text)}
.admin-primary-areas{align-items:start}
.admin-advanced-tools{border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--card) 96%,var(--surface-soft));overflow:hidden}
.admin-advanced-tools>summary{list-style:none;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 17px;cursor:pointer}.admin-advanced-tools>summary::-webkit-details-marker{display:none}
.admin-advanced-summary-icon{width:36px;height:36px;border-radius:10px;background:var(--surface-soft);display:grid;place-items:center}.admin-advanced-tools>summary strong,.admin-advanced-tools>summary small{display:block}.admin-advanced-tools>summary small{margin-top:2px;color:var(--muted);font-size:11px}.admin-advanced-chevron{font-size:20px;color:var(--muted);transition:transform .18s ease}.admin-advanced-tools[open] .admin-advanced-chevron{transform:rotate(180deg)}
.admin-advanced-body{padding:0 10px 10px;border-top:1px solid var(--line)}
.admin-kpis-secondary{opacity:.93}.admin-recent-panel{margin-top:0}
body[data-theme='dark'] :is(.admin-work-queue,.admin-advanced-tools){background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
@media(max-width:1000px){
  .admin-side .admin-nav-group{display:none!important}
  .admin-side{display:block;overflow:visible;padding:8px}.admin-side-top{display:block}.admin-side .admin-home-button{width:100%;justify-content:flex-start}
  .admin-primary-areas{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .admin-primary-areas{grid-template-columns:1fr}.admin-work-queue-head{padding:15px}.admin-work-list button{grid-template-columns:34px minmax(0,1fr) auto;padding:12px 14px}.admin-work-arrow{display:none}.admin-work-copy small{font-size:10.5px}.admin-work-empty{display:grid;padding:0 15px 15px}.admin-advanced-tools>summary{padding:13px 14px}.admin-kpis-secondary{grid-template-columns:1fr 1fr}
}


/* v1.18.93 — maintenance gate */
.maintenance-gate-card{margin:18px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%);text-align:center}
.maintenance-gate-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:50%;background:var(--accent);color:#fff;font-size:26px;font-weight:800}
.maintenance-gate-card p{margin:0;font-size:1.02rem;line-height:1.55}.maintenance-gate-card small{display:block;margin-top:10px;color:var(--muted)}
.maintenance-gate-note{color:var(--muted);line-height:1.5}

.portal-email-action{white-space:nowrap}.portal-email-action.small{cursor:pointer}

/* v1.19.18 — compact admin overview and protected employer email display */
.admin-primary-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.admin-primary-column{display:grid;gap:14px;align-content:start;min-width:0}
.admin-hidden-login-email{display:grid;gap:7px}.admin-hidden-login-email>span{font-size:12px;font-weight:800}.admin-hidden-login-email>div{min-height:42px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.portal-email-action{appearance:none;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);border-radius:9px;padding:6px 9px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.portal-email-action:hover{background:var(--card)}
@media(max-width:700px){.admin-primary-columns{grid-template-columns:1fr}}

/* v1.19.18 contact action alignment */
.contact-card-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.contact-card-actions .ombud-action-btn{width:auto;min-height:42px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center}.contact-card-actions .email-contact,.contact-card-actions .message-contact{flex:0 0 auto}@media(max-width:760px){.contact-card-actions{display:grid;grid-template-columns:1fr 1fr}.contact-card-actions .ombud-action-btn{width:100%;min-width:0}.contact-card-actions .ombud-action-btn:only-child{grid-column:1/-1}}


/* v1.19.19 — UI consistency pass */
.admin-toolbar h2,.admin-toolbar h3{margin:0;font-size:20px;line-height:1.25;letter-spacing:-.01em}
.admin-toolbar .toolbar-actions{align-items:center}
.admin-toolbar .toolbar-actions button{min-height:40px}
.modal-title{margin:6px 0 8px;font-size:24px;line-height:1.25;letter-spacing:-.02em}
.modal-lead{margin:0 0 18px;color:var(--muted);line-height:1.5}
.modal-fields-single{grid-template-columns:1fr;margin-top:0}
.modal-feedback-block{margin-top:14px}
.security p{color:inherit!important;opacity:.86}
.message-person-button{width:100%;border:1px solid transparent;background:transparent;color:inherit;text-align:left;cursor:pointer;border-radius:12px;padding:9px 10px;transition:.15s background,.15s border-color}
.message-person-button:hover{background:var(--control-hover)!important;border-color:var(--border)}
.message-person-button:focus-visible{border-color:var(--focus)}
.message-person-meta{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:2px}
.gdpr-status.ok{background:var(--success-bg)!important;border-color:color-mix(in srgb,var(--success) 38%,var(--border))!important;color:var(--success-text)!important}
.gdpr-status.warn{background:var(--warning-bg)!important;border-color:color-mix(in srgb,var(--warning) 38%,var(--border))!important;color:var(--warning-text)!important}
.gdpr-status.info{background:var(--info-bg)!important;border-color:color-mix(in srgb,var(--info) 35%,var(--border))!important;color:var(--info-text)!important}
.gdpr-status.pending{background:var(--surface-secondary)!important;border-color:var(--border)!important;color:var(--text-muted)!important}
@media(max-width:560px){.admin-toolbar .toolbar-actions{width:100%}.admin-toolbar .toolbar-actions button{flex:1}.modal-title{font-size:22px}}
/* v1.19.19 — admin page header consistency */
.admin-page-stage .admin-stack>.users-head:first-child,
.admin-page-stage .analytics-wrap>.analytics-toolbar:first-child{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:17px 18px;margin-bottom:16px;
}
.admin-page-stage .admin-stack>.users-head:first-child>button,
.admin-page-stage .analytics-wrap>.analytics-toolbar:first-child button{min-height:40px}
@media(max-width:560px){
  .admin-page-stage .admin-stack>.users-head:first-child,
  .admin-page-stage .analytics-wrap>.analytics-toolbar:first-child{align-items:flex-start;flex-direction:column}
  .admin-page-stage .admin-stack>.users-head:first-child>button{width:100%}
}


/* v1.19.19 UI consistency pass 2 — shared spacing and form semantics */
.form-section-label{display:block;margin-bottom:8px}
.form-help-text{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.push-role-grid.is-disabled{opacity:.45;pointer-events:none}
.push-role-choice-first{margin-top:8px}
.upload-current-file{display:block;margin-top:9px}
.admin-section-hero h2{margin:4px 0 6px}
.admin-section-hero>p,.admin-section-hero p{margin:0;color:var(--muted)}
.admin-subsection-head h3{margin:0}
.admin-subsection-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.formcard-title{margin:6px 0 12px}
.formcard-title-roomy{margin-bottom:16px}
.panel-spaced{margin-top:16px}
.panel-title{margin-top:0}
.panel-subtitle{margin:4px 0 0;color:var(--muted);font-size:12px}
.muted-text{color:var(--muted)}
.expedition-preview-label{margin-bottom:8px}
.field-hint-spaced{margin-top:8px}
.expedition-admin-grid{grid-template-columns:minmax(340px,1fr) minmax(300px,.8fr)}
.profile-checkbox-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px}
.profile-checkbox-row input{width:auto!important}
.profile-privacy-copy{margin:5px 0 10px;color:var(--muted);font-size:12px}
.register-extract-subhead{padding:0 14px}
.register-extract-note{padding:0 14px 12px}
.register-extract-actions{margin-top:16px}
@media(max-width:760px){.expedition-admin-grid{grid-template-columns:1fr}.profile-checkbox-row{align-items:flex-start}}


/* v1.19.19 UI consistency pass 3 — dialog accessibility and cross-module spacing */
.panel-bottom-spaced{margin-bottom:14px}
.panel-copy{margin:6px 0 0;color:var(--muted)}
.register-extract-title{margin:5px 0 8px}
.register-extract-warning-copy{margin:5px 0 0}
.messages-settings-spaced{margin-top:16px}
.message-person-copy{min-width:0;flex:1}
.message-group-add-title{margin-bottom:8px}
.ombud-detail-title{margin:5px 0}
.ombud-detail-roles{color:var(--muted)}
.form-help-tight{margin:4px 0 8px}
.muted-block{display:block;color:var(--muted)}
.profile-card-help{margin:5px 0 10px;color:var(--muted);font-size:12px}
.profile-action-spaced{margin-top:9px}
.profile-action-adjacent{margin-left:6px}
.profile-section-title{margin:6px 0 4px}
.profile-section-intro{margin:0 0 14px;color:var(--muted)}
.profile-section-intro-roomy{margin-bottom:18px}
.training-application-title{margin:5px 0 8px}
.toggle-row-centered{align-items:center}
.toggle-help{display:block;color:var(--muted);font-weight:500}
@media(max-width:560px){.profile-action-adjacent{margin-left:0}.avatar-upload .profile-action-spaced{width:100%}}


/* v1.19.19 UI consistency pass 4 — admin/user actions and shared content spacing */
.btn-row-spaced{margin-top:10px}
.btn-row-compact-spaced{margin-top:8px}
.locked-role-note{display:block;color:var(--muted);margin-top:4px}
.admin-note-spaced{margin-top:14px}
.admin-confirm-label{margin-top:14px}
@media(max-width:760px){.mobile-home-search-visible{display:block}}
.home-panel-footer{margin-top:12px}
.install-action{margin-top:12px}

/* v1.19.19 WIP5 — secondary feedback shortcut anchored at bottom of desktop sidebar */
@media(min-width:1001px){
  .layout>aside{display:flex;flex-direction:column}
  .layout>aside>.nav,.layout>aside>#expeditionSidebar{flex:0 0 auto}
  .layout>aside>.beta-feedback-shortcut-wrap{margin-top:auto;margin-bottom:2px}
}


/* v1.19.19 WIP5 — contact profile workplace editor */
.contact-profile-workplaces{margin-top:12px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--soft,#f7f7f7);display:flex;align-items:center;justify-content:space-between;gap:12px}
.contact-profile-workplaces>div{display:grid;gap:3px;min-width:0}.contact-profile-workplaces small{color:var(--muted);overflow-wrap:anywhere}.contact-profile-workplaces.is-unlinked{opacity:.78}
.contact-workplace-modal{max-width:650px}.contact-workplace-list{display:grid;gap:8px;margin:16px 0}.contact-workplace-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:var(--panel)}
.contact-workplace-choice .workplace-choice{border:0;padding:0;background:transparent}.contact-primary-choice{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:var(--muted)}.contact-primary-choice input{margin:0}.contact-primary-choice:has(input:checked){color:var(--text)}
@media(max-width:560px){.contact-profile-workplaces{align-items:stretch;flex-direction:column}.contact-profile-workplaces .small{width:100%}.contact-workplace-choice{grid-template-columns:1fr}.contact-primary-choice{padding-left:4px}}

/* v1.19.19 hotfix — emoji parity in floating Messenger-style chat */
.floating-message-tools{display:flex;gap:4px;flex-wrap:wrap;padding:7px 10px 0;background:var(--surface,#fff);border-top:1px solid var(--line)}
[data-theme='dark'] .floating-message-tools{background:var(--surface,#1c1c1c)}


/* v1.19.22 WIP2 — consistent keyboard focus and mobile touch targets */
:where(button,a,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid color-mix(in srgb,var(--focus,#2563eb) 62%,transparent)!important;outline-offset:2px}
@media(max-width:700px){
  .small,.tabs button,.mobile-filter-row button,.floating-message-icon-btn,.modal-close{min-height:44px}
  .floating-message-icon-btn,.modal-close{min-width:44px}
}

/* v1.19.22 WIP3 — mobile viewport, dialogs, tables and Messenger overflow hardening */
@media(max-width:760px){
  /* Do not force message panes taller than the available mobile viewport. */
  .messages-shell,
  .messages-page.conversation-open .messages-shell{
    min-height:0!important;
    max-height:calc(100dvh - 96px);
  }

  /* Long horizontal controls should scroll inside themselves, never widen the page. */
  .message-compose-tools,
  .floating-message-tools{
    display:flex;
    flex-wrap:nowrap!important;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .message-compose-tools::-webkit-scrollbar,
  .floating-message-tools::-webkit-scrollbar{display:none}
  .message-compose-tools>*,
  .floating-message-tools>*{flex:0 0 auto}

  .messages-stream,
  .floating-message-list{
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  /* A short confirmation should remain a dialog instead of becoming a full-screen page. */
  .modal-backdrop{
    padding:calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom));
  }
  .modal-card{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    border-radius:18px!important;
    padding:18px 16px calc(16px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:86px;
  }
  .modal-card>.modal-close{
    top:calc(4px + env(safe-area-inset-top));
  }

  /* Wide document/export tables must scroll locally instead of clipping or widening the portal. */
  .document-rendered{
    width:calc(100% - 16px);
    margin:8px auto;
    padding:20px 16px;
    overflow-x:hidden;
  }
  .document-rendered table,
  .register-extract-table{
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
  }
  .document-rendered th,
  .document-rendered td,
  .register-extract-table th,
  .register-extract-table td{
    overflow-wrap:normal;
    word-break:normal;
  }
}

@media(max-width:420px){
  .modal-card{border-radius:14px!important}
}

@media(max-width:900px) and (max-height:560px){
  /* Keep mobile/landscape Messenger usable when browser chrome or keyboard leaves little height. */
  .floating-chat-window,
  .floating-hub-popover{height:100dvh;max-height:100dvh}
  .floating-chat-window .floating-message-top,
  .floating-hub-popover .floating-message-top{min-height:52px}
  .floating-chat-window .floating-message-compose{padding-top:6px}
}


/* v1.19.22 — final desktop consistency pass */
main{min-width:0;width:100%}
.page-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}
.page-title-actions>.primary,.page-title-actions>.secondary,.page-title-actions>button{min-height:42px}
@media(max-width:760px){.page-title{flex-direction:column}.page-title-actions{width:100%;justify-content:flex-start}.page-title-actions>.primary,.page-title-actions>.secondary,.page-title-actions>button{width:100%}}


/* v1.19.22 RC2 — mobile calendar/card follow-up */
.ombud-card.ombud-card-rich{padding:0;gap:0;align-items:stretch;cursor:default}
.ombud-card-rich .ombud-card-main{padding:14px 14px 10px}
.ombud-card-rich .ombud-card-actions{padding:0 14px 14px;gap:8px}
@media(max-width:760px){
  .home-compact-event{grid-template-columns:52px minmax(0,1fr) 16px}
  .home-compact-date{min-width:0;gap:3px}
  .ombud-card.ombud-card-rich{min-height:0}
  .ombud-card-rich .ombud-card-main{padding:13px 13px 9px}
  .ombud-card-rich .ombud-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 13px 13px;gap:7px}
  .ombud-card-rich .ombud-card-actions .primary-contact{grid-column:auto}
  .ombud-card-rich .ombud-action-btn{min-width:0;padding:9px 8px!important}
}
@media(max-width:360px){
  .ombud-card-rich .ombud-card-actions{grid-template-columns:1fr}
}


/* RC6: monthly-letter content mode + Word/PDF primary document */
.monthly-letter-content-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 18px}
.monthly-letter-mode-choice{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.monthly-letter-mode-choice:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}
.monthly-letter-mode-choice.is-selected{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--card));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}
.monthly-letter-mode-choice>input{position:absolute;opacity:0;pointer-events:none}
.monthly-letter-mode-choice>span:last-child{display:grid;gap:4px}.monthly-letter-mode-choice strong{font-size:14px}.monthly-letter-mode-choice small{color:var(--muted);line-height:1.4}
.monthly-letter-mode-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--card);border:1px solid var(--line);font-weight:900;color:var(--accent)}
.monthly-letter-mode-panel[hidden]{display:none!important}.monthly-letter-mode-panel{display:grid;gap:10px}
.monthly-letter-current-primary{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:11px 12px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 5%,var(--card))}
.monthly-letter-current-primary>div:last-child{display:grid;gap:2px;min-width:0}.monthly-letter-current-primary strong{overflow-wrap:anywhere}.monthly-letter-current-primary small{color:var(--muted)}
.news-attachment.is-primary-document{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--card))}
.home-monthly-letter-actions{flex-wrap:wrap;gap:8px}.mobile-monthly-letter-actions{display:grid;gap:6px;flex:0 0 auto;align-self:center}.mobile-monthly-letter-actions .small{white-space:nowrap}
@media(max-width:700px){.monthly-letter-content-mode{grid-template-columns:1fr}.mobile-monthly-letter-card{align-items:center}.mobile-monthly-letter-actions{min-width:74px}}


/* v1.19.22 RC7 — Systemstatus: Supabase Storage capacity */
.storage-status-panel{overflow:hidden}
.storage-usage-loading{display:flex;align-items:center;gap:12px;min-height:92px;padding:8px 2px;color:var(--muted)}
.storage-usage-loading strong,.storage-usage-loading small{display:block}.storage-usage-loading small{margin-top:3px}
.storage-usage-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.storage-usage-numbers>div{border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:var(--card)}
.storage-usage-numbers span{display:block;color:var(--muted);font-size:12px;font-weight:700}
.storage-usage-numbers strong{display:block;margin-top:4px;font-size:20px;line-height:1.15}
.storage-usage-meter{height:13px;border-radius:999px;overflow:hidden;background:#eceff2;border:1px solid var(--line)}
.storage-usage-meter>span{display:block;height:100%;min-width:2px;border-radius:inherit;background:#4d9a62;transition:width .25s ease}
.storage-usage-meter.warning>span{background:#c38a22}.storage-usage-meter.danger>span{background:#b94f49}
.storage-usage-status{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-top:10px}
.storage-usage-status strong{font-size:13px}.storage-usage-status small{color:var(--muted);font-size:12px;text-align:right}
.storage-usage-status.good strong{color:#347048}.storage-usage-status.warning strong{color:#9a6a11}.storage-usage-status.danger strong{color:#a44740}
.storage-usage-details{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.storage-usage-details summary{cursor:pointer;font-weight:800;font-size:13px}
.storage-usage-details>div{display:grid;gap:6px;margin-top:9px}
.storage-usage-bucket{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--soft,#f7f8fa)}
.storage-usage-bucket span{font-size:12px}.storage-usage-bucket strong{font-size:12px}.storage-usage-bucket small{font-size:11px;color:var(--muted);min-width:58px;text-align:right}
.storage-usage-note{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
body[data-theme="dark"] .storage-usage-numbers>div,body[data-theme="dark"] .storage-usage-bucket{background:#1a1d24!important;border-color:var(--line)!important}
body[data-theme="dark"] .storage-usage-meter{background:#272c34}
@media(max-width:700px){.storage-usage-numbers{grid-template-columns:1fr 1fr}.storage-usage-numbers>div:last-child{grid-column:1/-1}.storage-usage-status{display:block}.storage-usage-status small{display:block;margin-top:4px;text-align:left}.storage-usage-bucket{grid-template-columns:minmax(0,1fr) auto}.storage-usage-bucket small{grid-column:1/-1;text-align:left}}

/* v1.19.22 RC8 — Push hardening: service-worker badge isolation */

/* v1.19.22 RC10 — Push diagnostics and delivery readiness */
.push-diagnostic-host{display:block;margin-top:.55rem}
.push-diag-loading{display:flex;align-items:center;gap:.55rem;color:var(--muted,#667085);font-size:.9rem}
.push-diag-summary{border:1px solid var(--border,#dfe4ea);border-radius:12px;padding:.75rem .85rem;margin:.45rem 0 .7rem;background:var(--surface-soft,#f8fafc);display:flex;flex-direction:column;gap:.2rem}
.push-diag-summary.ok{border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.07)}
.push-diag-summary.warn{border-color:rgba(217,119,6,.35);background:rgba(217,119,6,.07)}
.push-diag-summary.fail{border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.07)}
.push-diag-summary small{color:var(--muted,#667085)}
.push-diag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.push-diag-row{display:flex;gap:.55rem;align-items:flex-start;border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:.6rem .7rem;background:var(--surface,#fff)}
.push-diag-row>div{display:flex;flex-direction:column;gap:.12rem;min-width:0}
.push-diag-row small{color:var(--muted,#667085);line-height:1.35}
.push-diag-icon{width:1.35rem;height:1.35rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto;font-size:.78rem}
.push-diag-row.ok .push-diag-icon{background:rgba(22,163,74,.14);color:#15803d}
.push-diag-row.warn .push-diag-icon{background:rgba(217,119,6,.14);color:#b45309}
.push-diag-row.fail .push-diag-icon{background:rgba(220,38,38,.14);color:#b91c1c}
.push-health-panel .push-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:.75rem}
.push-health-stat{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:.72rem .8rem;background:var(--surface,#fff);display:flex;flex-direction:column;gap:.18rem}
.push-health-stat span,.push-health-stat small{color:var(--muted,#667085)}
.push-health-stat strong{font-size:1.2rem}
.push-health-warning{margin-top:.75rem}
.user-push-status{display:block;margin-top:.35rem;font-size:.78rem;line-height:1.25}
.user-push-status.good{color:#15803d}.user-push-status.warn{color:#b45309}.user-push-status.off{color:var(--muted,#667085)}
@media(max-width:760px){.push-diag-grid{grid-template-columns:1fr}.push-health-panel .push-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.19.22 RC10 – push activation + admin account recovery */
.push-activation-banner{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px 16px;margin:12px 0 18px;box-shadow:0 7px 20px rgba(0,0,0,.035)}
.push-activation-banner.warn{background:#fffaf2;border-color:#ead7b6}
.push-activation-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff1ef;font-size:23px}
.push-activation-banner.warn .push-activation-icon{background:#fff1d9}
.push-activation-copy{min-width:0}.push-activation-copy strong{display:block;font-size:15px;line-height:1.25}.push-activation-copy span{display:block;margin-top:4px;color:var(--muted);font-size:12.5px;line-height:1.45;max-width:720px}
.push-activation-actions{display:flex;gap:8px;align-items:center}.push-activation-actions button{white-space:nowrap}
.admin-email-clear{font-weight:700;color:var(--text);overflow-wrap:anywhere;word-break:break-word}
body[data-theme="dark"] .push-activation-banner{background:#1a1d24;color:#f3f4f6;border-color:#303641}body[data-theme="dark"] .push-activation-banner.warn{background:#252017}body[data-theme="dark"] .push-activation-icon{background:#302326}
@media(max-width:760px){.push-activation-banner{grid-template-columns:48px minmax(0,1fr);padding:13px;gap:11px}.push-activation-actions{grid-column:1/-1;display:grid}.push-activation-actions button{width:100%;min-height:42px}}

/* RC11: password-reset development notice timing */
.password-notice-gate{display:grid;gap:12px;margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.password-notice-gate h3{margin:0;font-size:18px}
.password-notice-gate .primary{justify-self:start;min-width:150px}
.admin-password-notice-choice{display:grid;gap:7px;margin:14px 0;font-weight:750}
.admin-password-notice-choice select{width:100%}
.admin-password-notice-choice small{font-weight:500;color:var(--muted);line-height:1.45}
body[data-theme="dark"] .password-notice-gate{background:#1a1d24;border-color:#303641}

/* v1.19.22 RC13 — refined mobile bottom navigation */
@media(max-width:760px){
  body{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
  .mobile-dock{
    left:max(10px,env(safe-area-inset-left))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    height:70px!important;
    min-height:70px!important;
    padding:6px!important;
    gap:2px!important;
    border:1px solid color-mix(in srgb,var(--border) 88%,transparent)!important;
    border-radius:22px!important;
    background:color-mix(in srgb,var(--surface) 94%,transparent)!important;
    box-shadow:0 12px 34px color-mix(in srgb,var(--text-primary) 16%,transparent),0 2px 8px color-mix(in srgb,var(--text-primary) 7%,transparent)!important;
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    backdrop-filter:blur(18px) saturate(140%);
    overflow:visible;
  }
  .mobile-dock button{
    position:relative;
    min-width:0;
    min-height:56px!important;
    padding:4px 2px 3px!important;
    gap:3px!important;
    border:0!important;
    border-radius:16px!important;
    background:transparent!important;
    color:var(--text-secondary)!important;
    font-size:10px!important;
    font-weight:760!important;
    line-height:1!important;
    -webkit-tap-highlight-color:transparent;
    transition:transform .15s ease,color .18s ease,background .18s ease;
  }
  .mobile-dock button.active{
    background:transparent!important;
    color:var(--accent-soft-text)!important;
  }
  .mobile-dock-icon{
    position:relative;
    width:40px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:inherit;
    transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
  }
  .mobile-dock-icon svg{
    width:22px;
    height:22px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.85;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-dock button.active .mobile-dock-icon{
    background:var(--accent-soft)!important;
    color:var(--accent-soft-text)!important;
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 13%,transparent);
  }
  .mobile-dock-label{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10.5px;
    font-weight:780;
    letter-spacing:-.015em;
    line-height:1.05;
  }
  .mobile-dock button.active .mobile-dock-label{font-weight:900;color:var(--accent-soft-text)!important}
  .mobile-dock button:active{transform:scale(.955)}
  .mobile-dock button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
  .mobile-dock button.has-unread{color:var(--text-secondary)!important}
  .mobile-dock button.has-unread.active{color:var(--accent-soft-text)!important}
  .mobile-dock-unread{
    position:absolute!important;
    top:-5px!important;
    right:-7px!important;
    z-index:2;
    min-width:18px!important;
    height:18px!important;
    margin:0!important;
    padding:0 5px!important;
    border-radius:999px!important;
    background:#c8102e!important;
    color:#fff!important;
    box-shadow:0 0 0 2px var(--surface)!important;
    font-size:9px!important;
    font-weight:950!important;
    line-height:18px!important;
  }
}
@media(max-width:360px){
  .mobile-dock{left:6px!important;right:6px!important;gap:0!important;padding-inline:4px!important}
  .mobile-dock button{padding-inline:0!important}
  .mobile-dock-icon{width:36px;height:29px}
  .mobile-dock-icon svg{width:21px;height:21px}
  .mobile-dock-label{font-size:9.5px}
}
@media(max-width:760px){
  body[data-theme="dark"] .mobile-dock button.active{background:transparent!important}
}

/* v1.19.22 RC17 — release hardening: focus, modal accessibility and readable secondary text */
.message-compose-box:focus-within{
  border-color:var(--accent,#2563eb)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2563eb) 18%,transparent)!important;
}
.legacy-policy-modal{max-width:min(760px,calc(100vw - 28px));max-height:min(88vh,900px);overflow:auto}
.legacy-policy-scroll{max-height:52vh;overflow:auto;padding-right:4px;margin:12px 0}
.legacy-policy-modal .invite-policy-card{margin:10px 0}


/* v1.19.22 RC19 — compact profile layout + personal completed trainings */
.profile-section-grid{align-items:start}
.profile-training-editor{display:grid;gap:7px;font-weight:800}
.profile-training-editor textarea{width:100%;min-height:108px;box-sizing:border-box;resize:vertical;line-height:1.45}
.profile-training-editor small{font-weight:500;color:var(--muted);line-height:1.45}
@media(min-width:761px){
  .profile-hub{gap:14px}
  .profile-section{gap:14px}
  .profile-section-grid{gap:14px}
  .profile-summary{gap:16px;padding:18px 20px}
  .profile-summary .profile-avatar-big{width:96px;height:96px;font-size:30px}
}

/* RC20: personlig utbildningshistorik */
.profile-training-card{overflow:hidden}
.profile-training-add-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:16px}
.profile-training-add-box{display:grid;align-content:start;gap:7px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft,#f7f5f3)}
.profile-training-add-box>small{color:var(--muted);line-height:1.4}
.profile-training-add-row{display:grid;grid-template-columns:minmax(0,1fr) 112px auto;gap:8px;align-items:center;margin-top:4px}
.profile-training-add-row input,.profile-training-add-row select{width:100%;min-width:0;height:42px}
.profile-training-add-row button{white-space:nowrap;min-height:42px}
.profile-training-list{display:grid;gap:8px;margin-top:16px}
.profile-training-row{display:grid;grid-template-columns:minmax(0,1fr) 92px auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--card)}
.profile-training-row-copy{min-width:0}.profile-training-row-copy strong,.profile-training-row-copy span{display:block}.profile-training-row-copy strong{overflow-wrap:anywhere}.profile-training-row-copy span{margin-top:3px;color:var(--muted);font-size:12px}
.profile-training-year-field input{width:100%;height:40px;text-align:center}
.profile-training-row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.profile-training-empty{display:grid;gap:4px;padding:15px;border:1px dashed var(--line);border-radius:13px;color:var(--muted)}.profile-training-empty strong{color:var(--text)}
.profile-training-privacy{margin-top:12px}
.training-overview-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.training-completed-badge{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border-radius:999px;background:#e9f7ee;border:1px solid #b9dfc6;color:#17633b;font-size:11px;font-weight:900;line-height:1.2}
body[data-theme="dark"] .training-completed-badge{background:#173826;border-color:#2d6844;color:#baf0ca}
@media(max-width:900px){.profile-training-add-grid{grid-template-columns:1fr}}
@media(max-width:760px){.profile-training-add-row{grid-template-columns:minmax(0,1fr) 92px}.profile-training-add-row button{grid-column:1/-1;width:100%}.profile-training-row{grid-template-columns:minmax(0,1fr) 82px}.profile-training-row-actions{grid-column:1/-1;justify-content:flex-start}.profile-training-row-actions button{flex:1}.profile-training-card{padding-left:14px;padding-right:14px}}

/* RC21 — beta resolution email status */
.beta-resolution-mail{display:inline-flex;align-items:center;gap:4px;color:#047857;font-weight:800}


/* v1.19.22 RC24 — clearer profile training + profile/admin notifications */
.profile-training-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.profile-training-heading h3{margin:0}.profile-training-heading p{margin:5px 0 0;color:var(--muted);line-height:1.45}
.profile-training-count{flex:0 0 auto;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:12px;font-weight:800;color:var(--muted)}
.profile-training-list{display:grid;gap:8px;margin-top:16px}
.profile-training-item{border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.profile-training-item>summary{list-style:none;display:grid;grid-template-columns:30px minmax(0,1fr) auto 18px;gap:10px;align-items:center;padding:11px 12px;cursor:pointer}.profile-training-item>summary::-webkit-details-marker{display:none}
.profile-training-check{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:rgba(22,163,74,.11);color:#15803d;font-weight:900}
.profile-training-item-copy{min-width:0}.profile-training-item-copy>strong{display:block;overflow-wrap:anywhere}.profile-training-item-copy>span{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:3px;color:var(--muted);font-size:12px}.profile-training-item-copy b{font-weight:750;color:var(--muted)}.profile-training-item-copy i{font-style:normal;padding:2px 7px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:10.5px;font-weight:750}
.profile-training-edit-label{font-size:12px;font-weight:800;color:var(--accent)}.profile-training-chevron{color:var(--muted);font-size:17px;transition:transform .16s ease}.profile-training-item[open] .profile-training-chevron{transform:rotate(180deg)}
.profile-training-editor-row{display:grid;grid-template-columns:minmax(150px,220px) auto;gap:10px;align-items:end;padding:10px 12px 12px;border-top:1px solid var(--line);background:var(--surface-soft)}
.profile-training-editor-row label>span{display:block;margin-bottom:5px;font-size:11px;font-weight:800;color:var(--muted)}.profile-training-editor-row label small{font-weight:500}.profile-training-editor-row input{width:100%;height:40px}.profile-training-row-actions{display:flex;gap:7px;flex-wrap:wrap}
.profile-training-add-heading{display:grid;gap:2px;margin-top:18px}.profile-training-add-heading>span{color:var(--muted);font-size:12px}
.profile-training-add-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:10px}
.profile-training-add-box{border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);overflow:hidden;padding:0}
.profile-training-add-box>summary{list-style:none;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:13px;cursor:pointer}.profile-training-add-box>summary::-webkit-details-marker{display:none}.profile-training-add-box>summary>span:nth-child(2)>strong,.profile-training-add-box>summary>span:nth-child(2)>small{display:block}.profile-training-add-box>summary small{margin-top:2px;color:var(--muted);font-weight:500;line-height:1.35}.profile-training-add-box>summary>b{color:var(--muted);transition:transform .16s ease}.profile-training-add-box[open]>summary>b{transform:rotate(180deg)}
.profile-training-add-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);font-size:18px;color:var(--accent)}
.profile-training-add-content{padding:0 13px 13px;border-top:1px solid var(--line)}.profile-training-add-row{display:grid;grid-template-columns:minmax(0,1fr) 128px auto;gap:8px;align-items:center;padding-top:12px}.profile-training-add-row input,.profile-training-add-row select{width:100%;min-width:0;height:42px}.profile-training-add-row button{white-space:nowrap;min-height:42px}
.profile-training-privacy{margin-top:12px}

.profile-notification-intro{margin:4px 0 0;color:var(--muted);line-height:1.45}
.push-simple-status{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:14px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}
.push-simple-status.ok{border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.06)}.push-simple-status.warn{border-color:rgba(217,119,6,.35);background:rgba(217,119,6,.06)}.push-simple-status.fail{border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.06)}
.push-simple-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:18px;background:var(--card);border:1px solid var(--line)}.push-simple-status.ok .push-simple-icon{color:#15803d}.push-simple-status.warn .push-simple-icon{color:#b45309}.push-simple-status.fail .push-simple-icon{color:#b91c1c}
.push-simple-copy{min-width:0}.push-simple-copy strong,.push-simple-copy small{display:block}.push-simple-copy small{margin-top:3px;color:var(--muted);line-height:1.4}.push-simple-action button{white-space:nowrap}
.profile-notification-types{display:grid;gap:7px;margin-top:14px}.profile-notification-type{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.profile-notification-type>span{min-width:0}.profile-notification-type strong,.profile-notification-type small{display:block}.profile-notification-type small{margin-top:2px;color:var(--muted);line-height:1.35}.profile-notification-state{flex:0 0 auto;font-size:11px;padding:4px 8px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line)}.profile-notification-state.on{color:#15803d}.profile-notification-state.off{color:var(--muted)}.profile-notification-state.neutral{color:var(--accent)}
.profile-notification-toggle{cursor:pointer}.profile-notification-toggle input{appearance:none;-webkit-appearance:none;width:46px;height:26px;border:2px solid #7b818a;border-radius:999px;background:#d9dde2;position:relative;flex:0 0 auto;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.profile-notification-toggle input:after{content:'';position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:#fff;border:1px solid #69707a;box-shadow:0 1px 3px rgba(0,0,0,.28);transition:.15s ease}.profile-notification-toggle input:checked{background:#21864b;border-color:#176b3b}.profile-notification-toggle input:checked:after{transform:translateX(20px);border-color:#fff}.profile-notification-toggle input:focus-visible{outline:3px solid rgba(185,59,55,.28);outline-offset:3px}
.push-tech-details{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}.push-tech-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer;font-size:12px;font-weight:800;color:var(--muted)}.push-tech-details>summary::-webkit-details-marker{display:none}.push-tech-details>summary b{font-size:16px;transition:transform .16s ease}.push-tech-details[open]>summary b{transform:rotate(180deg)}.push-tech-body{padding:0 12px 12px;border-top:1px solid var(--line)}.push-tech-body .push-diag-grid{margin-top:10px}.push-tech-actions{margin-top:10px}

.push-admin-composer{padding:0;overflow:hidden}.push-admin-step{padding:18px}.push-admin-step+.push-admin-step{border-top:1px solid var(--line)}
.push-admin-step-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px}.push-admin-step-head>span{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent);font-weight:900}.push-admin-step-head strong,.push-admin-step-head small{display:block}.push-admin-step-head small{margin-top:2px;color:var(--muted);font-weight:500;line-height:1.35}
.push-compose-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.push-compose-fields{grid-template-columns:1fr}.push-preview{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface-soft);box-shadow:0 8px 20px rgba(0,0,0,.04)}.push-preview-app{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:7px}.push-preview strong{display:block;font-size:14px;line-height:1.3;overflow-wrap:anywhere}.push-preview p{margin:4px 0 9px;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.push-preview>small{color:var(--muted);font-size:10.5px}
.push-audience-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.push-audience-option{position:relative;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer}.push-audience-option:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--card));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 8%,transparent)}.push-audience-option input{margin-top:2px}.push-audience-option strong,.push-audience-option small{display:block}.push-audience-option small{margin-top:3px;color:var(--muted);line-height:1.35}.push-role-target-panel{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:13px;background:var(--surface-soft)}.push-role-target-panel.hidden{display:none!important}
.push-destination-details{border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}.push-destination-details>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 13px;cursor:pointer}.push-destination-details>summary::-webkit-details-marker{display:none}.push-destination-details>summary span{color:var(--muted);font-size:12px}.push-destination-details>summary strong{font-size:13px}.push-destination-details>summary b{font-size:12px;color:var(--accent)}.push-destination-editor{padding:0 13px 13px;border-top:1px solid var(--line)}.push-destination-editor label{display:block;padding-top:11px;font-size:12px;font-weight:800}.push-destination-editor select{width:100%;margin-top:5px}
.push-send-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.push-send-summary>div{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);min-width:0}.push-send-summary span,.push-send-summary strong{display:block}.push-send-summary span{font-size:10.5px;color:var(--muted);font-weight:750}.push-send-summary strong{margin-top:3px;font-size:12px;overflow-wrap:anywhere}.push-lockscreen-warning{display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding:10px 11px;border-radius:12px;background:var(--warning-bg,#fff7e8);border:1px solid color-mix(in srgb,#b7791f 25%,var(--line));font-size:12px}.push-lockscreen-warning p{margin:0;line-height:1.4}.push-send-actions{margin-top:12px}.push-processing{display:flex;gap:8px;align-items:center;margin-top:10px;color:var(--muted);font-size:12px}
.push-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.push-history-head h3{margin:0}.push-history-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.push-history-list{display:grid;gap:7px}.push-history-item{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}.push-history-item>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:10px;align-items:center;padding:10px 11px;cursor:pointer}.push-history-item>summary::-webkit-details-marker{display:none}.push-history-copy{min-width:0}.push-history-copy strong,.push-history-copy small{display:block}.push-history-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.push-history-copy small{margin-top:2px;color:var(--muted);font-size:10.5px}.push-history-result{font-size:10.5px;font-weight:800;padding:4px 7px;border-radius:999px;background:var(--surface-soft);white-space:nowrap}.push-history-result.ok{color:#15803d}.push-history-result.warn{color:#b45309}.push-history-chevron{color:var(--muted);transition:transform .16s ease}.push-history-item[open] .push-history-chevron{transform:rotate(180deg)}.push-history-detail{display:grid;gap:4px;padding:10px 11px;border-top:1px solid var(--line);background:var(--surface-soft)}.push-history-detail p{margin:0;line-height:1.45}.push-history-detail small{color:var(--muted);line-height:1.4}

body[data-theme='dark'] :is(.profile-training-item,.profile-training-add-box,.profile-notification-type,.push-tech-details,.push-preview,.push-audience-option,.push-destination-details,.push-history-item){background:var(--card)!important;border-color:var(--line)!important}body[data-theme='dark'] :is(.profile-training-editor-row,.profile-training-add-content,.push-tech-body,.push-role-target-panel,.push-send-summary>div,.push-history-detail){background:var(--surface-soft)!important}
@media(max-width:900px){.push-compose-grid{grid-template-columns:1fr}.push-preview{max-width:520px}.profile-training-add-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .profile-training-heading{display:grid}.profile-training-count{justify-self:start}.profile-training-item>summary{grid-template-columns:28px minmax(0,1fr) auto 14px;padding:11px 10px;gap:8px}.profile-training-edit-label{font-size:11px}.profile-training-editor-row{grid-template-columns:1fr;padding:10px}.profile-training-row-actions{display:grid;grid-template-columns:1fr 1fr}.profile-training-row-actions button{width:100%}.profile-training-add-grid{gap:8px}.profile-training-add-box>summary{padding:11px}.profile-training-add-content{padding:0 10px 10px}.profile-training-add-row{grid-template-columns:1fr}.profile-training-add-row button{width:100%}
  .push-simple-status{grid-template-columns:40px minmax(0,1fr);padding:12px}.push-simple-action{grid-column:1/-1}.push-simple-action button{width:100%;min-height:42px}.profile-notification-type{padding:10px}.push-tech-body{padding-left:9px;padding-right:9px}.push-tech-body .push-diag-grid{grid-template-columns:1fr}
  .push-admin-step{padding:14px}.push-audience-options{grid-template-columns:1fr}.push-role-target-panel{padding:8px}.push-role-target-panel .push-role-grid{grid-template-columns:1fr}.push-destination-details>summary{grid-template-columns:minmax(0,1fr) auto}.push-destination-details>summary b{grid-column:1/-1;justify-self:start}.push-send-summary{grid-template-columns:1fr}.push-send-actions{display:grid;grid-template-columns:1fr}.push-send-actions button{width:100%;min-height:44px}.push-history-item>summary{grid-template-columns:minmax(0,1fr) 18px}.push-history-result{grid-column:1/-1;justify-self:start}.push-history-chevron{grid-column:2;grid-row:1;align-self:center}.push-history-panel{padding-left:12px;padding-right:12px}
}
@media(max-width:390px){.profile-training-edit-label{display:none}.profile-training-item>summary{grid-template-columns:28px minmax(0,1fr) 14px}.profile-training-chevron{grid-column:3}.profile-notification-type{align-items:flex-start}.profile-notification-state{margin-top:1px}}
/* RC24 compatibility overrides for earlier profile-training rules */
.profile-training-add-box{display:block;align-content:initial;gap:0}
.profile-training-add-row{margin-top:0}

/* v1.19.22 RC24 — compact profile hub, clearer notification controls */
.profile-hub{gap:10px}
.profile-section{gap:10px}
.profile-section .formcard{padding:16px;border-radius:16px}
.profile-tabs{padding:4px;border-radius:13px;gap:4px}
.profile-tab{min-height:40px;min-width:112px;border-radius:9px}
.profile-account-card{display:grid;grid-template-columns:72px minmax(0,1fr) 150px;align-items:start;gap:12px;padding:14px 16px}
.profile-account-card .profile-avatar-big{width:72px;height:72px;font-size:24px;margin:0}
.profile-account-card .profile-summary-main h2{font-size:20px;margin:1px 0 4px}
.profile-account-card .profile-summary-meta{font-size:12px;gap:4px 12px}
.profile-account-groups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px;margin-top:9px}
.profile-account-group{min-width:0}
.profile-account-label{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.profile-account-card .profile-active-roles,.profile-account-card .profile-summary-tags{margin-top:0;gap:5px}
.profile-account-card .profile-role-chip,.profile-account-card .profile-summary-tag{min-height:25px;padding:3px 8px;font-size:11px}
.profile-account-avatar-actions{display:grid;gap:6px;align-content:start}
.profile-account-avatar-actions>input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.profile-account-avatar-actions .small{width:100%;min-height:36px}
.profile-account-avatar-actions small{display:block;color:var(--muted);font-size:10.5px;line-height:1.35;text-align:center}
.profile-contact-card>h3,.profile-notification-card>h3,.theme-card>h3,.calendar-style-card>h3,.password-card>h3{margin:4px 0 3px}
.profile-compact-intro,.profile-section .formcard>p{margin:3px 0 12px;color:var(--muted);line-height:1.4}
.profile-contact-card .fields{gap:10px}
.profile-contact-card .workplace-profile-box{padding:12px;border-radius:13px}
.profile-contact-card .workplace-profile-box>p{margin:3px 0 8px}
.profile-save-bar{margin-top:12px;padding:9px 11px;border-radius:12px}
.profile-training-card{padding:16px}
.profile-training-heading p{font-size:12px}
.profile-notification-card{overflow:hidden}
.profile-notification-types{gap:6px;margin-top:10px}
.profile-notification-type{min-height:54px;padding:9px 10px;border-radius:11px}
.profile-notification-link{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;appearance:none}
.profile-notification-link:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--card) 96%,var(--accent) 4%)}
.profile-notification-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.profile-notification-state{font-size:10.5px;padding:4px 7px;white-space:nowrap}
.profile-notification-toggle input{margin:0}
.profile-section .theme-options{gap:7px;margin-top:10px;max-width:none}
.profile-section .theme-option{grid-template-columns:38px minmax(0,1fr) 19px;gap:9px;padding:8px 10px;border-radius:12px}
.profile-section .theme-swatch{width:38px;height:32px;border-radius:10px}
.profile-section .calendar-style-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;max-width:none}
.profile-section .calendar-style-option{grid-template-columns:54px minmax(0,1fr) 18px;gap:8px;padding:9px 10px;border-radius:12px}
.profile-section .calendar-style-preview{height:42px;border-radius:9px;padding:6px;gap:4px}
.profile-section .home-order-options{gap:7px}
.profile-section .home-order-option{padding:9px 10px;border-radius:12px}
body[data-theme='dark'] .profile-notification-link:hover{background:color-mix(in srgb,var(--card) 92%,var(--accent) 8%)!important}

@media(max-width:760px){
  .profile-hub{gap:8px}
  .profile-section{gap:8px}
  .profile-section .formcard{padding:13px;border-radius:14px}
  .profile-tabs{top:68px}
  .profile-tab{min-width:96px;min-height:38px;font-size:12px}
  .profile-account-card{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:12px}
  .profile-account-card .profile-avatar-big{width:58px;height:58px;font-size:20px}
  .profile-account-card .profile-summary-main h2{font-size:18px}
  .profile-account-card .profile-summary-meta{display:flex;gap:3px 8px}
  .profile-account-groups{grid-template-columns:1fr;gap:7px;margin-top:8px}
  .profile-account-avatar-actions{grid-column:1/-1;display:flex;align-items:center;gap:7px;padding-top:2px}
  .profile-account-avatar-actions .small{width:auto;min-height:38px;flex:1}
  .profile-account-avatar-actions small{display:none}
  .profile-contact-card .fields{gap:9px}
  .profile-save-bar{bottom:calc(70px + env(safe-area-inset-bottom));padding:8px 9px}
  .profile-save-bar span{font-size:11px}
  .profile-notification-type{min-height:52px;padding:9px}
  .profile-notification-type small{font-size:11.5px}
  .profile-section .theme-option{grid-template-columns:34px minmax(0,1fr) 18px;padding:7px 9px}
  .profile-section .theme-swatch{width:34px;height:29px}
  .profile-section .calendar-style-options{grid-template-columns:1fr;gap:7px}
  .profile-section .calendar-style-option{grid-template-columns:48px minmax(0,1fr) 18px;padding:8px 9px}
  .profile-section .calendar-style-preview{height:38px}
}


/* Portal search: one desktop query field, mobile query inside the page, results visible on both. */
.portal-search-query{display:none!important}
.portal-search-results{display:block;max-width:920px;margin-top:16px}
.portal-search-results .mobile-search-results{display:block}
.portal-search-results .search-result-group{margin:18px 0}
.portal-search-results .search-result-group h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px}
.portal-search-results .search-result{width:100%;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:14px;padding:13px 14px;text-align:left;margin:7px 0;display:flex;align-items:center;gap:11px;min-height:62px;cursor:pointer}
.portal-search-results .search-result:hover{border-color:color-mix(in srgb,var(--red) 35%,var(--line));box-shadow:0 5px 18px rgba(0,0,0,.04)}
.portal-search-results .search-result .sr-icon{width:38px;height:38px;border-radius:11px;background:var(--surface-soft,#f1f0ed);display:grid;place-items:center;flex:0 0 auto}
.portal-search-results .search-result strong{display:block;font-size:14px}
.portal-search-results .search-result small{display:block;color:var(--muted);margin-top:3px;font-size:11px;line-height:1.4}
@media(max-width:760px){.portal-search-query{display:block!important}.portal-search-results{max-width:none;margin-top:0}}

/* v1.19.22 RC26 — collapsed training rows + simpler notification settings */
.profile-notification-help{margin:10px 2px 0;line-height:1.4}
.profile-notification-card .push-simple-status{margin-top:12px}
.profile-notification-card .profile-notification-types{margin-top:10px}

/* v1.19.22 RC28 — profile redesign: mobile concept 1 + desktop concept 3 */
.profile-hub-rc28{max-width:1240px;margin:0 auto;gap:14px}
.profile-hub-rc28 .profile-account-card{display:grid;grid-template-columns:88px minmax(0,1fr) 154px;align-items:center;gap:18px;padding:18px 20px;border-radius:18px}
.profile-hub-rc28 .profile-account-card .profile-avatar-big{width:88px;height:88px;margin:0;font-size:29px}
.profile-hub-rc28 .profile-summary-main h2{margin:1px 0 2px;font-size:24px;line-height:1.15}
.profile-hub-rc28 .profile-workplace-main{color:var(--muted);font-size:13px;font-weight:750;margin-top:2px}
.profile-hub-rc28 .profile-active-roles{margin-top:9px;gap:6px}
.profile-hub-rc28 .profile-summary-meta{margin-top:8px;font-size:11.5px;gap:4px 13px}
.profile-hub-rc28 .profile-role-chip,.profile-hub-rc28 .profile-summary-tag{min-height:26px;padding:4px 9px;font-size:11px}
.profile-hub-rc28 .profile-account-avatar-actions{display:grid;gap:7px;align-content:center}
.profile-hub-rc28 .profile-account-avatar-actions .small{width:100%;min-height:38px}
.profile-hub-rc28 .profile-account-avatar-actions small{display:block;color:var(--muted);font-size:10.5px;line-height:1.35;text-align:center}
.profile-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.profile-dashboard-column{display:flex;flex-direction:column;gap:14px;min-width:0}
.profile-dashboard-column-left{grid-column:1;grid-row:1}.profile-dashboard-column-right{grid-column:2;grid-row:1}
.profile-dashboard-slot{min-width:0}.profile-dashboard-slot>.formcard{margin:0}
.profile-dashboard-security{grid-column:1/-1;grid-row:2}
.profile-dashboard-card{border-radius:17px!important;overflow:hidden}
.profile-card-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:11px}.profile-card-heading .eyebrow{margin-bottom:1px}.profile-card-heading h3{margin:0!important}.profile-card-heading p{margin:3px 0 0!important;color:var(--muted);font-size:12px;line-height:1.4}
.profile-card-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;background:color-mix(in srgb,var(--accent) 9%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));color:var(--accent);font-weight:950}
.profile-account-editor{padding:0!important}
.profile-account-editor>summary{list-style:none;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:14px 15px;cursor:pointer}.profile-account-editor>summary::-webkit-details-marker{display:none}.profile-account-editor>summary:hover{background:color-mix(in srgb,var(--card) 96%,var(--accent) 4%)}
.profile-contact-summary-copy{min-width:0}.profile-contact-summary-copy>.eyebrow,.profile-contact-summary-copy>strong,.profile-contact-summary-copy>small{display:block}.profile-contact-summary-copy>strong{font-size:15px}.profile-contact-summary-copy>small{margin-top:2px;color:var(--muted);font-size:11.5px;line-height:1.35}
.profile-details-chevron{color:var(--muted);font-size:18px;transition:transform .16s ease}.profile-account-editor[open] .profile-details-chevron{transform:rotate(180deg)}
.profile-contact-body{padding:0 15px 15px;border-top:1px solid var(--line)}.profile-contact-body>.profile-compact-intro{margin-top:12px}
.profile-contact-body .profile-save-bar{margin-bottom:0}
.profile-security-overview-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.profile-security-overview-row strong,.profile-security-overview-row small{display:block}.profile-security-overview-row small{margin-top:3px;color:var(--muted);font-size:11.5px;line-height:1.4}.profile-security-overview-row button{white-space:nowrap}
.profile-settings-grid,.profile-security-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.profile-settings-grid>div{min-width:0}.profile-settings-grid .formcard{height:100%;margin:0}
.profile-security-grid .formcard{margin:0}.profile-security-section>.e2ee-card,.profile-security-section>.formcard{margin:0}
.profile-hub-rc28 .profile-training-card{padding:15px}.profile-hub-rc28 .profile-training-heading{gap:10px}.profile-hub-rc28 .profile-training-heading p{font-size:11.5px}.profile-hub-rc28 .profile-training-list{margin-top:12px}.profile-hub-rc28 .profile-training-add-heading{margin-top:14px}.profile-hub-rc28 .profile-training-add-grid{margin-top:8px;gap:8px}.profile-hub-rc28 .profile-training-add-box>summary{padding:11px}.profile-hub-rc28 .profile-training-add-box>summary small{font-size:11px}
.profile-hub-rc28 .profile-notification-card .push-simple-status{margin-top:8px;padding:10px 11px;grid-template-columns:38px minmax(0,1fr) auto;border-radius:12px}.profile-hub-rc28 .push-simple-icon{width:36px;height:36px;border-radius:10px}.profile-hub-rc28 .push-simple-copy small{font-size:11px}.profile-hub-rc28 .profile-notification-types{margin-top:8px}.profile-hub-rc28 .profile-notification-type{min-height:52px;padding:9px 10px}.profile-hub-rc28 .profile-notification-help{font-size:11px;margin-top:8px}
.profile-hub-rc28 .theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-width:none}.profile-hub-rc28 .theme-option{grid-template-columns:34px minmax(0,1fr) 18px;padding:8px 9px;gap:8px;min-height:54px}.profile-hub-rc28 .theme-swatch{width:34px;height:30px}.profile-hub-rc28 .theme-option-text small{font-size:10.5px;line-height:1.25}
@media(min-width:761px){
  .profile-dashboard-column-left .profile-dashboard-trainings{order:-1}
  .profile-hub-rc28 .profile-tabs{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0;gap:22px;overflow:visible}
  .profile-hub-rc28 .profile-tab{position:relative;flex:0 0 auto;min-width:0;min-height:46px;padding:0 7px;border-radius:0;background:transparent!important;color:var(--muted)!important;box-shadow:none!important}
  .profile-hub-rc28 .profile-tab.active{color:var(--accent)!important}
  .profile-hub-rc28 .profile-tab.active:after{content:'';position:absolute;left:4px;right:4px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--accent)}
}
@media(max-width:900px){.profile-settings-grid,.profile-security-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .profile-hub-rc28{gap:9px}.profile-hub-rc28 .profile-tabs{gap:4px;padding:4px;border-radius:13px;top:68px}.profile-hub-rc28 .profile-tab{min-width:92px;min-height:38px;font-size:12px}
  .profile-hub-rc28 .profile-account-card{grid-template-columns:62px minmax(0,1fr);align-items:start;gap:10px;padding:12px;border-radius:15px}
  .profile-hub-rc28 .profile-account-card .profile-avatar-big{width:62px;height:62px;font-size:21px}
  .profile-hub-rc28 .profile-summary-main h2{font-size:19px}.profile-hub-rc28 .profile-workplace-main{font-size:12px}.profile-hub-rc28 .profile-active-roles{margin-top:7px;gap:5px}.profile-hub-rc28 .profile-role-chip,.profile-hub-rc28 .profile-summary-tag{font-size:10.5px;min-height:24px;padding:3px 7px}.profile-hub-rc28 .profile-summary-meta{display:none}
  .profile-hub-rc28 .profile-account-avatar-actions{grid-column:1/-1;display:flex;gap:7px;padding-top:1px}.profile-hub-rc28 .profile-account-avatar-actions .small{width:auto;min-height:38px;flex:1}.profile-hub-rc28 .profile-account-avatar-actions small{display:none}
  .profile-dashboard-grid{display:flex;flex-direction:column;gap:9px}.profile-dashboard-column{display:contents}.profile-dashboard-slot{width:100%}.profile-dashboard-notifications{order:1}.profile-dashboard-appearance{order:2}.profile-dashboard-contact{order:3}.profile-dashboard-trainings{order:4}.profile-dashboard-security{order:5}
  .profile-dashboard-card{border-radius:14px!important}.profile-card-heading{gap:9px;margin-bottom:9px}.profile-card-icon{width:34px;height:34px;border-radius:10px}.profile-card-heading h3{font-size:17px}.profile-card-heading p{font-size:11.5px}
  .profile-hub-rc28 .profile-section .formcard{padding:12px}.profile-account-editor{padding:0!important}.profile-account-editor>summary{grid-template-columns:34px minmax(0,1fr) 16px;padding:11px 12px}.profile-contact-summary-copy>strong{font-size:14px}.profile-contact-summary-copy>small{font-size:11px}.profile-contact-body{padding:0 12px 12px}.profile-contact-body .profile-basic-fields{gap:8px}.profile-contact-body .workplace-profile-box{padding:10px}
  .profile-hub-rc28 .profile-training-card{padding:12px}.profile-hub-rc28 .profile-training-heading{display:grid;gap:5px}.profile-hub-rc28 .profile-training-count{justify-self:start;min-height:26px;font-size:10.5px}.profile-hub-rc28 .profile-training-item>summary{padding:9px}.profile-hub-rc28 .profile-training-list{margin-top:9px}.profile-hub-rc28 .profile-training-add-heading{margin-top:12px}.profile-hub-rc28 .profile-training-add-grid{gap:7px}
  .profile-hub-rc28 .profile-notification-card .push-simple-status{grid-template-columns:36px minmax(0,1fr);padding:9px}.profile-hub-rc28 .push-simple-action{grid-column:1/-1}.profile-hub-rc28 .push-simple-action button{width:100%;min-height:38px}.profile-hub-rc28 .profile-notification-type{padding:9px}.profile-hub-rc28 .profile-notification-type small{font-size:11px}
  .profile-hub-rc28 .theme-options{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:2px}.profile-hub-rc28 .theme-option{flex:0 0 142px;grid-template-columns:30px minmax(0,1fr) 15px;padding:7px 8px;min-height:52px;scroll-snap-align:start}.profile-hub-rc28 .theme-swatch{width:30px;height:28px}.profile-hub-rc28 .theme-option-text small{display:none}
  .profile-security-overview-row{display:grid;gap:9px;padding:10px}.profile-security-overview-row button{width:100%;min-height:40px}.profile-settings-grid{display:grid;grid-template-columns:1fr;gap:9px}
}
body[data-theme='dark'] .profile-account-editor>summary:hover{background:color-mix(in srgb,var(--card) 92%,var(--accent) 8%)}
/* RC28 responsive hardening: prevent intrinsic card content from widening the profile grid on small screens. */
.profile-hub-rc28{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}
.profile-hub-rc28>.profile-tabs,.profile-hub-rc28>.profile-account-card,.profile-hub-rc28>.profile-section,.profile-hub-rc28 .profile-dashboard-grid,.profile-hub-rc28 .profile-dashboard-column,.profile-hub-rc28 .profile-dashboard-slot,.profile-hub-rc28 .profile-settings-grid,.profile-hub-rc28 .profile-security-grid{width:100%;min-width:0;max-width:100%}
.profile-hub-rc28 .formcard,.profile-hub-rc28 .panel{min-width:0;max-width:100%}
@media(max-width:760px){.profile-hub-rc28 .profile-tabs{width:100%;max-width:100%;min-width:0}.profile-hub-rc28 .profile-dashboard-grid{width:100%;min-width:0}.profile-hub-rc28 .profile-account-card{width:100%;max-width:100%;min-width:0}.profile-hub-rc28 .profile-training-add-row>*{min-width:0}}

/* RC31: tydlig ansvarsfördelning i Min profil */
.profile-profile-only{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}
.profile-training-collapsible{padding:0!important;overflow:hidden}
.profile-training-collapsible>summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;padding:15px;min-height:64px}
.profile-training-collapsible>summary::-webkit-details-marker{display:none}
.profile-training-summary-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.profile-training-summary-copy .eyebrow{margin:0}
.profile-training-summary-copy>strong{font-size:18px;line-height:1.15}
.profile-training-summary-copy>small{font-size:12px;color:var(--muted)}
.profile-training-collapsible-body{padding:0 15px 15px}
.profile-training-collapsible[open]>summary .profile-details-chevron{transform:rotate(180deg)}
@media(max-width:760px){
  .profile-profile-only{gap:9px}
  .profile-training-collapsible>summary{padding:12px;min-height:60px;gap:9px}
  .profile-training-collapsible-body{padding:0 12px 12px}
  .profile-training-summary-copy>strong{font-size:17px}
}

/* v1.19.22 RC32 — modern Messenger-style Meddelanden redesign
   Presentation-only override. Existing message actions, realtime and data flows are preserved. */
.messages-page{
  --msg-accent:var(--accent,#c8102e);
  --msg-accent-soft:color-mix(in srgb,var(--msg-accent) 9%,var(--surface,#fff));
  --msg-border:color-mix(in srgb,var(--border,var(--line)) 82%,transparent);
  --msg-shadow:0 14px 42px color-mix(in srgb,var(--text-primary,#17202a) 8%,transparent);
  width:100%;max-width:1680px;margin:0 auto;
}
.messages-page-head{align-items:center;gap:22px;margin:2px 0 16px}
.messages-page-head .eyebrow{font-size:11px;letter-spacing:.14em;font-weight:950;color:var(--msg-accent)}
.messages-page-head h2{font-size:clamp(28px,2vw,36px);line-height:1.05;letter-spacing:-.035em;margin:4px 0 6px}
.messages-page-head p{font-size:14px;line-height:1.45}
.messages-page-actions{gap:10px;align-items:center}
.messages-page-actions>button{min-height:46px;border-radius:13px;font-weight:900;padding-inline:17px}
.messages-page-actions>.primary{box-shadow:0 8px 20px color-mix(in srgb,var(--msg-accent) 24%,transparent)}
.messages-page-actions>.secondary{background:var(--surface,#fff);border-color:var(--msg-border);box-shadow:0 4px 14px color-mix(in srgb,var(--text-primary) 5%,transparent)}

.messages-status-strip{
  min-height:66px;margin-bottom:8px;padding:10px 14px;border-color:var(--msg-border);border-radius:17px;
  background:color-mix(in srgb,var(--surface,#fff) 97%,var(--bg) 3%);
  box-shadow:0 5px 18px color-mix(in srgb,var(--text-primary) 4%,transparent);
}
.messages-status-items{gap:12px}.messages-status-actions{gap:8px}
.messages-status-item{gap:10px;padding:7px 10px;border-radius:12px}
.messages-status-item:hover{background:var(--control-hover,var(--surface-soft))}
.messages-status-item>span:first-child{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--msg-accent-soft);font-size:16px}
.messages-status-item.secure>span:first-child{background:#fff3e8}
.messages-status-item strong{font-size:12px;line-height:1.2}.messages-status-item small{font-size:10.5px;margin-top:2px}
.messages-status-actions .small{min-height:39px;border-radius:11px;padding:8px 12px;background:var(--surface,#fff);border:1px solid var(--msg-border);font-weight:850}
.messages-safety-note{margin:0 4px 12px;font-size:10.5px;opacity:.88}

.messages-shell{
  grid-template-columns:minmax(278px,320px) minmax(0,1fr) minmax(252px,292px)!important;
  min-height:650px;height:min(76vh,800px);border:1px solid var(--msg-border);border-radius:22px;
  box-shadow:var(--msg-shadow);background:var(--surface,#fff);overflow:hidden;
}
.messages-sidebar{border-right:1px solid var(--msg-border);background:color-mix(in srgb,var(--surface,#fff) 98%,var(--bg) 2%)}
.messages-sidebar-head{padding:18px 14px 13px;border-bottom:0;gap:12px}
.messages-sidebar-title strong{font-size:16px;letter-spacing:-.015em}.messages-sidebar-title>span{box-shadow:none}
.messages-search input{height:44px;border-radius:13px;padding:9px 38px 9px 13px;background:var(--surface,#fff);border:1px solid var(--msg-border);font-size:13px;box-shadow:0 2px 8px color-mix(in srgb,var(--text-primary) 3%,transparent)}
.messages-search span{right:13px;top:11px;font-size:16px}
.messages-list{padding:3px 8px 12px;scrollbar-gutter:stable}
.message-thread{
  border:0;border-radius:14px;padding:10px 10px;margin:2px 0;min-height:68px;grid-template-columns:46px minmax(0,1fr) auto;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.message-thread:hover{background:color-mix(in srgb,var(--msg-accent) 4%,var(--surface))!important}
.message-thread.active{background:var(--msg-accent-soft)!important;box-shadow:inset 3px 0 0 var(--msg-accent)!important}
.message-thread.active:hover{transform:none}
.message-thread .message-avatar{width:44px;height:44px;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--msg-border)}
.message-thread-copy strong{font-size:13.5px;letter-spacing:-.01em}.message-thread-copy small{font-size:11.5px;margin-top:3px}
.message-thread-time{font-size:9.5px}.message-thread-meta{gap:6px}
.message-unread-count{background:var(--msg-accent);box-shadow:0 3px 8px color-mix(in srgb,var(--msg-accent) 25%,transparent)}

.messages-chat{background:var(--surface,#fff)}
.messages-chat-head{
  min-height:76px;padding:12px 16px;border-bottom:1px solid var(--msg-border);background:color-mix(in srgb,var(--surface,#fff) 98%,var(--bg) 2%);
  box-shadow:none!important;
}
.messages-chat-head-main{gap:12px}.messages-chat-head .message-avatar{width:48px;height:48px;box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--msg-border)}
.messages-chat-head-main h3{font-size:18px;letter-spacing:-.02em}.messages-chat-head-main small{font-size:11px;margin-top:3px}
.message-group-actions{gap:7px}.message-group-actions button{min-height:38px;border-radius:11px;padding:7px 11px;font-size:11px;font-weight:850}
.message-group-actions .danger{background:#fff0f0!important;border-color:#efcccc!important;color:#9b2424!important}

.messages-stream{
  padding:24px clamp(18px,2.3vw,34px);gap:11px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface-secondary,var(--bg)) 44%,var(--surface) 56%),color-mix(in srgb,var(--surface-secondary,var(--bg)) 60%,var(--surface) 40%))!important;
}
.message-bubble-row{align-items:flex-end;gap:8px}.message-bubble-row>.message-avatar.small{width:30px;height:30px;flex:0 0 30px;margin-bottom:4px;box-shadow:0 0 0 2px var(--surface)}
.message-bubble{
  max-width:min(72%,680px);padding:10px 12px;border-radius:18px 18px 18px 6px!important;
  border-color:color-mix(in srgb,var(--chat-peer-border,var(--msg-border)) 90%,transparent)!important;
  box-shadow:0 2px 9px color-mix(in srgb,var(--text-primary) 5%,transparent);
}
.message-bubble-row.mine .message-bubble{
  border-radius:18px 18px 6px 18px!important;
  box-shadow:0 2px 10px color-mix(in srgb,var(--msg-accent) 8%,transparent);
}
.message-bubble-body{font-size:14px;line-height:1.48}.message-bubble-name{font-size:10.5px;margin-bottom:5px}
.message-bubble-time{font-size:9.5px;margin-top:6px;opacity:.88}
.message-bubble-actions{gap:4px;margin-top:6px}.message-reaction{min-height:29px;padding:4px 8px;background:color-mix(in srgb,var(--surface) 82%,transparent)!important}
.message-edit,.message-delete{padding:4px 6px;border-radius:7px}.message-edit:hover,.message-delete:hover{background:var(--control-hover,var(--surface-soft))}

.messages-compose{
  padding:10px 12px 12px;border-top:1px solid var(--msg-border);gap:10px;background:var(--surface,#fff);
}
.message-compose-box{min-height:52px;border-radius:17px;padding:5px 9px;border-color:var(--msg-border);background:color-mix(in srgb,var(--surface) 97%,var(--bg) 3%);transition:border-color .15s,box-shadow .15s}
.message-compose-box:focus-within{border-color:color-mix(in srgb,var(--msg-accent) 42%,var(--msg-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--msg-accent) 9%,transparent)}
.message-tools-toggle{width:38px;height:38px;border-radius:11px;padding:0;display:grid;place-items:center;font-size:22px}.message-tools-toggle:hover{background:var(--control-hover,var(--surface-soft))}
.message-compose-box textarea{min-height:40px;padding:10px 3px;font-size:14px}
.message-compose-tools{margin-bottom:7px;padding:7px 8px;border:1px solid var(--msg-border);border-radius:13px;background:var(--surface);box-shadow:0 6px 18px color-mix(in srgb,var(--text-primary) 5%,transparent)}
.message-emoji-btn{border-radius:10px;min-width:36px;min-height:34px}
.messages-compose>.primary{height:52px;min-width:108px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;font-weight:900;box-shadow:0 7px 18px color-mix(in srgb,var(--msg-accent) 22%,transparent)}
.messages-compose>.primary>span:first-child{font-size:16px;transform:rotate(-8deg)}

.messages-people-panel{border-left:1px solid var(--msg-border);background:color-mix(in srgb,var(--surface,#fff) 98%,var(--bg) 2%)}
.messages-people-head{padding:18px 14px 8px}.messages-people-head strong{font-size:16px;letter-spacing:-.015em}.messages-people-head small{font-size:10.5px}.messages-people-head>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--msg-accent-soft);color:var(--msg-accent)}
.messages-people-hint{padding:0 14px 12px;font-size:10px;line-height:1.45}
.messages-people-search{margin:0 12px 10px}.messages-people-list{border-top:0;padding:2px 7px 12px;scrollbar-gutter:stable}
.message-person-shortcut{border:0;border-radius:13px;padding:10px 8px;margin:2px 0;align-items:center;transition:background .16s ease}
.message-person-shortcut:hover{background:color-mix(in srgb,var(--msg-accent) 4%,var(--surface))}
.message-person-shortcut.active{background:var(--msg-accent-soft);box-shadow:inset 3px 0 var(--msg-accent)}
.message-person-shortcut strong{font-size:11.5px}.message-person-shortcut small{font-size:9.5px;line-height:1.35}.message-person-arrow{font-size:20px}
.messages-people-panel .message-avatar.small{width:36px;height:36px;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--msg-border)}

@media(max-width:1180px){
  .messages-shell{grid-template-columns:minmax(270px,320px) minmax(0,1fr)!important}
}
@media(max-width:760px){
  .messages-page{max-width:none}
  .messages-page-head{margin-bottom:10px}.messages-page-head h2{font-size:25px}.messages-page-actions>button{min-height:44px}
  .messages-status-strip{border-radius:14px;min-height:0;padding:8px 9px;margin-bottom:8px;box-shadow:none}
  .messages-status-items{gap:5px}.messages-status-item>span:first-child{width:29px;height:29px}.messages-status-item strong{font-size:11px}
  .messages-shell,.messages-page.conversation-open .messages-shell{grid-template-columns:1fr!important;border-radius:16px}
  .messages-sidebar-head{padding:12px 10px 10px}.messages-list{padding:2px 5px 10px}.message-thread{border-radius:13px;margin:1px 0;padding:10px}
  .messages-chat-head{min-height:62px;padding:8px 9px 8px 3px}.messages-chat-head .message-avatar{width:40px;height:40px}.messages-chat-head-main h3{font-size:16px}
  .messages-stream{padding:14px 9px 18px;gap:10px}.message-bubble-row{gap:6px}.message-bubble-row>.message-avatar.small{width:26px;height:26px;flex-basis:26px}
  .message-bubble{max-width:84%;padding:9px 10px}.message-bubble-body{font-size:14.5px}
  .messages-compose{padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:7px}.message-compose-box{min-height:50px;border-radius:16px}.messages-compose>.primary{width:54px;min-width:54px;height:50px;padding:0;font-size:0;border-radius:15px}.messages-compose>.primary>span:first-child{font-size:20px}.messages-compose>.primary>span:last-child{display:none}
}

/* Dark and alternate themes keep the new hierarchy without forcing standard-theme colors. */
[data-theme='dark'] .messages-page .message-group-actions .danger{background:#3a2426!important;border-color:#613338!important;color:#ffd5d8!important}
[data-theme='dark'] .messages-page .messages-status-item.secure>span:first-child{background:#392f24}

/* RC32 mobile conflict fixes against legacy chat rules */
@media(max-width:760px){
  .messages-page.conversation-open>.messages-status-strip,
  .messages-page.conversation-open>.messages-safety-note{display:none}
  .message-group-actions button{font-size:0!important}
  .messages-compose>.primary::after{content:none!important;display:none!important}
}


/* v1.19.22 RC33 — reopened training interest requests */
.training-request-card{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-secondary,#faf9f7)}
.training-request-card.training-contact{border-top:1px solid var(--line)}
.training-request-card .training-application-title{margin:5px 0 6px}
.training-request-card>.muted-text{margin:0 0 16px;line-height:1.5}
.training-request-form{max-width:none!important;margin-top:4px}
.training-request-form label small{display:block;color:var(--muted);font-weight:600;line-height:1.35}
.training-request-note{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;margin-top:14px;padding:16px 18px;border:1px solid #e7e2df;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(24,20,18,.04)}
.training-request-note-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fdeaea;color:#b82222;font-size:27px;font-weight:800;line-height:1;font-family:Georgia,serif}
.training-request-note-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.training-request-note-copy strong{font-size:16px;line-height:1.3;color:var(--text)}
.training-request-note-copy span{font-size:14px;color:var(--muted);line-height:1.55}
.training-request-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.training-request-status{font-size:12px;color:var(--muted);line-height:1.4}
@media(max-width:600px){.training-request-card{padding:14px}.training-request-actions{align-items:stretch}.training-request-actions .primary{width:100%}.training-request-status{width:100%}.training-request-note{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:14px}.training-request-note-icon{width:38px;height:38px;font-size:23px}.training-request-note-copy strong{font-size:15px}.training-request-note-copy span{font-size:13px}}
body[data-theme="dark"] .training-request-card{background:var(--card)!important;border-color:var(--line)!important}
body[data-theme="dark"] .training-request-note{background:var(--surface-secondary)!important;border-color:var(--line)!important;box-shadow:none}
body[data-theme="dark"] .training-request-note-icon{background:rgba(184,34,34,.18);color:#ff8f8f}

/* v1.19.22 RC34 — cleaner chat portraits
   Fixes generic .small button padding leaking into message avatars. Visual-only. */
.messages-page .message-avatar,
.floating-chat-window .message-avatar,
.floating-chat-chip .message-avatar,
.floating-hub-popover .message-avatar{
  padding:0!important;
  overflow:hidden;
  border-radius:50%!important;
  line-height:1;
  cursor:default;
}
.messages-page .message-avatar.small,
.floating-chat-window .message-avatar.small,
.floating-chat-chip .message-avatar.small,
.floating-hub-popover .message-avatar.small{
  padding:0!important;
  min-width:0!important;
  min-height:0!important;
}
.messages-page .message-avatar img,
.floating-chat-window .message-avatar img,
.floating-chat-chip .message-avatar img,
.floating-hub-popover .message-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:inherit;
}
.messages-page .message-thread .message-avatar,
.messages-page .messages-chat-head .message-avatar,
.messages-page .messages-people-panel .message-avatar.small{
  border:1px solid var(--msg-border)!important;
  box-shadow:0 2px 7px color-mix(in srgb,var(--text-primary,#17202a) 7%,transparent)!important;
}
.messages-page .messages-people-panel .message-avatar.small{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  font-size:11px;
}
.messages-page .message-bubble-row>.message-avatar.small{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  margin-bottom:3px;
  border:1px solid var(--msg-border)!important;
  box-shadow:none!important;
}
.messages-page .message-thread .message-avatar{
  width:46px!important;
  height:46px!important;
}
.messages-page .messages-chat-head .message-avatar{
  width:48px!important;
  height:48px!important;
}
@media(max-width:760px){
  .messages-page .messages-people-panel .message-avatar.small{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }
  .messages-page .message-bubble-row>.message-avatar.small{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
  .messages-page .messages-chat-head .message-avatar{
    width:42px!important;
    height:42px!important;
  }
}

/* v1.19.22 RC36 — Arbetsplatser: catalog + role-aware outreach tools */
.outreach-summary-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.outreach-summary-overview>div{padding:15px 16px;border-radius:16px;box-shadow:none}
.outreach-summary-overview>div.attention{border-color:color-mix(in srgb,var(--warning) 38%,var(--border));background:color-mix(in srgb,var(--warning-bg) 70%,var(--card))}
.outreach-summary-overview span{font-size:11px}
.outreach-summary-overview strong{font-size:27px;line-height:1.05}
.outreach-summary-overview small{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.outreach-attention-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 14px;border:1px solid color-mix(in srgb,var(--warning) 30%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--warning-bg) 72%,var(--card))}
.outreach-attention-panel h3{margin:3px 0 0;font-size:16px}
.outreach-attention-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.outreach-attention-actions button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--warning) 27%,var(--border));border-radius:11px;background:var(--card);color:var(--text);font:inherit;font-size:12px;cursor:pointer}
.outreach-attention-actions button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--card))}
.outreach-attention-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:0 0 auto}.outreach-attention-dot.danger{background:var(--danger,#b42318)}.outreach-attention-dot.warning{background:var(--warning,#c47b16)}
.outreach-overview-panel{border:1px solid var(--border);border-radius:18px;background:var(--card);overflow:hidden;box-shadow:var(--shadow-sm,0 4px 16px rgba(0,0,0,.035))}
.outreach-overview-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:end;padding:14px 14px 10px}
.outreach-overview-search{height:44px;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:0 12px;color:var(--muted)}
.outreach-overview-search:focus-within{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
.outreach-overview-search input{width:100%;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:var(--text)!important;padding:0!important;height:auto!important;box-shadow:none!important;font-size:14px}
.outreach-sort{display:grid;gap:4px;min-width:185px}.outreach-sort>span{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.outreach-sort select{height:44px;min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:0 34px 0 11px;font-weight:700}
.outreach-add-location{height:44px;white-space:nowrap}
.outreach-filter-row{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:0 14px 12px;scrollbar-width:none}.outreach-filter-row::-webkit-scrollbar{display:none}.outreach-filter-row button{flex:0 0 auto;min-height:34px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.outreach-filter-row button.active{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}
.outreach-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-secondary)}.outreach-results-head strong{font-size:13px}.outreach-results-head span{font-size:11px;color:var(--muted)}
.outreach-desktop-table-wrap{overflow-x:auto}
.outreach-overview-table{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--card)}
.outreach-overview-table th{padding:10px 12px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);background:var(--surface-secondary);border-bottom:1px solid var(--border);white-space:nowrap}
.outreach-overview-table th:nth-child(1){width:28%}.outreach-overview-table th:nth-child(2){width:8%}.outreach-overview-table th:nth-child(3){width:18%}.outreach-overview-table th:nth-child(4){width:20%}.outreach-overview-table th:nth-child(5){width:17%}.outreach-overview-table th:nth-child(6){width:9%}
.outreach-overview-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:12px}.outreach-overview-table tbody tr:last-child td{border-bottom:0}.outreach-overview-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 3%,var(--card))}
.outreach-overview-table td>strong,.outreach-overview-table td>small{display:block}.outreach-overview-table td>small{margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.35}.outreach-count-value{font-size:16px}
.outreach-location-link{display:grid;gap:3px;width:100%;padding:0;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.outreach-location-link strong{font-size:13px}.outreach-location-link small{color:var(--muted);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outreach-location-link:hover strong{color:var(--accent)}
.outreach-status{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:999px;font-size:10.5px;font-weight:800;white-space:nowrap}.outreach-status i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}.outreach-status-good{color:#2f7a49;border-color:color-mix(in srgb,#2f7a49 30%,var(--border));background:color-mix(in srgb,#2f7a49 8%,var(--card))}.outreach-status-warning{color:#9a6713;border-color:color-mix(in srgb,#c88a27 35%,var(--border));background:color-mix(in srgb,#d7a244 10%,var(--card))}.outreach-status-danger{color:#a64039;border-color:color-mix(in srgb,#bb4b43 30%,var(--border));background:color-mix(in srgb,#cf5b51 8%,var(--card))}
.outreach-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.outreach-open-area{min-width:64px!important}
.outreach-row-menu{position:relative}.outreach-row-menu summary{list-style:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface);cursor:pointer;font-weight:900;letter-spacing:1px}.outreach-row-menu summary::-webkit-details-marker{display:none}.outreach-row-menu>div{position:absolute;z-index:12;right:0;top:39px;min-width:160px;padding:6px;border:1px solid var(--border);border-radius:11px;background:var(--card);box-shadow:0 12px 28px rgba(0,0,0,.12)}.outreach-row-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left;color:var(--text);font:inherit;font-size:11px;cursor:pointer}.outreach-row-menu button:hover{background:var(--surface-secondary)}.outreach-row-menu .danger-text{color:var(--danger,#a63731)}
.outreach-no-results{display:grid;gap:4px;padding:26px 18px;text-align:center;color:var(--muted)}.outreach-no-results strong{color:var(--text);font-size:14px}.outreach-no-results span{font-size:12px}
.outreach-mobile-list{display:none}
@media(max-width:1050px){.outreach-summary-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.outreach-overview-table th:nth-child(4),.outreach-overview-table td:nth-child(4){display:none}.outreach-overview-table th:nth-child(1){width:31%}.outreach-overview-table th:nth-child(3){width:23%}.outreach-overview-table th:nth-child(5){width:22%}}
@media(max-width:760px){
  .outreach-summary-overview{grid-template-columns:1fr 1fr!important;gap:8px!important}.outreach-summary-overview>div:last-child{grid-column:auto!important}.outreach-summary-overview>div{padding:12px!important}.outreach-summary-overview strong{font-size:24px!important}.outreach-summary-overview small{font-size:10px}
  .outreach-attention-panel{align-items:stretch;flex-direction:column;padding:13px}.outreach-attention-actions{justify-content:flex-start;display:grid;grid-template-columns:1fr}.outreach-attention-actions button{width:100%;justify-content:flex-start;min-height:42px}
  .outreach-overview-panel{border-radius:16px;overflow:visible;background:transparent;border:0;box-shadow:none}
  .outreach-overview-toolbar{grid-template-columns:1fr;padding:0 0 10px;gap:8px}.outreach-overview-search{height:46px;background:var(--card)}.outreach-sort{min-width:0}.outreach-sort select{width:100%;background:var(--card)}.outreach-add-location{width:100%}
  .outreach-filter-row{padding:0 0 10px}.outreach-filter-row button{min-height:38px;padding:8px 11px;background:var(--card)}
  .outreach-results-head{border:1px solid var(--border);border-radius:12px;margin-bottom:8px;background:var(--card)}
  .outreach-desktop-table-wrap{display:none}.outreach-mobile-list{display:grid;gap:8px}
  .outreach-mobile-card{border:1px solid var(--border);border-radius:15px;background:var(--card);overflow:hidden}.outreach-mobile-card>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:8px;align-items:center;padding:13px;cursor:pointer}.outreach-mobile-card>summary::-webkit-details-marker{display:none}.outreach-mobile-card[open]>summary{border-bottom:1px solid var(--border);background:var(--surface-secondary)}
  .outreach-mobile-card-main{display:grid;gap:3px;min-width:0}.outreach-mobile-name{font-size:15px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outreach-mobile-meta{font-size:10.5px;color:var(--muted)}.outreach-mobile-card .outreach-status{font-size:9.5px;padding:4px 6px}.outreach-mobile-chevron{font-size:16px;color:var(--muted);transition:transform .15s}.outreach-mobile-card[open] .outreach-mobile-chevron{transform:rotate(180deg)}
  .outreach-mobile-card-body{padding:12px 13px 13px}.outreach-mobile-card-body>p{margin:10px 0;color:var(--muted);font-size:11.5px;line-height:1.45}.outreach-mobile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.outreach-mobile-stats>div{padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface-secondary)}.outreach-mobile-stats span,.outreach-mobile-stats strong{display:block}.outreach-mobile-stats span{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.outreach-mobile-stats strong{margin-top:2px;font-size:16px}.outreach-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.outreach-mobile-actions button{min-height:42px}.outreach-mobile-actions button:last-child:nth-child(3){grid-column:1/-1}
}
@media(max-width:390px){.outreach-mobile-card>summary{grid-template-columns:minmax(0,1fr) 18px}.outreach-mobile-card .outreach-status{grid-column:1/-1;justify-self:start}.outreach-mobile-chevron{grid-column:2;grid-row:1}.outreach-mobile-actions{grid-template-columns:1fr}.outreach-mobile-actions button:last-child:nth-child(3){grid-column:auto}}
body[data-theme='dark'] .outreach-overview-panel,body[data-theme='dark'] .outreach-mobile-card,body[data-theme='dark'] .outreach-attention-actions button,body[data-theme='dark'] .outreach-overview-search,body[data-theme='dark'] .outreach-sort select{background:var(--card)!important;color:var(--text)!important;border-color:var(--border)!important}

@media(max-width:340px){.outreach-summary-overview{grid-template-columns:1fr!important}}


/* RC36 — Arbetsplatser katalogläge */
.workplace-directory-table th:nth-child(1){width:34%}
.workplace-directory-table th:nth-child(2){width:12%}
.workplace-directory-table th:nth-child(3){width:40%}
.workplace-directory-table th:nth-child(4){width:14%}
.outreach-representation-text{font-size:12px;line-height:1.35}
.workplace-directory-detail{max-width:100%}
.workplace-directory-detail-page .outreach-location-hero{margin-bottom:14px}
.workplace-directory-people{display:grid;gap:7px;margin:0 0 11px}
.workplace-directory-people>span{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-secondary);font-size:12px;font-weight:800}
.workplace-directory-people small{font-size:10px;color:var(--muted);font-weight:600}
.workplace-ombud-row .actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1050px) and (min-width:761px){
  .workplace-directory-table th:nth-child(4),.workplace-directory-table td:nth-child(4){display:table-cell}
  .workplace-directory-table th:nth-child(1){width:36%}
  .workplace-directory-table th:nth-child(2){width:12%}
  .workplace-directory-table th:nth-child(3){width:36%}
  .workplace-directory-table th:nth-child(4){width:16%}
}
@media(max-width:760px){
  .workplace-directory-card>summary{grid-template-columns:minmax(0,1fr) 18px}
  .workplace-directory-card .outreach-mobile-chevron{grid-column:2;grid-row:1}
  .workplace-directory-card .outreach-mobile-actions{grid-template-columns:1fr}
  .workplace-directory-summary>div{min-height:96px}
  .workplace-directory-detail .outreach-contact{align-items:flex-start}
  .workplace-directory-detail .outreach-contact .actions{width:100%;justify-content:flex-start;margin-top:8px}
}

/* RC39 — rapporterat innehåll */
.message-more-wrap{position:relative;display:inline-flex;align-items:center;margin-left:auto;overflow:visible}
.message-more{border:0;background:transparent;color:var(--muted);border-radius:999px;min-width:30px;height:30px;padding:0 7px;font-size:18px;line-height:1;cursor:pointer;display:inline-grid;place-items:center}
.message-more:hover,.message-more:focus-visible{background:var(--soft);color:var(--text)}
.message-more-menu{position:absolute;right:0;bottom:calc(100% + 6px);z-index:30;min-width:155px;max-width:min(220px,calc(100vw - 16px));padding:5px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.14)}
.message-more-menu.message-more-menu-floating{position:fixed;right:auto;bottom:auto;z-index:1200;overflow:auto}
.message-more-menu.hidden{display:none!important}
.message-more-menu button{width:100%;border:0;background:transparent;color:var(--text);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:8px;text-align:left;font:inherit;font-size:13px;font-weight:750;cursor:pointer;min-height:42px}
.message-more-menu button:hover,.message-more-menu button:focus-visible{background:rgba(200,16,46,.08);color:var(--red,#c8102e)}
.content-report-modal{max-width:620px}
.content-report-modal>p{color:var(--muted);line-height:1.5;margin:0 0 15px}
.content-report-preview{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:12px 14px;margin-bottom:15px}
.content-report-preview small,.content-report-message small{display:block;color:var(--muted);font-weight:750;margin-bottom:6px}
.content-report-preview blockquote,.content-report-message blockquote{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:14px}
.content-report-fields{grid-template-columns:1fr}.field-optional{font-weight:500;color:var(--muted)}
.content-report-privacy{display:grid;gap:3px;margin:13px 0;padding:11px 12px;border-radius:12px;background:rgba(37,99,235,.07);border:1px solid rgba(37,99,235,.13);font-size:12px}
.content-report-privacy span{color:var(--muted);line-height:1.4}
.content-reports-admin>.admin-toolbar{align-items:flex-start}
.content-report-admin-info{margin-bottom:14px}.content-report-admin-info p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.content-report-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.content-report-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:15px;box-shadow:var(--shadow-soft,0 4px 14px rgba(0,0,0,.04));min-width:0}
.content-report-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.content-report-card-head>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.content-report-reason,.content-report-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:850}
.content-report-reason{background:rgba(200,16,46,.10);color:var(--red,#c8102e)}
.content-report-status{background:var(--soft);color:var(--muted)}
.content-report-status.reviewing{background:rgba(217,119,6,.14);color:#b45309}.content-report-status.resolved{background:rgba(5,150,105,.14);color:#047857}.content-report-status.dismissed{background:rgba(100,116,139,.14);color:#64748b}
.content-report-people{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}
.content-report-people>div{padding:9px 10px;border-radius:11px;background:var(--soft);min-width:0}.content-report-people small{display:block;color:var(--muted);font-size:10px;margin-bottom:2px}.content-report-people strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.content-report-message{padding:12px;border-radius:12px;border-left:3px solid var(--red,#c8102e);background:color-mix(in srgb,var(--soft) 70%,transparent)}
.content-report-user-note{margin-top:11px}.content-report-user-note p{margin:4px 0 0;white-space:pre-wrap;line-height:1.45;color:var(--text)}
.content-report-admin-edit{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.content-report-admin-edit label{display:grid;gap:5px;font-size:12px;font-weight:800}.content-report-admin-edit .full{grid-column:1/-1}.content-report-admin-edit textarea{min-height:72px;resize:vertical}
.content-report-admin-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.content-report-admin-footer small{color:var(--muted)}
[data-theme='dark'] .message-more-menu{box-shadow:0 14px 30px rgba(0,0,0,.4)}
@media(max-width:900px){.content-report-list{grid-template-columns:1fr}}
@media(max-width:600px){.content-report-people{grid-template-columns:1fr}.content-report-admin-edit{grid-template-columns:1fr}.content-report-admin-footer{align-items:flex-end}.message-more-menu{right:auto;left:0;min-width:170px}.message-more-menu button{font-size:14px}}

/* v1.19.22 RC41 — content report deletion */
.content-report-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.content-report-admin-actions{width:100%;justify-content:stretch}.content-report-admin-actions button{flex:1 1 auto}}

/* v1.19.22 RC42 — keep password-manager username autofill out of portal search */
.credential-username-proxy{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* v1.19.22 RC43 — self-registration invite flow */
.registration-invite-email{display:grid;gap:4px;margin:14px 0;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.registration-invite-email span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.registration-invite-email strong{font-size:14px;overflow-wrap:anywhere}.registration-invite-email small{color:var(--muted);line-height:1.4}
.registration-invite-form{margin-top:14px}.registration-invite-expiry{margin:11px 0 0;color:var(--muted);font-size:11px;text-align:center}
.registration-policy-card{max-height:none}.registration-invite-admin-modal{max-width:650px}
.registration-invite-mail-toggle{margin:14px 0}.registration-invite-security{margin:14px 0}.registration-invite-link-result{display:grid;gap:6px;margin-top:12px}
.registration-invites-admin{margin:14px 0 18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.registration-invites-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.registration-invites-head>div{display:grid;gap:3px}.registration-invites-head strong{font-size:14px}.registration-invites-head small{color:var(--muted);line-height:1.4}
.registration-invite-list{display:grid;gap:8px}.registration-invite-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.registration-invite-row>div:first-child{display:grid;gap:3px;min-width:0}.registration-invite-row strong{overflow-wrap:anywhere}.registration-invite-row small{color:var(--muted)}
.registration-invite-row-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
@media(max-width:700px){.registration-invites-head,.registration-invite-row{display:grid}.registration-invites-head>button{width:100%}.registration-invite-row-actions{justify-content:space-between}.registration-invite-admin-modal{max-width:none}.registration-policy-card{padding:13px}.registration-invite-email{padding:12px}}


/* v1.19.22 RC45 — one clear entry point for adding users */
.user-add-choice-modal{width:min(720px,calc(100vw - 32px));max-width:720px}
.user-add-choice-intro{margin:0 0 18px;color:var(--text-secondary,#5f6670);line-height:1.55}
.user-add-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.user-add-choice-card{appearance:none;width:100%;min-height:138px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;padding:18px;border:1px solid var(--border,#dedede);border-radius:16px;background:var(--surface,#fff);color:var(--text-primary,#17202a);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.035);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.user-add-choice-card:hover,.user-add-choice-card:focus-visible{border-color:color-mix(in srgb,var(--primary,#b3261e) 52%,var(--border,#dedede));box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-1px);outline:none}
.user-add-choice-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--primary,#b3261e) 9%,var(--surface,#fff));font-size:22px}
.user-add-choice-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.user-add-choice-copy strong{font-size:16px;line-height:1.2}
.user-add-choice-copy small{font-size:13px;line-height:1.45;color:var(--text-secondary,#5f6670)}
.user-add-choice-arrow{font-size:27px;line-height:1;color:var(--text-secondary,#707780)}
.user-add-choice-security{margin-top:4px}
@media(max-width:680px){
  .user-add-choice-modal{width:min(100% - 20px,720px);padding:20px 16px}
  .user-add-choice-grid{grid-template-columns:1fr;gap:10px}
  .user-add-choice-card{min-height:112px;padding:15px}
  .user-add-choice-icon{width:42px;height:42px;border-radius:12px;font-size:20px}
}

/* v1.19.22 RC46 — calendar time-state clarity */
.calendar-ongoing-section{
  margin:0 0 16px;
  padding:16px;
  border:1px solid var(--border-color,var(--border,#e5e7eb));
  border-radius:16px;
  background:var(--surface,#fff);
}
.calendar-ongoing-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.calendar-ongoing-head h3{margin:2px 0 0}
.calendar-ongoing-section .calendar-stack{gap:10px}
@media(max-width:760px){
  .calendar-ongoing-section{padding:12px;border-radius:14px}
}

/* v1.19.22 RC47 — calendar workspace redesign: Month / Week / Agenda */
.calendar-modern-page{display:grid;gap:16px;margin-top:2px}
.calendar-modern-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:2px;pointer-events:none}
.calendar-modern-actions>*{pointer-events:auto}
.calendar-modern-create{min-height:42px;padding-inline:18px}
.calendar-modern-private{min-height:42px}
.calendar-modern-controls{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(430px,2fr) auto;gap:12px;align-items:center}
.calendar-modern-search{height:46px;border:1px solid var(--line);border-radius:13px;background:var(--card);display:flex;align-items:center;gap:9px;padding:0 13px;box-shadow:0 5px 18px rgba(23,32,42,.035)}
.calendar-modern-search>span{font-size:20px;color:var(--muted);transform:translateY(-1px)}
.calendar-modern-search input{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;width:100%;min-width:0;padding:0!important;color:var(--text);font:inherit}
.calendar-filter-chips{display:flex;gap:7px;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px}
.calendar-filter-chips::-webkit-scrollbar{display:none}
.calendar-filter-chip{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:12px;min-height:42px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.14s ease}
.calendar-filter-chip:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));transform:translateY(-1px)}
.calendar-filter-chip.active{background:#202837;color:#fff;border-color:#202837;box-shadow:0 6px 16px rgba(32,40,55,.12)}
.calendar-filter-chip b{font-size:10px;opacity:.72}
.calendar-filter-dot{width:9px;height:9px;border-radius:999px;background:#64748b;box-shadow:0 0 0 3px color-mix(in srgb,#64748b 11%,transparent)}
.calendar-filter-dot.shared{background:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.10)}
.calendar-filter-dot.private{background:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.10)}
.calendar-filter-dot.outlook{background:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.calendar-filter-chip.active .calendar-filter-dot{box-shadow:0 0 0 3px rgba(255,255,255,.15)}
.calendar-modern-view-switcher{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);height:42px}
.calendar-modern-view-switcher button{border:0;border-right:1px solid var(--line);background:transparent;color:var(--text);padding:0 16px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;min-width:72px}
.calendar-modern-view-switcher button:last-child{border-right:0}
.calendar-modern-view-switcher button.active{background:#202837;color:#fff}
.calendar-modern-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.calendar-modern-summary article{display:flex;align-items:center;gap:14px;min-height:105px;padding:16px 17px;border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:0 6px 22px rgba(23,32,42,.04);min-width:0}
.calendar-summary-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;font-size:20px;font-weight:900}
.calendar-summary-red{background:#fff0ef;color:#d43a33}.calendar-summary-green{background:#ebfaf3;color:#07965a}.calendar-summary-blue{background:#edf6ff;color:#1478e8}.calendar-summary-purple{background:#f4edff;color:#7c3aed}
.calendar-modern-summary article>div{min-width:0}.calendar-modern-summary small{display:block;color:var(--muted);font-weight:800;font-size:11px;margin-bottom:4px}.calendar-modern-summary strong{display:block;font-size:24px;line-height:1.05;letter-spacing:-.02em;color:var(--text)}
.calendar-modern-summary article>div>span{display:block;margin-top:5px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-now-banner{display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:13px;background:color-mix(in srgb,#16a34a 8%,var(--card));border:1px solid color-mix(in srgb,#16a34a 22%,var(--line));font-size:12px;color:var(--text)}
.calendar-now-banner>span:last-child{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-now-pulse{width:9px;height:9px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 5px rgba(22,163,74,.12);flex:0 0 auto}
.calendar-modern-layout{display:grid;grid-template-columns:minmax(0,2.45fr) minmax(290px,.95fr);gap:14px;align-items:start}
.calendar-modern-main{min-width:0}
.calendar-modern-panel{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:12px;box-shadow:0 6px 22px rgba(23,32,42,.04);min-width:0;overflow:hidden}
.calendar-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 8px 12px}.calendar-panel-heading h2{font-size:20px;margin:0}.calendar-panel-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}.calendar-agenda-scope{border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--muted);font-size:11px;font-weight:800;background:var(--card)}
.calendar-side-rail{display:grid;gap:12px;min-width:0;position:sticky;top:82px}
.calendar-side-card{border:1px solid var(--line);border-radius:17px;background:var(--card);padding:13px;box-shadow:0 5px 20px rgba(23,32,42,.035);min-width:0}
.calendar-side-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.calendar-side-title h3{font-size:15px;margin:0}.calendar-side-title button{border:0;background:transparent;color:var(--accent);font:inherit;font-size:10px;font-weight:900;cursor:pointer;padding:5px 0}
.calendar-mini-month-title{text-align:center;font-weight:900;font-size:14px;margin:2px 0 11px;text-transform:capitalize}.calendar-mini-weekdays,.calendar-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-mini-weekdays b{font-size:9px;color:var(--muted);font-weight:800;padding:2px 0 5px}.calendar-mini-grid span{position:relative;aspect-ratio:1;display:grid;place-items:center;font-size:10px;border-radius:9px;color:var(--text)}.calendar-mini-grid span.outside{opacity:.34}.calendar-mini-grid span.today{background:var(--accent);color:white;font-weight:900}.calendar-mini-grid span.has-event:not(.today)::after{content:"";position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:var(--accent)}
.calendar-side-events{display:grid;gap:2px}.calendar-side-event{border:0;border-top:1px solid var(--line);background:transparent;width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:8px;align-items:center;text-align:left;padding:8px 1px;cursor:pointer;color:var(--text);min-width:0}.calendar-side-event:first-child{border-top:0}.calendar-side-event:hover{background:color-mix(in srgb,var(--event-color,var(--accent)) 5%,transparent)}
.calendar-side-date{height:48px;border:1px solid color-mix(in srgb,var(--event-color,var(--accent)) 23%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--event-color,var(--accent)) 6%,var(--card));display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.calendar-side-date b{font-size:8px;color:var(--event-color,var(--accent));text-transform:uppercase}.calendar-side-date strong{font-size:15px;margin:2px 0}.calendar-side-date small{font-size:7px;color:var(--muted)}
.calendar-side-copy{display:block;min-width:0}.calendar-side-copy>small{font-size:9px;color:var(--muted)}.calendar-side-copy>strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0}.calendar-side-copy>span{display:block;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-side-arrow{font-size:18px;color:var(--muted)}
.calendar-modern-outlook-help{border:1px solid var(--line);border-radius:13px;background:var(--card);overflow:hidden}.calendar-modern-outlook-help summary{cursor:pointer;padding:10px 13px;font-weight:800;font-size:11px;color:var(--muted)}.calendar-modern-outlook-help p{margin:0;padding:0 13px 12px;color:var(--muted);font-size:11px}

/* Agenda */
.calendar-agenda-group{border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:11px}.calendar-agenda-group:last-child{margin-bottom:0}.calendar-agenda-dayhead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;background:color-mix(in srgb,var(--text) 3%,var(--card));border-bottom:1px solid var(--line)}.calendar-agenda-dayhead strong{font-size:12px;text-transform:capitalize}.calendar-agenda-dayhead span{font-size:9px;color:var(--muted);font-weight:800}.calendar-agenda-ongoing{border-color:color-mix(in srgb,#16a34a 25%,var(--line))}.calendar-agenda-ongoing .calendar-agenda-dayhead{background:color-mix(in srgb,#16a34a 7%,var(--card))}
.calendar-agenda-row{width:100%;border:0;border-top:1px solid var(--line);background:var(--card);display:grid;grid-template-columns:8px 100px minmax(0,1fr) minmax(100px,auto) 28px;align-items:center;gap:10px;padding:10px 10px;color:var(--text);text-align:left;cursor:pointer;min-width:0}.calendar-agenda-dayhead+.calendar-agenda-row{border-top:0}.calendar-agenda-row:hover{background:color-mix(in srgb,var(--event-color,var(--accent)) 4%,var(--card))}.calendar-agenda-row:disabled{cursor:default;opacity:.82}.calendar-agenda-dot{width:8px;height:8px;border-radius:50%;background:var(--event-color,var(--accent))}.calendar-agenda-time{font-size:11px;font-weight:900;white-space:nowrap}.calendar-agenda-main{min-width:0;display:block}.calendar-agenda-main>strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-agenda-main>span{display:block;color:var(--muted);font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-agenda-main>small{display:block;color:var(--muted);font-size:9px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-agenda-tags{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.calendar-source-badge,.calendar-tag{border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;white-space:nowrap}.calendar-source-badge.shared{background:#fff0ef;color:#c5332e}.calendar-source-badge.private{background:#f3eaff;color:#7430d5}.calendar-source-badge.outlook{background:#eaf3ff;color:#176bd5}.calendar-source-badge.ongoing{background:#e7f8ef;color:#11814d}.calendar-tag{background:#f2edff;color:#6841b7}.calendar-agenda-arrow{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--text) 4%,var(--card));color:var(--muted);font-size:16px}

/* Week */
.calendar-period-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:3px 5px 13px}.calendar-period-nav{display:flex;gap:6px}.calendar-period-nav button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text);font-size:20px;cursor:pointer}.calendar-period-head h3{font-size:17px;margin:0}.calendar-period-head>div:nth-child(2)>span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.calendar-period-head>.secondary{min-height:34px;padding:0 13px;font-size:11px}
.calendar-week-desktop{display:grid;grid-template-columns:54px repeat(7,minmax(92px,1fr));border:1px solid var(--line);border-radius:13px;overflow:auto;background:var(--card);min-width:780px}.calendar-week-header-spacer{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:65px;background:color-mix(in srgb,var(--text) 2%,var(--card))}.calendar-week-day-head{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:65px;padding:8px;text-align:center;background:color-mix(in srgb,var(--text) 2%,var(--card))}.calendar-week-day-head:last-of-type{border-right:0}.calendar-week-day-head>span{display:block;font-size:9px;color:var(--muted);text-transform:capitalize}.calendar-week-day-head>strong{display:inline-grid;place-items:center;margin-top:2px;width:26px;height:26px;border-radius:50%;font-size:12px}.calendar-week-day-head.today>strong{background:var(--accent);color:#fff}.calendar-week-all-day{display:grid;gap:2px;margin-top:3px}.calendar-week-all-day-event{border:0;border-left:3px solid var(--event-color,var(--accent));border-radius:5px;background:color-mix(in srgb,var(--event-color,var(--accent)) 8%,var(--card));color:var(--text);font:inherit;font-size:7px;font-weight:800;padding:3px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.calendar-week-all-day small{font-size:7px;color:var(--muted)}
.calendar-week-time-axis{position:relative;border-right:1px solid var(--line);background:color-mix(in srgb,var(--text) 1.5%,var(--card))}.calendar-week-time-axis span{position:absolute;left:7px;transform:translateY(-50%);font-size:8px;color:var(--muted);font-weight:700}.calendar-week-day-column{position:relative;border-right:1px solid var(--line);background:var(--card)}.calendar-week-day-column:last-child{border-right:0}.calendar-week-gridline{position:absolute;left:0;right:0;border-top:1px solid color-mix(in srgb,var(--line) 78%,transparent);pointer-events:none}.calendar-week-event{position:absolute;z-index:2;border:0;border-left:4px solid var(--event-color,var(--accent));border-radius:7px;background:color-mix(in srgb,var(--event-color,var(--accent)) 10%,var(--card));color:var(--text);padding:5px 6px;text-align:left;overflow:hidden;cursor:pointer;box-shadow:0 2px 5px rgba(23,32,42,.04)}.calendar-week-event:hover{filter:brightness(.98)}.calendar-week-event>span{display:block;font-size:7px;color:var(--muted);font-weight:800;white-space:nowrap}.calendar-week-event>strong{display:block;font-size:9px;line-height:1.2;margin-top:2px}.calendar-week-event>small{display:block;font-size:7px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-week-mobile{display:none}

/* Month: modernize existing classic month without changing its data behavior */
.calendar-modern-month{padding:10px}.calendar-modern-month .classic-calendar-shell{margin-top:0;border:0;border-radius:11px;box-shadow:none}.calendar-modern-month .classic-calendar-head{padding:6px 5px 12px;border-bottom:0}.calendar-modern-month .classic-calendar-head h3{font-size:17px;text-transform:capitalize}.calendar-modern-month .classic-calendar-head small{display:none}.calendar-modern-month .classic-calendar-nav button{width:34px;height:34px;border-radius:9px}.calendar-modern-month .classic-day{min-height:102px}.calendar-modern-month .classic-event{font-size:9px;border-radius:6px;padding:5px 5px 5px 7px}.calendar-modern-month .classic-day.today .classic-day-number{background:var(--accent);color:#fff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;margin-left:auto}

body[data-theme='dark'] .calendar-filter-chip.active,body[data-theme='dark'] .calendar-modern-view-switcher button.active{background:#e6edf7;color:#111827;border-color:#e6edf7}
body[data-theme='dark'] :is(.calendar-modern-search,.calendar-filter-chip,.calendar-modern-view-switcher,.calendar-modern-summary article,.calendar-modern-panel,.calendar-side-card,.calendar-modern-outlook-help,.calendar-agenda-row,.calendar-week-day-head,.calendar-week-header-spacer,.calendar-week-day-column,.calendar-week-time-axis){background:var(--card);border-color:var(--line)}
body[data-theme='dark'] .calendar-summary-red{background:rgba(220,38,38,.15)}body[data-theme='dark'] .calendar-summary-green{background:rgba(22,163,74,.15)}body[data-theme='dark'] .calendar-summary-blue{background:rgba(37,99,235,.15)}body[data-theme='dark'] .calendar-summary-purple{background:rgba(124,58,237,.15)}

@media(max-width:1180px){
  .calendar-modern-controls{grid-template-columns:1fr auto}.calendar-filter-chips{grid-column:1/-1;grid-row:2}.calendar-modern-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-modern-layout{grid-template-columns:minmax(0,1fr) 280px}.calendar-modern-actions{margin-top:0}
}
@media(max-width:900px){
  .calendar-modern-layout{grid-template-columns:1fr}.calendar-side-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-side-card:first-child{grid-row:span 2}.calendar-modern-controls{grid-template-columns:1fr}.calendar-modern-view-switcher{grid-row:3;width:100%}.calendar-modern-view-switcher button{flex:1}.calendar-modern-actions{justify-content:flex-start}
}
@media(max-width:760px){
  .calendar-modern-page{gap:12px}.calendar-modern-actions{display:grid;grid-template-columns:1fr;order:0}.calendar-modern-actions button{width:100%}.calendar-modern-controls{gap:9px}.calendar-modern-search{height:44px}.calendar-filter-chips{grid-column:auto;grid-row:auto;margin-inline:-2px}.calendar-filter-chip{min-height:38px;padding-inline:10px}.calendar-modern-view-switcher{grid-row:auto;height:42px}.calendar-modern-view-switcher button{min-width:0;padding-inline:8px}.calendar-modern-summary{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-2px;padding:2px 2px 6px;gap:9px}.calendar-modern-summary article{min-width:220px;min-height:92px;scroll-snap-align:start;padding:13px}.calendar-summary-icon{width:42px;height:42px}.calendar-modern-summary strong{font-size:21px}.calendar-now-banner{align-items:flex-start;flex-wrap:wrap}.calendar-now-banner>span:last-child{width:100%;padding-left:18px}.calendar-modern-panel{padding:9px;border-radius:15px}.calendar-side-rail{grid-template-columns:1fr}.calendar-side-card:first-child{grid-row:auto}.calendar-mini-month{max-width:340px;margin-inline:auto}.calendar-panel-heading{align-items:flex-start}.calendar-agenda-scope{display:none}
  .calendar-agenda-row{grid-template-columns:7px 75px minmax(0,1fr) 24px;gap:8px;padding:10px 8px}.calendar-agenda-time{font-size:9px}.calendar-agenda-main>strong{font-size:11px}.calendar-agenda-tags{grid-column:3;justify-content:flex-start;margin-top:-3px}.calendar-agenda-arrow{grid-column:4;grid-row:1/3}.calendar-agenda-main>small{display:none}.calendar-source-badge,.calendar-tag{padding:4px 6px;font-size:7px}
  .calendar-week-desktop{display:none}.calendar-week-mobile{display:block}.calendar-period-head{grid-template-columns:auto 1fr auto;padding-bottom:10px}.calendar-period-head h3{font-size:13px}.calendar-period-head>div:nth-child(2)>span{font-size:9px}.calendar-period-head>.secondary{padding-inline:9px}.calendar-week-mobile-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:5px 0 10px;overflow-x:auto}.calendar-week-mobile-days button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;min-width:42px;padding:7px 2px;font:inherit;cursor:pointer}.calendar-week-mobile-days span{display:block;color:var(--muted);font-size:8px;text-transform:capitalize}.calendar-week-mobile-days strong{display:block;font-size:12px;margin-top:2px}.calendar-week-mobile-days button.active{background:#202837;color:#fff;border-color:#202837}.calendar-week-mobile-days button.active span{color:#dbe3ee}.calendar-week-mobile-days button.today:not(.active){border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.calendar-week-mobile-list{display:grid;gap:7px}.calendar-week-mobile-list .calendar-agenda-row{border:1px solid var(--line);border-radius:11px}
  .calendar-modern-month{overflow:hidden}.calendar-modern-month .classic-calendar-scroll{margin-inline:-2px}.calendar-modern-month .classic-calendar-scroll>.classic-calendar-shell{min-width:650px}.calendar-modern-outlook-help{margin-bottom:4px}
}
@media(max-width:430px){
  .calendar-modern-summary article{min-width:195px}.calendar-filter-chip b{display:none}.calendar-period-head{grid-template-columns:auto 1fr}.calendar-period-head>.secondary{grid-column:1/-1;width:100%}.calendar-agenda-row{grid-template-columns:7px 68px minmax(0,1fr) 22px}.calendar-agenda-tags{grid-column:2/4;padding-left:75px}.calendar-side-event{grid-template-columns:42px minmax(0,1fr) 18px}
}

/* v1.19.22 RC48 — calendar visual fidelity pass
   Match the approved planning mockup more closely without changing calendar data logic. */
.calendar-page-shell>.page-title{align-items:center;margin-bottom:22px}
.calendar-page-shell>.page-title>div:first-child{min-width:0}
.calendar-page-shell>.page-title h1{font-size:34px;line-height:1.03;margin:5px 0 5px;letter-spacing:-.04em}
.calendar-page-shell>.page-title p{max-width:920px;font-size:14px;line-height:1.45}
.calendar-page-shell>.page-title .page-title-actions{gap:12px}
.calendar-page-shell>.page-title .page-title-actions>button{min-height:46px;border-radius:12px;padding-inline:18px;font-size:13px;font-weight:900}
.calendar-page-shell .calendar-title-refresh{background:var(--card);color:var(--text);border:1px solid var(--line);box-shadow:0 4px 14px rgba(23,32,42,.035)}
.calendar-page-shell .calendar-title-private{background:var(--card);color:var(--text);border:1px solid var(--line);box-shadow:0 4px 14px rgba(23,32,42,.035)}
.calendar-page-shell .calendar-title-create{min-width:170px;box-shadow:0 8px 18px color-mix(in srgb,var(--accent,var(--red)) 18%,transparent)}

.calendar-page-shell .calendar-modern-page{gap:14px;margin-top:0}
.calendar-page-shell .calendar-modern-controls{grid-template-columns:minmax(260px,360px) minmax(470px,1fr) auto;gap:12px;align-items:center}
.calendar-page-shell .calendar-modern-search{height:44px;border-radius:11px;padding:0 14px;box-shadow:none}
.calendar-page-shell .calendar-modern-search>span{font-size:18px}
.calendar-page-shell .calendar-filter-chips{gap:8px;padding:0}
.calendar-page-shell .calendar-filter-chip{min-height:44px;border-radius:11px;padding-inline:15px;font-size:12px}
.calendar-page-shell .calendar-modern-view-switcher{height:44px;border-radius:10px}
.calendar-page-shell .calendar-modern-view-switcher button{min-width:76px;padding-inline:15px;font-size:12px}

.calendar-page-shell .calendar-modern-summary{gap:13px}
.calendar-page-shell .calendar-modern-summary article{min-height:104px;border-radius:15px;padding:17px 18px;gap:15px;box-shadow:0 5px 18px rgba(23,32,42,.035)}
.calendar-page-shell .calendar-summary-icon{width:52px;height:52px;border-radius:13px;font-size:22px}
.calendar-page-shell .calendar-modern-summary small{font-size:12px;margin-bottom:3px;color:var(--text);opacity:.78}
.calendar-page-shell .calendar-modern-summary strong{font-size:27px;letter-spacing:-.035em}
.calendar-page-shell .calendar-modern-summary article>div>span{font-size:12px;margin-top:4px}

.calendar-page-shell .calendar-modern-layout{grid-template-columns:minmax(0,1.72fr) minmax(420px,1fr);gap:16px;align-items:start}
.calendar-page-shell .calendar-modern-panel{border-radius:15px;padding:10px;box-shadow:0 5px 18px rgba(23,32,42,.03)}
.calendar-page-shell .calendar-panel-heading{padding:7px 10px 12px}
.calendar-page-shell .calendar-panel-heading h2{font-size:22px;letter-spacing:-.025em}
.calendar-page-shell .calendar-panel-heading p{font-size:12px;margin-top:4px}
.calendar-page-shell .calendar-agenda-scope{font-size:11px;padding:9px 12px;border-radius:9px}

/* Global portal aside styles must not leak into the calendar rail. */
.calendar-page-shell .calendar-side-rail{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr);gap:12px!important;position:sticky;top:82px;min-width:0;background:transparent!important;color:inherit!important;padding:0!important;overflow:visible!important;border:0!important;align-items:start}
.calendar-page-shell .calendar-side-card{border-radius:14px;padding:14px;background:var(--card)!important;color:var(--text)!important;border:1px solid var(--line)!important;box-shadow:0 5px 18px rgba(23,32,42,.03);min-width:0}
.calendar-page-shell .calendar-side-wide{grid-column:1/-1}
.calendar-page-shell .calendar-mini-card{min-height:228px}
.calendar-page-shell .calendar-quick-card{min-height:228px}
.calendar-page-shell .calendar-side-title{margin-bottom:9px}
.calendar-page-shell .calendar-side-title h3{font-size:15px;letter-spacing:-.015em}
.calendar-page-shell .calendar-side-title button{font-size:10px;color:var(--accent,var(--red))}
.calendar-page-shell .calendar-mini-month-title{font-size:14px;margin:2px 0 12px}
.calendar-page-shell .calendar-mini-weekdays b{font-size:9px;padding-bottom:7px}
.calendar-page-shell .calendar-mini-grid{gap:4px}
.calendar-page-shell .calendar-mini-grid span{font-size:10px;border-radius:8px;min-height:26px;aspect-ratio:auto}
.calendar-page-shell .calendar-mini-grid span.today{box-shadow:0 4px 10px color-mix(in srgb,var(--accent,var(--red)) 20%,transparent)}

.calendar-quick-links{display:grid;gap:2px}
.calendar-quick-link{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:9px 1px;text-align:left;font:inherit;cursor:pointer}
.calendar-quick-link:first-child{border-top:0}
.calendar-quick-link:hover{background:color-mix(in srgb,var(--accent,var(--red)) 4%,transparent)}
.calendar-quick-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--text) 4%,var(--card));font-size:13px;font-weight:900}
.calendar-quick-link>span:nth-child(2){font-size:11px;font-weight:800;white-space:normal;line-height:1.25}
.calendar-quick-link>b{font-size:15px;color:var(--muted);font-weight:500;text-align:center}

.calendar-page-shell .calendar-side-events{gap:0}
.calendar-page-shell .calendar-side-event{grid-template-columns:50px minmax(0,1fr) 22px;gap:10px;padding:9px 2px;min-height:66px}
.calendar-page-shell .calendar-side-date{height:52px;border-radius:10px}
.calendar-page-shell .calendar-side-date b{font-size:8px}.calendar-page-shell .calendar-side-date strong{font-size:17px}.calendar-page-shell .calendar-side-date small{font-size:7px}
.calendar-page-shell .calendar-side-copy>small{font-size:10px}.calendar-page-shell .calendar-side-copy>strong{font-size:12px;margin:3px 0}.calendar-page-shell .calendar-side-copy>span{font-size:10px}
.calendar-page-shell .calendar-side-empty{font-size:11px;margin:8px 2px 4px}

/* Agenda: readable information density similar to the approved mockup. */
.calendar-page-shell .calendar-agenda-group{border-radius:12px;margin-bottom:12px}
.calendar-page-shell .calendar-agenda-dayhead{padding:10px 13px}
.calendar-page-shell .calendar-agenda-dayhead strong{font-size:13px}
.calendar-page-shell .calendar-agenda-dayhead span{font-size:10px}
.calendar-page-shell .calendar-agenda-row{grid-template-columns:9px 118px minmax(0,1fr) minmax(135px,auto) 32px;gap:12px;padding:13px 12px;min-height:72px}
.calendar-page-shell .calendar-agenda-dot{width:9px;height:9px}
.calendar-page-shell .calendar-agenda-time{font-size:12px}
.calendar-page-shell .calendar-agenda-main>strong{font-size:14px;line-height:1.25}
.calendar-page-shell .calendar-agenda-main>span{font-size:11px;margin-top:3px}
.calendar-page-shell .calendar-agenda-main>small{font-size:10px;margin-top:4px;line-height:1.25}
.calendar-page-shell .calendar-source-badge,.calendar-page-shell .calendar-tag{padding:5px 9px;font-size:9px}
.calendar-page-shell .calendar-agenda-arrow{width:30px;height:30px;font-size:18px}

/* Week view: larger labels/cards than RC47, closer to the supplied reference. */
.calendar-page-shell .calendar-period-head{padding:5px 7px 14px;gap:14px}
.calendar-page-shell .calendar-period-nav button{width:36px;height:36px;border-radius:9px}
.calendar-page-shell .calendar-period-head h3{font-size:19px}
.calendar-page-shell .calendar-period-head>div:nth-child(2)>span{font-size:11px}
.calendar-page-shell .calendar-week-desktop{grid-template-columns:62px repeat(7,minmax(104px,1fr));border-radius:12px;min-width:850px}
.calendar-page-shell .calendar-week-header-spacer,.calendar-page-shell .calendar-week-day-head{min-height:72px}
.calendar-page-shell .calendar-week-day-head{padding:9px}
.calendar-page-shell .calendar-week-day-head>span{font-size:10px}
.calendar-page-shell .calendar-week-day-head>strong{width:29px;height:29px;font-size:13px}
.calendar-page-shell .calendar-week-time-axis span{left:8px;font-size:9px}
.calendar-page-shell .calendar-week-event{border-radius:7px;padding:6px 7px}
.calendar-page-shell .calendar-week-event>span{font-size:9px}
.calendar-page-shell .calendar-week-event>strong{font-size:10px;line-height:1.25}
.calendar-page-shell .calendar-week-event>small{font-size:8px}
.calendar-page-shell .calendar-week-all-day-event{font-size:8px}

/* Month view remains the existing functional calendar, but with matching scale. */
.calendar-page-shell .calendar-modern-month{padding:10px}
.calendar-page-shell .calendar-modern-month .classic-calendar-head h3{font-size:19px}
.calendar-page-shell .calendar-modern-month .classic-day{min-height:112px}
.calendar-page-shell .calendar-modern-month .classic-event{font-size:10px;padding:6px 6px 6px 8px}

@media(max-width:1450px){
  .calendar-page-shell .calendar-modern-controls{grid-template-columns:minmax(250px,330px) 1fr}.calendar-page-shell .calendar-modern-view-switcher{grid-column:2;justify-self:end}.calendar-page-shell .calendar-filter-chips{grid-column:1/-1;grid-row:2}
  .calendar-page-shell .calendar-modern-layout{grid-template-columns:minmax(0,1.55fr) minmax(360px,.9fr)}
  .calendar-page-shell .calendar-side-rail{grid-template-columns:1fr!important}.calendar-page-shell .calendar-side-wide{grid-column:auto}.calendar-page-shell .calendar-mini-card,.calendar-page-shell .calendar-quick-card{min-height:0}
}
@media(max-width:1050px){
  .calendar-page-shell>.page-title{align-items:flex-start}
  .calendar-page-shell .calendar-modern-layout{grid-template-columns:1fr}
  .calendar-page-shell .calendar-side-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .calendar-page-shell .calendar-side-wide{grid-column:1/-1}
  .calendar-page-shell .calendar-modern-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .calendar-page-shell>.page-title{margin-bottom:16px}.calendar-page-shell>.page-title h1{font-size:28px}.calendar-page-shell>.page-title .page-title-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.calendar-page-shell>.page-title .page-title-actions>button{width:100%;padding-inline:10px}
  .calendar-page-shell .calendar-modern-controls{grid-template-columns:1fr}.calendar-page-shell .calendar-filter-chips{grid-column:auto;grid-row:auto}.calendar-page-shell .calendar-modern-view-switcher{grid-column:auto;justify-self:stretch}.calendar-page-shell .calendar-modern-view-switcher button{flex:1}
  .calendar-page-shell .calendar-modern-summary{display:flex}.calendar-page-shell .calendar-modern-summary article{min-width:230px}
  .calendar-page-shell .calendar-side-rail{grid-template-columns:1fr!important}.calendar-page-shell .calendar-side-wide{grid-column:auto}
  .calendar-page-shell .calendar-agenda-row{grid-template-columns:8px 78px minmax(0,1fr) 28px;padding:11px 9px;min-height:66px}.calendar-page-shell .calendar-agenda-time{font-size:10px}.calendar-page-shell .calendar-agenda-main>strong{font-size:12px}.calendar-page-shell .calendar-agenda-main>span{font-size:10px}.calendar-page-shell .calendar-agenda-tags{grid-column:3;justify-content:flex-start}.calendar-page-shell .calendar-agenda-arrow{grid-column:4;grid-row:1/3}
}
@media(max-width:480px){
  .calendar-page-shell>.page-title .page-title-actions{grid-template-columns:1fr}.calendar-page-shell .calendar-title-create{min-width:0}
}

/* v1.19.22 RC50 — dashboard-style start page */
.home-dashboard{max-width:1580px;margin:0 auto;display:grid;gap:16px}
.home-dashboard-top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.9fr);gap:16px;align-items:stretch}
.home-dashboard-hero{position:relative;min-height:220px;border-radius:18px;overflow:hidden;background:linear-gradient(110deg,#b50f1d 0%,#d62a30 57%,#b80f1b 100%);color:#fff;box-shadow:0 12px 30px rgba(160,17,29,.14)}
.home-dashboard-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(122,0,12,.05) 0 56%,rgba(100,0,10,.12) 76%,rgba(100,0,10,.2));pointer-events:none}
.home-dashboard-hero-copy{position:relative;z-index:2;width:66%;padding:28px 34px}
.home-dashboard-hero-copy small{display:block;font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;color:#ffe9e9}
.home-dashboard-hero-copy h1{margin:0;font-size:31px;line-height:1.07;letter-spacing:-.035em;color:#fff}
.home-dashboard-hero-copy p{margin:14px 0 0;font-size:15px;line-height:1.45;color:#fff;opacity:.96}
.home-dashboard-hero-image{position:absolute;z-index:1;right:0;top:0;bottom:0;width:43%;background:linear-gradient(90deg,#c51c27 0%,rgba(197,28,39,.12) 35%),url('../training-work-environment.png') center/cover no-repeat;clip-path:polygon(23% 0,100% 0,100% 100%,0 100%)}
.home-dashboard-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(194,22,32,.46),rgba(180,13,24,.06))}
.home-dashboard-letter{min-height:220px;border:1px solid var(--line);background:var(--card);border-radius:18px;display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:14px;padding:24px 22px;box-shadow:0 8px 24px rgba(24,31,43,.045);overflow:hidden}
.home-dashboard-letter-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.home-dashboard-letter .eyebrow{font-size:10px;letter-spacing:.1em;color:var(--red);margin-bottom:8px}
.home-dashboard-letter h3{font-size:24px;line-height:1.1;margin:0 0 9px;letter-spacing:-.025em}
.home-dashboard-letter p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.home-dashboard-letter .home-monthly-letter-actions{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:10px}
.home-dashboard-letter .primary{padding:10px 15px;border-radius:10px;font-size:12px}
.home-letter-archive-link{border:0;background:transparent;color:var(--red);font:inherit;font-size:12px;font-weight:850;cursor:pointer;padding:8px 2px}
.home-letter-cover{align-self:center;width:108px;height:146px;border-radius:5px;background:linear-gradient(180deg,#fff 0 47%,#ece9df 47% 52%,#dbc091 52% 100%);box-shadow:0 8px 20px rgba(17,24,39,.13);padding:12px 10px;display:flex;flex-direction:column;color:#111;position:relative;overflow:hidden}
.home-letter-cover:after{content:"";position:absolute;left:-12px;right:-12px;bottom:0;height:52px;background:linear-gradient(155deg,#d4a04b,#805b2d);opacity:.55}
.home-letter-cover span{font-size:7px;font-weight:950;letter-spacing:.08em;color:#c91021}
.home-letter-cover strong{font-size:14px;line-height:1.05;margin-top:15px;position:relative;z-index:1}
.home-letter-cover b{font-size:9px;margin-top:5px;position:relative;z-index:1}
.home-letter-cover i{font-style:normal;font-size:7px;font-weight:900;margin-top:auto;position:relative;z-index:1;color:#fff}

.home-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.home-kpi{border:1px solid var(--line);border-radius:16px;background:var(--card);min-height:88px;padding:14px 18px;display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:12px;text-align:left;color:var(--text);font:inherit;cursor:pointer;box-shadow:0 6px 18px rgba(25,31,43,.035);transition:transform .15s ease,box-shadow .15s ease}
.home-kpi:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(25,31,43,.07)}
.home-kpi-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-size:23px;font-weight:900}
.home-kpi-calendar{background:linear-gradient(100deg,#fff4f4,#fff)}.home-kpi-calendar .home-kpi-icon{background:#ffe3e4;color:#d11a2a}
.home-kpi-docs{background:linear-gradient(100deg,#f3f7ff,#fff)}.home-kpi-docs .home-kpi-icon{background:#deebff;color:#164ba5}
.home-kpi-messages{background:linear-gradient(100deg,#f0fff5,#fff)}.home-kpi-messages .home-kpi-icon{background:#d7f8e2;color:#087432}
.home-kpi-quick{background:linear-gradient(100deg,#faf4ff,#fff)}.home-kpi-quick .home-kpi-icon{background:#efe2ff;color:#6628a8}
.home-kpi-copy{min-width:0;display:grid;gap:4px}.home-kpi-copy>b{font-size:13px}.home-kpi-copy>span{display:flex;align-items:baseline;gap:10px;min-width:0}.home-kpi-copy strong{font-size:28px;line-height:1}.home-kpi-copy small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-kpi>i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--text) 4%,transparent);font-style:normal;font-size:20px;color:var(--muted)}

.home-dashboard-section,.home-dashboard-list-panel{border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:0 6px 20px rgba(25,31,43,.035)}
.home-dashboard-section{padding:16px}
.home-dashboard-section-head,.home-dashboard-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.home-dashboard-section-head{margin-bottom:12px}.home-dashboard-section-head h2,.home-dashboard-list-head h2{margin:0;font-size:21px;letter-spacing:-.025em}
.home-dashboard-section-head button,.home-dashboard-list-head button{border:0;background:transparent;color:var(--red);font:inherit;font-size:11px;font-weight:850;cursor:pointer;white-space:nowrap}
.home-dashboard-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.home-dashboard-news-card{position:relative;min-height:132px;border:1px solid var(--line);border-radius:13px;background:var(--card);display:grid;grid-template-columns:126px minmax(0,1fr) 28px;align-items:stretch;padding:0;overflow:hidden;text-align:left;color:var(--text);font:inherit;cursor:pointer}
.home-dashboard-news-card:hover{border-color:color-mix(in srgb,var(--red) 30%,var(--line));box-shadow:0 8px 18px rgba(25,31,43,.055)}
.home-dashboard-news-media{position:relative;min-height:132px;background:#eceff2;overflow:hidden}.home-dashboard-news-media img{width:100%;height:100%;object-fit:cover;display:block}.home-news-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:36px;font-weight:950;background:linear-gradient(135deg,#ece7df,#cfd9de);color:#5b6672}.home-news-fallback-1{background:linear-gradient(135deg,#e9eef9,#ccd9f3);color:#315ca6}.home-news-fallback-2{background:linear-gradient(135deg,#f2e7e7,#ead0ca);color:#a24444}
.home-dashboard-news-media img.home-news-library-cover,.home-focus-news-media img.home-news-library-cover{object-fit:contain;padding:8px;background:linear-gradient(180deg,#f7f7f8,#eceff2)}
@media(max-width:700px){.home-dashboard-news-media img.home-news-library-cover,.home-focus-news-media img.home-news-library-cover{padding:6px}}
.home-dashboard-news-tag{position:absolute;left:10px;bottom:8px;padding:4px 8px;border-radius:999px;background:#2f6bb7;color:#fff;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-dashboard-news-copy{padding:13px 10px 12px 14px;min-width:0}.home-dashboard-news-copy small{font-size:9px;color:var(--red);font-weight:900}.home-dashboard-news-copy h3{font-size:14px;line-height:1.25;margin:6px 0 5px}.home-dashboard-news-copy p{font-size:11px;line-height:1.4;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-dashboard-arrow{align-self:end;justify-self:center;margin-bottom:13px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff0f0;color:var(--red);font-size:20px}

.home-dashboard-quick{padding:14px}.home-dashboard-quick .home-dashboard-section-head{margin:0 0 8px}.home-dashboard-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.home-quick-card{min-height:74px;border:1px solid var(--line);border-radius:13px;background:var(--card);display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:10px 12px;text-align:left;color:var(--text);font:inherit;cursor:pointer}.home-quick-card>span{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:23px;font-weight:900}.home-quick-card>div{min-width:0}.home-quick-card strong{display:block;font-size:13px}.home-quick-card small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3}.home-quick-card i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:19px}.home-quick-red{background:#fff8f8}.home-quick-red>span,.home-quick-red i{background:#ffe6e8;color:#d01b2b}.home-quick-blue{background:#f8fbff}.home-quick-blue>span,.home-quick-blue i{background:#e4efff;color:#1550a6}.home-quick-green{background:#f7fff9}.home-quick-green>span,.home-quick-green i{background:#ddf8e6;color:#0b7e39}.home-quick-purple{background:#fbf8ff}.home-quick-purple>span,.home-quick-purple i{background:#eee2ff;color:#6829a9}

.home-dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px}.home-dashboard-list-panel{padding:14px 14px 10px;overflow:hidden}.home-dashboard-list-head{padding:0 2px 10px}.home-dashboard-list-head>span{display:flex;align-items:center;gap:9px}.home-dashboard-list-icon{width:27px;height:27px;border-radius:8px;background:#fff0f0;color:var(--red);display:grid;place-items:center;font-size:14px}.home-dashboard-event-list,.home-dashboard-doc-list{display:grid}.home-dashboard-event-list .home-compact-event{border:0;border-top:1px solid var(--line);border-radius:0;padding:8px 4px;background:transparent;box-shadow:none}.home-dashboard-event-list .home-compact-event:first-child{border-top:0}.home-dashboard-event-list .home-compact-date{width:46px;min-width:46px;height:49px;border-radius:9px;background:#fff3f3;border:1px solid #ffd9dc}.home-dashboard-event-list .home-compact-date strong{font-size:18px;color:var(--text)}.home-dashboard-event-list .home-compact-date span{font-size:8px;color:var(--red);font-weight:900;text-transform:uppercase}.home-dashboard-event-list .home-compact-copy strong{font-size:12px}.home-dashboard-event-list .home-compact-copy span{font-size:10px;color:var(--muted)}
.home-dashboard-doc-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 76px 58px;align-items:center;gap:9px;padding:9px 4px;border-top:1px solid var(--line)}.home-dashboard-doc-row:first-child{border-top:0}.home-dashboard-doc-icon{width:32px;height:32px;border-radius:8px;background:#fff0f0;color:#dc2938;display:grid;place-items:center;font-size:16px}.home-dashboard-doc-row>div{min-width:0}.home-dashboard-doc-row strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-dashboard-doc-row small{display:block;color:var(--muted);font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-dashboard-doc-cat{padding:4px 8px;border-radius:999px;background:var(--surface-soft);font-size:8px;white-space:nowrap}.home-dashboard-doc-row time{font-size:9px;color:var(--muted);white-space:nowrap}.home-dashboard-doc-row>button{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 8px;font:inherit;font-size:9px;font-weight:850;cursor:pointer;color:var(--text)}

.home-mobile-hero,.home-mobile-kpis{display:none}.home-mobile-card{display:none}
@media(max-width:1180px){.home-dashboard-top{grid-template-columns:minmax(0,1.5fr) minmax(320px,.95fr)}.home-dashboard-hero-copy{width:72%}.home-dashboard-news-card{grid-template-columns:105px minmax(0,1fr) 26px}.home-kpi{padding:12px;grid-template-columns:42px minmax(0,1fr) 24px}.home-kpi-icon{width:42px;height:42px}.home-kpi-copy strong{font-size:24px}.home-kpi-copy small{font-size:10px}.home-dashboard-doc-row{grid-template-columns:34px minmax(0,1fr) auto 58px}.home-dashboard-doc-row time{display:none}}
@media(max-width:900px) and (min-width:701px){.home-dashboard-top{grid-template-columns:1fr}.home-dashboard-hero{min-height:205px}.home-dashboard-letter{min-height:190px}.home-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.home-dashboard-news-grid{grid-template-columns:1fr}.home-dashboard-news-card{grid-template-columns:130px minmax(0,1fr) 30px}.home-dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-dashboard-bottom{grid-template-columns:1fr}}
@media(max-width:700px){
  .home-dashboard{display:none!important}.home-mobile-hero,.home-mobile-kpis,.home-mobile-card{display:block}
  .home-mobile-hero{position:relative;overflow:hidden;margin:0 0 12px;border-radius:18px;padding:21px 18px 22px;background:linear-gradient(120deg,#b90f1d,#dc2930);color:#fff;box-shadow:0 10px 24px rgba(160,17,29,.12);--home-hero-image:url('../home-hero-industry.jpg')}
  .home-mobile-hero.has-photo:before{content:"";position:absolute;inset:0;background:var(--home-hero-image) center center/cover no-repeat;opacity:.34}
  .home-mobile-hero.has-photo>*{position:relative;z-index:1}
  .home-mobile-hero:after{content:"";position:absolute;right:-38px;top:-44px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.08)}
  .home-mobile-hero small{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:950;color:#ffe9e9}.home-mobile-hero h1{font-size:23px;line-height:1.08;margin:8px 0 8px;color:#fff;letter-spacing:-.03em}.home-mobile-hero p{font-size:12px;line-height:1.45;margin:0;color:#fff;opacity:.94}
  .home-mobile-kpis{margin-bottom:12px}.home-mobile-kpis .home-dashboard-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-mobile-kpis .home-kpi{min-height:78px;padding:10px;grid-template-columns:38px minmax(0,1fr);gap:8px;border-radius:14px}.home-mobile-kpis .home-kpi-icon{width:38px;height:38px;border-radius:11px;font-size:18px}.home-mobile-kpis .home-kpi>i{display:none}.home-mobile-kpis .home-kpi-copy>b{font-size:10px}.home-mobile-kpis .home-kpi-copy>span{gap:6px}.home-mobile-kpis .home-kpi-copy strong{font-size:21px}.home-mobile-kpis .home-kpi-copy small{font-size:8px}
  .home-mobile-card{margin:0 0 12px;border:1px solid var(--line);background:var(--card);border-radius:17px;padding:13px;box-shadow:0 5px 16px rgba(25,31,43,.035)}.home-mobile-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.home-mobile-card-head h2{margin:0;font-size:18px}.home-mobile-card-head button{border:0;background:transparent;color:var(--red);font:inherit;font-size:11px;font-weight:850}
  .home-mobile-news-list{display:grid;gap:8px}.home-mobile-news .home-dashboard-news-card{min-height:104px;grid-template-columns:88px minmax(0,1fr) 26px;border-radius:12px}.home-mobile-news .home-dashboard-news-media{min-height:104px}.home-mobile-news .home-dashboard-news-copy{padding:10px}.home-mobile-news .home-dashboard-news-copy h3{font-size:12px;margin:4px 0}.home-mobile-news .home-dashboard-news-copy p{font-size:10px;-webkit-line-clamp:2}.home-mobile-news .home-dashboard-news-copy small{font-size:8px}.home-mobile-news .home-dashboard-arrow{width:23px;height:23px;font-size:17px;margin-bottom:10px}.home-mobile-news .home-dashboard-news-tag{font-size:7px;padding:3px 6px;left:6px;bottom:6px}
  .home-mobile-quick{padding:0;border:0;background:transparent;box-shadow:none}.home-mobile-quick>.home-dashboard-section{display:block!important;padding:12px;border-radius:17px}.home-mobile-quick .home-dashboard-section-head{margin-bottom:8px}.home-mobile-quick .home-dashboard-section-head h2{font-size:18px}.home-mobile-quick .home-dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-mobile-quick .home-quick-card{grid-template-columns:38px minmax(0,1fr);padding:9px;min-height:68px}.home-mobile-quick .home-quick-card>span{width:38px;height:38px;font-size:18px}.home-mobile-quick .home-quick-card i{display:none}.home-mobile-quick .home-quick-card strong{font-size:11px}.home-mobile-quick .home-quick-card small{font-size:8.5px}
  .mobile-monthly-letter-card{border:1px solid var(--line)!important;background:var(--card)!important;border-radius:17px!important;padding:13px!important;box-shadow:0 5px 16px rgba(25,31,43,.035)!important}
  .mobile-calendar-home{padding:13px!important;border-radius:17px!important}.mobile-calendar-home .home-compact-event{padding:9px 0}
}
body[data-theme='dark'] .home-dashboard-hero{background:linear-gradient(110deg,#7f141d,#a61b26)}
body[data-theme='dark'] .home-dashboard-letter,body[data-theme='dark'] .home-dashboard-section,body[data-theme='dark'] .home-dashboard-list-panel,body[data-theme='dark'] .home-kpi,body[data-theme='dark'] .home-quick-card,body[data-theme='dark'] .home-dashboard-news-card{background:var(--card)!important;border-color:var(--line)!important}
body[data-theme='dark'] .home-dashboard-doc-row>button{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}

/* v1.19.22 RC51 — startsida, visual match pass 2
   Uses the user's approved reference composition and photographic fallbacks. */
.home-dashboard{
  max-width:1600px;
  gap:18px;
}
.home-dashboard-top{
  grid-template-columns:minmax(0,1.78fr) minmax(390px,.92fr);
  gap:18px;
}
.home-dashboard-hero{
  min-height:226px;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(126,10,22,.10);
  background:linear-gradient(110deg,#b70d1b 0%,#d2262e 62%,#bd111d 100%);
  --home-hero-image:url('../home-hero-industry.jpg');
}
.home-dashboard-hero-copy{
  width:64%;
  padding:28px 34px 30px;
}
.home-dashboard-hero-copy small{
  font-size:12px;
  margin-bottom:14px;
}
.home-dashboard-hero-copy h1{
  font-size:34px;
  line-height:1.08;
  max-width:640px;
}
.home-dashboard-hero-copy p{
  margin-top:14px;
  font-size:16px;
  line-height:1.48;
}
.home-dashboard-hero-image{
  right:0;
  width:47%;
  background:var(--home-hero-image) center center/cover no-repeat;
  clip-path:polygon(19% 0,100% 0,100% 100%,0 100%);
}
.home-dashboard-hero-image:after{
  background:linear-gradient(90deg,rgba(202,25,35,.32) 0%,rgba(202,25,35,.03) 46%,rgba(0,0,0,.02) 100%);
}

.home-dashboard-letter{
  min-height:226px;
  grid-template-columns:minmax(0,1fr) 128px;
  padding:24px 24px;
  gap:18px;
  border-radius:16px;
}
.home-dashboard-letter .eyebrow{font-size:11px}
.home-dashboard-letter h3{font-size:25px;line-height:1.12}
.home-dashboard-letter p{font-size:14px;line-height:1.48}
.home-letter-cover-photo{
  width:112px;
  min-height:150px;
  align-self:center;
  justify-self:end;
  padding:0;
  background:url('../home-monthly-artwork.jpg') center/cover no-repeat!important;
  border:0!important;
  box-shadow:0 8px 20px rgba(20,24,31,.11);
}

.home-dashboard-kpis{gap:14px}
.home-kpi{
  min-height:96px;
  border-radius:15px;
  grid-template-columns:56px minmax(0,1fr) 32px;
  gap:14px;
  padding:14px 18px;
}
.home-kpi-icon{
  width:56px!important;
  height:56px!important;
  border-radius:14px!important;
  font-size:24px!important;
}
.home-kpi-copy>b{font-size:13px!important}
.home-kpi-copy>span{margin-top:4px!important;gap:9px!important}
.home-kpi-copy strong{font-size:31px!important;line-height:1!important}
.home-kpi-copy small{font-size:11px!important}

.home-dashboard-section{
  padding:18px;
  border-radius:16px!important;
}
.home-dashboard-section-head{margin-bottom:14px}
.home-dashboard-section-head h2,.home-dashboard-list-head h2{
  font-size:23px;
}
.home-dashboard-section-head button,.home-dashboard-list-head button{
  font-size:12px;
}
.home-dashboard-news-grid{
  gap:14px;
}
.home-dashboard-news-card{
  min-height:156px;
  grid-template-columns:142px minmax(0,1fr) 34px;
  border-radius:13px;
}
.home-dashboard-news-media{min-height:156px}
.home-dashboard-news-media img{
  object-position:center;
}
.home-dashboard-news-copy{
  padding:16px 12px 14px 16px;
}
.home-dashboard-news-copy small{font-size:10px}
.home-dashboard-news-copy h3{
  font-size:16px;
  line-height:1.22;
  margin:7px 0 7px;
}
.home-dashboard-news-copy p{
  font-size:12.5px;
  line-height:1.42;
  -webkit-line-clamp:3;
}
.home-dashboard-news-tag{
  left:10px;
  bottom:9px;
  padding:5px 9px;
  font-size:8.5px;
}
.home-dashboard-arrow{
  width:29px;
  height:29px;
  margin-bottom:14px;
}

.home-dashboard-quick{
  padding:16px 18px 18px;
}
.home-dashboard-quick .home-dashboard-section-head{margin-bottom:10px}
.home-dashboard-quick-grid{gap:12px}
.home-quick-card{
  min-height:84px;
  grid-template-columns:54px minmax(0,1fr) 30px;
  padding:11px 14px;
  gap:12px;
}
.home-quick-card>span{
  width:54px;
  height:54px;
  font-size:25px;
}
.home-quick-card strong{font-size:14px}
.home-quick-card small{font-size:11px;line-height:1.35}

.home-dashboard-bottom{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:16px;
}
.home-dashboard-list-panel{
  padding:16px 16px 12px;
  border-radius:16px!important;
}
.home-dashboard-list-head{padding-bottom:11px}
.home-dashboard-list-icon{
  width:31px;
  height:31px;
  font-size:16px;
}
.home-dashboard-event-list .home-compact-event{
  padding:10px 5px;
}
.home-dashboard-event-list .home-compact-date{
  width:52px;
  min-width:52px;
  height:55px;
}
.home-dashboard-event-list .home-compact-date strong{font-size:20px}
.home-dashboard-event-list .home-compact-copy strong{font-size:13px}
.home-dashboard-event-list .home-compact-copy span{font-size:11px}

.home-dashboard-doc-row{
  grid-template-columns:38px minmax(0,1fr) auto 82px 62px;
  gap:10px;
  padding:10px 5px;
}
.home-dashboard-doc-icon{
  width:36px;
  height:36px;
}
.home-dashboard-doc-row strong{font-size:12px}
.home-dashboard-doc-row small{font-size:10px}
.home-dashboard-doc-cat{font-size:9px}
.home-dashboard-doc-row time{font-size:10px}
.home-dashboard-doc-row>button{font-size:10px;padding:7px 9px}

@media(max-width:1180px){
  .home-dashboard-top{grid-template-columns:minmax(0,1.55fr) minmax(330px,.9fr)}
  .home-dashboard-hero-copy{width:69%}
  .home-dashboard-news-card{grid-template-columns:118px minmax(0,1fr) 30px}
}
@media(max-width:700px){
  .home-mobile-news .home-dashboard-news-card{
    grid-template-columns:104px minmax(0,1fr) 28px;
    min-height:118px;
  }
  .home-mobile-news .home-dashboard-news-media{min-height:118px}
}

/* v1.19.22 RC52 — selectable news cover fallbacks + simplified home KPIs */
.home-dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-cover-picker{display:grid;gap:10px}
.news-cover-picker>.form-section-label{margin-bottom:0}
.news-cover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.news-cover-choice{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;min-height:78px;padding:9px;border:1px solid var(--line);border-radius:13px;background:var(--card);cursor:pointer;overflow:hidden}
.news-cover-choice:hover{border-color:color-mix(in srgb,var(--red) 38%,var(--line))}
.news-cover-choice:has(input:checked){border-color:var(--red);box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 13%,transparent)}
.news-cover-choice input{position:absolute;top:8px;right:8px;accent-color:var(--red)}
.news-cover-thumb{width:76px;height:58px;border-radius:9px;overflow:hidden;background:var(--soft);display:block}
.news-cover-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.news-cover-choice>span:last-child{display:grid;gap:3px;min-width:0;padding-right:16px}
.news-cover-choice b{font-size:12px;line-height:1.25}
.news-cover-choice small{font-size:10px;line-height:1.3;color:var(--muted)}
.news-cover-auto{grid-column:1/-1;grid-template-columns:56px minmax(0,1fr);min-height:66px}
.news-cover-auto-icon{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;background:var(--soft);font-size:19px;font-weight:900;color:var(--muted)}
@media(max-width:1180px){.news-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-cover-auto{grid-column:1/-1}}
@media(max-width:700px){
  .home-mobile-kpis .home-dashboard-kpis{grid-template-columns:1fr}
  .home-mobile-kpis .home-kpi{grid-template-columns:38px minmax(0,1fr);min-height:70px}
  .home-mobile-kpis .home-kpi-copy{text-align:left}
  .news-cover-grid{grid-template-columns:1fr}
  .news-cover-auto{grid-column:auto}
  .news-cover-choice{grid-template-columns:82px minmax(0,1fr)}
  .news-cover-thumb{width:82px}
}

/* v1.19.22 RC53 — compact desktop top bar + work-focused home workspace */
@media(min-width:761px){
  .top{gap:16px;padding:0 24px}
  .top .brand{flex:0 0 auto}
  .header-global-search{display:flex;align-items:center;gap:9px;flex:1 1 520px;max-width:760px;min-width:260px;height:46px;margin:0 0 0 14px;padding:0 14px;border-radius:11px;box-shadow:0 2px 10px rgba(24,31,43,.035)}
  .header-global-search .header-search-icon{font-size:21px;line-height:1;color:var(--muted);transform:translateY(-1px)}
  .header-global-search input{min-width:0;height:42px;padding:0;background:transparent;color:var(--text)}
  .header-daily-info{flex:0 1 250px;min-width:190px}
  .header-daily-combined-trigger{gap:10px;padding:7px 10px}
  .header-account-actions{gap:9px}
  .header-profile-name{border:0;background:transparent;color:var(--text);padding:8px 2px;font:inherit;font-size:13px;font-weight:850;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
  .header-profile-name:after{content:'⌄';display:inline-block;margin-left:7px;color:var(--muted);font-size:11px}
  .header-logout-btn{padding:8px 10px;font-size:11px;color:var(--muted)}
}
@media(min-width:761px) and (max-width:1280px){
  .portal-subtitle{display:none}
  .header-profile-name{display:none}
  .header-daily-info{flex-basis:210px;min-width:170px}
  .header-global-search{margin-left:4px;min-width:220px}
}
@media(max-width:760px){.header-profile-name{display:none!important}}

.home-workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.88fr) minmax(0,1.04fr);gap:16px;align-items:stretch}
.home-work-card{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 6px 20px rgba(25,31,43,.035);padding:18px}
.home-work-card-head{min-height:34px;display:flex;align-items:center;gap:9px;margin-bottom:13px}.home-work-card-head h2{margin:0;font-size:21px;letter-spacing:-.025em}.home-work-card-head>small{margin-left:auto;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.home-work-icon{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;font-size:15px;font-weight:950}.home-work-icon.focus{background:#fff0f0;color:#ca1c2d}.home-work-icon.current{background:#f1f8ff;color:#2462a9}
.home-focus-main{min-height:142px;border:1px solid #f1dddd;border-radius:14px;background:linear-gradient(135deg,#fff5f5 0%,#fff 88%);display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;align-items:center;padding:18px}.home-focus-bulb{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#ffe7e7;color:#d11d2d;font-size:26px;font-weight:900}.home-focus-main>div>small{font-size:10px;color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.05em}.home-focus-main h3{margin:6px 0 7px;font-size:18px;line-height:1.2}.home-focus-main p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.home-focus-actions{display:flex;align-items:center;gap:14px;margin-top:13px;flex-wrap:wrap}.home-focus-actions .primary{padding:10px 14px}.home-text-action{border:0;background:transparent;color:var(--red);font:inherit;font-size:11px;font-weight:850;cursor:pointer;padding:8px 2px}.home-focus-empty{min-height:194px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:18px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-soft)}.home-focus-empty strong{font-size:16px}.home-focus-empty p{margin:6px 0 14px;color:var(--muted);font-size:12px;line-height:1.45;max-width:32rem}
.home-work-shortcuts{display:flex;flex-direction:column}.home-work-shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1}.home-work-shortcut{min-width:0;min-height:96px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 8px;text-align:center;font:inherit;cursor:pointer;transition:.15s transform,.15s box-shadow,.15s border-color}.home-work-shortcut:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(25,31,43,.055);border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}.home-work-shortcut>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:19px;font-weight:950;background:#fff}.home-work-shortcut strong{font-size:11px;line-height:1.22}.home-work-shortcut.red{background:#fff7f7}.home-work-shortcut.red>span{background:#ffe6e8;color:#ca1b2b}.home-work-shortcut.blue{background:#f7faff}.home-work-shortcut.blue>span{background:#e4efff;color:#1652a9}.home-work-shortcut.green{background:#f7fff9}.home-work-shortcut.green>span{background:#ddf8e6;color:#0a7c39}.home-work-shortcut.purple{background:#fbf8ff}.home-work-shortcut.purple>span{background:#efe2ff;color:#6628a8}.home-work-shortcut.slate{background:#f7f8fa}.home-work-shortcut.slate>span{background:#e9edf2;color:#344152}
.home-current-list{display:grid;gap:8px}.home-current-row{min-width:0;min-height:78px;border:1px solid var(--line);border-radius:12px;background:var(--card);display:grid;grid-template-columns:88px minmax(0,1fr) 24px;align-items:stretch;overflow:hidden;color:var(--text);text-align:left;font:inherit;cursor:pointer;padding:0}.home-current-row:hover{border-color:color-mix(in srgb,var(--red) 28%,var(--line));box-shadow:0 6px 14px rgba(25,31,43,.05)}.home-current-media{display:block;min-height:78px;overflow:hidden;background:var(--surface-soft)}.home-current-media img,.home-current-media .home-news-fallback{width:100%;height:100%;min-height:78px;object-fit:cover;display:block}.home-current-copy{min-width:0;padding:9px 8px 8px 11px}.home-current-copy b,.home-current-copy small,.home-current-copy em{display:block;min-width:0}.home-current-copy b{font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-current-copy small{margin-top:3px;color:var(--red);font-size:8.5px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-current-copy em{margin-top:4px;color:var(--muted);font-size:9.5px;font-style:normal;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-current-row>i{align-self:center;justify-self:center;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--surface-soft);color:var(--muted);font-style:normal;font-size:17px}.home-current-empty{min-height:244px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-soft);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:18px}.home-current-empty span{margin-top:5px;color:var(--muted);font-size:11px}
body[data-theme='dark'] .home-work-card,body[data-theme='dark'] .home-current-row{background:var(--card)!important;border-color:var(--line)!important}.home-focus-main{color:var(--text)}body[data-theme='dark'] .home-focus-main{background:color-mix(in srgb,#a61b26 13%,var(--card));border-color:var(--line)}body[data-theme='dark'] .home-work-shortcut{border-color:var(--line)!important;color:var(--text)!important}
@media(max-width:1180px) and (min-width:701px){.home-workspace{grid-template-columns:1fr 1fr}.home-work-current{grid-column:1/-1}.home-current-list{grid-template-columns:repeat(3,minmax(0,1fr))}.home-current-row{grid-template-columns:92px minmax(0,1fr) 24px}}
@media(max-width:700px){.home-workspace{display:none!important}}

/* Ten selectable fallback images: keep the picker readable on wide and narrow admin layouts. */
.news-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-cover-auto{grid-column:1/-1}
@media(max-width:1180px){.news-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.news-cover-grid{grid-template-columns:1fr}.news-cover-auto{grid-column:auto}}

/* v1.19.22 RC54 — desktop QA hardening
   Keep the RC53 design, but prevent the top bar and home cards from being squeezed
   at common laptop/desktop widths with the persistent sidebar visible. */
@media (min-width:761px) and (max-width:1500px){
  .portal-subtitle{display:none!important}
  .header-profile-name{display:none!important}
  .header-global-search{flex:1 1 440px;max-width:none;min-width:240px;margin-left:4px}
  .header-daily-info{flex:0 0 150px;min-width:150px;margin-right:0}
  .header-daily-combined-trigger{gap:7px;padding:6px 9px}
  .header-nameday{display:none!important}
  .header-weather{padding-left:7px;gap:4px}
  .header-weather span,.header-weather small{display:none!important}
  .header-message-alert.show{width:44px;height:44px;min-width:44px;padding:6px;border-radius:50%;justify-content:center;position:relative}
  .header-message-alert.show .header-message-text{display:none!important}
  .header-message-alert.show .header-message-icon{width:30px;height:30px}
  .header-message-alert.show .header-message-count{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;border:2px solid var(--surface,#fff);font-size:10px}
  .header-logout-btn{width:40px;height:40px;min-width:40px;padding:0;font-size:0;display:grid;place-items:center}
  .header-logout-btn:before{content:'↪';font-size:18px;line-height:1;color:var(--muted)}
  .header-account-actions{gap:8px}
}
@media (min-width:761px) and (max-width:1280px){
  .header-daily-info{display:none!important}
  .header-global-search{min-width:260px}
}

@media (min-width:761px) and (max-width:1400px){
  .home-workspace{grid-template-columns:1fr 1fr}
  .home-work-current{grid-column:1/-1}
  .home-current-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-dashboard-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:761px) and (max-width:1320px){
  .home-dashboard-top{grid-template-columns:1fr}
  .home-dashboard-hero{min-height:250px}
  .home-dashboard-hero-copy{width:61%;padding:28px 34px 30px}
  .home-dashboard-letter{min-height:190px;grid-template-columns:minmax(0,1fr) 128px}
}
@media (min-width:761px) and (max-width:1200px){
  .home-dashboard-bottom{grid-template-columns:1fr}
}
@media (min-width:761px) and (max-width:1100px){
  .home-current-list{grid-template-columns:1fr}
  .home-current-row{grid-template-columns:104px minmax(0,1fr) 28px}
  .home-dashboard-news-grid{grid-template-columns:1fr}
  .home-dashboard-news-card{grid-template-columns:140px minmax(0,1fr) 32px}
}
@media (min-width:761px) and (max-width:1000px){
  .home-workspace{grid-template-columns:1fr}
  .home-work-current{grid-column:auto}
}

/* v1.19.22 RC55 — mobile KPI compaction
   The three overview counters should be glanceable, not consume most of the first screen. */
@media (max-width:700px){
  .home-mobile-kpis{margin:0 0 10px}
  .home-mobile-kpis .home-dashboard-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }
  .home-mobile-kpis .home-kpi{
    min-width:0;
    min-height:94px;
    padding:9px 6px 8px;
    grid-template-columns:1fr;
    grid-template-rows:32px minmax(0,1fr);
    align-content:start;
    justify-items:center;
    gap:5px;
    border-radius:14px;
    text-align:center;
  }
  .home-mobile-kpis .home-kpi-icon{
    width:32px;
    height:32px;
    border-radius:10px;
    font-size:16px;
  }
  .home-mobile-kpis .home-kpi-copy{
    width:100%;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:3px;
    text-align:center;
  }
  .home-mobile-kpis .home-kpi-copy>b{
    width:100%;
    min-height:20px;
    font-size:9px;
    line-height:1.08;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .home-mobile-kpis .home-kpi-copy>span{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    width:100%;
  }
  .home-mobile-kpis .home-kpi-copy strong{
    font-size:22px;
    line-height:1;
  }
  .home-mobile-kpis .home-kpi-copy small{display:none!important}
  .home-mobile-kpis .home-kpi>i{display:none!important}
}
@media (max-width:365px){
  .home-mobile-kpis .home-dashboard-kpis{gap:5px}
  .home-mobile-kpis .home-kpi{min-height:90px;padding:8px 4px 7px}
  .home-mobile-kpis .home-kpi-copy>b{font-size:8.5px}
  .home-mobile-kpis .home-kpi-copy strong{font-size:20px}
}


/* v1.19.22 RC58 — desktop header daily-info overlap fix
   Keep date/nameday and weather in separate layout tracks so weather icons/text
   can never paint over the date block. */
@media (min-width:1501px){
  .header-daily-info{
    flex:0 0 330px!important;
    min-width:330px!important;
    max-width:330px;
    padding:0!important;
    margin-right:12px!important;
    overflow:hidden;
  }
  .header-daily-combined-trigger{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    padding:8px 12px!important;
  }
  .header-dayline{
    min-width:0!important;
    overflow:hidden;
  }
  .header-date,.header-nameday{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .header-weather{
    margin-left:0!important;
    min-width:max-content!important;
    flex:0 0 auto!important;
    padding-left:12px!important;
    gap:5px!important;
  }
  .header-weather-icon{
    display:inline-grid!important;
    place-items:center!important;
    width:22px!important;
    min-width:22px!important;
    font-size:18px!important;
    line-height:1!important;
  }
}
@media (min-width:1281px) and (max-width:1500px){
  .header-daily-info{
    flex:0 0 174px!important;
    min-width:174px!important;
    max-width:174px!important;
    padding:0!important;
    overflow:hidden;
  }
  .header-daily-combined-trigger{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    padding:7px 9px!important;
  }
  .header-dayline{min-width:0!important;overflow:hidden}
  .header-date{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .header-weather{
    margin-left:0!important;
    min-width:max-content!important;
    flex:0 0 auto!important;
    padding-left:7px!important;
    gap:3px!important;
  }
  .header-weather-icon{
    display:inline-grid!important;
    place-items:center!important;
    width:19px!important;
    min-width:19px!important;
    font-size:16px!important;
    line-height:1!important;
  }
}

/* v1.19.22 RC59 — focused news + synchronized home calendar */
.news-focus-setting{border:1px solid color-mix(in srgb,var(--red) 18%,var(--line));border-radius:14px;padding:13px 14px;background:color-mix(in srgb,var(--red) 4%,var(--card))}
.news-focus-setting .role-check{margin-top:9px}
.news-focus-setting .form-help-text{margin:8px 0 0}

.home-focus-news-card{display:flex;flex-direction:column}
.home-focus-news{width:100%;min-height:142px;border:1px solid #f1dddd;border-radius:14px;background:linear-gradient(135deg,#fff7f7 0%,#fff 88%);display:grid;grid-template-columns:112px minmax(0,1fr) 28px;align-items:stretch;overflow:hidden;padding:0;color:var(--text);text-align:left;font:inherit;cursor:pointer}
.home-focus-news:hover{border-color:color-mix(in srgb,var(--red) 42%,var(--line));box-shadow:0 8px 18px rgba(25,31,43,.055)}
.home-focus-news-media{min-height:142px;background:var(--surface-soft);overflow:hidden}
.home-focus-news-media img,.home-focus-news-media .home-news-fallback{display:block;width:100%;height:100%;min-height:142px;object-fit:cover}
.home-focus-news-copy{min-width:0;padding:15px 12px 13px 15px;align-self:center}
.home-focus-news-copy>small{display:block;color:var(--red);font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.home-focus-news-copy h3{margin:6px 0 7px;font-size:17px;line-height:1.22}
.home-focus-news-copy p{margin:0;color:var(--muted);font-size:11px;line-height:1.42;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.home-focus-news>i{align-self:center;justify-self:center;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff0f0;color:var(--red);font-style:normal;font-size:18px}
body[data-theme='dark'] .home-focus-news{background:color-mix(in srgb,#a61b26 11%,var(--card));border-color:var(--line)}

.preview-week{grid-template-columns:repeat(7,1fr);gap:3px;padding:7px}
.preview-week i{min-width:0;border-radius:3px;background:color-mix(in srgb,var(--red) 14%,var(--card));border-color:color-mix(in srgb,var(--red) 18%,var(--line))}
.preview-week i:nth-child(2),.preview-week i:nth-child(5){background:color-mix(in srgb,var(--red) 50%,var(--card))}

.home-dashboard-calendar-panel{padding:14px;min-width:0}
.home-dashboard-calendar-body{min-width:0}
.home-dashboard-calendar-body>.admin-empty{margin-top:8px}
.home-dashboard-calendar-panel .home-classic-calendar .classic-calendar-shell{margin-top:6px}
.home-dashboard-calendar-panel .home-calendar-agenda-list{margin-top:5px}

.home-week-calendar{display:grid;gap:10px;margin-top:6px;min-width:0}
.home-week-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}
.home-week-head strong{color:var(--text);font-size:12px}
.home-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.home-week-day{position:relative;min-height:54px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted)}
.home-week-day span{font-size:9px;font-weight:850;text-transform:uppercase}
.home-week-day strong{font-size:16px;line-height:1;color:var(--text)}
.home-week-day i{position:absolute;right:5px;top:5px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:color-mix(in srgb,var(--red) 14%,var(--card));color:var(--red);font-size:8px;font-style:normal;font-weight:900;display:grid;place-items:center}
.home-week-day.today{border-color:color-mix(in srgb,var(--red) 55%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 8%,transparent)}
.home-week-day.today strong{color:var(--red)}
.home-week-day.has-event{background:color-mix(in srgb,var(--red) 4%,var(--card))}
.home-week-events .home-calendar-agenda-list{margin-top:0}
.home-week-events .home-agenda-event{padding:8px 5px;grid-template-columns:78px minmax(0,1fr)}

@media (max-width:1180px) and (min-width:701px){
  .home-focus-news{grid-template-columns:126px minmax(0,1fr) 28px}
}
@media (max-width:700px){
  .home-week-head{align-items:flex-start;flex-direction:column;gap:2px}
  .home-week-days{gap:4px}
  .home-week-day{min-height:48px;border-radius:9px}
  .home-week-day span{font-size:8px}.home-week-day strong{font-size:14px}
  .home-week-day i{right:3px;top:3px;min-width:13px;height:13px;font-size:7px}
  .mobile-calendar-home .home-classic-calendar .classic-calendar-scroll{margin:0 -2px}
}

/* v1.19.22 RC60 — separate I fokus from ordinary news */
.focus-admin-page{display:grid;gap:18px}
.focus-admin-card{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:18px;align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 8px 22px rgba(0,0,0,.035)}
.focus-admin-preview-media{min-height:132px;border-radius:13px;overflow:hidden;background:var(--surface-soft)}
.focus-admin-preview-media img,.focus-admin-preview-media .home-news-fallback{width:100%;height:100%;min-height:132px;object-fit:cover;display:block}
.focus-admin-preview-copy{min-width:0;align-self:center}.focus-admin-preview-copy h3{margin:5px 0 7px;font-size:20px}.focus-admin-preview-copy p{margin:0;color:var(--muted);line-height:1.5}.focus-admin-preview-copy small{display:block;margin-top:8px;color:var(--muted)}
.focus-admin-actions{display:flex;gap:7px;align-items:center;align-self:center;flex-wrap:wrap;justify-content:flex-end}
.focus-admin-audience-note{padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
@media(max-width:900px){.focus-admin-card{grid-template-columns:130px minmax(0,1fr)}.focus-admin-actions{grid-column:1/-1;justify-content:flex-start}.focus-admin-preview-media{min-height:110px}}
@media(max-width:620px){.focus-admin-card{grid-template-columns:1fr}.focus-admin-preview-media{min-height:180px}.focus-admin-actions{grid-column:auto}}

/* v1.19.22 RC61 — IF Metall Gävleborg feed + tighter I fokus card */
.home-workspace{align-items:start}
.home-work-focus{align-self:start}
.home-work-source-link{margin-left:auto;color:var(--red);font-size:10px;font-weight:850;text-decoration:none;white-space:nowrap}
.home-work-source-link:hover{text-decoration:underline}
.home-current-ifmetall{grid-template-columns:68px minmax(0,1fr) 26px;text-decoration:none}
.home-ifmetall-media{min-height:78px;background:linear-gradient(145deg,#d71920 0%,#b40f17 100%);display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#fff!important}
.home-ifmetall-media strong{font-size:22px;line-height:.95;letter-spacing:-.05em;color:#fff}
.home-ifmetall-media small{font-size:8px;line-height:1;margin-top:4px;font-weight:950;letter-spacing:.14em;color:#fff}
.home-current-ifmetall .home-current-copy small{color:#b71923}
.home-current-external-state{min-height:244px}
.home-current-external-state>a{margin-top:12px;color:var(--red);font-size:11px;font-weight:850;text-decoration:none}
.home-current-external-state>a:hover{text-decoration:underline}
.home-current-external-state.is-loading{position:relative}
.home-current-external-state.is-loading:before{content:'';width:24px;height:24px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%;margin-bottom:10px;animation:portal-spin .9s linear infinite}
@keyframes portal-spin{to{transform:rotate(360deg)}}
body[data-theme='dark'] .home-ifmetall-media{background:linear-gradient(145deg,#b91d27 0%,#7e1118 100%)}
@media(max-width:1180px) and (min-width:701px){
  .home-work-current.home-work-ifmetall{grid-column:1/-1}
  .home-current-ifmetall{grid-template-columns:68px minmax(0,1fr) 26px}
  .home-current-external-state{min-height:120px}
}

/* v1.19.22 RC62 — improved IF Metall Gävleborg branding + mobile visibility */
.home-ifmetall-card-head{align-items:center;gap:12px;flex-wrap:nowrap}
.home-ifmetall-title{min-width:0;display:grid;gap:1px;flex:1 1 auto}
.home-ifmetall-title h2{margin:0;font-size:20px;line-height:1.15}
.home-ifmetall-title small{display:block;color:var(--muted);font-size:10px;font-weight:700;line-height:1.25}
.ifmetall-gavleborg-badge{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:6px 10px 6px 6px;border-radius:999px;background:linear-gradient(135deg,#fff4f5 0%,#fff 100%);border:1px solid color-mix(in srgb,var(--red) 14%,var(--line));box-shadow:0 3px 10px rgba(25,31,43,.035)}
.ifmetall-gavleborg-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#d71920 0%,#b20f17 100%);display:grid;place-items:center;color:#fff;font-size:13px;font-weight:950;letter-spacing:-.03em;flex:0 0 34px}
.ifmetall-gavleborg-copy{display:grid;gap:1px;min-width:0}
.ifmetall-gavleborg-copy strong{display:block;color:var(--text);font-size:11px;line-height:1.05;white-space:nowrap}
.ifmetall-gavleborg-copy small{display:block;color:var(--muted);font-size:9px;line-height:1.05;white-space:nowrap}
.home-work-source-link{align-self:flex-start;margin-left:auto}
.home-ifmetall-media{background:linear-gradient(145deg,#fff5f6 0%,#fff 100%);display:flex!important;align-items:center;justify-content:center;padding:8px}
.ifmetall-row-badge{width:100%;display:grid;justify-items:center;gap:5px}
.ifmetall-row-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#d71920 0%,#b20f17 100%);display:grid;place-items:center;color:#fff;font-size:13px;font-weight:950;letter-spacing:-.03em}
.ifmetall-row-copy{display:grid;gap:1px;text-align:center}
.ifmetall-row-copy strong{font-size:9px;line-height:1.05;color:var(--text);white-space:nowrap}
.ifmetall-row-copy small{font-size:8px;line-height:1.05;color:var(--muted);white-space:nowrap}
body[data-theme='dark'] .ifmetall-gavleborg-badge{background:color-mix(in srgb,#a61b26 10%,var(--card));border-color:var(--line)}
body[data-theme='dark'] .ifmetall-gavleborg-copy strong,body[data-theme='dark'] .ifmetall-row-copy strong{color:var(--text)}
body[data-theme='dark'] .home-ifmetall-media{background:color-mix(in srgb,#a61b26 8%,var(--card))}

@media(max-width:700px){
  .home-mobile-card-head small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
  .home-mobile-focus .home-focus-news-mobile{min-height:110px;grid-template-columns:92px minmax(0,1fr) 26px;border-radius:13px}
  .home-mobile-focus .home-focus-news-media,.home-mobile-focus .home-focus-news-media img,.home-mobile-focus .home-focus-news-media .home-news-fallback{min-height:110px}
  .home-mobile-focus .home-focus-news-copy{padding:11px 10px 10px 11px}
  .home-mobile-focus .home-focus-news-copy h3{font-size:14px;margin:4px 0 5px}
  .home-mobile-focus .home-focus-news-copy p{font-size:10px;line-height:1.38;-webkit-line-clamp:2}
  .home-mobile-focus .home-focus-news-copy>small{font-size:8px}
  .home-mobile-focus .home-focus-news>i{width:22px;height:22px;font-size:16px}
  .home-mobile-focus .home-focus-actions.mobile{margin-top:10px}
  .home-mobile-focus .home-focus-actions.mobile .primary{width:100%;padding:10px 12px}
  .home-mobile-focus .home-focus-empty.compact{min-height:0;padding:14px}
  .home-mobile-focus .home-focus-empty.compact strong{font-size:14px}
  .home-mobile-focus .home-focus-empty.compact p{font-size:11px;margin:5px 0 0}

  .home-mobile-current .home-current-list{display:grid;gap:8px}
  .home-mobile-current .home-current-row{min-height:84px;grid-template-columns:72px minmax(0,1fr) 22px;border-radius:12px}
  .home-mobile-current .home-current-media{min-height:84px}
  .home-mobile-current .home-current-copy{padding:9px 8px 8px 9px}
  .home-mobile-current .home-current-copy b{font-size:11px;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .home-mobile-current .home-current-copy small{font-size:8px}
  .home-mobile-current .home-current-copy em{font-size:9px;-webkit-line-clamp:2}
  .home-mobile-current .home-current-row>i{width:20px;height:20px;font-size:14px}
  .home-mobile-current .home-current-external-state{min-height:110px;padding:14px}
  .home-mobile-current .home-current-empty strong{font-size:14px}
  .home-mobile-current .home-current-empty span{font-size:10px}

  .home-mobile-current .home-ifmetall-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
  .home-mobile-current .home-ifmetall-title h2{font-size:18px}
  .home-mobile-current .home-ifmetall-title small{font-size:9px}
  .home-mobile-current .ifmetall-gavleborg-badge{padding:5px 9px 5px 5px;gap:7px}
  .home-mobile-current .ifmetall-gavleborg-mark{width:30px;height:30px;border-radius:10px;font-size:12px;flex-basis:30px}
  .home-mobile-current .ifmetall-gavleborg-copy strong{font-size:10px}
  .home-mobile-current .ifmetall-gavleborg-copy small{font-size:8px}
  .home-mobile-current .home-work-source-link{font-size:9px;padding-top:2px}

  .home-mobile-flow .home-mobile-current,.home-mobile-flow .home-mobile-focus{display:block}
}

/* v1.19.22 RC63 — cross-linked I fokus documents */
.focus-document-linker{display:grid;gap:14px;border:1px solid var(--line);border-radius:15px;padding:15px;background:var(--surface-soft)}
.focus-document-existing label,.focus-document-upload label{display:grid;gap:7px;font-size:12px;font-weight:800}
.focus-document-existing select{width:100%;min-height:128px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text);padding:7px;font:inherit;font-size:12px}
.focus-document-existing select option{padding:7px}
.focus-document-existing small{display:block;margin-top:6px;color:var(--muted);font-size:10px;font-weight:600}
.focus-document-upload{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);gap:12px;border-top:1px solid var(--line);padding-top:14px}
.focus-document-upload>div:first-child{grid-column:1/-1;display:grid;gap:3px}
.focus-document-upload>div:first-child>strong{font-size:13px}.focus-document-upload>div:first-child>small{color:var(--muted);font-size:10px}
.focus-document-upload .full{grid-column:1/-1}
.focus-document-empty{padding:12px;border:1px dashed var(--line);border-radius:11px;background:var(--card);color:var(--muted);font-size:11px;line-height:1.45}
.focus-legacy-attachments{border:1px solid color-mix(in srgb,var(--red) 14%,var(--line));border-radius:15px;padding:14px;background:color-mix(in srgb,var(--red) 3%,var(--card))}
.focus-legacy-attachments .news-admin-attachment>span:first-child{display:grid;gap:2px}
.focus-legacy-attachments .news-admin-attachment small{color:var(--muted);font-size:9px;font-weight:600}
.news-attachment.is-document-reference{border-color:color-mix(in srgb,#1d6fb8 22%,var(--line));background:color-mix(in srgb,#1d6fb8 3%,var(--card))}
.news-attachment.is-document-reference small:before{content:'↗ ';color:#1d6fb8;font-weight:900}
.news-attachment.is-missing-reference{opacity:.68}
.news-attachment.is-missing-reference button{cursor:not-allowed}
@media(max-width:700px){
  .focus-document-upload{grid-template-columns:1fr}
  .focus-document-upload>div:first-child,.focus-document-upload .full{grid-column:auto}
  .focus-document-existing select{min-height:112px}
}


/* v1.19.22 RC64 — refined IF Metall Gävleborg logos */
.ifmetall-gavleborg-badge{display:flex;align-items:center;justify-content:flex-start;padding:0;background:transparent;border:0;box-shadow:none}
.ifmetall-logo{display:block;max-width:100%;height:auto}
.ifmetall-logo-header{width:152px;min-width:152px}
.home-ifmetall-card-head{align-items:center;gap:14px}
.home-ifmetall-title h2{font-size:22px}
.home-ifmetall-title small{font-size:11px}
.home-current-ifmetall{grid-template-columns:96px minmax(0,1fr) 26px}
.home-ifmetall-media{min-height:78px;background:transparent!important;border:0!important;padding:10px 8px;align-items:flex-start;justify-content:center}
.ifmetall-logo-row{width:78px}
.home-current-ifmetall .home-current-copy small{color:#b71923}
body[data-theme='dark'] .home-ifmetall-media{background:transparent!important}
body[data-theme='dark'] .ifmetall-gavleborg-badge{background:transparent;border-color:transparent;box-shadow:none}

@media(max-width:700px){
  .home-mobile-current .home-ifmetall-card-head{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
  .home-mobile-current .ifmetall-gavleborg-badge{padding:0}
  .home-mobile-current .ifmetall-logo-header{width:116px;min-width:116px}
  .home-mobile-current .home-ifmetall-title h2{font-size:17px}
  .home-mobile-current .home-ifmetall-title small{font-size:9px}
  .home-mobile-current .home-current-row{grid-template-columns:62px minmax(0,1fr) 22px}
  .home-mobile-current .home-current-media{min-height:74px;padding:8px 4px 8px 8px;align-items:flex-start}
  .home-mobile-current .ifmetall-logo-row{width:50px}
}

.ifmetall-gavleborg-mark,.ifmetall-gavleborg-copy,.ifmetall-row-badge,.ifmetall-row-mark,.ifmetall-row-copy{display:none!important}

/* v1.19.22 RC65 — document upload form: preserve unsaved fields when native file picker closes */


/* v1.19.22 RC66 — built-in PPTX viewer */
.pptx-portal-viewer{height:100%;min-height:0;display:flex;flex-direction:column;background:#edf0f4}
.pptx-portal-toolbar{height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 12px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:5}
.pptx-portal-toolbar button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text);font:inherit;font-size:18px;font-weight:900;display:grid;place-items:center;cursor:pointer}
.pptx-portal-toolbar button:hover:not(:disabled){border-color:color-mix(in srgb,var(--red) 34%,var(--line));background:var(--surface-soft)}
.pptx-portal-toolbar button:disabled{opacity:.35;cursor:default}
.pptx-portal-page,.pptx-portal-zoom{min-width:76px;text-align:center;font-size:11px;font-weight:850;color:var(--text)}
.pptx-portal-zoom{min-width:48px}
.pptx-portal-divider{width:1px;height:24px;background:var(--line);margin:0 5px}
.pptx-portal-stage{flex:1 1 auto;min-height:420px;overflow:auto;display:flex;align-items:center;justify-content:center;padding:22px;outline:none;background:linear-gradient(145deg,#e8ebef,#f5f6f8)}
.pptx-portal-host{width:100%;height:100%;min-height:390px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pptx-portal-host>div{max-width:100%;max-height:100%}
.pptx-portal-viewer>.document-viewer-note{flex:0 0 auto;margin:0;padding:8px 14px;border-top:1px solid var(--line);background:var(--card);font-size:10px;text-align:center;color:var(--muted)}
body[data-theme='dark'] .pptx-portal-viewer{background:#171a20}
body[data-theme='dark'] .pptx-portal-stage{background:linear-gradient(145deg,#15181d,#20242b)}
@media(max-width:700px){
  .pptx-portal-toolbar{height:44px;flex-basis:44px;padding:5px 7px;gap:5px}
  .pptx-portal-toolbar button{width:32px;height:32px;border-radius:8px}
  .pptx-portal-page{min-width:72px;font-size:10px}.pptx-portal-zoom{min-width:42px;font-size:10px}
  .pptx-portal-divider{margin:0 2px}
  .pptx-portal-stage{min-height:300px;padding:8px}
  .pptx-portal-host{min-height:280px}
  .pptx-portal-viewer>.document-viewer-note{font-size:9px;padding:7px 10px}
}

/* v1.19.22 RC67 — proper IF Metall logo treatment */
.ifmetall-gavleborg-badge{display:inline-flex!important;align-items:center!important;gap:12px!important;padding:0!important;min-width:0;background:transparent!important;border:0!important;box-shadow:none!important}
.ifmetall-mark-shell{width:72px;height:72px;border-radius:22px;background:#fff;display:grid;place-items:center;box-shadow:0 6px 20px rgba(215,25,32,.08),0 0 0 1px color-mix(in srgb,var(--red) 10%,var(--line));overflow:hidden;flex:0 0 72px}
.ifmetall-mark-logo{display:block;max-width:100%;height:auto}
.ifmetall-mark-logo-header{width:54px}
.ifmetall-gavleborg-wordmark{display:grid;gap:2px;min-width:0}
.ifmetall-gavleborg-wordmark strong{display:block;font-size:15px;line-height:1.05;color:var(--text);font-weight:900;white-space:nowrap}
.ifmetall-gavleborg-wordmark small{display:block;font-size:13px;line-height:1.05;color:var(--muted);font-weight:800;white-space:nowrap}
.home-ifmetall-card-head{align-items:center!important;gap:18px!important}
.home-ifmetall-title h2{margin:0;font-size:24px;line-height:1.02}
.home-ifmetall-title small{font-size:12px;font-weight:700;line-height:1.2}
.home-work-source-link{align-self:flex-start;margin-left:auto;padding-top:2px}

.home-current-ifmetall{grid-template-columns:88px minmax(0,1fr) 26px!important;gap:0;text-decoration:none}
.home-ifmetall-media{min-height:84px!important;background:transparent!important;border:0!important;padding:12px 8px!important;display:flex!important;align-items:flex-start!important;justify-content:center!important}
.ifmetall-row-mark-shell{width:56px;height:56px;border-radius:18px;background:#fff;display:grid;place-items:center;box-shadow:0 4px 16px rgba(215,25,32,.08),0 0 0 1px color-mix(in srgb,var(--red) 10%,var(--line));overflow:hidden;flex:0 0 56px}
.ifmetall-mark-logo-row{width:40px}
.home-current-ifmetall .home-current-copy b{line-height:1.18}
.home-current-ifmetall .home-current-copy small{display:block;color:#bf2029;font-weight:800;margin-top:2px}
.home-current-ifmetall .home-current-copy em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

body[data-theme='dark'] .ifmetall-mark-shell,
body[data-theme='dark'] .ifmetall-row-mark-shell{background:#231b1d;box-shadow:0 0 0 1px color-mix(in srgb,var(--red) 18%,var(--line))}
body[data-theme='dark'] .ifmetall-gavleborg-wordmark strong{color:var(--text)}
body[data-theme='dark'] .ifmetall-gavleborg-wordmark small{color:var(--muted)}

@media(max-width:700px){
  .home-mobile-current .home-ifmetall-card-head{grid-template-columns:auto minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important}
  .home-mobile-current .ifmetall-mark-shell{width:52px;height:52px;border-radius:16px;flex-basis:52px}
  .home-mobile-current .ifmetall-mark-logo-header{width:38px}
  .home-mobile-current .ifmetall-gavleborg-wordmark strong{font-size:12px}
  .home-mobile-current .ifmetall-gavleborg-wordmark small{font-size:10px}
  .home-mobile-current .home-ifmetall-title h2{font-size:18px;line-height:1.06}
  .home-mobile-current .home-ifmetall-title small{font-size:9px}
  .home-mobile-current .home-work-source-link{font-size:10px;padding-top:0}
  .home-mobile-current .home-current-row{grid-template-columns:64px minmax(0,1fr) 22px!important;min-height:82px}
  .home-mobile-current .home-current-media{min-height:82px!important;padding:10px 6px 10px 8px!important}
  .home-mobile-current .ifmetall-row-mark-shell{width:42px;height:42px;border-radius:14px;flex-basis:42px}
  .home-mobile-current .ifmetall-mark-logo-row{width:30px}
  .home-mobile-current .home-current-copy b{font-size:11px;line-height:1.24;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .home-mobile-current .home-current-copy small{font-size:8px}
  .home-mobile-current .home-current-copy em{font-size:9px;line-height:1.3;-webkit-line-clamp:2}
}

/* v1.19.22 RC68 — mockup-inspired IF Metall Gävleborg card */
.home-work-ifmetall-redesign,
.home-mobile-current-redesign{
  background:linear-gradient(180deg,#fff 0%,#fffdfd 100%);
}
.home-work-ifmetall-redesign{padding:22px;border-radius:22px}
.home-mobile-current-redesign{padding:14px;border-radius:18px}

.home-work-ifmetall-redesign .home-ifmetall-card-head,
.home-mobile-current-redesign .home-ifmetall-card-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin-bottom:16px;
}
.home-work-ifmetall-redesign .ifmetall-gavleborg-badge,
.home-mobile-current-redesign .ifmetall-gavleborg-badge{
  padding-right:18px!important;
  border-right:1px solid color-mix(in srgb,var(--line) 80%,#ddd)!important;
  gap:14px!important;
}
.home-work-ifmetall-redesign .ifmetall-mark-shell{width:76px;height:76px;border-radius:24px;box-shadow:none;border:1px solid #efd5d7}
.home-work-ifmetall-redesign .ifmetall-mark-logo-header{width:56px}
.home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark strong{font-size:17px;font-weight:950;line-height:1.02}
.home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark small{font-size:15px;line-height:1.02;color:var(--text);font-weight:900}
.home-work-ifmetall-redesign .home-ifmetall-title{gap:5px}
.home-work-ifmetall-redesign .home-ifmetall-title h2{font-size:34px;line-height:1.02;letter-spacing:-.04em;margin:0}
.home-work-ifmetall-redesign .home-ifmetall-title small{font-size:14px;line-height:1.25;color:#8b909b;font-weight:700}
.home-work-ifmetall-redesign .home-work-source-link{justify-self:end;align-self:start;padding-top:8px;font-size:14px;font-weight:900;color:var(--red);text-decoration:none;white-space:nowrap}
.home-work-ifmetall-redesign .home-work-source-link:hover{text-decoration:underline}

.home-work-ifmetall-redesign .home-current-list,
.home-mobile-current-redesign .home-current-list{display:grid;gap:14px}
.home-work-ifmetall-redesign .home-current-row,
.home-mobile-current-redesign .home-current-row{
  min-height:136px;
  border-radius:20px;
  border:1px solid #ece4e4;
  background:#fff;
  box-shadow:0 2px 0 rgba(215,25,32,.02);
  grid-template-columns:124px minmax(0,1fr) 76px!important;
  overflow:hidden;
}
.home-work-ifmetall-redesign .home-current-row:hover,
.home-mobile-current-redesign .home-current-row:hover{border-color:#e8d2d4;box-shadow:0 10px 24px rgba(25,31,43,.05)}
.home-work-ifmetall-redesign .home-ifmetall-media,
.home-mobile-current-redesign .home-ifmetall-media{
  min-height:136px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:transparent!important;
}
.home-work-ifmetall-redesign .ifmetall-news-icon,
.home-mobile-current-redesign .ifmetall-news-icon{
  width:76px;height:76px;border-radius:22px;
  background:#fff5f5;color:var(--red);
  display:grid;place-items:center;flex:0 0 76px;
}
.home-work-ifmetall-redesign .ifmetall-news-icon svg,
.home-mobile-current-redesign .ifmetall-news-icon svg{width:40px;height:40px;display:block}
.home-work-ifmetall-redesign .home-current-copy,
.home-mobile-current-redesign .home-current-copy{padding:20px 14px 18px 0;align-self:center}
.home-work-ifmetall-redesign .home-current-copy b,
.home-mobile-current-redesign .home-current-copy b{font-size:24px;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-work-ifmetall-redesign .home-current-copy small,
.home-mobile-current-redesign .home-current-copy small{margin-top:8px;font-size:11px;color:var(--red);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-work-ifmetall-redesign .home-current-copy em,
.home-mobile-current-redesign .home-current-copy em{margin-top:8px;font-size:13px;line-height:1.42;color:#6f7481;-webkit-line-clamp:2}
.home-work-ifmetall-redesign .home-current-row>i,
.home-mobile-current-redesign .home-current-row>i{
  width:38px;height:38px;border-radius:999px;
  background:#fff2f2;color:var(--red);
  align-self:center;justify-self:center;
  font-size:26px;font-weight:700;
}

body[data-theme='dark'] .home-work-ifmetall-redesign,
body[data-theme='dark'] .home-mobile-current-redesign{background:var(--card)}
body[data-theme='dark'] .home-work-ifmetall-redesign .home-current-row,
body[data-theme='dark'] .home-mobile-current-redesign .home-current-row{background:color-mix(in srgb,var(--card) 92%,#fff);border-color:var(--line)}
body[data-theme='dark'] .home-work-ifmetall-redesign .ifmetall-news-icon,
body[data-theme='dark'] .home-mobile-current-redesign .ifmetall-news-icon{background:color-mix(in srgb,var(--red) 12%,var(--card))}
body[data-theme='dark'] .home-work-ifmetall-redesign .ifmetall-mark-shell,
body[data-theme='dark'] .home-mobile-current-redesign .ifmetall-mark-shell{background:color-mix(in srgb,#fff 10%,var(--card));border-color:var(--line)}
body[data-theme='dark'] .home-work-ifmetall-redesign .home-ifmetall-title small,
body[data-theme='dark'] .home-mobile-current-redesign .home-ifmetall-title small{color:var(--muted)}

@media(max-width:1180px) and (min-width:701px){
  .home-work-ifmetall-redesign .home-ifmetall-title h2{font-size:29px}
  .home-work-ifmetall-redesign .home-current-row{grid-template-columns:108px minmax(0,1fr) 64px!important;min-height:124px}
  .home-work-ifmetall-redesign .home-ifmetall-media{min-height:124px!important}
  .home-work-ifmetall-redesign .ifmetall-news-icon{width:68px;height:68px;border-radius:20px}
  .home-work-ifmetall-redesign .ifmetall-news-icon svg{width:34px;height:34px}
  .home-work-ifmetall-redesign .home-current-copy b{font-size:19px}
}

@media(max-width:700px){
  .home-mobile-current-redesign .home-ifmetall-card-head{grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:center;margin-bottom:12px}
  .home-mobile-current-redesign .ifmetall-gavleborg-badge{padding-right:12px!important;gap:10px!important;border-right:1px solid #ece4e4!important}
  .home-mobile-current-redesign .ifmetall-mark-shell{width:54px;height:54px;border-radius:16px;flex-basis:54px;box-shadow:none;border:1px solid #efd5d7}
  .home-mobile-current-redesign .ifmetall-mark-logo-header{width:38px}
  .home-mobile-current-redesign .ifmetall-gavleborg-wordmark strong{font-size:12px;line-height:1.03}
  .home-mobile-current-redesign .ifmetall-gavleborg-wordmark small{font-size:11px;line-height:1.03;color:var(--text);font-weight:900}
  .home-mobile-current-redesign .home-ifmetall-title h2{font-size:18px;line-height:1.06}
  .home-mobile-current-redesign .home-ifmetall-title small{font-size:10px;line-height:1.25}
  .home-mobile-current-redesign .home-work-source-link{grid-column:1/-1;justify-self:end;font-size:11px;padding-top:0}
  .home-mobile-current-redesign .home-current-row{grid-template-columns:70px minmax(0,1fr) 38px!important;min-height:96px;border-radius:16px}
  .home-mobile-current-redesign .home-ifmetall-media{min-height:96px!important;padding:12px 10px!important}
  .home-mobile-current-redesign .ifmetall-news-icon{width:46px;height:46px;border-radius:14px;flex-basis:46px}
  .home-mobile-current-redesign .ifmetall-news-icon svg{width:24px;height:24px}
  .home-mobile-current-redesign .home-current-copy{padding:12px 6px 12px 0}
  .home-mobile-current-redesign .home-current-copy b{font-size:15px;line-height:1.2;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .home-mobile-current-redesign .home-current-copy small{font-size:9px;margin-top:5px}
  .home-mobile-current-redesign .home-current-copy em{font-size:10px;margin-top:5px;line-height:1.34}
  .home-mobile-current-redesign .home-current-row>i{width:28px;height:28px;font-size:18px}
}

/* v1.19.22 RC69 — IF Metall Gävleborg card polish */
.home-work-ifmetall-redesign,
.home-mobile-current-redesign{
  background:linear-gradient(180deg,#fff 0%,#fffafa 100%);
}
.home-work-ifmetall-redesign{
  padding:24px;
  border-radius:24px;
  box-shadow:0 10px 28px rgba(25,31,43,.035);
}
.home-work-ifmetall-redesign .home-ifmetall-card-head{
  gap:20px;
  margin-bottom:18px;
}
.home-work-ifmetall-redesign .ifmetall-gavleborg-badge{
  padding-right:20px!important;
}
.home-work-ifmetall-redesign .ifmetall-mark-shell{
  width:80px;height:80px;border-radius:26px;
  background:linear-gradient(180deg,#fff 0%,#fff8f8 100%);
  border:1px solid #edd8da;
}
.home-work-ifmetall-redesign .ifmetall-mark-logo-header{width:58px}
.home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark strong{font-size:18px}
.home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark small{font-size:16px}
.home-work-ifmetall-redesign .home-ifmetall-title h2{
  font-size:40px;
  line-height:1.0;
  letter-spacing:-.045em;
}
.home-work-ifmetall-redesign .home-ifmetall-title small{
  font-size:14px;
  color:#888e99;
}
.home-work-ifmetall-redesign .home-work-source-link{
  padding:10px 14px;
  border-radius:999px;
  background:#fff5f5;
  border:1px solid #f1dbdd;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.home-work-ifmetall-redesign .home-work-source-link:hover{
  background:#fff0f0;
  box-shadow:0 8px 18px rgba(215,25,32,.08);
  text-decoration:none;
  transform:translateY(-1px);
}
.home-work-ifmetall-redesign .home-current-list,
.home-mobile-current-redesign .home-current-list{gap:12px}
.home-work-ifmetall-redesign .home-current-row,
.home-mobile-current-redesign .home-current-row{
  border-radius:22px;
  border:1px solid #eee5e5;
  background:linear-gradient(180deg,#ffffff 0%,#fffdfd 100%);
  box-shadow:0 4px 18px rgba(25,31,43,.035);
}
.home-work-ifmetall-redesign .home-current-row{
  min-height:126px;
  grid-template-columns:106px minmax(0,1fr) 68px!important;
}
.home-work-ifmetall-redesign .home-current-row:hover,
.home-mobile-current-redesign .home-current-row:hover{
  border-color:#ebd6d8;
  box-shadow:0 14px 28px rgba(25,31,43,.055);
  transform:translateY(-1px);
}
.home-work-ifmetall-redesign .home-ifmetall-media{
  min-height:126px!important;
  padding:14px!important;
}
.home-work-ifmetall-redesign .ifmetall-news-icon,
.home-mobile-current-redesign .ifmetall-news-icon{
  position:relative;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(215,25,32,.04);
}
.home-work-ifmetall-redesign .ifmetall-news-icon{width:64px;height:64px;border-radius:20px;flex-basis:64px}
.home-work-ifmetall-redesign .ifmetall-news-icon svg{width:32px;height:32px}
.home-work-ifmetall-redesign .ifmetall-news-icon.is-opinion,
.home-mobile-current-redesign .ifmetall-news-icon.is-opinion{background:#fff1f1;color:#cb1f2f}
.home-work-ifmetall-redesign .ifmetall-news-icon.is-calendar,
.home-mobile-current-redesign .ifmetall-news-icon.is-calendar{background:#fff5ee;color:#d26720}
.home-work-ifmetall-redesign .ifmetall-news-icon.is-agreement,
.home-mobile-current-redesign .ifmetall-news-icon.is-agreement{background:#f3f7ff;color:#315fc8}
.home-work-ifmetall-redesign .ifmetall-news-icon.is-people,
.home-mobile-current-redesign .ifmetall-news-icon.is-people{background:#eef9f3;color:#278f5c}
.home-work-ifmetall-redesign .ifmetall-news-icon.is-article,
.home-mobile-current-redesign .ifmetall-news-icon.is-article{background:#f5f6fa;color:#556174}
.home-work-ifmetall-redesign .home-current-copy{
  padding:18px 10px 18px 0;
}
.home-work-ifmetall-redesign .home-current-copy b{
  font-size:22px;
  line-height:1.16;
  white-space:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.home-work-ifmetall-redesign .home-current-copy small{
  margin-top:7px;
  font-size:11px;
}
.home-work-ifmetall-redesign .home-current-copy em{
  margin-top:7px;
  font-size:13px;
  line-height:1.45;
}
.home-work-ifmetall-redesign .home-current-row>i{
  width:34px;height:34px;font-size:20px;
  background:#fff4f4;border:1px solid #f3d9db;
}

@media(max-width:1180px) and (min-width:701px){
  .home-work-ifmetall-redesign .home-ifmetall-title h2{font-size:34px}
  .home-work-ifmetall-redesign .home-current-row{grid-template-columns:92px minmax(0,1fr) 58px!important;min-height:118px}
  .home-work-ifmetall-redesign .home-ifmetall-media{min-height:118px!important}
  .home-work-ifmetall-redesign .ifmetall-news-icon{width:58px;height:58px;border-radius:18px;flex-basis:58px}
  .home-work-ifmetall-redesign .ifmetall-news-icon svg{width:30px;height:30px}
  .home-work-ifmetall-redesign .home-current-copy b{font-size:19px}
}

@media(max-width:700px){
  .home-mobile-current-redesign{padding:12px;border-radius:18px;box-shadow:0 8px 20px rgba(25,31,43,.03)}
  .home-mobile-current-redesign .home-ifmetall-card-head{gap:8px 10px;margin-bottom:10px}
  .home-mobile-current-redesign .ifmetall-gavleborg-badge{padding-right:10px!important;gap:9px!important}
  .home-mobile-current-redesign .ifmetall-mark-shell{width:48px;height:48px;border-radius:15px}
  .home-mobile-current-redesign .ifmetall-mark-logo-header{width:34px}
  .home-mobile-current-redesign .ifmetall-gavleborg-wordmark strong{font-size:11px}
  .home-mobile-current-redesign .ifmetall-gavleborg-wordmark small{font-size:10px}
  .home-mobile-current-redesign .home-ifmetall-title h2{font-size:20px;line-height:1.02;letter-spacing:-.03em}
  .home-mobile-current-redesign .home-ifmetall-title small{font-size:9px;line-height:1.22}
  .home-mobile-current-redesign .home-work-source-link{font-size:10px;padding:6px 10px;border-radius:999px;background:#fff5f5;border:1px solid #f1dbdd}
  .home-mobile-current-redesign .home-current-list{gap:10px}
  .home-mobile-current-redesign .home-current-row{grid-template-columns:58px minmax(0,1fr) 30px!important;min-height:84px;border-radius:15px;box-shadow:0 4px 12px rgba(25,31,43,.03)}
  .home-mobile-current-redesign .home-ifmetall-media{min-height:84px!important;padding:10px 8px!important}
  .home-mobile-current-redesign .ifmetall-news-icon{width:38px;height:38px;border-radius:12px;flex-basis:38px}
  .home-mobile-current-redesign .ifmetall-news-icon svg{width:21px;height:21px}
  .home-mobile-current-redesign .home-current-copy{padding:10px 4px 10px 0}
  .home-mobile-current-redesign .home-current-copy b{font-size:13px;line-height:1.2;-webkit-line-clamp:2}
  .home-mobile-current-redesign .home-current-copy small{font-size:8px;margin-top:4px}
  .home-mobile-current-redesign .home-current-copy em{font-size:9px;margin-top:4px;line-height:1.3;-webkit-line-clamp:2}
  .home-mobile-current-redesign .home-current-row>i{width:24px;height:24px;font-size:15px;background:#fff4f4;border:1px solid #f3d9db}
}

body[data-theme='dark'] .home-work-ifmetall-redesign,
body[data-theme='dark'] .home-mobile-current-redesign{box-shadow:none}
body[data-theme='dark'] .home-work-ifmetall-redesign .home-work-source-link,
body[data-theme='dark'] .home-mobile-current-redesign .home-work-source-link{background:color-mix(in srgb,var(--red) 10%,var(--card));border-color:var(--line)}
body[data-theme='dark'] .home-work-ifmetall-redesign .home-current-row,
body[data-theme='dark'] .home-mobile-current-redesign .home-current-row{background:color-mix(in srgb,var(--card) 94%,#fff)}
body[data-theme='dark'] .home-work-ifmetall-redesign .ifmetall-news-icon.is-opinion,
body[data-theme='dark'] .home-mobile-current-redesign .ifmetall-news-icon.is-opinion{background:color-mix(in srgb,#cb1f2f 14%,var(--card));color:#ff9ca7}
body[data-theme='dark'] .home-work-ifmetall-redesign .ifmetall-news-icon.is-calendar,
body[data-theme='dark'] .home-mobile-current-redesign .ifmetall-news-icon.is-calendar{background:color-mix(in srgb,#d26720 14%,var(--card));color:#ffbf87}
body[data-theme='dark'] .home-work-ifmetall-redesign .ifmetall-news-icon.is-agreement,
body[data-theme='dark'] .home-mobile-current-redesign .ifmetall-news-icon.is-agreement{background:color-mix(in srgb,#315fc8 14%,var(--card));color:#a8c0ff}
body[data-theme='dark'] .home-work-ifmetall-redesign .ifmetall-news-icon.is-people,
body[data-theme='dark'] .home-mobile-current-redesign .ifmetall-news-icon.is-people{background:color-mix(in srgb,#278f5c 14%,var(--card));color:#97e0bc}
body[data-theme='dark'] .home-work-ifmetall-redesign .ifmetall-news-icon.is-article,
body[data-theme='dark'] .home-mobile-current-redesign .ifmetall-news-icon.is-article{background:color-mix(in srgb,#556174 16%,var(--card));color:#d0d8e7}

/* v1.19.22 RC70 — startup refresh + home polish */
.startup-screen{
  overflow:hidden;
  background:linear-gradient(180deg,#faf7f6 0%,#f8f4f3 100%);
}
.startup-screen::before,
.startup-screen::after{
  content:"";
  position:absolute;
  left:-12vw;
  right:-12vw;
  border-radius:50%;
  pointer-events:none;
}
.startup-screen::before{
  bottom:-18vh;
  height:38vh;
  background:radial-gradient(ellipse at center,rgba(224,104,108,.12) 0%,rgba(224,104,108,.09) 38%,rgba(224,104,108,0) 70%);
}
.startup-screen::after{
  bottom:4vh;
  height:28vh;
  background:radial-gradient(ellipse at center,rgba(240,198,198,.20) 0%,rgba(240,198,198,.12) 44%,rgba(240,198,198,0) 76%);
}
.startup-card{
  width:min(460px,calc(100vw - 36px));
  padding:22px 18px 34px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  gap:14px;
  position:relative;
  z-index:1;
}
.startup-card img{margin:0}
.startup-brand-stage{
  width:168px;
  height:168px;
  border-radius:36px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#fff 0%,#fdfafa 100%);
  box-shadow:0 22px 54px rgba(199,81,81,.10), inset 0 0 0 1px rgba(240,230,230,.95);
}
.startup-brand-stage img{
  width:120px;
  height:120px;
  object-fit:contain;
}
.startup-copy-block{display:grid;gap:4px}
.startup-card strong{
  font-size:clamp(30px,5.2vw,44px);
  line-height:1.02;
  letter-spacing:-.05em;
  color:#091224;
}
.startup-card span{
  font-size:clamp(16px,2.8vw,20px);
  color:#6e727c;
  line-height:1.18;
}
.startup-progress{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px}
.startup-progress i{
  width:14px;
  height:14px;
  border-radius:999px;
  background:#f0b2b2;
  box-shadow:0 1px 1px rgba(255,255,255,.45) inset;
  animation:startup-dot 1.2s ease-in-out infinite;
}
.startup-progress i:nth-child(1){background:#d4112f;animation-delay:0s}
.startup-progress i:nth-child(2){animation-delay:.18s}
.startup-progress i:nth-child(3){animation-delay:.36s}
@keyframes startup-dot{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-3px);opacity:1}}
.startup-status-line{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7f848f}
.startup-card small{font-size:15px;color:#71757f;line-height:1.3}
.startup-spinner{display:none!important}
body[data-theme="dark"] .startup-screen{background:linear-gradient(180deg,#16181d 0%,#121419 100%)}
body[data-theme="dark"] .startup-screen::before{background:radial-gradient(ellipse at center,rgba(224,104,108,.12) 0%,rgba(224,104,108,.08) 36%,rgba(224,104,108,0) 72%)}
body[data-theme="dark"] .startup-screen::after{background:radial-gradient(ellipse at center,rgba(240,198,198,.07) 0%,rgba(240,198,198,.04) 42%,rgba(240,198,198,0) 78%)}
body[data-theme="dark"] .startup-brand-stage{background:linear-gradient(180deg,#23262e 0%,#1a1d24 100%);box-shadow:0 22px 54px rgba(0,0,0,.32), inset 0 0 0 1px rgba(54,59,69,.9)}
body[data-theme="dark"] .startup-card strong{color:#f6f7f9}
body[data-theme="dark"] .startup-card span,
body[data-theme="dark"] .startup-card small,
body[data-theme="dark"] .startup-status-line{color:#c1c7d2}
@media(max-width:700px){
  .startup-card{padding:10px 18px 28px}
  .startup-brand-stage{width:138px;height:138px;border-radius:30px}
  .startup-brand-stage img{width:98px;height:98px}
  .startup-card strong{font-size:clamp(26px,9vw,38px)}
  .startup-card span{font-size:clamp(14px,4.8vw,18px)}
  .startup-progress i{width:12px;height:12px}
  .startup-card small{font-size:14px}
}

/* RC70 — more cohesive mobile home styling */
@media(max-width:700px){
  .home-mobile-hero{border-radius:20px;padding:22px 18px 22px;box-shadow:0 12px 26px rgba(160,17,29,.14)}
  .home-mobile-kpis .home-kpi,
  .home-mobile-card,
  .home-mobile-quick>.home-dashboard-section,
  .home-mobile-current-redesign,
  .home-mobile-focus{
    border-radius:18px!important;
    box-shadow:0 8px 18px rgba(25,31,43,.04)!important;
  }
  .home-mobile-card{padding:12px}
  .home-mobile-card-head{margin-bottom:10px}
  .home-mobile-card-head h2{font-size:17px;letter-spacing:-.02em}
  .home-mobile-focus .home-focus-news-mobile{grid-template-columns:86px minmax(0,1fr) 24px;border-radius:15px}
  .home-mobile-focus .home-focus-news-media,.home-mobile-focus .home-focus-news-media img,.home-mobile-focus .home-focus-news-media .home-news-fallback{min-height:104px}
  .home-mobile-focus .home-focus-news-copy h3{font-size:13px}
  .home-mobile-focus .home-focus-actions.mobile{margin-top:8px}
  .home-mobile-kpis .home-dashboard-kpis{gap:6px}
  .home-mobile-kpis .home-kpi{min-height:84px;padding:9px 6px 8px}
  .home-mobile-quick .home-dashboard-quick-grid{gap:7px}
  .home-mobile-quick .home-quick-card{border-radius:14px;min-height:66px}
}

/* RC70 — IF Metall card exactness and compact polish */
.home-work-ifmetall-redesign,
.home-mobile-current-redesign{
  background:linear-gradient(180deg,#fff 0%,#fffbfb 100%);
}
.home-work-ifmetall-redesign .home-ifmetall-card-head{align-items:center}
.home-work-ifmetall-redesign .ifmetall-gavleborg-badge,
.home-mobile-current-redesign .ifmetall-gavleborg-badge{
  background:transparent!important;
  border:0!important;
  padding:0!important;
}
.home-work-ifmetall-redesign .ifmetall-mark-shell,
.home-mobile-current-redesign .ifmetall-mark-shell{
  background:linear-gradient(180deg,#fff 0%,#fdfafa 100%);
}
.home-work-ifmetall-redesign .home-ifmetall-title h2{font-size:42px}
.home-work-ifmetall-redesign .home-ifmetall-title small{font-size:15px}
.home-work-ifmetall-redesign .home-work-source-link{font-weight:850;letter-spacing:-.01em}
.home-work-ifmetall-redesign .home-current-row{grid-template-columns:98px minmax(0,1fr) 58px!important;min-height:118px}
.home-work-ifmetall-redesign .home-ifmetall-media{min-height:118px!important}
.home-work-ifmetall-redesign .ifmetall-news-icon{width:58px;height:58px;border-radius:18px;flex-basis:58px}
.home-work-ifmetall-redesign .ifmetall-news-icon svg{width:28px;height:28px}
.home-work-ifmetall-redesign .home-current-copy{padding:16px 8px 16px 0}
.home-work-ifmetall-redesign .home-current-copy b{font-size:19px;line-height:1.18}
.home-work-ifmetall-redesign .home-current-copy em{font-size:12.5px}
.home-work-ifmetall-redesign .home-current-row>i{width:30px;height:30px;font-size:18px}
@media(max-width:700px){
  .home-mobile-current-redesign{padding:12px 12px 11px}
  .home-mobile-current-redesign .home-ifmetall-card-head{gap:7px 10px;margin-bottom:9px;grid-template-columns:auto minmax(0,1fr) auto!important}
  .home-mobile-current-redesign .ifmetall-mark-shell{width:44px;height:44px;border-radius:14px}
  .home-mobile-current-redesign .ifmetall-mark-logo-header{width:31px}
  .home-mobile-current-redesign .ifmetall-gavleborg-wordmark strong{font-size:10px}
  .home-mobile-current-redesign .ifmetall-gavleborg-wordmark small{font-size:9px;color:#555d69;font-weight:800}
  .home-mobile-current-redesign .home-ifmetall-title h2{font-size:17px;line-height:1.02;letter-spacing:-.035em}
  .home-mobile-current-redesign .home-ifmetall-title small{font-size:8.5px;line-height:1.18;color:#7a7f89}
  .home-mobile-current-redesign .home-work-source-link{padding:5px 9px;font-size:9px}
  .home-mobile-current-redesign .home-current-list{gap:9px}
  .home-mobile-current-redesign .home-current-row{grid-template-columns:54px minmax(0,1fr) 28px!important;min-height:80px;border-radius:14px}
  .home-mobile-current-redesign .home-ifmetall-media{min-height:80px!important;padding:9px 7px!important}
  .home-mobile-current-redesign .ifmetall-news-icon{width:34px;height:34px;border-radius:11px;flex-basis:34px}
  .home-mobile-current-redesign .ifmetall-news-icon svg{width:19px;height:19px}
  .home-mobile-current-redesign .home-current-copy{padding:9px 3px 9px 0}
  .home-mobile-current-redesign .home-current-copy b{font-size:12px;line-height:1.18}
  .home-mobile-current-redesign .home-current-copy small{font-size:7.5px;margin-top:3px}
  .home-mobile-current-redesign .home-current-copy em{font-size:8.5px;margin-top:3px;line-height:1.25}
  .home-mobile-current-redesign .home-current-row>i{width:22px;height:22px;font-size:14px}
}


/* v1.19.22 RC71 — compact desktop IF Metall Gävleborg tile; mobile preserved */
@media(min-width:701px){
  .home-work-ifmetall-redesign{
    padding:18px!important;
    border-radius:20px!important;
    box-shadow:0 8px 20px rgba(25,31,43,.03)!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-card-head{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:14px!important;
    margin-bottom:14px!important;
    align-items:center!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-badge{
    gap:10px!important;
    padding:0 14px 0 0!important;
    border-right:1px solid #ece3e3!important;
  }
  .home-work-ifmetall-redesign .ifmetall-mark-shell{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    flex-basis:58px!important;
    border-radius:18px!important;
    box-shadow:none!important;
  }
  .home-work-ifmetall-redesign .ifmetall-mark-logo-header{
    width:40px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark{
    gap:1px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark strong{
    font-size:14px!important;
    line-height:1.04!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark small{
    font-size:12px!important;
    line-height:1.04!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title{
    gap:3px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title h2{
    font-size:28px!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
    margin:0!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title small{
    font-size:11px!important;
    line-height:1.24!important;
    color:#7c818b!important;
  }
  .home-work-ifmetall-redesign .home-work-source-link{
    align-self:center!important;
    padding:7px 11px!important;
    font-size:10px!important;
    line-height:1!important;
    border-radius:999px!important;
    margin:0!important;
    white-space:nowrap!important;
  }
  .home-work-ifmetall-redesign .home-current-list{
    gap:8px!important;
  }
  .home-work-ifmetall-redesign .home-current-row{
    min-height:92px!important;
    grid-template-columns:72px minmax(0,1fr) 42px!important;
    border-radius:16px!important;
    box-shadow:0 3px 12px rgba(25,31,43,.025)!important;
  }
  .home-work-ifmetall-redesign .home-current-row:hover{
    transform:none!important;
    box-shadow:0 7px 16px rgba(25,31,43,.045)!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-media{
    min-height:92px!important;
    padding:10px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-news-icon{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
    border-radius:14px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-news-icon svg{
    width:22px!important;
    height:22px!important;
  }
  .home-work-ifmetall-redesign .home-current-copy{
    padding:11px 6px 10px 0!important;
    align-self:center!important;
  }
  .home-work-ifmetall-redesign .home-current-copy b{
    font-size:15px!important;
    line-height:1.18!important;
    display:-webkit-box!important;
    -webkit-line-clamp:1!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .home-work-ifmetall-redesign .home-current-copy small{
    margin-top:4px!important;
    font-size:8.5px!important;
    line-height:1.2!important;
  }
  .home-work-ifmetall-redesign .home-current-copy em{
    margin-top:4px!important;
    font-size:10px!important;
    line-height:1.3!important;
    -webkit-line-clamp:2!important;
  }
  .home-work-ifmetall-redesign .home-current-row>i{
    width:26px!important;
    height:26px!important;
    font-size:15px!important;
  }
}

/* keep the mobile RC70 layout untouched */
@media(max-width:700px){
  .home-mobile-current-redesign{contain:layout style;}
}


/* v1.19.22 RC72 — tighter desktop Gävleborg card to remove dead space beside it */
@media(min-width:701px){
  .home-work-ifmetall-redesign{
    padding:14px 15px!important;
    border-radius:18px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-card-head{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:10px!important;
    margin-bottom:9px!important;
    min-height:48px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-badge{
    gap:7px!important;
    padding-right:9px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-mark-shell{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    flex-basis:46px!important;
    border-radius:14px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-mark-logo-header{
    width:31px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark strong{
    font-size:11px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark small{
    font-size:10px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title{
    gap:1px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title h2{
    font-size:20px!important;
    line-height:1.03!important;
    letter-spacing:-.025em!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title small{
    font-size:8.5px!important;
    line-height:1.15!important;
  }
  .home-work-ifmetall-redesign .home-work-source-link{
    padding:5px 8px!important;
    font-size:8.5px!important;
  }
  .home-work-ifmetall-redesign .home-current-list{
    gap:6px!important;
  }
  .home-work-ifmetall-redesign .home-current-row{
    min-height:66px!important;
    grid-template-columns:52px minmax(0,1fr) 30px!important;
    border-radius:13px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-media{
    min-height:66px!important;
    padding:7px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-news-icon{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
    border-radius:11px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-news-icon svg{
    width:18px!important;
    height:18px!important;
  }
  .home-work-ifmetall-redesign .home-current-copy{
    padding:7px 4px 7px 0!important;
  }
  .home-work-ifmetall-redesign .home-current-copy b{
    font-size:12px!important;
    line-height:1.12!important;
    -webkit-line-clamp:1!important;
  }
  .home-work-ifmetall-redesign .home-current-copy small{
    margin-top:2px!important;
    font-size:7px!important;
  }
  .home-work-ifmetall-redesign .home-current-copy em{
    margin-top:2px!important;
    font-size:8px!important;
    line-height:1.2!important;
    -webkit-line-clamp:1!important;
  }
  .home-work-ifmetall-redesign .home-current-row>i{
    width:21px!important;
    height:21px!important;
    font-size:12px!important;
  }
}


/* v1.19.22 RC73 — restore readable desktop typography without making the tile oversized */
@media(min-width:701px){
  .home-work-ifmetall-redesign{
    padding:16px 17px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-card-head{
    gap:11px!important;
    margin-bottom:10px!important;
    min-height:52px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-mark-shell{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    flex-basis:50px!important;
    border-radius:15px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-mark-logo-header{
    width:34px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark strong{
    font-size:12px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark small{
    font-size:11px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title h2{
    font-size:24px!important;
    line-height:1.04!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title small{
    font-size:10px!important;
    line-height:1.2!important;
  }
  .home-work-ifmetall-redesign .home-work-source-link{
    padding:6px 9px!important;
    font-size:9.5px!important;
  }
  .home-work-ifmetall-redesign .home-current-list{
    gap:7px!important;
  }
  .home-work-ifmetall-redesign .home-current-row{
    min-height:74px!important;
    grid-template-columns:58px minmax(0,1fr) 32px!important;
    border-radius:14px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-media{
    min-height:74px!important;
    padding:8px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-news-icon{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
    border-radius:12px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-news-icon svg{
    width:20px!important;
    height:20px!important;
  }
  .home-work-ifmetall-redesign .home-current-copy{
    padding:8px 5px 8px 0!important;
  }
  .home-work-ifmetall-redesign .home-current-copy b{
    font-size:14px!important;
    line-height:1.18!important;
    -webkit-line-clamp:1!important;
  }
  .home-work-ifmetall-redesign .home-current-copy small{
    margin-top:3px!important;
    font-size:8.5px!important;
    line-height:1.2!important;
  }
  .home-work-ifmetall-redesign .home-current-copy em{
    margin-top:3px!important;
    font-size:10px!important;
    line-height:1.25!important;
    -webkit-line-clamp:1!important;
  }
  .home-work-ifmetall-redesign .home-current-row>i{
    width:24px!important;
    height:24px!important;
    font-size:14px!important;
  }
}


/* v1.19.22 RC74 — keep RC72 desktop section title size, enlarge only news content */
@media(min-width:701px){
  /* Header/title back to the compact RC72 proportions */
  .home-work-ifmetall-redesign{
    padding:14px 15px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-card-head{
    gap:10px!important;
    margin-bottom:9px!important;
    min-height:48px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-badge{
    gap:7px!important;
    padding-right:9px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-mark-shell{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    flex-basis:46px!important;
    border-radius:14px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-mark-logo-header{
    width:31px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark strong{
    font-size:11px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark small{
    font-size:10px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title h2{
    font-size:20px!important;
    line-height:1.03!important;
    letter-spacing:-.025em!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-title small{
    font-size:8.5px!important;
    line-height:1.15!important;
  }
  .home-work-ifmetall-redesign .home-work-source-link{
    padding:5px 8px!important;
    font-size:8.5px!important;
  }

  /* News rows: larger/readable typography without growing the tile too much */
  .home-work-ifmetall-redesign .home-current-list{
    gap:7px!important;
  }
  .home-work-ifmetall-redesign .home-current-row{
    min-height:82px!important;
    grid-template-columns:62px minmax(0,1fr) 34px!important;
    border-radius:14px!important;
  }
  .home-work-ifmetall-redesign .home-ifmetall-media{
    min-height:82px!important;
    padding:8px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-news-icon{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
    border-radius:12px!important;
  }
  .home-work-ifmetall-redesign .ifmetall-news-icon svg{
    width:21px!important;
    height:21px!important;
  }
  .home-work-ifmetall-redesign .home-current-copy{
    padding:9px 5px 9px 0!important;
  }
  .home-work-ifmetall-redesign .home-current-copy b{
    font-size:14.5px!important;
    line-height:1.2!important;
    -webkit-line-clamp:1!important;
  }
  .home-work-ifmetall-redesign .home-current-copy small{
    margin-top:4px!important;
    font-size:9px!important;
    line-height:1.22!important;
  }
  .home-work-ifmetall-redesign .home-current-copy em{
    margin-top:4px!important;
    font-size:10.5px!important;
    line-height:1.32!important;
    -webkit-line-clamp:2!important;
  }
  .home-work-ifmetall-redesign .home-current-row>i{
    width:24px!important;
    height:24px!important;
    font-size:14px!important;
  }
}


/* v1.19.22 RC75 — PPTX viewer: vertical scrolling through the presentation */
.pptx-portal-stage{
  align-items:flex-start!important;
  justify-content:center!important;
  overflow-y:auto!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y pan-x;
  scroll-behavior:smooth;
}
.pptx-portal-host{
  width:100%!important;
  height:auto!important;
  min-height:100%!important;
  display:block!important;
  overflow:visible!important;
}
.pptx-portal-host>div{
  max-width:100%!important;
  max-height:none!important;
}
.pptx-portal-host [data-slide-index],
.pptx-portal-host .pptx-slide,
.pptx-portal-host .pptx-viewer-slide{
  margin-inline:auto;
}
@media(max-width:700px){
  .pptx-portal-stage{
    padding:8px 6px 16px!important;
  }
  .pptx-portal-host{
    min-height:280px!important;
  }
}


/* v1.19.22 RC76 — Administration UX pass 1
   Compact density, reduced duplication, clearer scanning and sticky form actions. */
@media(min-width:1001px){
  .admin-shell{
    grid-template-columns:210px minmax(0,1fr)!important;
    gap:16px!important;
  }
  .admin-side{
    top:102px!important;
    padding:9px!important;
    border-radius:16px!important;
  }
  .admin-side-top{
    padding-bottom:6px!important;
    margin-bottom:2px!important;
  }
  .admin-nav-group{
    padding-top:4px!important;
  }
  .admin-nav-group+.admin-nav-group{
    margin-top:2px!important;
  }
  .admin-side .group{
    padding:7px 8px 4px!important;
    font-size:9px!important;
    letter-spacing:.1em!important;
  }
  .admin-side button{
    border-radius:10px!important;
    padding:8px 9px!important;
    min-height:36px!important;
    font-size:12px!important;
    gap:7px!important;
  }
  .admin-nav-icon{
    width:16px!important;
    font-size:12px!important;
  }
  .admin-side .count{
    padding:2px 6px!important;
    font-size:9px!important;
    min-width:20px;
    text-align:center;
  }

  .admin-main{min-width:0}
  .admin-overview{gap:14px!important}
  .admin-stack{gap:14px!important}
  .admin-toolbar{margin-bottom:10px!important}
  .admin-toolbar h3{font-size:19px!important}
  .admin-toolbar p{font-size:11px!important;line-height:1.35!important}

  .admin-dashboard-head{gap:14px!important}
  .admin-dashboard-head h2{font-size:24px!important;margin:4px 0 2px!important}
  .admin-dashboard-head p{font-size:12px!important}
  .admin-search{
    min-width:260px!important;
    border-radius:11px!important;
  }
  .admin-search input{padding:9px 0!important;font-size:12px!important}

  .admin-primary-columns{gap:10px!important}
  .admin-primary-column{gap:10px!important}
  .admin-area-card{
    border-radius:15px!important;
    padding:13px!important;
    box-shadow:0 3px 12px rgba(25,31,43,.025)!important;
  }
  .admin-area-head{
    gap:9px!important;
    margin-bottom:7px!important;
  }
  .admin-area-icon{
    width:34px!important;height:34px!important;
    border-radius:10px!important;font-size:15px!important;
  }
  .admin-area-head h3{font-size:15px!important;margin:0 0 2px!important}
  .admin-area-head p{font-size:10px!important;line-height:1.35!important}
  .admin-area-links{gap:3px!important}
  .admin-area-links button{
    border-radius:9px!important;
    padding:7px 8px!important;
  }
  .admin-area-links strong{font-size:11px!important}
  .admin-area-links small{font-size:9px!important;line-height:1.25!important}
  .admin-area-arrow{font-size:17px!important}

  .admin-work-queue{border-radius:15px!important;padding:14px!important}
  .admin-work-queue-head{margin-bottom:10px!important}
  .admin-work-queue-head h3{font-size:17px!important;margin:2px 0!important}
  .admin-work-queue-head p{font-size:10px!important}
  .admin-work-list{gap:5px!important}
  .admin-work-list button{padding:8px 9px!important;border-radius:10px!important}
  .admin-work-copy strong{font-size:11px!important}
  .admin-work-copy small{font-size:9px!important}
  .admin-work-icon{width:30px!important;height:30px!important;font-size:14px!important}
  .admin-work-count{font-size:10px!important}
  .admin-work-total{width:38px!important;height:38px!important;font-size:16px!important}

  .admin-quick-panel{padding:14px!important}
  .admin-section-title{margin-bottom:9px!important}
  .admin-section-title h3{font-size:16px!important}
  .admin-section-title p{font-size:10px!important}
  .admin-actions{gap:8px!important}
  .admin-actions button{
    border-radius:12px!important;
    padding:10px!important;
    min-height:76px!important;
  }
  .admin-actions .plus{
    width:27px!important;height:27px!important;
    border-radius:8px!important;
    margin-bottom:6px!important;
  }
  .admin-actions button strong{font-size:11px!important}
  .admin-actions button p{font-size:9px!important;margin:3px 0 0!important}

  .admin-kpis{gap:8px!important}
  .admin-kpis-secondary{margin-top:0!important}
  .kpi{
    border-radius:14px!important;
    padding:12px!important;
  }
  .kpi small{font-size:10px!important;margin-bottom:5px!important}
  .kpi strong{font-size:22px!important}
  .kpi span{font-size:9px!important;margin-top:4px!important}

  .admin-list{border-radius:15px!important}
  .admin-list .head,.admin-item{
    padding:9px 12px!important;
    gap:9px!important;
  }
  .admin-list .head{font-size:9px!important}
  .admin-item{min-height:54px!important}
  .admin-item .title-cell strong{font-size:12px!important}
  .admin-item .title-cell small{font-size:9px!important;margin-top:2px!important}
  .status-badge{padding:4px 7px!important;font-size:9px!important}
  .row-menu,.admin-user-actions{gap:4px!important}

  .admin-form-wrap{max-width:920px!important}
  .admin-form-head{margin-bottom:11px!important}
  .admin-form-head h3{font-size:20px!important}
  .admin-form-head p{font-size:11px!important;line-height:1.4!important}
  .admin-form-wrap .formcard{padding:18px!important}
  .admin-form-wrap .upload{padding:15px!important}
  .admin-note{padding:10px 11px!important;border-radius:11px!important;font-size:11px!important}
  .formcard{border-radius:15px}
}

/* Replace the old large "Du arbetar i..." block with a compact breadcrumb. */
.admin-context-compact{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:32px!important;
  margin:0 0 10px!important;
  padding:0 2px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--muted)!important;
  font-size:11px!important;
}
.admin-context-compact button{
  border:0;
  background:transparent;
  padding:0;
  color:var(--red);
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.admin-context-compact strong{color:var(--text);font-weight:850}
.admin-context-compact .admin-unsaved-hint{
  margin-left:4px;
  padding:3px 6px;
  border-radius:999px;
  background:var(--surface-soft);
  border:1px solid var(--line);
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* Long edit forms keep the primary actions available without scrolling back to the end. */
.admin-sticky-actions{
  position:sticky;
  bottom:10px;
  z-index:12;
  margin:16px -8px -6px!important;
  padding:10px 8px 8px!important;
  background:color-mix(in srgb,var(--card) 94%,transparent);
  border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 -10px 18px rgba(25,31,43,.025);
}

/* Compact repeated admin cards and explanatory blocks. */
.admin-section-hero{padding:14px!important;border-radius:15px!important}
.admin-section-hero h2{font-size:22px!important}
.admin-section-hero p{font-size:11px!important;line-height:1.45!important}
.user-form-section{padding:14px!important;border-radius:14px!important}
.user-form-section-head{margin-bottom:10px!important}
.user-form-section-head strong{font-size:13px!important}
.user-form-section-head small{font-size:10px!important}
.invite-flow-note{padding:12px!important;border-radius:12px!important;font-size:11px!important}
.security.user-security-note{padding:12px!important}
.role-admin-row,.workplace-admin-row{padding-block:10px!important}

/* Mobile/tablet: keep controls readable but remove oversized spacing. */
@media(max-width:1000px){
  .admin-context-compact{margin:0 0 8px!important;padding:0 1px!important}
  .admin-side{border-radius:14px!important;padding:7px!important}
  .admin-side button{padding:8px 10px!important;border-radius:10px!important}
  .admin-overview{gap:12px!important}
  .admin-area-card{padding:13px!important;border-radius:15px!important}
  .admin-form-wrap .formcard{padding:15px!important}
  .admin-sticky-actions{
    bottom:68px;
    margin:14px -5px -4px!important;
    padding:9px 5px!important;
  }
}
@media(max-width:560px){
  .admin-area-head p,.admin-area-links small{display:none}
  .admin-area-links button{min-height:42px}
  .admin-kpis-secondary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-form-wrap .formcard{padding:13px!important}
  .user-form-section{padding:12px!important}
}

/* v1.19.22 RC77 — Administration UX pass 2: search/filter, progressive disclosure, safer actions */
.admin-list-tools{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 10px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--card);
}
.admin-inline-search{
  flex:1 1 260px;
  min-width:220px;
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:center;
  gap:5px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:0 9px;
  background:var(--surface-soft);
}
.admin-inline-search>span{color:var(--muted);font-size:16px}
.admin-inline-search input{
  width:100%;
  min-height:36px;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:6px 0!important;
  font-size:12px!important;
}
.admin-filter-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.admin-filter-chips button{
  border:1px solid var(--line);
  background:var(--surface-soft);
  color:var(--text);
  border-radius:999px;
  padding:6px 9px;
  font-size:10px;
  font-weight:800;
}
.admin-filter-chips button.active{
  background:var(--dark);
  border-color:var(--dark);
  color:#fff;
}
.admin-result-count{margin-left:auto;color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap}

.admin-user-list .admin-item{grid-template-columns:minmax(220px,1.45fr) minmax(100px,.55fr) minmax(190px,1fr) auto!important}
.admin-role-level{white-space:nowrap}
.user-role-summary{color:var(--muted)!important;line-height:1.25!important}
.admin-user-actions-v2{justify-content:flex-end;align-items:center;flex-wrap:nowrap!important}

.admin-action-menu{position:relative;display:inline-block}
.admin-action-menu>summary{
  list-style:none;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--card);
  color:var(--text);
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  user-select:none;
}
.admin-action-menu>summary::-webkit-details-marker{display:none}
.admin-action-menu[open]>summary{background:var(--surface-soft);border-color:color-mix(in srgb,var(--red) 25%,var(--line))}
.admin-action-popover{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  z-index:40;
  min-width:210px;
  display:grid;
  gap:2px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--card);
  box-shadow:0 16px 34px rgba(17,24,39,.16);
}
.admin-action-popover button{
  width:100%;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--text);
  padding:8px 9px;
  text-align:left;
  font:inherit;
  font-size:11px;
  cursor:pointer;
}
.admin-action-popover button:hover{background:var(--surface-soft)}
.admin-action-popover .danger-text{color:#b4232f}
.admin-action-popover button:disabled{opacity:.45;cursor:not-allowed}

.workplace-admin-summary{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:11px;
  padding:0 2px;
}
.workplace-admin-summary strong{color:var(--text)}
.workplace-list-tools{margin-top:2px}
.workplace-row-actions{align-items:center!important}

.admin-form-disclosure,
.admin-help-disclosure{
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface-soft);
  overflow:visible;
}
.admin-form-disclosure>summary,
.admin-help-disclosure>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  padding:10px 12px;
  cursor:pointer;
}
.admin-form-disclosure>summary::-webkit-details-marker,
.admin-help-disclosure>summary::-webkit-details-marker{display:none}
.admin-form-disclosure>summary>span:first-child,
.admin-help-disclosure>summary>span:first-child{display:grid;gap:2px}
.admin-form-disclosure>summary strong,
.admin-help-disclosure>summary strong{font-size:12px;color:var(--text)}
.admin-form-disclosure>summary small,
.admin-help-disclosure>summary small{font-size:9px;color:var(--muted);font-weight:650}
.admin-form-disclosure[open] .details-chevron,
.admin-help-disclosure[open] .details-chevron{transform:rotate(180deg)}
.admin-form-disclosure-body,
.admin-help-disclosure-body{
  padding:0 12px 12px;
  display:grid;
  gap:12px;
}
.admin-form-disclosure-body .news-cover-grid{margin-top:0}

.registration-invites-admin.admin-help-disclosure{margin:0 0 10px;background:var(--card)}
.registration-invites-admin .registration-invite-list{margin-top:0}
.registration-invite-row{padding:8px 0!important}
.registration-invite-row-actions{gap:6px!important}

.backup-danger-zone{
  border-color:color-mix(in srgb,#b4232f 30%,var(--line))!important;
  background:linear-gradient(180deg,color-mix(in srgb,#b4232f 4%,var(--card)),var(--card))!important;
}
.backup-danger-zone .eyebrow{color:#b4232f!important}
.backup-help.admin-help-disclosure{padding:0!important;overflow:hidden}
.backup-help.admin-help-disclosure>summary{padding:13px 15px}
.backup-help.admin-help-disclosure .admin-help-disclosure-body{padding:0 15px 15px}

/* Statistics: compact KPI strip, more room for the useful rankings/charts. */
.analytics-kpis{gap:7px!important}
.analytics-kpi{padding:11px 12px!important;border-radius:13px!important}
.analytics-kpi small{font-size:9px!important;margin-bottom:4px!important}
.analytics-kpi strong{font-size:22px!important}
.analytics-kpi span{font-size:9px!important;line-height:1.25!important;margin-top:4px!important}
.analytics-panel{padding:14px!important;border-radius:14px!important}
.analytics-panel-head{margin-bottom:9px!important}
.analytics-panel-head h3{font-size:15px!important}
.analytics-panel-head p{font-size:9px!important}
.analytics-note.admin-help-disclosure{padding:0!important}

/* Calendar / push / privacy: reduce oversized instructional surfaces while keeping controls readable. */
.calendar-admin-shell .formcard,
.push-admin-step,
.privacy-admin .formcard,
.privacy-admin .panel{
  border-radius:14px!important;
}
.push-admin-step{padding:14px!important}
.push-admin-step-head{margin-bottom:10px!important}
.push-admin-step-head>span{width:30px!important;height:30px!important;font-size:12px!important}
.push-admin-step-head strong{font-size:13px!important}
.push-admin-step-head small{font-size:9px!important}
.push-send-summary{gap:7px!important}
.push-send-summary>div{padding:9px!important;border-radius:10px!important}
.push-send-summary span{font-size:8px!important}
.push-send-summary strong{font-size:11px!important}

/* Hide low-value explanatory prose on dense desktop rows; status remains visible. */
@media(min-width:1001px){
  .admin-user-list .approval-help{max-width:260px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .workplace-admin-list{padding:0!important;overflow:visible!important}
  .workplace-admin-row{padding:11px 12px!important}
  .workplace-admin-main{gap:10px!important}
  .workplace-title-line strong{font-size:13px!important}
  .workplace-admin-main p{font-size:10px!important;margin-top:3px!important}
  .workplace-contacts-details summary{padding:7px 0!important;font-size:10px!important}
}

@media(max-width:1000px){
  .admin-user-list .admin-item{grid-template-columns:minmax(0,1fr)!important;gap:7px!important}
  .admin-user-list .head{display:none!important}
  .admin-user-actions-v2{justify-content:flex-start!important}
  .admin-action-popover{left:0;right:auto}
  .admin-list-tools{align-items:stretch}
  .admin-inline-search{flex-basis:100%}
  .admin-result-count{margin-left:0}
}
@media(max-width:600px){
  .admin-filter-chips{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .admin-filter-chips button{white-space:nowrap}
  .admin-action-popover{position:fixed;left:16px!important;right:16px!important;top:auto!important;bottom:86px;min-width:0}
  .workplace-admin-summary{font-size:10px}
}

/* v1.19.22 RC78 — shared searchable role multiselect */
.portal-role-picker-shell{margin-top:9px}
.portal-role-picker{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--card);
  overflow:hidden;
}
.portal-role-picker-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,280px);
  gap:12px;
  align-items:center;
  padding:12px;
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--surface-soft) 72%,var(--card));
}
.portal-role-picker-head>div{min-width:0}
.portal-role-picker-head strong{display:block;font-size:13px;line-height:1.2}
.portal-role-picker-head small{display:block;margin-top:2px;color:var(--muted);font-size:9px;line-height:1.3}
.portal-role-search{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  min-height:36px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--card);
}
.portal-role-search>span{color:var(--muted);font-size:15px}
.portal-role-search input{
  width:100%;
  min-width:0;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  padding:7px 0!important;
  background:transparent!important;
  color:var(--text)!important;
  font-size:11px!important;
}
.portal-role-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-height:38px;
  padding:8px 12px;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.portal-role-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  min-height:26px;
  padding:4px 7px 4px 9px;
  border:1px solid color-mix(in srgb,var(--red) 20%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--red) 6%,var(--card));
  color:var(--text);
  font:inherit;
  font-size:9.5px;
  font-weight:800;
  cursor:pointer;
}
.portal-role-chip:hover{background:color-mix(in srgb,var(--red) 10%,var(--card))}
.portal-role-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-role-chip b{color:var(--red);font-size:14px;line-height:1}
.portal-role-empty{color:var(--muted);font-size:10px}
.portal-role-groups{padding:8px;display:grid;gap:6px}
.portal-role-group{
  border:1px solid var(--line);
  border-radius:10px;
  background:color-mix(in srgb,var(--surface-soft) 46%,var(--card));
  overflow:hidden;
}
.portal-role-group>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:38px;
  padding:8px 10px;
  cursor:pointer;
  font-size:11px;
  font-weight:850;
}
.portal-role-group>summary::-webkit-details-marker{display:none}
.portal-role-group>summary:after{content:'⌄';color:var(--muted);font-size:14px;margin-left:auto;transition:transform .15s ease}
.portal-role-group[open]>summary:after{transform:rotate(180deg)}
.portal-role-group>summary small{order:2;color:var(--muted);font-size:8.5px;font-weight:750;white-space:nowrap}
.portal-role-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  padding:0 8px 8px;
}
.portal-role-option{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:6px 8px;
  border:1px solid transparent;
  border-radius:8px;
  background:var(--card);
  cursor:pointer;
  font-size:10px;
  font-weight:750;
}
.portal-role-option:hover{border-color:color-mix(in srgb,var(--red) 20%,var(--line))}
.portal-role-option:has(input:checked){
  border-color:color-mix(in srgb,var(--red) 36%,var(--line));
  background:color-mix(in srgb,var(--red) 5%,var(--card));
}
.portal-role-option input{width:15px!important;height:15px!important;margin:0!important;accent-color:var(--red)}
.portal-role-option span{min-width:0;line-height:1.2}
.portal-role-option.is-disabled{opacity:.55;cursor:not-allowed}
.portal-role-option[hidden],.portal-role-group[hidden]{display:none!important}
.push-role-target-panel .portal-role-picker{margin-top:2px}
.focus-admin-audience-note .portal-role-picker-shell{margin-top:8px}
.calendar-publish-part .portal-role-picker-shell{margin-top:8px}
.user-form-section>.portal-role-picker,.user-edit-section>.portal-role-picker{margin-top:9px}

body[data-theme='dark'] .portal-role-picker,
body[data-theme='dark'] .portal-role-search,
body[data-theme='dark'] .portal-role-option{background:var(--card);border-color:var(--line)}
body[data-theme='dark'] .portal-role-picker-head,
body[data-theme='dark'] .portal-role-group{background:var(--surface-soft);border-color:var(--line)}
body[data-theme='dark'] .portal-role-option:has(input:checked){background:color-mix(in srgb,var(--red) 12%,var(--card))}

@media(max-width:700px){
  .portal-role-picker-head{grid-template-columns:1fr;gap:8px;padding:10px}
  .portal-role-search{min-height:38px}
  .portal-role-chips{padding:7px 10px}
  .portal-role-groups{padding:7px}
  .portal-role-options{grid-template-columns:1fr;padding:0 7px 7px}
  .portal-role-option{min-height:38px;font-size:11px}
  .portal-role-group>summary{min-height:40px}
}


/* v1.19.22 RC79 — news/focus fallback image selector: keep radio outside the thumbnail */
.news-cover-choice{
  grid-template-columns:76px minmax(0,1fr) 22px!important;
}
.news-cover-choice input[type='radio']{
  position:static!important;
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end!important;
  align-self:center!important;
  width:16px!important;
  height:16px!important;
  margin:0!important;
  accent-color:var(--red);
}
.news-cover-choice>.news-cover-thumb,
.news-cover-choice>.news-cover-auto-icon{
  grid-column:1!important;
  grid-row:1!important;
}
.news-cover-choice>span:last-child{
  grid-column:2!important;
  grid-row:1!important;
  padding-right:0!important;
}
@media(max-width:700px){
  .news-cover-choice{
    grid-template-columns:82px minmax(0,1fr) 22px!important;
  }
}

/* v1.19.22 RC80 — full visual regression + theme safety pass
   Final semantic layer placed last so later redesign rules cannot make themes unreadable. */

/* --- Cross-theme structural surfaces --- */
body[data-theme] :is(
  .home-work-card,
  .home-mobile-card,
  .home-kpi,
  .home-dashboard-section,
  .home-dashboard-list-panel,
  .home-dashboard-news-card,
  .home-dashboard-doc-row>button,
  .home-work-ifmetall-redesign,
  .home-mobile-current-redesign,
  .home-current-row,
  .portal-role-picker,
  .portal-role-search,
  .portal-role-option,
  .admin-list-tools,
  .admin-action-popover,
  .admin-form-disclosure,
  .admin-help-disclosure
){
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
}

/* Gävleborg was redesigned after the older dark-theme rules. Rebind it to semantic tokens. */
body[data-theme] .home-work-ifmetall-redesign,
body[data-theme] .home-mobile-current-redesign{
  background:color-mix(in srgb,var(--surface) 97%,var(--accent) 3%)!important;
}
body[data-theme] .home-work-ifmetall-redesign .home-current-row,
body[data-theme] .home-mobile-current-redesign .home-current-row{
  background:var(--surface)!important;
  border-color:var(--border)!important;
}
body[data-theme] .home-work-ifmetall-redesign .ifmetall-mark-shell,
body[data-theme] .home-mobile-current-redesign .ifmetall-mark-shell{
  background:var(--surface-raised)!important;
  border-color:var(--border)!important;
}
body[data-theme] .home-work-ifmetall-redesign .home-ifmetall-title h2,
body[data-theme] .home-mobile-current-redesign .home-ifmetall-title h2,
body[data-theme] .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark strong,
body[data-theme] .home-mobile-current-redesign .ifmetall-gavleborg-wordmark strong{
  color:var(--text-primary)!important;
}
body[data-theme] .home-work-ifmetall-redesign .home-ifmetall-title small,
body[data-theme] .home-mobile-current-redesign .home-ifmetall-title small,
body[data-theme] .home-work-ifmetall-redesign .ifmetall-gavleborg-wordmark small,
body[data-theme] .home-mobile-current-redesign .ifmetall-gavleborg-wordmark small,
body[data-theme] .home-work-ifmetall-redesign .home-current-copy em,
body[data-theme] .home-mobile-current-redesign .home-current-copy em{
  color:var(--text-muted)!important;
}
body[data-theme] .home-work-ifmetall-redesign .home-current-copy small,
body[data-theme] .home-mobile-current-redesign .home-current-copy small{
  color:var(--accent)!important;
}
body[data-theme] .home-work-ifmetall-redesign .home-work-source-link,
body[data-theme] .home-mobile-current-redesign .home-work-source-link{
  color:var(--accent)!important;
  background:var(--accent-soft)!important;
  border-color:color-mix(in srgb,var(--accent) 24%,var(--border))!important;
}
body[data-theme] .home-work-ifmetall-redesign .home-current-row>i,
body[data-theme] .home-mobile-current-redesign .home-current-row>i{
  color:var(--accent)!important;
  background:var(--accent-soft)!important;
  border-color:color-mix(in srgb,var(--accent) 22%,var(--border))!important;
}

/* Shortcuts used fixed white/pastel backgrounds that became glaring in dark mode. */
body[data-theme] .home-work-shortcut{
  background:var(--surface-soft)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
}
body[data-theme] .home-work-shortcut>span{
  background:var(--surface-raised)!important;
  border:1px solid var(--border)!important;
}
body[data-theme] .home-work-shortcut.red{background:color-mix(in srgb,var(--accent) 5%,var(--surface))!important}
body[data-theme] .home-work-shortcut.blue{background:color-mix(in srgb,var(--info) 5%,var(--surface))!important}
body[data-theme] .home-work-shortcut.green{background:color-mix(in srgb,var(--success) 5%,var(--surface))!important}
body[data-theme] .home-work-shortcut.purple{background:color-mix(in srgb,#7c3aed 5%,var(--surface))!important}
body[data-theme] .home-work-shortcut.slate{background:var(--surface-soft)!important}

/* Header controls: avoid white-only backgrounds in colored/dark themes. */
body[data-theme] .header-message-alert{
  background:color-mix(in srgb,var(--accent) 6%,var(--surface))!important;
  color:var(--text-primary)!important;
  border-color:color-mix(in srgb,var(--accent) 24%,var(--border))!important;
}
body[data-theme] .brand-divider{
  background:linear-gradient(180deg,transparent,var(--border-strong),transparent)!important;
}

/* Profile theme safety. */
body[data-theme] .profile-role-chip{
  background:var(--accent-soft)!important;
  color:var(--accent-soft-text)!important;
  border-color:color-mix(in srgb,var(--accent) 26%,var(--border))!important;
}
body[data-theme] .profile-notification-toggle input:checked{background:var(--success)!important}

/* Calendar active controls now follow the selected-state tokens in every theme. */
body[data-theme] .calendar-filter-chip.active,
body[data-theme] .calendar-modern-view-switcher button.active,
body[data-theme] .calendar-view-switcher button.active{
  background:var(--selected-bg)!important;
  color:var(--selected-text)!important;
  border-color:var(--selected-bg)!important;
}

/* Admin destructive actions must remain legible in dark/colored themes. */
body[data-theme] .admin-action-popover .danger-text{color:var(--danger)!important}
body[data-theme] .backup-danger-zone{
  border-color:color-mix(in srgb,var(--danger) 38%,var(--border))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--danger) 6%,var(--surface)),var(--surface))!important;
}
body[data-theme] .backup-danger-zone .eyebrow{color:var(--danger)!important}

/* Shared role picker: explicit semantic text/background in all themes. */
body[data-theme] .portal-role-picker-head,
body[data-theme] .portal-role-group{
  background:var(--surface-soft)!important;
  border-color:var(--border)!important;
}
body[data-theme] .portal-role-option:has(input:checked){
  background:color-mix(in srgb,var(--accent) 8%,var(--surface))!important;
  border-color:color-mix(in srgb,var(--accent) 38%,var(--border))!important;
}
body[data-theme] .portal-role-chip{
  color:var(--text-primary)!important;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface))!important;
  border-color:color-mix(in srgb,var(--accent) 24%,var(--border))!important;
}
body[data-theme] .portal-role-chip b{color:var(--accent)!important}

/* Image selectors: robust grid placement and theme-safe selection state. */
.news-cover-choice{
  min-width:0!important;
  overflow:visible!important;
}
.news-cover-choice>*{min-width:0}
body[data-theme] .news-cover-choice{
  background:var(--surface)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
}
body[data-theme] .news-cover-choice:has(input:checked){
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)!important;
}

/* --- Readability floor for dense admin UI --- */
@media(min-width:701px){
  .admin-side .group,
  .admin-side .count,
  .admin-area-links small,
  .admin-work-copy small,
  .admin-actions button p,
  .kpi span,
  .admin-list .head,
  .admin-item .title-cell small,
  .status-badge,
  .admin-result-count,
  .admin-form-disclosure>summary small,
  .admin-help-disclosure>summary small,
  .analytics-kpi small,
  .analytics-kpi span,
  .analytics-panel-head p,
  .push-admin-step-head small,
  .push-send-summary span{
    font-size:10px!important;
  }
  .admin-context-compact .admin-unsaved-hint{font-size:9px!important}
  .portal-role-picker-head small{font-size:10px!important}
  .portal-role-chip{font-size:10.5px!important}
  .portal-role-group>summary small{font-size:9.5px!important}
}

/* --- Calendar readability without changing the underlying layout model --- */
.calendar-side-date b{font-size:9px!important}
.calendar-side-date small{font-size:9px!important}
.calendar-side-copy>small,
.calendar-side-copy>span{font-size:10px!important}
.calendar-agenda-dayhead span{font-size:10px!important}
.calendar-agenda-main>small{font-size:10px!important}
.calendar-source-badge,.calendar-tag{font-size:9px!important}
.calendar-week-day-head>span{font-size:10px!important}
.calendar-week-all-day-event{font-size:8.5px!important}
.calendar-week-all-day small{font-size:8.5px!important}
.calendar-week-time-axis span{font-size:9px!important}
.calendar-week-event>span{font-size:9px!important}
.calendar-week-event>strong{font-size:10px!important}
.calendar-week-event>small{font-size:9px!important}
@media(max-width:760px){
  .calendar-agenda-time{font-size:10px!important}
  .calendar-source-badge,.calendar-tag{font-size:9px!important}
}

/* --- Gävleborg readability floor; preserves compact proportions --- */
@media(min-width:701px){
  .home-work-ifmetall-redesign .home-current-copy small{font-size:10px!important}
  .home-work-ifmetall-redesign .home-current-copy em{font-size:10.5px!important}
  .home-work-ifmetall-redesign .home-ifmetall-title small{font-size:10px!important}
  .home-work-ifmetall-redesign .home-work-source-link{font-size:10px!important}
}
@media(max-width:700px){
  .home-mobile-current-redesign .home-current-copy small{font-size:9px!important}
  .home-mobile-current-redesign .home-current-copy em{font-size:9.5px!important}
  .home-mobile-current-redesign .home-ifmetall-title small{font-size:9px!important}
  .home-mobile-current-redesign .ifmetall-gavleborg-wordmark small{font-size:9px!important}
  .home-mobile-current-redesign .home-work-source-link{font-size:9.5px!important}
}

/* Viewer/help metadata should not drop below a practical reading size. */
.pptx-portal-viewer>.document-viewer-note{font-size:10.5px!important}

/* Layout guards for reused grids/cards. */
:is(.admin-main,.admin-page-stage,.home-workspace,.home-dashboard-bottom,.calendar-modern-page,.calendar-modern-layout,.profile-section-grid,.portal-role-picker){min-width:0}
:is(.admin-item,.home-current-row,.home-dashboard-news-card,.calendar-agenda-row,.portal-role-option,.news-cover-choice)>*{min-width:0}
img,video,canvas,svg{max-width:100%}

/* Tiny phones: prevent horizontal control overflow without shrinking labels into unreadable text. */
@media(max-width:390px){
  .admin-filter-chips,.calendar-filter-chips{max-width:100%}
  .portal-role-picker{max-width:100%}
  .news-cover-choice{grid-template-columns:72px minmax(0,1fr) 20px!important;gap:8px!important}
  .admin-sticky-actions{flex-wrap:wrap!important}
  .admin-sticky-actions .primary,.admin-sticky-actions .secondary{min-height:40px}
}

/* RC80 — additional theme/layout hardening found during the full sweep. */
body[data-theme] .push-activation-banner{
  background:var(--surface)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
}
body[data-theme] .push-activation-banner.warn{
  background:var(--warning-bg)!important;
  color:var(--warning-text)!important;
  border-color:color-mix(in srgb,var(--warning) 35%,var(--border))!important;
}
body[data-theme] .push-activation-banner.warn :is(strong,p,span){color:inherit!important}

body[data-theme] .home-focus-main,
body[data-theme] .home-focus-news{
  background:color-mix(in srgb,var(--accent) 5%,var(--surface))!important;
  border-color:color-mix(in srgb,var(--accent) 22%,var(--border))!important;
  color:var(--text-primary)!important;
}
body[data-theme] .home-focus-main p,
body[data-theme] .home-focus-news p{color:var(--text-muted)!important}

body[data-theme] .home-kpi-calendar{background:color-mix(in srgb,#d11a2a 5%,var(--surface))!important}
body[data-theme] .home-kpi-docs{background:color-mix(in srgb,#164ba5 5%,var(--surface))!important}
body[data-theme] .home-kpi-messages{background:color-mix(in srgb,#087432 5%,var(--surface))!important}
body[data-theme] .home-kpi-quick{background:color-mix(in srgb,#6628a8 5%,var(--surface))!important}
body[data-theme] .home-kpi{border-color:var(--border)!important;color:var(--text-primary)!important}

/* General secondary text in newer home/admin components must follow the theme. */
body[data-theme] :is(
  .home-dashboard-news-copy p,
  .home-dashboard-news-copy small,
  .home-dashboard-doc-row small,
  .home-dashboard-doc-row time,
  .admin-area-head p,
  .admin-area-links small,
  .admin-work-copy small,
  .admin-section-title p,
  .admin-form-head p,
  .user-form-section-head small,
  .portal-role-picker-head small,
  .portal-role-empty
){color:var(--text-muted)!important}

/* Keep dense metadata readable on ordinary desktop screens. */
@media(min-width:701px){
  .home-dashboard-news-copy small,
  .home-dashboard-doc-row small,
  .home-dashboard-doc-row time{font-size:10px!important}
}

/* Touch and pointer targets: menus stay compact visually, but are easier to hit on small screens. */
@media(max-width:700px){
  .admin-action-menu>summary{width:40px!important;height:40px!important}
  .portal-role-option{min-height:42px!important}
  .news-cover-choice input[type='radio']{width:18px!important;height:18px!important}
}

/* RC80 — semantic status hardening for colored/dark themes. */
body[data-theme] .beta-type.bug{background:var(--danger-bg)!important;color:var(--danger-text)!important}
body[data-theme] .beta-type.improvement{background:var(--info-bg)!important;color:var(--info-text)!important}
body[data-theme] .beta-type.clarification{background:var(--warning-bg)!important;color:var(--warning-text)!important}
body[data-theme] .beta-status.reviewing,
body[data-theme] .status-badge.pending,
body[data-theme] .status-badge.reviewing,
body[data-theme] .content-report-status.reviewing{background:var(--warning-bg)!important;color:var(--warning-text)!important}
body[data-theme] .beta-status.resolved,
body[data-theme] .content-report-status.resolved,
body[data-theme] .beta-resolution-mail{color:var(--success-text)!important}
body[data-theme] .beta-status.resolved,
body[data-theme] .content-report-status.resolved{background:var(--success-bg)!important}
body[data-theme] .beta-status.declined,
body[data-theme] .content-report-status.dismissed{background:var(--surface-secondary)!important;color:var(--text-muted)!important}

body[data-theme] .push-diag-row.ok .push-diag-icon{background:var(--success-bg)!important;color:var(--success-text)!important}
body[data-theme] .push-diag-row.warn .push-diag-icon{background:var(--warning-bg)!important;color:var(--warning-text)!important}
body[data-theme] .push-diag-row.fail .push-diag-icon{background:var(--danger-bg)!important;color:var(--danger-text)!important}
body[data-theme] .user-push-status.good,
body[data-theme] .profile-notification-state.on,
body[data-theme] .push-history-result.ok{color:var(--success-text)!important}
body[data-theme] .user-push-status.warn,
body[data-theme] .push-history-result.warn{color:var(--warning-text)!important}
body[data-theme] .profile-notification-state.on,
body[data-theme] .push-history-result.ok{background:var(--success-bg)!important;border-color:color-mix(in srgb,var(--success) 30%,var(--border))!important}
body[data-theme] .push-history-result.warn{background:var(--warning-bg)!important;border-color:color-mix(in srgb,var(--warning) 30%,var(--border))!important}

body[data-theme] .portal-save-state.clean{background:var(--success-bg)!important;color:var(--success-text)!important}
body[data-theme] .portal-save-state.dirty{background:var(--warning-bg)!important;color:var(--warning-text)!important}
body[data-theme] .storage-usage-status.good strong{color:var(--success)!important}
body[data-theme] .storage-usage-status.warning strong{color:var(--warning)!important}
body[data-theme] .storage-usage-status.danger strong{color:var(--danger)!important}

body[data-theme] .outreach-status-good{color:var(--success-text)!important;background:var(--success-bg)!important;border-color:color-mix(in srgb,var(--success) 32%,var(--border))!important}
body[data-theme] .outreach-status-warning{color:var(--warning-text)!important;background:var(--warning-bg)!important;border-color:color-mix(in srgb,var(--warning) 32%,var(--border))!important}
body[data-theme] .outreach-status-danger{color:var(--danger-text)!important;background:var(--danger-bg)!important;border-color:color-mix(in srgb,var(--danger) 32%,var(--border))!important}

/* RC80 — compatibility aliases uncovered by the CSS audit.
   Several newer modules referenced legacy semantic names that were never defined. */
body{
  --panel:var(--surface);
  --soft:var(--surface-soft);
  --primary:var(--accent);
  --border-color:var(--border);
  --shadow-soft:0 4px 14px color-mix(in srgb,var(--text-primary) 6%,transparent);
  --shadow-sm:0 4px 16px color-mix(in srgb,var(--text-primary) 5%,transparent);
}

/* RC80 — remaining feedback/icon colors normalized for theme readability. */
body[data-theme] .portal-toast.success .portal-toast-icon{background:var(--success-bg)!important;color:var(--success-text)!important}
body[data-theme] .portal-toast.error .portal-toast-icon,
body[data-theme] .portal-dialog-icon.danger{background:var(--danger-bg)!important;color:var(--danger-text)!important}
body[data-theme] .portal-toast.warning .portal-toast-icon{background:var(--warning-bg)!important;color:var(--warning-text)!important}
body[data-theme] .calendar-reminder-status.success{color:var(--success-text)!important}
body[data-theme] .message-read-status.read{color:var(--info-text)!important}
body[data-theme] .message-group-actions .danger{color:var(--danger)!important}
body[data-theme] .mobile-dock button.has-unread{color:var(--accent-soft-text)!important}

/* Shortcut icon foregrounds must also adapt when their backgrounds become dark. */
body[data-theme] .home-work-shortcut.red>span{color:var(--accent-soft-text)!important}
body[data-theme] .home-work-shortcut.blue>span{color:var(--info-text)!important}
body[data-theme] .home-work-shortcut.green>span{color:var(--success-text)!important}
body[data-theme] .home-work-shortcut.slate>span{color:var(--text-secondary)!important}
body[data-theme] .home-work-shortcut.purple>span{color:color-mix(in srgb,#7c3aed 58%,var(--text-primary) 42%)!important}

/* Dark theme needs lighter colored summary glyphs on dark tinted tiles. */
body[data-theme='dark'] .calendar-summary-red{color:#ffaaa5!important}
body[data-theme='dark'] .calendar-summary-green{color:#9ee7b9!important}
body[data-theme='dark'] .calendar-summary-blue{color:#a8ccff!important}
body[data-theme='dark'] .calendar-summary-purple{color:#cfb7ff!important}

/* RC80 — success/warning/info indicators in modules added after the original theme layer. */
body[data-theme] .training-state.live{background:var(--success-bg)!important;color:var(--success-text)!important}
body[data-theme] .admin-work-clear{background:var(--success-bg)!important;color:var(--success-text)!important}
body[data-theme] .profile-training-check{background:var(--success-bg)!important;color:var(--success-text)!important}
body[data-theme] .push-simple-status.ok{background:var(--success-bg)!important;border-color:color-mix(in srgb,var(--success) 34%,var(--border))!important}
body[data-theme] .push-simple-status.warn{background:var(--warning-bg)!important;border-color:color-mix(in srgb,var(--warning) 34%,var(--border))!important}
body[data-theme] .push-simple-status.fail{background:var(--danger-bg)!important;border-color:color-mix(in srgb,var(--danger) 34%,var(--border))!important}
body[data-theme] .push-simple-status.ok .push-simple-icon{color:var(--success-text)!important}
body[data-theme] .push-simple-status.warn .push-simple-icon{color:var(--warning-text)!important}
body[data-theme] .push-simple-status.fail .push-simple-icon{color:var(--danger-text)!important}
body[data-theme] .news-attachment.is-document-reference{
  border-color:color-mix(in srgb,var(--info) 28%,var(--border))!important;
  background:color-mix(in srgb,var(--info) 6%,var(--surface))!important;
}
body[data-theme] .news-attachment.is-document-reference small:before{color:var(--info-text)!important}
body[data-theme] .home-work-icon.focus{background:var(--accent-soft)!important;color:var(--accent-soft-text)!important}
body[data-theme] .home-work-icon.current{background:var(--info-bg)!important;color:var(--info-text)!important}


/* v1.19.22 RC82 — mobile KPI cards: balanced 3-column overview */
@media(max-width:700px){
  .home-mobile-kpis{
    margin:0 0 10px!important;
  }
  .home-mobile-kpis .home-dashboard-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .home-mobile-kpis .home-kpi{
    min-width:0!important;
    min-height:96px!important;
    padding:10px 9px 9px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:38px minmax(30px,auto)!important;
    align-items:center!important;
    align-content:start!important;
    justify-items:stretch!important;
    gap:6px 5px!important;
    border-radius:17px!important;
    text-align:left!important;
  }
  .home-mobile-kpis .home-kpi-icon{
    grid-column:1!important;
    grid-row:1!important;
    width:36px!important;
    height:36px!important;
    border-radius:11px!important;
    font-size:18px!important;
    justify-self:start!important;
  }
  .home-mobile-kpis .home-kpi-copy{
    display:contents!important;
  }
  .home-mobile-kpis .home-kpi-copy>b{
    grid-column:1 / -1!important;
    grid-row:2!important;
    align-self:start!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    font-size:10.5px!important;
    line-height:1.18!important;
    font-weight:850!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .home-mobile-kpis .home-kpi-copy>span{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:auto!important;
    min-width:28px!important;
    margin:0!important;
  }
  .home-mobile-kpis .home-kpi-copy strong{
    font-size:28px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:-.04em!important;
  }
  .home-mobile-kpis .home-kpi-copy small,
  .home-mobile-kpis .home-kpi>i{
    display:none!important;
  }
}
@media(max-width:365px){
  .home-mobile-kpis .home-dashboard-kpis{gap:6px!important}
  .home-mobile-kpis .home-kpi{
    min-height:92px!important;
    padding:8px 7px!important;
    grid-template-rows:34px minmax(30px,auto)!important;
  }
  .home-mobile-kpis .home-kpi-icon{
    width:32px!important;height:32px!important;font-size:16px!important;
  }
  .home-mobile-kpis .home-kpi-copy strong{font-size:24px!important}
  .home-mobile-kpis .home-kpi-copy>b{font-size:9.5px!important}
}


/* v1.19.22 RC85 — chat UX polish */

/* Floating chat: emoji picker is now a single horizontal tray instead of permanently taking two rows. */
.floating-message-tools{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:7px 9px!important;
  border-top:1px solid var(--msg-border,var(--line));
  background:var(--surface);
  scrollbar-width:none;
  scroll-snap-type:x proximity;
}
.floating-message-tools::-webkit-scrollbar{display:none}
.floating-message-tools .message-emoji-btn{
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  border-radius:10px!important;
  padding:0!important;
  scroll-snap-align:start;
  font-size:18px!important;
}
.floating-message-compose{
  grid-template-columns:38px minmax(0,1fr) 42px!important;
  align-items:end!important;
  gap:7px!important;
  padding:8px!important;
}
.floating-compose-tool{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border:1px solid var(--msg-border,var(--line))!important;
  border-radius:12px!important;
  background:var(--surface-secondary,var(--soft))!important;
  color:var(--text-primary,var(--text))!important;
  font:inherit;
  font-size:18px!important;
  cursor:pointer;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
}
.floating-compose-tool.active{
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
  border-color:color-mix(in srgb,var(--accent) 35%,var(--msg-border,var(--line)))!important;
}
.floating-message-compose textarea{
  min-height:42px!important;
  max-height:110px!important;
  overflow-y:auto!important;
  resize:none!important;
  border-radius:16px!important;
  padding:10px 12px!important;
  line-height:1.35!important;
}
.floating-message-compose>.primary{
  width:42px!important;height:42px!important;min-width:42px!important;
  border-radius:50%!important;
}

/* Message actions: less visual noise while keeping report/reaction easy to hit. */
.message-bubble-actions{
  align-items:center!important;
  min-height:30px;
}
.message-reaction{
  min-height:30px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
}
.message-more{
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  padding:0!important;
  border:1px solid transparent!important;
}
.message-more:hover,.message-more:focus-visible{
  border-color:var(--msg-border,var(--line))!important;
}

/* Give small chat windows more room for actual messages. */
.floating-chat-window .messages-stream{
  padding:10px 9px 12px!important;
  gap:8px!important;
}
.floating-chat-window .message-bubble{
  max-width:88%!important;
  padding:9px 10px!important;
}
.floating-chat-window .message-bubble-time{
  margin-top:4px!important;
}
.floating-chat-window .message-bubble-actions{
  margin-top:4px!important;
}

/* Reporting becomes a compact bottom sheet on phones instead of an oversized full-screen form. */
@media(max-width:700px){
  #contentReportModal{
    align-items:end!important;
    padding:0!important;
  }
  #contentReportModal .content-report-modal{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    max-height:min(88dvh,760px)!important;
    border-radius:22px 22px 0 0!important;
    padding:18px 15px calc(14px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  #contentReportModal .content-report-modal>.modal-close{
    position:sticky!important;
    top:0!important;
    float:right;
    z-index:8;
  }
  #contentReportModal .content-report-modal h2{
    font-size:22px!important;
    margin:4px 0 8px!important;
  }
  #contentReportModal .content-report-modal>p{
    font-size:12px!important;
    margin-bottom:11px!important;
  }
  #contentReportModal .content-report-preview{
    padding:10px 11px!important;
    margin-bottom:11px!important;
  }
  #contentReportModal .content-report-preview blockquote{
    font-size:13px!important;
    line-height:1.4!important;
  }
  #contentReportModal .content-report-privacy{
    margin:10px 0!important;
    padding:9px 10px!important;
    font-size:11px!important;
  }
  #contentReportModal .content-report-modal>.btn-row{
    position:sticky!important;
    bottom:calc(-14px - env(safe-area-inset-bottom))!important;
    margin:12px -15px calc(-14px - env(safe-area-inset-bottom))!important;
    padding:10px 15px calc(10px + env(safe-area-inset-bottom))!important;
    background:var(--card)!important;
    border-top:1px solid var(--line)!important;
    box-shadow:0 -8px 22px color-mix(in srgb,var(--text-primary) 8%,transparent)!important;
  }
  #contentReportModal .content-report-modal>.btn-row button{
    min-height:44px!important;
  }
}

/* Narrow floating/fullscreen chat: make composer/actions fit without crowding. */
@media(max-width:900px){
  .floating-message-tools{padding:7px 8px!important}
  .floating-message-tools .message-emoji-btn{
    flex-basis:38px!important;width:38px!important;height:38px!important;min-width:38px!important;
  }
  .floating-message-compose{
    grid-template-columns:40px minmax(0,1fr) 48px!important;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important;
  }
  .floating-compose-tool{width:40px!important;height:40px!important;min-width:40px!important}
  .floating-message-compose>.primary{width:48px!important;height:48px!important;min-width:48px!important}
  .floating-message-compose textarea{min-height:48px!important;font-size:16px!important}
  .floating-chat-window .message-bubble-actions{display:flex!important}
}


/* v1.19.22 RC86 — global search: show real profile images for people/ombud */
.portal-search-results .search-result .sr-person-avatar,
.mobile-search-results .search-result .sr-person-avatar{
  overflow:hidden!important;
  border-radius:12px!important;
  background:var(--surface-secondary)!important;
  color:var(--text-primary)!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.01em;
  border:1px solid var(--border)!important;
}
.portal-search-results .search-result .sr-person-avatar img,
.mobile-search-results .search-result .sr-person-avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


/* v1.19.22 RC87 — admin setting for start-page hero */
.home-hero-admin-preview-wrap{display:grid;gap:10px}
.home-hero-admin-preview-note{font-size:13px;color:var(--muted)}
.home-hero-admin-page .home-dashboard-hero{max-width:100%;overflow:hidden}
.home-hero-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.home-hero-choice{display:grid;grid-template-columns:auto 108px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--card);cursor:pointer}
.home-hero-choice input[type='radio']{margin-top:4px}
.home-hero-choice-thumb{display:block;width:108px;height:82px;border-radius:12px;overflow:hidden;background:var(--surface-soft);border:1px solid var(--line)}
.home-hero-choice-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.home-hero-choice-copy{display:grid;gap:4px;align-content:start}
.home-hero-choice-copy b{font-size:14px}
.home-hero-choice-copy small{font-size:12px;color:var(--muted);line-height:1.4}
.home-hero-choice-custom .home-hero-choice-copy{grid-template-rows:auto auto auto}
.home-hero-remove{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin-top:6px}
.home-hero-choice input[type='radio']:checked+ .home-hero-choice-thumb,.home-hero-choice:has(input[type='radio']:checked){border-color:rgba(200,16,46,.28);box-shadow:0 8px 22px rgba(200,16,46,.08)}
.home-hero-choice-missing{display:grid;place-items:center;width:100%;height:100%;font-size:12px;color:var(--muted)}
@media(max-width:700px){
  .home-hero-choice{grid-template-columns:auto 88px minmax(0,1fr);padding:10px}
  .home-hero-choice-thumb{width:88px;height:70px}
}


/* v1.19.22 RC88 — fixed start-page hero presets */
.home-mobile-hero.has-photo:before{opacity:.30!important;filter:saturate(.9) contrast(.92);background-position:center center!important}
.home-mobile-hero.has-photo{background:linear-gradient(105deg,#b90f1d 0%,#d51e2c 58%,#a90e1b 100%)!important}
.home-mobile-hero.has-photo:after{width:58%;height:100%;right:0;top:0;border-radius:0;background:linear-gradient(90deg,rgba(190,15,28,.42),rgba(190,15,28,.04))!important}
.home-hero-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.home-hero-choice{position:relative;grid-template-columns:20px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:9px 10px!important;align-items:start!important;padding:10px!important}
.home-hero-choice>input[type='radio']{grid-column:1;grid-row:1 / span 2;margin:5px 0 0!important}
.home-hero-choice-thumb{grid-column:2!important;width:100%!important;height:94px!important;border-radius:11px!important}
.home-hero-choice-copy{grid-column:2!important}.home-hero-choice-copy b{font-size:13px!important}.home-hero-choice-copy small{font-size:10.5px!important}
.home-hero-selected-mark{display:none;position:absolute;top:8px;right:8px;padding:4px 7px;border-radius:999px;background:var(--accent);color:var(--accent-foreground);font-size:9px;font-weight:900}
.home-hero-choice:has(input[type='radio']:checked) .home-hero-selected-mark{display:inline-flex}
.home-hero-choice:has(input[type='radio']:checked){border-color:color-mix(in srgb,var(--accent) 48%,var(--border))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent),0 8px 22px rgba(25,31,43,.06)!important}
.home-hero-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:start}.home-hero-preview-label{display:block;margin:0 0 6px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.home-hero-admin-page .home-dashboard-hero{min-height:190px!important}.home-hero-admin-page .home-dashboard-hero-copy{padding:23px 28px!important}.home-hero-admin-page .home-dashboard-hero-copy h1{font-size:27px!important}.home-hero-admin-page .home-dashboard-hero-copy p{font-size:13px!important}.home-hero-mobile-preview{display:block!important;min-height:190px;margin:0!important}
@media(max-width:1050px){.home-hero-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-hero-preview-grid{grid-template-columns:1fr}.home-hero-mobile-preview{max-width:420px}}
@media(max-width:620px){.home-hero-choice-grid{grid-template-columns:1fr!important}.home-hero-choice-thumb{height:112px!important}}


/* v1.19.22 RC91 — production-safe admin navigation link */
.admin-side .admin-side-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:36px;
  gap:7px;
  padding:8px 9px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.admin-side .admin-side-link:hover{background:var(--surface-soft)}
.admin-side .admin-side-link.active{
  background:var(--accent-soft);
  color:var(--accent-soft-text);
}
.admin-area-links .admin-area-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:10px;
  padding:7px 8px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:inherit;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}
.admin-area-links .admin-area-link:hover{background:var(--surface-soft)}
.admin-area-links .admin-area-link strong{font-size:11px}
.admin-area-links .admin-area-link small{display:block;font-size:9px;line-height:1.25;color:var(--muted);margin-top:2px}


/* v1.19.22 RC92 — saved hero state */
.home-hero-admin-preview-note{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.home-hero-saved-state{
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  background:var(--success-bg);
  color:var(--success-text);
  font-size:9px;
  font-weight:900;
}


/* v1.19.22 RC93 — deterministic hero backgrounds
   Every preset uses a static stylesheet URL so local and Netlify rendering match. */
.home-hero-preset-default .home-dashboard-hero-image{
  background:url('../home-hero-industry.jpg') center center/cover no-repeat!important;
}
.home-hero-preset-industri1 .home-dashboard-hero-image{
  background:url('home-hero-presets/industri1.webp') center center/cover no-repeat!important;
}
.home-hero-preset-industri2 .home-dashboard-hero-image{
  background:url('home-hero-presets/industri2.webp') center center/cover no-repeat!important;
}
.home-hero-preset-industri3 .home-dashboard-hero-image{
  background:url('home-hero-presets/industri3.webp') center center/cover no-repeat!important;
}
.home-hero-preset-industri4 .home-dashboard-hero-image{
  background:url('home-hero-presets/industri4.webp') center center/cover no-repeat!important;
}
.home-hero-preset-sandviken1 .home-dashboard-hero-image{
  background:url('home-hero-presets/sandviken1.webp') center center/cover no-repeat!important;
}
.home-hero-preset-sandviken2 .home-dashboard-hero-image{
  background:url('home-hero-presets/sandviken2.webp') center center/cover no-repeat!important;
}
.home-hero-preset-sandviken3 .home-dashboard-hero-image{
  background:url('home-hero-presets/sandviken3.webp') center center/cover no-repeat!important;
}
.home-hero-preset-sandviken4 .home-dashboard-hero-image{
  background:url('home-hero-presets/sandviken4.webp') center center/cover no-repeat!important;
}
.home-hero-preset-sandviken5 .home-dashboard-hero-image{
  background:url('home-hero-presets/sandviken5.webp') center center/cover no-repeat!important;
}
.home-hero-preset-sandviken6 .home-dashboard-hero-image{
  background:url('home-hero-presets/sandviken6.webp') center center/cover no-repeat!important;
}

@media(max-width:700px){
  .home-hero-preset-industri1.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri1.webp')!important}
  .home-hero-preset-industri2.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri2.webp')!important}
  .home-hero-preset-industri3.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri3.webp')!important}
  .home-hero-preset-industri4.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri4.webp')!important}
  .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken1.webp')!important}
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken2.webp')!important}
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken3.webp')!important}
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken4.webp')!important}
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken5.webp')!important}
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken6.webp')!important}
}

/* Preserve the red transition over the photo after replacing the old shorthand. */
.home-dashboard-hero-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(202,25,35,.32) 0%,rgba(202,25,35,.03) 46%,rgba(0,0,0,.02) 100%)!important;
}


/* v1.19.22 RC94 — Startsida admin UX redesign */
.home-hero-admin-page{
  display:grid;
  gap:14px;
}
.home-hero-admin-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:2px 2px 4px;
}
.home-hero-admin-head .eyebrow{margin-bottom:3px}
.home-hero-admin-head h2{
  margin:0;
  font-size:23px;
  line-height:1.1;
}
.home-hero-admin-head p{
  max-width:720px;
  margin:6px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.home-hero-current-pill{
  flex:0 0 auto;
  display:grid;
  gap:1px;
  min-width:155px;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--card);
}
.home-hero-current-pill span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.home-hero-current-pill strong{
  font-size:11px;
  line-height:1.25;
}

.home-hero-admin-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(290px,34%);
  gap:14px;
  align-items:start;
}
.home-hero-library{
  display:grid;
  gap:12px;
  min-width:0;
}
.home-hero-library-group{
  padding:12px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--card);
}
.home-hero-library-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 1px 8px;
}
.home-hero-library-head h3{
  margin:0;
  font-size:14px;
}
.home-hero-library-head span{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
}

.home-hero-library .home-hero-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.home-hero-library-group:first-child .home-hero-choice-grid{
  grid-template-columns:minmax(0,1fr)!important;
}
.home-hero-library-group:first-child .home-hero-choice{
  max-width:100%;
}

.home-hero-library .home-hero-choice{
  position:relative;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:var(--surface)!important;
  cursor:pointer;
  box-shadow:none!important;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.home-hero-library .home-hero-choice:hover{
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line))!important;
  box-shadow:0 5px 14px rgba(25,31,43,.05)!important;
  transform:translateY(-1px);
}
.home-hero-library .home-hero-choice>input[type='radio']{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.home-hero-library .home-hero-choice-thumb{
  grid-column:1!important;
  display:block!important;
  width:100%!important;
  height:78px!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden;
  background:var(--surface-soft);
}
.home-hero-library .home-hero-choice-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-hero-choice-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:43px;
  padding:8px 9px;
}
.home-hero-library .home-hero-choice-copy{
  display:grid!important;
  gap:1px!important;
}
.home-hero-library .home-hero-choice-copy b{
  font-size:11px!important;
  line-height:1.2;
}
.home-hero-library .home-hero-choice-copy small{
  color:var(--muted);
  font-size:8.5px!important;
}
.home-hero-choice-check{
  flex:0 0 22px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  color:transparent;
  font-size:12px;
  font-weight:950;
}
.home-hero-library .home-hero-choice.selected{
  border-color:color-mix(in srgb,var(--accent) 58%,var(--line))!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)!important;
}
.home-hero-library .home-hero-choice.selected .home-hero-choice-check{
  border-color:var(--accent);
  background:var(--accent);
  color:var(--accent-foreground);
}

.home-hero-preview-panel{
  position:sticky;
  top:100px;
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--card);
  box-shadow:0 6px 20px rgba(25,31,43,.035);
}
.home-hero-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.home-hero-preview-head>div{
  display:grid;
  gap:1px;
  min-width:0;
}
.home-hero-preview-head small{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.home-hero-preview-head strong{
  overflow:hidden;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-hero-saved-state{
  flex:0 0 auto;
  padding:4px 7px!important;
  border-radius:999px;
  background:var(--success-bg)!important;
  color:var(--success-text)!important;
  font-size:8px!important;
  font-weight:900!important;
}
.home-hero-saved-state.is-dirty{
  background:var(--warning-bg)!important;
  color:var(--warning-text)!important;
}
.home-hero-preview-stack{
  display:grid;
  gap:10px;
}
.home-hero-preview-item{
  min-width:0;
}
.home-hero-preview-label{
  display:block;
  margin:0 0 4px!important;
  color:var(--muted);
  font-size:8px!important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}

/* Scaled live preview — same markup and same preset classes as the real homepage. */
.home-hero-preview-panel .home-dashboard-hero{
  min-height:118px!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
.home-hero-preview-panel .home-dashboard-hero-copy{
  width:65%!important;
  padding:14px 16px!important;
}
.home-hero-preview-panel .home-dashboard-hero-copy small{
  margin-bottom:6px!important;
  font-size:6px!important;
}
.home-hero-preview-panel .home-dashboard-hero-copy h1{
  margin:0!important;
  font-size:15px!important;
  line-height:1.08!important;
}
.home-hero-preview-panel .home-dashboard-hero-copy p{
  margin-top:7px!important;
  font-size:7px!important;
  line-height:1.35!important;
}
.home-hero-preview-panel .home-dashboard-hero-image{
  width:47%!important;
}

.home-hero-preview-panel .home-hero-mobile-preview{
  display:block!important;
  min-height:132px!important;
  max-width:210px;
  margin:0!important;
  padding:14px 13px!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
.home-hero-preview-panel .home-hero-mobile-preview small{
  font-size:6px!important;
}
.home-hero-preview-panel .home-hero-mobile-preview h1{
  margin:6px 0!important;
  font-size:15px!important;
}
.home-hero-preview-panel .home-hero-mobile-preview p{
  font-size:8px!important;
}

.home-hero-preview-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding-top:2px;
}
.home-hero-preview-actions button{
  min-height:38px;
  padding:8px 10px!important;
  font-size:10px!important;
}
.home-hero-preview-actions button:disabled{
  cursor:not-allowed;
  opacity:.48;
}
.home-hero-preview-panel #homeHeroAdminMsg:empty{display:none}
.home-hero-preview-panel #homeHeroAdminMsg .banner,
.home-hero-preview-panel #homeHeroAdminMsg .success{
  margin:0;
  padding:8px 9px;
  border-radius:10px;
  font-size:9px;
}

@media(min-width:1450px){
  .home-hero-library .home-hero-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:1120px){
  .home-hero-admin-layout{
    grid-template-columns:1fr;
  }
  .home-hero-preview-panel{
    position:static;
  }
  .home-hero-preview-stack{
    grid-template-columns:minmax(0,1fr) 230px;
    align-items:start;
  }
  .home-hero-preview-panel .home-hero-mobile-preview{
    max-width:230px;
  }
}
@media(max-width:700px){
  .home-hero-admin-head{
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
  }
  .home-hero-current-pill{
    width:100%;
  }
  .home-hero-library .home-hero-choice-grid{
    grid-template-columns:1fr!important;
  }
  .home-hero-preview-stack{
    grid-template-columns:1fr;
  }
  .home-hero-preview-panel .home-hero-mobile-preview{
    max-width:none;
  }
  .home-hero-preview-actions{
    grid-template-columns:1fr;
  }
}


/* v1.19.22 RC95 — mobile calendar full-feature UX */
.calendar-mobile-primary-actions,
.calendar-mobile-tools,
.calendar-month-mobile{display:none}

.calendar-filter-reset{
  min-height:42px;
  border:0;
  background:transparent;
  color:var(--accent);
  padding:0 8px;
  font:inherit;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}

@media(max-width:760px){
  /* Page header: keep the title concise; actions move into a thumb-friendly command row. */
  .calendar-page-shell>.page-title{
    margin-bottom:10px!important;
    gap:4px!important;
  }
  .calendar-page-shell>.page-title .eyebrow{font-size:9px}
  .calendar-page-shell>.page-title h1{font-size:25px!important;line-height:1.08}
  .calendar-page-shell>.page-title p{font-size:11px;line-height:1.4;margin-top:4px}
  .calendar-page-shell>.page-title .page-title-actions{display:none!important}

  .calendar-mobile-primary-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    order:-2;
  }
  .calendar-mobile-primary-actions.has-admin{grid-template-columns:repeat(3,minmax(0,1fr))}
  .calendar-mobile-action{
    min-height:52px;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--card);
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px;
    font:inherit;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(23,32,42,.035);
  }
  .calendar-mobile-action>span{font-size:18px;line-height:1}
  .calendar-mobile-action>b{font-size:10.5px;white-space:nowrap}
  .calendar-mobile-action.primary{
    background:var(--accent);
    border-color:var(--accent);
    color:var(--accent-foreground);
  }

  /* Controls are deliberately ordered: view, search, filters. */
  .calendar-page-shell .calendar-modern-page{gap:10px!important}
  .calendar-page-shell .calendar-modern-controls{
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    gap:8px!important;
  }
  .calendar-page-shell .calendar-modern-view-switcher{
    order:1;
    width:100%;
    height:46px!important;
    border-radius:13px!important;
  }
  .calendar-page-shell .calendar-modern-view-switcher button{
    min-height:44px;
    font-size:12px!important;
    flex:1;
  }
  .calendar-page-shell .calendar-modern-search{
    order:2;
    height:48px!important;
    border-radius:13px!important;
    padding-inline:13px!important;
  }
  .calendar-page-shell .calendar-modern-search input{font-size:16px!important}
  .calendar-page-shell .calendar-filter-chips{
    order:3;
    width:100%;
    margin:0!important;
    padding:1px 0 4px!important;
    gap:6px!important;
    overflow-x:auto;
    scroll-snap-type:x proximity;
  }
  .calendar-page-shell .calendar-filter-chip{
    min-height:39px!important;
    padding:0 11px!important;
    border-radius:999px!important;
    font-size:10.5px!important;
    scroll-snap-align:start;
  }
  .calendar-page-shell .calendar-filter-chip b{display:inline!important;font-size:9px!important}
  .calendar-filter-reset{min-height:39px;font-size:10px}

  /* All four desktop summary metrics remain available without horizontal scrolling. */
  .calendar-page-shell .calendar-modern-summary{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
  }
  .calendar-page-shell .calendar-modern-summary article{
    min-width:0!important;
    min-height:82px!important;
    border-radius:13px!important;
    padding:10px!important;
    gap:9px!important;
    box-shadow:none!important;
  }
  .calendar-page-shell .calendar-summary-icon{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
    font-size:15px!important;
  }
  .calendar-page-shell .calendar-modern-summary small{
    font-size:8.5px!important;
    line-height:1.15;
    margin-bottom:2px!important;
  }
  .calendar-page-shell .calendar-modern-summary strong{
    font-size:18px!important;
    line-height:1.05!important;
  }
  .calendar-page-shell .calendar-modern-summary article>div>span{
    font-size:8.5px!important;
    line-height:1.2;
    margin-top:3px!important;
    white-space:normal!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .calendar-now-banner{
    display:grid!important;
    grid-template-columns:10px minmax(0,1fr);
    gap:5px 8px!important;
    padding:10px 11px!important;
    border-radius:12px!important;
  }
  .calendar-now-banner>strong{font-size:10.5px}
  .calendar-now-banner>span:last-child{
    grid-column:2;
    width:auto!important;
    padding-left:0!important;
    font-size:9.5px;
    white-space:normal!important;
  }

  /* Main content takes priority. Desktop side rail becomes a compact tool section below. */
  .calendar-page-shell .calendar-modern-layout{display:block!important}
  .calendar-page-shell .calendar-side-rail{display:none!important}
  .calendar-mobile-tools{
    display:grid;
    gap:8px;
    padding:11px;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--card);
  }
  .calendar-mobile-tools-head small{
    display:block;
    color:var(--muted);
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .calendar-mobile-tools-head h3{font-size:14px;margin:2px 0 0}
  .calendar-mobile-tool-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .calendar-mobile-tool{
    min-height:70px;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--surface-soft);
    color:var(--text);
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:8px;
    align-items:center;
    padding:9px;
    text-align:left;
    font:inherit;
    cursor:pointer;
  }
  .calendar-mobile-tool>span{
    grid-row:1/3;
    width:28px;
    height:28px;
    border-radius:9px;
    display:grid;
    place-items:center;
    background:var(--card);
    border:1px solid var(--line);
    font-size:13px;
  }
  .calendar-mobile-tool>b{font-size:10.5px;align-self:end}
  .calendar-mobile-tool>small{font-size:8.5px;color:var(--muted);align-self:start;line-height:1.2}
  .calendar-mobile-tools-details{
    border-top:1px solid var(--line);
    padding-top:2px;
  }
  .calendar-mobile-tools-details summary{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    cursor:pointer;
    list-style:none;
  }
  .calendar-mobile-tools-details summary::-webkit-details-marker{display:none}
  .calendar-mobile-tools-details summary>span{display:grid;gap:1px}
  .calendar-mobile-tools-details summary strong{font-size:11px}
  .calendar-mobile-tools-details summary small{font-size:8.5px;color:var(--muted)}
  .calendar-mobile-tools-details summary>b{font-size:15px;color:var(--muted)}
  .calendar-mobile-tools-details[open] summary>b{transform:rotate(180deg)}
  .calendar-mobile-tools-body{padding:2px 0 5px}
  .calendar-mobile-show-all{
    width:100%;
    min-height:40px;
    margin-top:5px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--card);
    color:var(--accent);
    font:inherit;
    font-size:10px;
    font-weight:900;
  }

  /* Agenda becomes a clear touch-card list. */
  .calendar-page-shell .calendar-modern-panel{
    padding:8px!important;
    border-radius:14px!important;
    box-shadow:none!important;
  }
  .calendar-page-shell .calendar-panel-heading{
    padding:3px 4px 9px!important;
  }
  .calendar-page-shell .calendar-panel-heading h2{font-size:17px!important}
  .calendar-page-shell .calendar-panel-heading p{font-size:9.5px!important}
  .calendar-page-shell .calendar-agenda-group{
    margin-bottom:9px!important;
    border-radius:12px!important;
  }
  .calendar-page-shell .calendar-agenda-dayhead{
    padding:9px 10px!important;
  }
  .calendar-page-shell .calendar-agenda-dayhead strong{font-size:11px!important}
  .calendar-page-shell .calendar-agenda-dayhead span{font-size:8.5px!important}
  .calendar-page-shell .calendar-agenda-row,
  .calendar-week-mobile-list .calendar-agenda-row,
  .calendar-month-mobile-events .calendar-agenda-row{
    grid-template-columns:6px 66px minmax(0,1fr) 24px!important;
    grid-template-rows:auto auto!important;
    gap:3px 8px!important;
    min-height:68px!important;
    padding:9px 8px!important;
    border-top:1px solid var(--line);
  }
  .calendar-page-shell .calendar-agenda-time,
  .calendar-week-mobile-list .calendar-agenda-time,
  .calendar-month-mobile-events .calendar-agenda-time{
    grid-column:2;
    grid-row:1;
    font-size:9.5px!important;
    align-self:start;
    padding-top:2px;
  }
  .calendar-page-shell .calendar-agenda-main,
  .calendar-week-mobile-list .calendar-agenda-main,
  .calendar-month-mobile-events .calendar-agenda-main{
    grid-column:3;
    grid-row:1;
  }
  .calendar-page-shell .calendar-agenda-main>strong,
  .calendar-week-mobile-list .calendar-agenda-main>strong,
  .calendar-month-mobile-events .calendar-agenda-main>strong{
    font-size:11.5px!important;
    line-height:1.25!important;
    white-space:normal!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .calendar-page-shell .calendar-agenda-main>span,
  .calendar-week-mobile-list .calendar-agenda-main>span,
  .calendar-month-mobile-events .calendar-agenda-main>span{
    font-size:9.5px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .calendar-page-shell .calendar-agenda-main>small{display:none!important}
  .calendar-page-shell .calendar-agenda-tags,
  .calendar-week-mobile-list .calendar-agenda-tags,
  .calendar-month-mobile-events .calendar-agenda-tags{
    grid-column:2/4!important;
    grid-row:2!important;
    justify-content:flex-start!important;
    padding-left:0!important;
    gap:4px!important;
  }
  .calendar-page-shell .calendar-source-badge,
  .calendar-page-shell .calendar-tag,
  .calendar-week-mobile-list .calendar-source-badge,
  .calendar-week-mobile-list .calendar-tag,
  .calendar-month-mobile-events .calendar-source-badge,
  .calendar-month-mobile-events .calendar-tag{
    padding:3px 6px!important;
    font-size:7.5px!important;
  }
  .calendar-page-shell .calendar-agenda-arrow,
  .calendar-week-mobile-list .calendar-agenda-arrow,
  .calendar-month-mobile-events .calendar-agenda-arrow{
    grid-column:4!important;
    grid-row:1/3!important;
    width:24px!important;
    height:24px!important;
    align-self:center;
    font-size:15px!important;
  }

  /* Week view: seven days remain one tap away, no horizontal timeline needed. */
  .calendar-week-desktop{display:none!important}
  .calendar-week-mobile{display:block!important}
  .calendar-page-shell .calendar-period-head{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:7px!important;
    padding:2px 2px 9px!important;
  }
  .calendar-page-shell .calendar-period-nav{gap:4px!important}
  .calendar-page-shell .calendar-period-nav button{
    width:38px!important;
    height:38px!important;
    border-radius:10px!important;
  }
  .calendar-page-shell .calendar-period-head h3{
    font-size:11px!important;
    line-height:1.25!important;
    text-align:center;
  }
  .calendar-page-shell .calendar-period-head>div:nth-child(2)>span{
    font-size:8.5px!important;
    text-align:center;
  }
  .calendar-page-shell .calendar-period-head>.secondary{
    min-height:38px!important;
    padding:0 9px!important;
    font-size:9.5px!important;
  }
  .calendar-week-mobile-days{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:4px!important;
    padding:1px 0 9px!important;
    overflow:visible!important;
  }
  .calendar-week-mobile-days button{
    min-width:0!important;
    min-height:51px;
    border-radius:10px!important;
    padding:5px 1px!important;
  }
  .calendar-week-mobile-days span{font-size:7.5px!important}
  .calendar-week-mobile-days strong{font-size:12px!important}

  /* Month view: real mobile month grid + selected-day agenda; no 650px horizontal scroll. */
  .calendar-page-shell .calendar-modern-month .classic-calendar-scroll{display:none!important}
  .calendar-month-mobile{display:block}
  .calendar-month-mobile-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:2px 2px 10px;
  }
  .calendar-month-mobile-head small{
    display:block;
    color:var(--muted);
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .calendar-month-mobile-head h3{
    margin:2px 0 0;
    font-size:16px;
    text-transform:capitalize;
  }
  .calendar-month-mobile-nav{
    display:flex;
    gap:4px;
  }
  .calendar-month-mobile-nav button{
    min-width:38px;
    height:38px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--card);
    color:var(--text);
    padding:0 8px;
    font:inherit;
    font-size:10px;
    font-weight:850;
  }
  .calendar-month-mobile-nav button:first-child,
  .calendar-month-mobile-nav button:last-child{
    width:38px;
    padding:0;
    font-size:20px;
  }
  .calendar-month-mobile-weekdays,
  .calendar-month-mobile-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:3px;
  }
  .calendar-month-mobile-weekdays{
    padding:0 1px 4px;
  }
  .calendar-month-mobile-weekdays span{
    text-align:center;
    color:var(--muted);
    font-size:8px;
    font-weight:900;
  }
  .calendar-month-mobile-day{
    position:relative;
    aspect-ratio:1;
    min-width:0;
    min-height:38px;
    border:1px solid transparent;
    border-radius:10px;
    background:transparent;
    color:var(--text);
    display:grid;
    place-items:center;
    font:inherit;
    cursor:pointer;
  }
  .calendar-month-mobile-day>span{
    font-size:11px;
    font-weight:800;
  }
  .calendar-month-mobile-day>em{
    position:absolute;
    right:3px;
    bottom:3px;
    min-width:14px;
    height:14px;
    padding:0 3px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:color-mix(in srgb,var(--accent) 12%,var(--card));
    color:var(--accent);
    font-style:normal;
    font-size:7px;
    font-weight:950;
  }
  .calendar-month-mobile-day.outside{opacity:.25;cursor:default}
  .calendar-month-mobile-day.today{
    border-color:color-mix(in srgb,var(--accent) 48%,var(--line));
    color:var(--accent);
  }
  .calendar-month-mobile-day.selected{
    background:#202837;
    border-color:#202837;
    color:#fff;
  }
  .calendar-month-mobile-day.selected>em{
    background:rgba(255,255,255,.18);
    color:#fff;
  }
  .calendar-month-mobile-selected-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:8px;
    margin-top:10px;
    padding:10px 2px 7px;
    border-top:1px solid var(--line);
  }
  .calendar-month-mobile-selected-head>div{display:grid;gap:1px}
  .calendar-month-mobile-selected-head strong{
    font-size:11px;
    text-transform:capitalize;
  }
  .calendar-month-mobile-selected-head small{
    color:var(--muted);
    font-size:8px;
  }
  .calendar-month-mobile-selected-head>span{
    color:var(--muted);
    font-size:8.5px;
    font-weight:800;
  }
  .calendar-month-mobile-events{
    border:1px solid var(--line);
    border-radius:11px;
    overflow:hidden;
  }
  .calendar-month-mobile-events>.admin-empty{border:0!important;margin:0!important}

  /* Side-rail event rows reused in mobile tools. */
  .calendar-mobile-tools .calendar-side-event{
    grid-template-columns:42px minmax(0,1fr) 18px!important;
    min-height:60px!important;
    padding:7px 1px!important;
  }
  .calendar-mobile-tools .calendar-side-date{height:44px!important}
  .calendar-mobile-tools .calendar-side-copy>strong{font-size:10.5px!important}
  .calendar-mobile-tools .calendar-side-copy>small,
  .calendar-mobile-tools .calendar-side-copy>span{font-size:8.5px!important}

  /* Event detail keeps every desktop action, but makes them thumb-friendly. */
  .calendar-event-detail{
    padding-bottom:calc(78px + env(safe-area-inset-bottom))!important;
  }
  .calendar-event-detail h2{
    padding-right:36px;
    font-size:21px!important;
    line-height:1.15;
  }
  .calendar-event-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin:12px 0!important;
  }
  .calendar-event-detail-item{
    padding:9px 10px!important;
    border-radius:11px!important;
  }
  .calendar-event-detail-item small{font-size:8px!important}
  .calendar-event-detail-item strong{font-size:11px!important}
  .calendar-event-detail-description{
    margin-top:11px!important;
    padding-top:11px!important;
    font-size:11px;
    line-height:1.55!important;
  }
  .calendar-reminder-box{
    margin-top:12px!important;
    padding:11px!important;
    border-radius:12px!important;
  }
  .calendar-event-detail-actions{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:20;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px!important;
    margin:0!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:var(--card);
    border-top:1px solid var(--line);
    box-shadow:0 -8px 22px rgba(0,0,0,.08);
  }
  .calendar-event-detail-actions button{
    width:100%;
    min-height:44px;
    padding:8px!important;
    font-size:10px!important;
  }
  .calendar-event-detail-actions .primary:last-child{
    grid-column:1/-1;
  }

  .calendar-modern-outlook-help summary{min-height:44px;font-size:10.5px!important}
  .calendar-modern-outlook-help p{font-size:10px!important;line-height:1.5}
}

@media(max-width:390px){
  .calendar-mobile-primary-actions.has-admin{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
  }
  .calendar-mobile-action{padding:6px 3px}
  .calendar-mobile-action>b{font-size:9.5px}
  .calendar-page-shell .calendar-modern-summary article{padding:8px!important;gap:7px!important}
  .calendar-page-shell .calendar-summary-icon{width:30px!important;height:30px!important}
  .calendar-month-mobile-day{min-height:35px}
  .calendar-event-detail-actions{grid-template-columns:1fr 1fr}
}


/* v1.19.22 RC97 — mobile-safe hero treatment for every preset
   Text remains on a solid red surface; the selected image gets its own
   dedicated image strip underneath. This prevents every preset from
   interfering with readability or mobile layout. */
@media(max-width:700px){
  .home-mobile-hero.has-photo{
    min-height:0!important;
    padding:19px 18px 122px!important;
    background:linear-gradient(120deg,#b90f1d 0%,#d92531 58%,#c91323 100%)!important;
    isolation:isolate;
  }

  /* Dedicated image zone below the live portal text. */
  .home-mobile-hero.has-photo:before{
    content:""!important;
    position:absolute!important;
    z-index:0!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:100%!important;
    height:104px!important;
    border-radius:0 0 18px 18px!important;
    opacity:1!important;
    filter:none!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
  }

  /* Soft red fade between text field and photograph. */
  .home-mobile-hero.has-photo:after{
    content:""!important;
    position:absolute!important;
    z-index:1!important;
    left:0!important;
    right:0!important;
    top:auto!important;
    bottom:75px!important;
    width:100%!important;
    height:31px!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#cf1827 0%,rgba(207,24,39,.72) 34%,rgba(207,24,39,0) 100%)!important;
    pointer-events:none;
  }

  .home-mobile-hero.has-photo>small,
  .home-mobile-hero.has-photo>h1,
  .home-mobile-hero.has-photo>p{
    position:relative!important;
    z-index:2!important;
  }

  /* Default now works the same way as every other selectable banner. */
  .home-hero-preset-default.home-mobile-hero.has-photo:before{
    background-image:url('../home-hero-industry.jpg')!important;
    background-position:center 48%!important;
  }

  /* Preset-specific focal points so important subjects stay visible on narrow screens. */
  .home-hero-preset-industri1.home-mobile-hero.has-photo:before{background-position:58% 52%!important}
  .home-hero-preset-industri2.home-mobile-hero.has-photo:before{background-position:61% 54%!important}
  .home-hero-preset-industri3.home-mobile-hero.has-photo:before{background-position:58% 50%!important}
  .home-hero-preset-industri4.home-mobile-hero.has-photo:before{background-position:58% 45%!important}

  .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before{background-position:51% 45%!important}
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before{background-position:51% 45%!important}
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before{background-position:51% 45%!important}
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before{background-position:51% 45%!important}
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before{background-position:52% 46%!important}
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{background-position:52% 46%!important}
}

@media(max-width:390px){
  .home-mobile-hero.has-photo{
    padding:18px 16px 111px!important;
  }
  .home-mobile-hero.has-photo:before{
    height:94px!important;
  }
  .home-mobile-hero.has-photo:after{
    bottom:67px!important;
    height:29px!important;
  }
}

/* When an admin opens Startsida on a phone, keep the preview compact even
   though the actual mobile hero now has a dedicated image strip. */
@media(max-width:700px){
  .home-hero-preview-panel .home-hero-mobile-preview.has-photo{
    padding:14px 13px 102px!important;
  }
  .home-hero-preview-panel .home-hero-mobile-preview.has-photo:before{
    height:86px!important;
  }
  .home-hero-preview-panel .home-hero-mobile-preview.has-photo:after{
    bottom:61px!important;
    height:27px!important;
  }
}


/* v1.19.22 RC98 — mobile hero preview + tighter image strip */

/* Real mobile: keep text compact and show more of the motif in a shallower strip. */
@media(max-width:700px){
  .home-mobile-hero.has-photo{
    padding:19px 18px 96px!important;
  }
  .home-mobile-hero.has-photo:before{
    height:80px!important;
    background-size:100% auto!important;
    background-position:center center!important;
  }
  .home-mobile-hero.has-photo:after{
    bottom:56px!important;
    height:26px!important;
  }

  .home-hero-preset-industri1.home-mobile-hero.has-photo:before{background-position:center 50%!important}
  .home-hero-preset-industri2.home-mobile-hero.has-photo:before{background-position:center 52%!important}
  .home-hero-preset-industri3.home-mobile-hero.has-photo:before{background-position:center 48%!important}
  .home-hero-preset-industri4.home-mobile-hero.has-photo:before{background-position:center 44%!important}
  .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{
    background-position:center 46%!important;
  }
}

@media(max-width:390px){
  .home-mobile-hero.has-photo{
    padding:18px 16px 88px!important;
  }
  .home-mobile-hero.has-photo:before{
    height:72px!important;
  }
  .home-mobile-hero.has-photo:after{
    bottom:50px!important;
    height:24px!important;
  }
}

/* Admin preview must simulate the mobile layout even on a desktop browser.
   Previously the real mobile treatment only existed inside max-width:700px,
   which made the preview misleading on desktop. */
.home-hero-preview-panel .home-hero-mobile-preview{
  position:relative!important;
  overflow:hidden!important;
  display:block!important;
  min-height:0!important;
  max-width:230px!important;
  padding:15px 14px 16px!important;
  border-radius:14px!important;
  background:linear-gradient(120deg,#b90f1d 0%,#d92531 58%,#c91323 100%)!important;
  color:#fff!important;
  isolation:isolate;
}
.home-hero-preview-panel .home-hero-mobile-preview.has-photo{
  padding-bottom:92px!important;
}
.home-hero-preview-panel .home-hero-mobile-preview.has-photo:before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  top:auto!important;
  width:100%!important;
  height:76px!important;
  border-radius:0 0 14px 14px!important;
  opacity:1!important;
  filter:none!important;
  background-repeat:no-repeat!important;
  background-size:100% auto!important;
  background-position:center center!important;
}
.home-hero-preview-panel .home-hero-mobile-preview.has-photo:after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:53px!important;
  width:100%!important;
  height:25px!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#cf1827 0%,rgba(207,24,39,.72) 34%,rgba(207,24,39,0) 100%)!important;
  pointer-events:none!important;
}
.home-hero-preview-panel .home-hero-mobile-preview>small,
.home-hero-preview-panel .home-hero-mobile-preview>h1,
.home-hero-preview-panel .home-hero-mobile-preview>p{
  position:relative!important;
  z-index:2!important;
  color:#fff!important;
}
.home-hero-preview-panel .home-hero-mobile-preview>small{font-size:6px!important}
.home-hero-preview-panel .home-hero-mobile-preview>h1{
  margin:6px 0!important;
  font-size:15px!important;
  line-height:1.08!important;
}
.home-hero-preview-panel .home-hero-mobile-preview>p{
  margin:0!important;
  font-size:8px!important;
  line-height:1.35!important;
}

/* Explicit preview images for every preset. Default intentionally has no photo. */
.home-hero-preview-panel .home-hero-preset-industri1.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri1.webp')!important}
.home-hero-preview-panel .home-hero-preset-industri2.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri2.webp')!important}
.home-hero-preview-panel .home-hero-preset-industri3.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri3.webp')!important}
.home-hero-preview-panel .home-hero-preset-industri4.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri4.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken1.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken2.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken3.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken4.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken5.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken6.webp')!important}

/* More of the subject should remain visible in preview too. */
.home-hero-preview-panel .home-hero-preset-industri1.home-mobile-hero.has-photo:before{background-position:center 50%!important}
.home-hero-preview-panel .home-hero-preset-industri2.home-mobile-hero.has-photo:before{background-position:center 52%!important}
.home-hero-preview-panel .home-hero-preset-industri3.home-mobile-hero.has-photo:before{background-position:center 48%!important}
.home-hero-preview-panel .home-hero-preset-industri4.home-mobile-hero.has-photo:before{background-position:center 44%!important}
.home-hero-preview-panel .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{
  background-position:center 46%!important;
}


/* v1.19.22 RC100 — simplified mobile calendar */
.calendar-mobile-status,
.calendar-mobile-more{display:none}

@media(max-width:760px){
  /* Hide desktop summary cards on mobile; use one compact status card instead. */
  .calendar-page-shell .calendar-modern-summary{display:none!important}
  .calendar-mobile-status{
    display:grid;
    grid-template-columns:minmax(0,1fr) 62px;
    gap:10px;
    align-items:center;
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--card);
  }
  .calendar-mobile-status-copy{
    min-width:0;
    display:grid;
    gap:2px;
  }
  .calendar-mobile-status-copy small{
    color:var(--muted);
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
  }
  .calendar-mobile-status-copy strong{
    overflow:hidden;
    font-size:12px;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .calendar-mobile-status-copy span{
    overflow:hidden;
    color:var(--muted);
    font-size:9px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .calendar-mobile-status-count{
    height:54px;
    border-left:1px solid var(--line);
    display:grid;
    place-content:center;
    text-align:center;
  }
  .calendar-mobile-status-count strong{
    font-size:20px;
    line-height:1;
  }
  .calendar-mobile-status-count span{
    margin-top:2px;
    color:var(--muted);
    font-size:8px;
  }

  /* Only creation actions remain visible at the top. Secondary tools are folded away. */
  .calendar-mobile-primary-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .calendar-mobile-primary-actions.has-admin{
    grid-template-columns:1fr 1fr!important;
  }
  .calendar-mobile-action{
    min-height:45px!important;
    border-radius:12px!important;
    box-shadow:none!important;
  }
  .calendar-mobile-action>span{font-size:16px!important}
  .calendar-mobile-action>b{font-size:10px!important}

  /* Keep the three view choices prominent; search and filters stay compact. */
  .calendar-page-shell .calendar-modern-controls{
    gap:7px!important;
  }
  .calendar-page-shell .calendar-modern-view-switcher{
    height:43px!important;
    border-radius:12px!important;
  }
  .calendar-page-shell .calendar-modern-view-switcher button{
    min-height:41px!important;
    font-size:11px!important;
  }
  .calendar-page-shell .calendar-modern-search{
    height:44px!important;
    border-radius:12px!important;
  }
  .calendar-page-shell .calendar-modern-search input{
    font-size:15px!important;
  }
  .calendar-page-shell .calendar-filter-chips{
    gap:5px!important;
    padding-bottom:1px!important;
  }
  .calendar-page-shell .calendar-filter-chip{
    min-height:35px!important;
    padding:0 9px!important;
    font-size:9.5px!important;
  }
  .calendar-page-shell .calendar-filter-chip b{
    font-size:8px!important;
  }

  /* Main calendar gets visual priority. */
  .calendar-page-shell .calendar-modern-panel{
    padding:7px!important;
    border-radius:13px!important;
  }
  .calendar-page-shell .calendar-now-banner{
    margin:0!important;
  }

  /* One collapsed panel replaces the previous large "Kalenderverktyg" section. */
  .calendar-mobile-tools{display:none!important}
  .calendar-mobile-more{
    display:block;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--card);
    overflow:hidden;
  }
  .calendar-mobile-more>summary{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:0 12px;
    cursor:pointer;
    list-style:none;
  }
  .calendar-mobile-more>summary::-webkit-details-marker{display:none}
  .calendar-mobile-more>summary>span{
    min-width:0;
    display:grid;
    gap:1px;
  }
  .calendar-mobile-more>summary strong{font-size:11px}
  .calendar-mobile-more>summary small{
    color:var(--muted);
    font-size:8.5px;
  }
  .calendar-mobile-more>summary>b{
    color:var(--muted);
    font-size:15px;
    transition:transform .15s ease;
  }
  .calendar-mobile-more[open]>summary>b{transform:rotate(180deg)}
  .calendar-mobile-more-body{
    display:grid;
    gap:7px;
    padding:0 10px 10px;
    border-top:1px solid var(--line);
  }
  .calendar-mobile-more-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    padding-top:9px;
  }
  .calendar-mobile-more-actions button{
    min-height:43px;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:8px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface-soft);
    color:var(--text);
    padding:7px 9px;
    text-align:left;
    font:inherit;
  }
  .calendar-mobile-more-actions button>span{
    width:28px;
    height:28px;
    border-radius:8px;
    display:grid;
    place-items:center;
    background:var(--card);
    border:1px solid var(--line);
    font-size:12px;
  }
  .calendar-mobile-more-actions button>b{font-size:10px}
  .calendar-mobile-outlook-note{
    display:grid;
    gap:3px;
    padding:9px;
    border-radius:10px;
    background:var(--surface-soft);
  }
  .calendar-mobile-outlook-note strong{font-size:10px}
  .calendar-mobile-outlook-note span{
    color:var(--muted);
    font-size:8.5px;
    line-height:1.4;
  }
  .calendar-mobile-list-details{
    border-top:1px solid var(--line);
  }
  .calendar-mobile-list-details>summary{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    list-style:none;
  }
  .calendar-mobile-list-details>summary::-webkit-details-marker{display:none}
  .calendar-mobile-list-details>summary>span{
    display:grid;
    gap:1px;
  }
  .calendar-mobile-list-details>summary strong{font-size:10.5px}
  .calendar-mobile-list-details>summary small{
    color:var(--muted);
    font-size:8px;
  }
  .calendar-mobile-list-details>summary>b{
    color:var(--muted);
    font-size:13px;
  }
  .calendar-mobile-list-details[open]>summary>b{transform:rotate(180deg)}
  .calendar-mobile-list-details>div{padding-bottom:5px}

  /* Outlook help already exists inside "Fler kalenderfunktioner" on mobile. */
  .calendar-page-shell .calendar-modern-outlook-help{display:none!important}

  /* Month grid stays clear and touch friendly. */
  .calendar-month-mobile-grid{gap:2px!important}
  .calendar-month-mobile-day{
    min-height:40px!important;
    border-radius:9px!important;
  }
  .calendar-month-mobile-selected-head{
    margin-top:8px!important;
    padding-top:9px!important;
  }

  /* Agenda rows: a little more breathing room and less tag noise. */
  .calendar-page-shell .calendar-agenda-row,
  .calendar-week-mobile-list .calendar-agenda-row,
  .calendar-month-mobile-events .calendar-agenda-row{
    min-height:72px!important;
    padding:10px 8px!important;
  }
  .calendar-page-shell .calendar-agenda-tags .calendar-tag:nth-of-type(n+2),
  .calendar-week-mobile-list .calendar-agenda-tags .calendar-tag:nth-of-type(n+2),
  .calendar-month-mobile-events .calendar-agenda-tags .calendar-tag:nth-of-type(n+2){
    display:none!important;
  }
}

@media(max-width:390px){
  .calendar-mobile-primary-actions.has-admin{
    grid-template-columns:1fr 1fr!important;
  }
  .calendar-mobile-status{
    grid-template-columns:minmax(0,1fr) 54px;
    padding:10px;
  }
}


/* v1.19.22 RC100 — Sandviken mobile framing */
@media(max-width:700px){
  .home-hero-preset-sandviken1.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo{
    padding-bottom:132px!important;
  }

  .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{
    height:116px!important;
    background-size:contain!important;
    background-position:center center!important;
    background-color:#b90f1d!important;
  }

  .home-hero-preset-sandviken1.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo:after{
    bottom:89px!important;
  }
}

/* Admin mobile preview mirrors the larger Sandviken framing. */
.home-hero-preview-panel .home-hero-preset-sandviken1.home-mobile-hero.has-photo,
.home-hero-preview-panel .home-hero-preset-sandviken2.home-mobile-hero.has-photo,
.home-hero-preview-panel .home-hero-preset-sandviken3.home-mobile-hero.has-photo,
.home-hero-preview-panel .home-hero-preset-sandviken4.home-mobile-hero.has-photo,
.home-hero-preview-panel .home-hero-preset-sandviken5.home-mobile-hero.has-photo,
.home-hero-preview-panel .home-hero-preset-sandviken6.home-mobile-hero.has-photo{
  padding-bottom:122px!important;
}
.home-hero-preview-panel .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before,
.home-hero-preview-panel .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{
  height:106px!important;
  background-size:contain!important;
  background-position:center center!important;
  background-color:#b90f1d!important;
}
.home-hero-preview-panel .home-hero-preset-sandviken1.home-mobile-hero.has-photo:after,
.home-hero-preview-panel .home-hero-preset-sandviken2.home-mobile-hero.has-photo:after,
.home-hero-preview-panel .home-hero-preset-sandviken3.home-mobile-hero.has-photo:after,
.home-hero-preview-panel .home-hero-preset-sandviken4.home-mobile-hero.has-photo:after,
.home-hero-preview-panel .home-hero-preset-sandviken5.home-mobile-hero.has-photo:after,
.home-hero-preview-panel .home-hero-preset-sandviken6.home-mobile-hero.has-photo:after{
  bottom:79px!important;
}


/* ==========================================================
   v1.19.22 RC101 — mobile calendar UX audit + seamless hero
   ========================================================== */

/* Mobile-only controls are hidden on desktop. */
.calendar-mobile-controls{display:none}

/* ---------- Calendar mobile ---------- */
@media(max-width:760px){
  /* Prevent accidental whole-page horizontal overflow. Intentional horizontal
     scrolling happens only inside filter/day rails. */
  .calendar-page-shell,
  .calendar-modern-page,
  .calendar-modern-layout,
  .calendar-modern-main,
  .calendar-modern-panel{
    min-width:0!important;
    max-width:100%!important;
  }
  .calendar-page-shell{overflow-x:clip!important}

  /* Simple hierarchy: create -> choose view -> optional search/filter -> calendar. */
  .calendar-desktop-controls{display:none!important}
  .calendar-mobile-controls{
    display:grid;
    gap:7px;
  }

  .calendar-mobile-controls .calendar-modern-view-switcher{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%!important;
    height:44px!important;
    padding:3px!important;
    border:1px solid var(--line)!important;
    border-radius:13px!important;
    background:var(--surface-soft)!important;
    overflow:hidden;
  }
  .calendar-mobile-controls .calendar-modern-view-switcher button{
    min-width:0!important;
    min-height:36px!important;
    padding:0 6px!important;
    border-radius:9px!important;
    font-size:11px!important;
    font-weight:900!important;
  }

  .calendar-mobile-filter-panel{
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--card);
    overflow:hidden;
  }
  .calendar-mobile-filter-panel>summary{
    display:grid;
    grid-template-columns:22px minmax(0,1fr) auto 18px;
    align-items:center;
    gap:6px;
    min-height:43px;
    padding:0 10px;
    list-style:none;
    cursor:pointer;
  }
  .calendar-mobile-filter-panel>summary::-webkit-details-marker{display:none}
  .calendar-mobile-filter-panel>summary>span{
    width:22px;height:22px;display:grid;place-items:center;
    color:var(--muted);font-size:14px;
  }
  .calendar-mobile-filter-panel>summary strong{font-size:10.5px}
  .calendar-mobile-filter-panel>summary em{
    padding:3px 6px;
    border-radius:999px;
    background:var(--accent-soft);
    color:var(--accent-soft-text);
    font-style:normal;
    font-size:7.5px;
    font-weight:900;
  }
  .calendar-mobile-filter-panel>summary>b{
    color:var(--muted);
    font-size:13px;
    transition:transform .15s ease;
  }
  .calendar-mobile-filter-panel[open]>summary>b{transform:rotate(180deg)}
  .calendar-mobile-filter-body{
    display:grid;
    gap:7px;
    padding:8px;
    border-top:1px solid var(--line);
  }
  .calendar-mobile-filter-body .calendar-modern-search{
    width:100%!important;
    height:43px!important;
    margin:0!important;
    border-radius:10px!important;
  }

  /* This rail MUST be horizontally swipeable on a phone. */
  .calendar-mobile-filter-body .calendar-filter-chips{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    max-width:100%!important;
    gap:6px!important;
    padding:1px 2px 5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    touch-action:pan-x;
    scrollbar-width:none;
  }
  .calendar-mobile-filter-body .calendar-filter-chips::-webkit-scrollbar{display:none}
  .calendar-mobile-filter-body .calendar-filter-chip,
  .calendar-mobile-filter-body .calendar-filter-reset{
    flex:0 0 auto!important;
    min-height:36px!important;
    white-space:nowrap!important;
    scroll-snap-align:start;
  }

  /* Creation actions remain obvious but compact. */
  .calendar-mobile-primary-actions{
    margin:0!important;
    gap:7px!important;
  }
  .calendar-mobile-action{
    min-height:44px!important;
    border-radius:11px!important;
    box-shadow:none!important;
  }

  /* Remove redundant dashboard-like summary cards and status cards. */
  .calendar-page-shell .calendar-modern-summary,
  .calendar-mobile-status{display:none!important}

  /* Current-event banner is only shown when it actually matters. */
  .calendar-now-banner{
    border-radius:11px!important;
    padding:9px 10px!important;
  }

  /* Month view */
  .calendar-page-shell .calendar-modern-month .classic-calendar-scroll{display:none!important}
  .calendar-month-mobile{
    display:block!important;
    width:100%;
    touch-action:pan-y;
  }
  .calendar-month-mobile-head{
    align-items:center!important;
    padding:3px 2px 9px!important;
  }
  .calendar-month-mobile-head small{
    font-size:7.5px!important;
    letter-spacing:.04em!important;
  }
  .calendar-month-mobile-head h3{
    margin-top:1px!important;
    font-size:16px!important;
  }
  .calendar-month-mobile-nav button{
    height:38px!important;
    min-width:38px!important;
    border-radius:10px!important;
  }
  .calendar-month-mobile-nav button:nth-child(2){
    min-width:48px!important;
  }
  .calendar-month-mobile-weekdays{
    gap:2px!important;
    margin-bottom:2px;
  }
  .calendar-month-mobile-weekdays span{
    font-size:8px!important;
  }
  .calendar-month-mobile-grid{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:3px!important;
    width:100%;
  }
  .calendar-month-mobile-day{
    width:100%!important;
    min-width:0!important;
    min-height:41px!important;
    aspect-ratio:1/1!important;
    border-radius:9px!important;
    touch-action:manipulation;
  }
  .calendar-month-mobile-day>span{font-size:11px!important}
  .calendar-month-mobile-day>em{
    right:3px!important;
    bottom:3px!important;
  }
  .calendar-month-mobile-selected-head{
    margin-top:9px!important;
    padding:9px 2px 6px!important;
  }
  .calendar-month-mobile-events{
    border-radius:10px!important;
  }

  /* Week view: readable day chips with real horizontal scrolling instead of
     squeezing seven tiny buttons into the screen. */
  .calendar-week-mobile{
    display:block!important;
    touch-action:pan-y;
  }
  .calendar-week-mobile-hint{
    margin:0 1px 5px;
    color:var(--muted);
    font-size:8px;
  }
  .calendar-week-mobile-days{
    display:flex!important;
    grid-template-columns:none!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    padding:1px 1px 7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    touch-action:pan-x;
    scrollbar-width:none;
  }
  .calendar-week-mobile-days::-webkit-scrollbar{display:none}
  .calendar-week-mobile-days button{
    flex:0 0 54px!important;
    width:54px!important;
    min-width:54px!important;
    min-height:58px!important;
    padding:6px 3px!important;
    border-radius:11px!important;
    scroll-snap-align:center;
  }
  .calendar-week-mobile-days span{font-size:8px!important}
  .calendar-week-mobile-days strong{font-size:14px!important}
  .calendar-period-head{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:6px!important;
    padding-bottom:7px!important;
  }
  .calendar-period-head h3{font-size:10.5px!important}
  .calendar-period-head>div:nth-child(2)>span{font-size:8px!important}

  /* Agenda/event rows: one clear information hierarchy per row. */
  .calendar-page-shell .calendar-agenda-row,
  .calendar-week-mobile-list .calendar-agenda-row,
  .calendar-month-mobile-events .calendar-agenda-row{
    grid-template-columns:5px 58px minmax(0,1fr) 22px!important;
    min-height:66px!important;
    gap:3px 7px!important;
    padding:9px 7px!important;
  }
  .calendar-page-shell .calendar-agenda-time,
  .calendar-week-mobile-list .calendar-agenda-time,
  .calendar-month-mobile-events .calendar-agenda-time{
    font-size:9px!important;
  }
  .calendar-page-shell .calendar-agenda-main>strong,
  .calendar-week-mobile-list .calendar-agenda-main>strong,
  .calendar-month-mobile-events .calendar-agenda-main>strong{
    font-size:11px!important;
  }
  .calendar-page-shell .calendar-agenda-main>span,
  .calendar-week-mobile-list .calendar-agenda-main>span,
  .calendar-month-mobile-events .calendar-agenda-main>span{
    font-size:9px!important;
  }

  /* Secondary functions stay available, but do not compete with the calendar. */
  .calendar-mobile-more{
    margin-top:0!important;
    border-radius:12px!important;
  }
  .calendar-mobile-more>summary{
    min-height:47px!important;
  }
  .calendar-mobile-more>summary strong{font-size:10.5px!important}
  .calendar-mobile-more>summary small{font-size:8px!important}
}

/* Small devices: preserve tap targets without forcing page overflow. */
@media(max-width:360px){
  .calendar-page-shell{padding-inline:0!important}
  .calendar-mobile-primary-actions.has-admin{gap:5px!important}
  .calendar-mobile-action{padding-inline:5px!important}
  .calendar-mobile-action>b{font-size:9.5px!important}
  .calendar-month-mobile-day{min-height:38px!important}
  .calendar-week-mobile-days button{
    flex-basis:52px!important;
    width:52px!important;
    min-width:52px!important;
  }
}

/* ---------- Seamless mobile hero (option 1) ---------- */
@media(max-width:700px){
  .home-mobile-hero.has-photo{
    position:relative!important;
    overflow:hidden!important;
    padding:19px 18px 126px!important;
    background:linear-gradient(120deg,#b90f1d 0%,#dc2930 66%,#c30f20 100%)!important;
    isolation:isolate;
  }

  /* Full-width, edge-to-edge image area. */
  .home-mobile-hero.has-photo:before{
    content:""!important;
    position:absolute!important;
    z-index:0!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:100%!important;
    height:116px!important;
    border-radius:0 0 18px 18px!important;
    opacity:1!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center center!important;
    background-color:transparent!important;
  }

  /* The red field fades naturally into the photograph. No hard seam. */
  .home-mobile-hero.has-photo:after{
    content:""!important;
    position:absolute!important;
    z-index:1!important;
    left:0!important;
    right:0!important;
    bottom:72px!important;
    top:auto!important;
    width:100%!important;
    height:46px!important;
    background:linear-gradient(180deg,#cb1525 0%,rgba(203,21,37,.88) 22%,rgba(203,21,37,.42) 58%,rgba(203,21,37,0) 100%)!important;
    pointer-events:none!important;
  }

  .home-mobile-hero.has-photo>small,
  .home-mobile-hero.has-photo>h1,
  .home-mobile-hero.has-photo>p{
    position:relative!important;
    z-index:2!important;
  }

  /* Sandviken uses dedicated mobile crops, edge-to-edge with no red gutters. */
  .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken1-mobile.webp')!important;background-position:center 48%!important}
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken2-mobile.webp')!important;background-position:center 48%!important}
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken3-mobile.webp')!important;background-position:center 48%!important}
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken4-mobile.webp')!important;background-position:center 48%!important}
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken5-mobile.webp')!important;background-position:center 49%!important}
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken6-mobile.webp')!important;background-position:center 49%!important}

  /* Cancel RC100's contain/taller-gutter treatment. */
  .home-hero-preset-sandviken1.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo{
    padding-bottom:126px!important;
  }
}

/* Admin mobile preview mirrors the real edge-to-edge mobile hero even on desktop. */
.home-hero-preview-panel .home-hero-mobile-preview.has-photo{
  padding-bottom:98px!important;
}
.home-hero-preview-panel .home-hero-mobile-preview.has-photo:before{
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:84px!important;
  border-radius:0 0 14px 14px!important;
  background-size:cover!important;
  background-position:center center!important;
}
.home-hero-preview-panel .home-hero-mobile-preview.has-photo:after{
  bottom:51px!important;
  height:35px!important;
  background:linear-gradient(180deg,#cb1525 0%,rgba(203,21,37,.82) 30%,rgba(203,21,37,0) 100%)!important;
}
.home-hero-preview-panel .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken1-mobile.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken2-mobile.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken3-mobile.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken4-mobile.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken5-mobile.webp')!important}
.home-hero-preview-panel .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken6-mobile.webp')!important}

/* Default mobile remains the intentionally plain red tile. */
.home-hero-preview-panel .home-hero-preset-default.home-mobile-hero:not(.has-photo):before,
.home-hero-preset-default.home-mobile-hero:not(.has-photo):before{
  content:none!important;
}


/* ==========================================================
   v1.19.22 RC102 — MOBILE HERO ROLLBACK
   Restore the mobile hero behavior from before the mobile-size
   experiments (RC97–RC101). Calendar/mobile menu changes remain.
   ========================================================== */
@media(max-width:700px){
  .home-mobile-hero,
  .home-mobile-hero.has-photo,
  .home-hero-preset-sandviken1.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo,
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo{
    position:relative!important;
    overflow:hidden!important;
    margin:0 0 12px!important;
    border-radius:18px!important;
    padding:21px 18px 22px!important;
    background:linear-gradient(120deg,#b90f1d,#dc2930)!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(160,17,29,.12)!important;
    isolation:auto!important;
  }

  .home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before,
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    width:auto!important;
    height:auto!important;
    border-radius:18px!important;
    opacity:.34!important;
    filter:none!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center center!important;
    background-color:transparent!important;
  }

  /* Use the original preset images, exactly as before the mobile-specific crops. */
  .home-hero-preset-industri1.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri1.webp')!important}
  .home-hero-preset-industri2.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri2.webp')!important}
  .home-hero-preset-industri3.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri3.webp')!important}
  .home-hero-preset-industri4.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/industri4.webp')!important}
  .home-hero-preset-sandviken1.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken1.webp')!important}
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken2.webp')!important}
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken3.webp')!important}
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken4.webp')!important}
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken5.webp')!important}
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo:before{background-image:url('home-hero-presets/sandviken6.webp')!important}

  /* Restore the original subtle decoration instead of the later image-strip fade. */
  .home-mobile-hero:after,
  .home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken1.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken2.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken3.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken4.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken5.home-mobile-hero.has-photo:after,
  .home-hero-preset-sandviken6.home-mobile-hero.has-photo:after{
    content:""!important;
    position:absolute!important;
    z-index:0!important;
    right:-38px!important;
    left:auto!important;
    top:-44px!important;
    bottom:auto!important;
    width:150px!important;
    height:150px!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.08)!important;
    pointer-events:none!important;
  }

  .home-mobile-hero.has-photo>*{
    position:relative!important;
    z-index:1!important;
  }

  /* Default is again a plain red mobile tile. */
  .home-hero-preset-default.home-mobile-hero:before{
    content:none!important;
  }
}

/* Admin mobile preview: mirror the restored pre-resize mobile behavior. */
.home-hero-preview-panel .home-hero-mobile-preview{
  position:relative!important;
  overflow:hidden!important;
  min-height:0!important;
  max-width:230px!important;
  padding:14px 13px!important;
  border-radius:14px!important;
  background:linear-gradient(120deg,#b90f1d,#dc2930)!important;
  color:#fff!important;
}
.home-hero-preview-panel .home-hero-mobile-preview.has-photo{
  padding:14px 13px!important;
}
.home-hero-preview-panel .home-hero-mobile-preview.has-photo:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:14px!important;
  opacity:.34!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.home-hero-preview-panel .home-hero-mobile-preview:after,
.home-hero-preview-panel .home-hero-mobile-preview.has-photo:after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  right:-28px!important;
  left:auto!important;
  top:-34px!important;
  bottom:auto!important;
  width:110px!important;
  height:110px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.08)!important;
}
.home-hero-preview-panel .home-hero-mobile-preview.has-photo>*{
  position:relative!important;
  z-index:1!important;
}
.home-hero-preview-panel .home-hero-preset-default.home-mobile-hero:before{
  content:none!important;
}


/* ==========================================================
   v1.19.22 RC103 — MOBILE CALENDAR HARD UI FIX
   Screenshot-driven cleanup: no duplicate controls, no clipped
   seventh day, no desktop controls leaking into mobile.
   ========================================================== */
@media(max-width:760px){

  /* ---- Geometry: nothing in the calendar may widen the page ---- */
  .calendar-page-shell,
  .calendar-page-shell *,
  .calendar-modern-page,
  .calendar-modern-layout,
  .calendar-modern-main,
  .calendar-modern-panel,
  .calendar-month-mobile,
  .calendar-week-mobile{
    box-sizing:border-box!important;
  }

  .calendar-page-shell{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .calendar-modern-page,
  .calendar-modern-layout,
  .calendar-modern-main,
  .calendar-modern-panel{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  /* ---- Critical duplicate-control fix ----
     Older calendar CSS used a more specific selector with display:flex!important,
     which is why the desktop controls were still visible in the screenshot. */
  .calendar-page-shell .calendar-desktop-controls,
  .calendar-page-shell .calendar-modern-controls.calendar-desktop-controls{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  .calendar-page-shell .calendar-mobile-controls{
    display:grid!important;
    visibility:visible!important;
    width:100%!important;
    gap:8px!important;
  }

  /* Exactly one Month / Week / Agenda selector. */
  .calendar-page-shell .calendar-mobile-controls>.calendar-modern-view-switcher{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    height:46px!important;
    margin:0!important;
    padding:3px!important;
    border:1px solid var(--line)!important;
    border-radius:13px!important;
    background:var(--surface-soft)!important;
    overflow:hidden!important;
  }

  .calendar-page-shell .calendar-mobile-controls>.calendar-modern-view-switcher button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:38px!important;
    margin:0!important;
    padding:0 5px!important;
    border-radius:9px!important;
    font-size:11px!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }

  /* Search and filters are secondary, collapsed into one control. */
  .calendar-page-shell .calendar-mobile-filter-panel{
    width:100%!important;
    margin:0!important;
    border:1px solid var(--line)!important;
    border-radius:12px!important;
    background:var(--card)!important;
    overflow:hidden!important;
  }

  .calendar-page-shell .calendar-mobile-filter-panel>summary{
    width:100%!important;
    min-height:44px!important;
    padding:0 11px!important;
  }

  .calendar-page-shell .calendar-mobile-filter-body{
    width:100%!important;
    min-width:0!important;
    padding:8px!important;
  }

  .calendar-page-shell .calendar-mobile-filter-body .calendar-modern-search{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    margin:0!important;
  }

  .calendar-page-shell .calendar-mobile-filter-body .calendar-modern-search input{
    width:100%!important;
    min-width:0!important;
    font-size:16px!important;
  }

  /* Horizontal filter strip works only inside itself. */
  .calendar-page-shell .calendar-mobile-filter-body .calendar-filter-chips{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:1px 1px 4px!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
  }
  .calendar-page-shell .calendar-mobile-filter-body .calendar-filter-chips::-webkit-scrollbar{display:none!important}

  .calendar-page-shell .calendar-mobile-filter-body .calendar-filter-chip,
  .calendar-page-shell .calendar-mobile-filter-body .calendar-filter-reset{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    min-height:36px!important;
    padding:0 10px!important;
    white-space:nowrap!important;
  }

  /* ---- Header/actions ---- */
  .calendar-page-shell>.page-title{
    margin-bottom:10px!important;
  }
  .calendar-page-shell>.page-title h1{
    margin:0!important;
    font-size:26px!important;
    line-height:1.05!important;
  }
  .calendar-page-shell>.page-title p{
    margin:6px 0 0!important;
    font-size:11px!important;
    line-height:1.4!important;
  }

  .calendar-page-shell .calendar-mobile-primary-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:7px!important;
    margin:0!important;
  }

  .calendar-page-shell .calendar-mobile-primary-actions.has-admin{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .calendar-page-shell .calendar-mobile-action{
    width:100%!important;
    min-width:0!important;
    min-height:45px!important;
    margin:0!important;
    padding:7px 8px!important;
    border-radius:11px!important;
    box-shadow:none!important;
  }

  /* Desktop dashboard summaries stay away from the mobile calendar. */
  .calendar-page-shell .calendar-modern-summary,
  .calendar-page-shell .calendar-mobile-status{
    display:none!important;
  }

  /* ---- Month view: seven columns MUST fit the viewport ---- */
  .calendar-page-shell .calendar-modern-month{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:9px!important;
    overflow:hidden!important;
    border-radius:14px!important;
  }

  .calendar-page-shell .calendar-modern-month .classic-calendar-scroll{
    display:none!important;
  }

  .calendar-page-shell .calendar-month-mobile{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .calendar-page-shell .calendar-month-mobile-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    width:100%!important;
    gap:8px!important;
    padding:1px 0 9px!important;
  }

  .calendar-page-shell .calendar-month-mobile-head>div:first-child{
    min-width:0!important;
  }

  .calendar-page-shell .calendar-month-mobile-head h3{
    margin:1px 0 0!important;
    font-size:17px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .calendar-page-shell .calendar-month-mobile-nav{
    display:grid!important;
    grid-template-columns:38px 48px 38px!important;
    gap:4px!important;
    flex:0 0 auto!important;
  }

  .calendar-page-shell .calendar-month-mobile-nav button{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    padding:0!important;
    border-radius:10px!important;
  }

  .calendar-page-shell .calendar-month-mobile-weekdays,
  .calendar-page-shell .calendar-month-mobile-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:3px!important;
    margin:0!important;
    padding:0!important;
  }

  .calendar-page-shell .calendar-month-mobile-weekdays{
    margin-bottom:3px!important;
  }

  .calendar-page-shell .calendar-month-mobile-weekdays span{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
    font-size:8px!important;
    font-weight:900!important;
  }

  .calendar-page-shell .calendar-month-mobile-day{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    aspect-ratio:auto!important;
    margin:0!important;
    padding:0!important;
    border-radius:9px!important;
    overflow:hidden!important;
    font-size:11px!important;
  }

  .calendar-page-shell .calendar-month-mobile-day>span{
    font-size:11px!important;
    line-height:1!important;
  }

  .calendar-page-shell .calendar-month-mobile-day>em{
    right:2px!important;
    bottom:2px!important;
    min-width:13px!important;
    height:13px!important;
    padding:0 3px!important;
    font-size:6.5px!important;
  }

  .calendar-page-shell .calendar-month-mobile-day.outside{
    background:var(--surface-soft)!important;
    border-color:var(--line)!important;
    opacity:.72!important;
  }

  .calendar-page-shell .calendar-month-mobile-day.selected{
    background:#252b38!important;
    border-color:#252b38!important;
    color:#fff!important;
  }

  .calendar-page-shell .calendar-month-mobile-selected-head{
    width:100%!important;
    margin:9px 0 0!important;
    padding:9px 1px 6px!important;
  }

  .calendar-page-shell .calendar-month-mobile-events{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  /* ---- Week view: intentional horizontal rail, nowhere else ---- */
  .calendar-page-shell .calendar-week-desktop{
    display:none!important;
  }

  .calendar-page-shell .calendar-week-mobile{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .calendar-page-shell .calendar-week-mobile-days{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:6px!important;
    margin:0!important;
    padding:1px 1px 7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
  }

  .calendar-page-shell .calendar-week-mobile-days::-webkit-scrollbar{display:none!important}

  .calendar-page-shell .calendar-week-mobile-days button{
    flex:0 0 54px!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    min-height:58px!important;
    padding:5px 2px!important;
    border-radius:10px!important;
  }

  /* ---- Agenda rows ---- */
  .calendar-page-shell .calendar-agenda-row,
  .calendar-page-shell .calendar-week-mobile-list .calendar-agenda-row,
  .calendar-page-shell .calendar-month-mobile-events .calendar-agenda-row{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:5px 55px minmax(0,1fr) 22px!important;
    gap:3px 7px!important;
    min-height:65px!important;
    padding:9px 7px!important;
  }

  .calendar-page-shell .calendar-agenda-main{
    min-width:0!important;
  }

  .calendar-page-shell .calendar-agenda-main>strong,
  .calendar-page-shell .calendar-agenda-main>span{
    max-width:100%!important;
  }

  /* ---- Secondary functions: available, but visually subordinate ---- */
  .calendar-page-shell .calendar-mobile-more{
    display:block!important;
    width:100%!important;
    margin:0!important;
    border-radius:12px!important;
  }

  .calendar-page-shell .calendar-mobile-more>summary{
    min-height:47px!important;
    padding:0 11px!important;
  }

  /* No desktop Outlook block on mobile; same feature is under "Fler". */
  .calendar-page-shell .calendar-modern-outlook-help{
    display:none!important;
  }
}

/* Very narrow phones */
@media(max-width:360px){
  .calendar-page-shell .calendar-modern-month{
    padding:7px!important;
  }

  .calendar-page-shell .calendar-month-mobile-weekdays,
  .calendar-page-shell .calendar-month-mobile-grid{
    gap:2px!important;
  }

  .calendar-page-shell .calendar-month-mobile-day{
    height:39px!important;
    min-height:39px!important;
  }

  .calendar-page-shell .calendar-month-mobile-nav{
    grid-template-columns:35px 44px 35px!important;
  }

  .calendar-page-shell .calendar-mobile-primary-actions.has-admin{
    gap:5px!important;
  }

  .calendar-page-shell .calendar-mobile-action b{
    font-size:9.5px!important;
  }
}


/* ==========================================================
   v1.19.22 RC106 — mobile search placement + KPI overview polish
   Based directly on RC103. Calendar CSS/JS unchanged.
   ========================================================== */
@media(max-width:700px){

  /* Search is now the first functional card on the mobile start page. */
  .mobile-home-search{
    margin:0 0 10px!important;
    padding:11px 12px!important;
    border-radius:15px!important;
    box-shadow:0 5px 14px rgba(25,31,43,.035)!important;
  }
  .mobile-home-search>strong{
    margin-bottom:7px!important;
    font-size:13px!important;
    line-height:1.2!important;
  }
  .mobile-home-search .mobile-search-box{
    min-height:44px!important;
    border-radius:11px!important;
  }
  .mobile-home-search .mobile-search-box input{
    min-width:0!important;
    font-size:16px!important;
  }
  .mobile-home-search .mobile-search-box button{
    min-width:58px!important;
    min-height:40px!important;
    padding-inline:10px!important;
    font-size:10px!important;
    font-weight:900!important;
  }

  /* The three KPI buttons now read as one unified overview strip. */
  .home-mobile-kpis{
    margin:0 0 11px!important;
  }
  .home-mobile-kpis .home-dashboard-kpis{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    overflow:hidden!important;
    border:1px solid var(--line)!important;
    border-radius:17px!important;
    background:var(--card)!important;
    box-shadow:0 7px 18px rgba(25,31,43,.045)!important;
  }

  .home-mobile-kpis .home-kpi{
    position:relative!important;
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    grid-template-rows:32px auto!important;
    align-items:center!important;
    align-content:center!important;
    justify-items:stretch!important;
    gap:6px 7px!important;
    min-width:0!important;
    min-height:88px!important;
    margin:0!important;
    padding:10px 9px 9px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-align:left!important;
  }

  .home-mobile-kpis .home-kpi:not(:last-child)::after{
    content:"";
    position:absolute;
    right:0;
    top:12px;
    bottom:12px;
    width:1px;
    background:var(--line);
  }

  .home-mobile-kpis .home-kpi:hover,
  .home-mobile-kpis .home-kpi:active{
    transform:none!important;
    box-shadow:none!important;
  }

  .home-mobile-kpis .home-kpi:active{
    background:var(--surface-soft)!important;
  }

  .home-mobile-kpis .home-kpi-icon{
    grid-column:1!important;
    grid-row:1!important;
    width:32px!important;
    height:32px!important;
    border-radius:10px!important;
    font-size:15px!important;
  }

  .home-mobile-kpis .home-kpi-copy{
    grid-column:1 / -1!important;
    grid-row:1 / 3!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    grid-template-rows:32px auto!important;
    align-items:center!important;
    gap:6px 7px!important;
    text-align:left!important;
    pointer-events:none;
  }

  .home-mobile-kpis .home-kpi-copy>span{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:100%!important;
    margin:0!important;
  }

  .home-mobile-kpis .home-kpi-copy strong{
    font-size:24px!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
    font-weight:900!important;
  }

  .home-mobile-kpis .home-kpi-copy>b{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    font-size:9px!important;
    line-height:1.22!important;
    font-weight:850!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }

  .home-mobile-kpis .home-kpi-copy small,
  .home-mobile-kpis .home-kpi>i{
    display:none!important;
  }

  /* Keep the semantic color cue, but much more restrained. */
  .home-mobile-kpis .home-kpi-calendar .home-kpi-icon{background:#ffe9eb!important;color:#c51c2b!important}
  .home-mobile-kpis .home-kpi-docs .home-kpi-icon{background:#e8f1ff!important;color:#1854a6!important}
  .home-mobile-kpis .home-kpi-messages .home-kpi-icon{background:#e1f8ea!important;color:#087638!important}
}

@media(max-width:360px){
  .home-mobile-kpis .home-kpi{
    min-height:86px!important;
    padding:9px 7px 8px!important;
  }
  .home-mobile-kpis .home-kpi-copy strong{
    font-size:21px!important;
  }
  .home-mobile-kpis .home-kpi-copy>b{
    font-size:8.3px!important;
  }
}


/* v1.19.22 RC108 — independent welcome banners for desktop/mobile */
.home-hero-active-devices{
  display:grid;
  grid-template-columns:repeat(2,minmax(145px,1fr));
  gap:7px;
}
.home-hero-device-help{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 12px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
}
.home-hero-device-help>span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:9px;
}
.home-hero-device-help>small{
  flex:1 1 220px;
  color:var(--muted);
  font-size:8.5px;
}
.home-hero-library .home-hero-choice{
  grid-template-rows:auto auto auto!important;
}
.home-hero-device-picks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  padding:0 8px 8px;
}
.home-hero-device-pick{
  position:relative;
  display:grid;
  grid-template-columns:18px minmax(0,1fr) 14px;
  align-items:center;
  gap:4px;
  min-height:34px;
  padding:5px 6px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--card);
  color:var(--muted);
  cursor:pointer;
}
.home-hero-device-pick:hover{
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line));
  background:var(--surface-soft);
}
.home-hero-device-pick>input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.home-hero-device-pick>span{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:6px;
  background:var(--surface-soft);
  font-size:10px;
}
.home-hero-device-pick>b{
  min-width:0;
  font-size:8.5px;
  line-height:1.15;
}
.home-hero-device-pick>em{
  display:grid;
  place-items:center;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--accent);
  color:var(--accent-foreground);
  font-size:8px;
  font-style:normal;
  font-weight:950;
}
.home-hero-device-pick.selected{
  border-color:color-mix(in srgb,var(--accent) 52%,var(--line));
  background:color-mix(in srgb,var(--accent) 7%,var(--card));
  color:var(--text);
}
.home-hero-preview-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  margin-bottom:4px;
}
.home-hero-preview-title .home-hero-preview-label{
  margin:0!important;
}
.home-hero-preview-title>b{
  overflow:hidden;
  color:var(--muted);
  font-size:8px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:1120px){
  .home-hero-active-devices{
    width:100%;
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:700px){
  .home-hero-admin-head .home-hero-active-devices{
    width:100%;
  }
  .home-hero-device-picks{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:390px){
  .home-hero-active-devices{
    grid-template-columns:1fr;
  }
}


/* v1.19.22 RC110 — document request list state */
.document-request-admin-state{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
}
.document-request-admin-state>span{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--card);
  border:1px solid var(--line);
  color:var(--muted);
  font-weight:900;
}
.document-request-admin-state>div{
  min-width:0;
  display:grid;
  gap:3px;
}
.document-request-admin-state strong{font-size:10.5px}
.document-request-admin-state p{
  margin:0;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}
.document-request-admin-state button{
  justify-self:start;
  margin-top:5px;
}
.document-request-admin-state.is-error>span{
  color:var(--danger,#b42318);
}
.document-request-loading-dot{
  position:relative;
}
.document-request-loading-dot:after{
  content:"";
  width:10px;
  height:10px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:documentRequestSpin .8s linear infinite;
}
@keyframes documentRequestSpin{to{transform:rotate(360deg)}}


/* v1.19.22 RC111 — expanded news cover library */
.news-cover-picker-library{display:grid;gap:14px}
.news-cover-grid-auto{grid-template-columns:minmax(0,520px)!important}
.news-cover-group{display:grid;gap:7px}
.news-cover-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}
.news-cover-group-head strong{font-size:11px}
.news-cover-group-head span{color:var(--muted);font-size:8.5px;font-weight:800}
.news-cover-group .news-cover-grid{margin:0!important}
.news-cover-group .news-cover-choice{min-height:72px!important;padding:7px!important;grid-template-columns:68px minmax(0,1fr)!important;gap:8px!important}
.news-cover-group .news-cover-thumb{width:68px!important;height:52px!important;border-radius:9px!important;overflow:hidden!important}
.news-cover-group .news-cover-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}
.news-cover-group .news-cover-choice b{font-size:10.5px!important}
.news-cover-group .news-cover-choice small{font-size:8.5px!important}
@media(max-width:700px){
  .news-cover-picker-library{gap:12px}
  .news-cover-grid-auto{grid-template-columns:1fr!important}
  .news-cover-group .news-cover-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .news-cover-group .news-cover-choice{grid-template-columns:58px minmax(0,1fr)!important;min-height:66px!important;padding:6px!important}
  .news-cover-group .news-cover-thumb{width:58px!important;height:46px!important}
  .news-cover-group .news-cover-choice b{font-size:9.5px!important}
  .news-cover-group .news-cover-choice small{display:none!important}
}
@media(max-width:430px){
  .news-cover-group .news-cover-grid{grid-template-columns:1fr!important}
  .news-cover-group .news-cover-choice{grid-template-columns:76px minmax(0,1fr)!important}
  .news-cover-group .news-cover-thumb{width:76px!important;height:50px!important}
  .news-cover-group .news-cover-choice small{display:block!important}
}


/* v1.19.22 RC112 — editable welcome banner text */
.home-hero-text-editor{
  margin:10px 0 12px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--card);
}
.home-hero-text-editor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.home-hero-text-editor-head h3{
  margin:0;
  font-size:12px;
}
.home-hero-text-editor-head p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}
.home-hero-text-editor-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.home-hero-text-device-card{
  min-width:0;
  margin:0;
  padding:9px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-soft);
}
.home-hero-text-device-card legend{
  padding:0 5px;
  color:var(--text);
  font-size:9.5px;
  font-weight:900;
}
.home-hero-text-device-card legend span{
  margin-right:4px;
  color:var(--muted);
}
.home-hero-text-device-card label{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 8px;
  align-items:end;
  margin-top:7px;
  color:var(--text);
  font-size:9px;
  font-weight:850;
}
.home-hero-text-device-card label:first-of-type{margin-top:2px}
.home-hero-text-device-card label>small{
  color:var(--muted);
  font-size:7.5px;
  font-weight:650;
}
.home-hero-text-device-card input,
.home-hero-text-device-card textarea{
  grid-column:1 / -1;
  width:100%;
  min-width:0;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--card);
  color:var(--text);
  padding:7px 8px;
  font:inherit;
  font-size:10px;
  line-height:1.35;
  resize:vertical;
}
.home-hero-text-device-card input{
  min-height:37px;
  resize:none;
}
.home-hero-text-device-card textarea{
  min-height:50px;
}
.home-hero-text-device-card input:focus,
.home-hero-text-device-card textarea:focus{
  outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);
  outline-offset:1px;
  border-color:color-mix(in srgb,var(--accent) 50%,var(--line));
}
.home-hero-preview-panel .home-dashboard-hero-copy h1,
.home-hero-preview-panel .home-dashboard-hero-copy p,
.home-hero-preview-panel .home-mobile-hero h1,
.home-hero-preview-panel .home-mobile-hero p{
  white-space:normal!important;
  overflow-wrap:anywhere;
}
@media(max-width:920px){
  .home-hero-text-editor-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .home-hero-text-editor{
    padding:9px;
  }
  .home-hero-text-device-card input,
  .home-hero-text-device-card textarea{
    font-size:16px;
  }
}

/* v1.19.22 RC114 — news cover library optimized for start-page cards */
.home-dashboard-news-media img.home-news-library-card{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  padding:0!important;
  background:#eceff2!important;
}
.home-focus-news-media img.home-news-library-wide{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  padding:0!important;
  background:var(--surface-soft)!important;
}
.news-cover-thumb img{
  object-fit:cover!important;
}


/* v1.19.22 RC115 — separate article image and home-card image for news */
.home-dashboard-news-media img.home-news-dedicated-card-image{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center;
}
.news-image-split-section{
  display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);
}
.news-image-split-section.is-home-card{
  border-color:color-mix(in srgb,var(--red) 16%,var(--line));
  background:color-mix(in srgb,var(--red) 2.5%,var(--card));
}
.news-image-split-head{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start}
.news-image-split-step{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);font-size:11px;font-weight:950;color:var(--red)}
.news-image-split-head>div{min-width:0;display:grid;gap:3px}
.news-image-split-head .form-help-text{margin:0}
.news-card-current{display:grid;gap:7px}
.news-admin-card-image{max-width:280px}
.news-admin-card-image img{height:180px!important;object-fit:cover!important}
.news-card-image-missing{min-height:82px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--muted);font-size:10px}
.news-card-image-upload strong{font-size:12px}
@media(max-width:700px){
  .news-image-split-section{padding:11px;border-radius:12px}
  .news-image-split-head{grid-template-columns:27px minmax(0,1fr);gap:7px}
  .news-image-split-step{width:25px;height:25px;border-radius:8px;font-size:10px}
  .news-admin-card-image{max-width:none}
}


/* ==========================================================
   v1.19.22 RC116 — Senaste nytt admin UI review
   Calm editor layout + premium cover library
   ========================================================== */
.news-admin-form-v2 .news-editor-shell{
  padding:0!important;
  overflow:visible!important;
}
.news-admin-form-v2 .news-editor-head{
  padding:16px 18px 14px!important;
  margin:0!important;
  border-bottom:1px solid var(--line);
  background:var(--card);
  border-radius:16px 16px 0 0;
}
.news-editor-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(250px,.72fr);
  gap:14px;
  padding:14px;
  background:var(--surface-soft);
}
.news-editor-main,.news-editor-side{display:grid;gap:12px;align-content:start;min-width:0}
.news-editor-section,.news-editor-side-card{
  min-width:0;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--card);
  padding:14px;
  box-shadow:0 4px 12px rgba(20,29,42,.025);
}
.news-editor-section-head,.news-editor-side-head{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:12px;
}
.news-editor-section-head>span,.news-editor-side-head>span{
  flex:0 0 28px;
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:9px;
  background:var(--accent-soft);
  color:var(--accent-soft-text);
  font-size:10px;font-weight:950;
}
.news-editor-section-head h4,.news-editor-side-head h4{margin:0;font-size:13px;line-height:1.2}
.news-editor-section-head p,.news-editor-side-head p{margin:2px 0 0;color:var(--muted);font-size:9px;line-height:1.35}
.news-editor-fields{display:grid;grid-template-columns:1fr;gap:10px}
.news-editor-fields label,.news-editor-upload{min-width:0}
.news-editor-fields textarea{resize:vertical}
.news-editor-existing{display:grid;gap:7px;margin-top:10px}
.news-editor-existing>strong,.news-card-current>strong{font-size:9.5px}
.news-editor-upload>.upload{
  min-height:82px!important;
  border-radius:11px!important;
  padding:12px!important;
}
.news-editor-upload>.upload strong{font-size:10.5px!important}
.news-editor-upload>.upload span{font-size:8.5px!important;line-height:1.35!important}
.news-home-image-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.42fr);gap:10px;align-items:start}
.news-card-current{display:grid;gap:6px;min-width:0}
.news-card-current .news-admin-card-image{margin:0!important}

.news-target-all-choice{margin:0 0 8px!important}
.news-target-all-choice span{display:grid!important;gap:1px!important}
.news-target-all-choice small{color:var(--muted);font-size:8px}
.news-editor-side-card>.form-help-text{margin:7px 0 0!important;font-size:8.5px!important}
.news-attachments-card{padding:0!important;overflow:hidden}
.news-attachments-card>summary{
  min-height:54px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:0 12px;
  list-style:none;cursor:pointer;
}
.news-attachments-card>summary::-webkit-details-marker{display:none}
.news-attachments-card>summary>span{display:grid;gap:2px;min-width:0}
.news-attachments-card>summary strong{font-size:10.5px}
.news-attachments-card>summary small{color:var(--muted);font-size:8px}
.news-attachments-card>summary>b{color:var(--muted);font-size:14px;transition:transform .15s ease}
.news-attachments-card[open]>summary>b{transform:rotate(180deg)}
.news-editor-side-body{display:grid;gap:8px;padding:0 11px 11px;border-top:1px solid var(--line)}
.news-editor-side-body>.news-editor-upload{margin-top:9px}
.news-editor-tip{
  display:flex;gap:9px;align-items:flex-start;
  padding:11px;
  border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 4%,var(--card));
}
.news-editor-tip>span{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-foreground);font-size:9px;font-weight:950}
.news-editor-tip strong{font-size:9.5px}.news-editor-tip p{margin:2px 0 0;color:var(--muted);font-size:8.3px;line-height:1.45}
.news-editor-actions{margin:0!important;padding:10px 14px!important;border-radius:0 0 16px 16px!important;border-top:1px solid var(--line)!important;background:color-mix(in srgb,var(--card) 95%,transparent)!important}
.news-editor-actions .primary{min-width:150px}

/* Cover library is hidden until needed, then shown as a visual picker. */
.news-cover-library-disclosure{
  margin-top:11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
  overflow:hidden;
}
.news-cover-library-disclosure>summary{
  min-height:54px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:7px 11px;
  cursor:pointer;list-style:none;
}
.news-cover-library-disclosure>summary::-webkit-details-marker{display:none}
.news-cover-library-disclosure>summary>span{display:grid;gap:2px;min-width:0}
.news-cover-library-disclosure>summary strong{font-size:10.5px}
.news-cover-library-disclosure>summary small{color:var(--muted);font-size:8px;line-height:1.3}
.news-cover-library-disclosure>summary>b{color:var(--muted);font-size:14px;transition:transform .15s ease}
.news-cover-library-disclosure[open]>summary>b{transform:rotate(180deg)}
.news-cover-library-disclosure>.news-cover-picker{padding:10px;border-top:1px solid var(--line);background:var(--card)}
.news-cover-picker-v2{display:grid;gap:8px!important}
.news-cover-auto-v2{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;
  gap:8px;align-items:center;
  min-height:52px;padding:7px 9px;
  border:1px solid var(--line);border-radius:10px;background:var(--surface);
  cursor:pointer;
}
.news-cover-auto-v2 input{position:absolute;opacity:0;pointer-events:none}
.news-cover-auto-v2 .news-cover-auto-icon{width:34px;height:34px;border-radius:9px;font-size:13px}
.news-cover-auto-v2>span:nth-child(3){display:grid;gap:1px}
.news-cover-auto-v2 b{font-size:9.5px}.news-cover-auto-v2 small{color:var(--muted);font-size:8px;line-height:1.25}
.news-cover-auto-v2>i{opacity:0;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--accent-foreground);font-style:normal;font-size:9px;font-weight:950}
.news-cover-auto-v2:has(input:checked){border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--card))}
.news-cover-auto-v2:has(input:checked)>i{opacity:1}
.news-cover-groups-v2{display:grid;gap:6px}
.news-cover-group-v2{border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:hidden}
.news-cover-group-v2>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;cursor:pointer;list-style:none}
.news-cover-group-v2>summary::-webkit-details-marker{display:none}
.news-cover-group-v2>summary>span{display:flex;align-items:baseline;gap:7px}.news-cover-group-v2>summary strong{font-size:9.5px}.news-cover-group-v2>summary small{color:var(--muted);font-size:7.5px}.news-cover-group-v2>summary>b{color:var(--muted);font-size:13px;transition:transform .15s ease}.news-cover-group-v2[open]>summary>b{transform:rotate(180deg)}
.news-cover-grid-v2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0 8px 8px}
.news-cover-grid-v2 .news-cover-choice{
  display:grid!important;
  grid-template-columns:1fr 18px!important;
  grid-template-rows:auto auto!important;
  gap:5px 4px!important;
  min-height:0!important;
  padding:6px!important;
  border-radius:10px!important;
  background:var(--surface)!important;
}
.news-cover-grid-v2 .news-cover-choice input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.news-cover-grid-v2 .news-cover-thumb{
  grid-column:1/-1!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:12/13!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#e9ecef!important;
}
.news-cover-grid-v2 .news-cover-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;padding:0!important;background:none!important}
.news-cover-choice-copy{grid-column:1!important;display:grid!important;gap:1px!important;min-width:0!important;padding:0!important}
.news-cover-choice-copy b{font-size:8.8px!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news-cover-choice-copy small{font-size:7.3px!important;color:var(--muted)!important}
.news-cover-check{grid-column:2!important;align-self:center;justify-self:end;display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-foreground);font-size:8px;font-weight:950;opacity:0}
.news-cover-grid-v2 .news-cover-choice:has(input:checked){border-color:var(--accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 13%,transparent)!important}
.news-cover-grid-v2 .news-cover-choice:has(input:checked) .news-cover-check{opacity:1}

/* Clean news list overview. */
.news-admin-page-v2{display:grid;gap:12px}
.news-admin-toolbar-v2{margin-bottom:0!important}
.news-admin-list-v2{display:grid;gap:8px}
.news-admin-row-v2{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) auto;
  gap:11px;align-items:center;
  min-height:92px;
  padding:8px;
  border:1px solid var(--line);border-radius:13px;background:var(--card);
}
.news-admin-row-media{width:92px;height:78px;border-radius:9px;overflow:hidden;background:var(--surface-soft)}
.news-admin-row-media img,.news-admin-row-media .home-news-fallback{width:100%;height:100%;object-fit:cover!important;padding:0!important;background:none!important}
.news-admin-row-copy{display:grid;gap:3px;min-width:0}
.news-admin-row-meta{display:flex;align-items:center;gap:7px;min-width:0}.news-admin-row-meta>span:last-child{color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news-admin-row-copy>strong{font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news-admin-row-copy>p{margin:0;color:var(--muted);font-size:8.8px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-admin-row-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.news-admin-row-tags span{padding:3px 6px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:7.3px;font-weight:800}
.news-admin-row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.news-admin-row-actions .small{min-height:32px!important}

@media(max-width:1100px){
  .news-editor-grid{grid-template-columns:1fr}
  .news-editor-side{grid-template-columns:1fr 1fr}.news-editor-tip{grid-column:1/-1}
  .news-cover-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .news-editor-grid{padding:9px;gap:9px}.news-editor-side{grid-template-columns:1fr}.news-editor-section,.news-editor-side-card{padding:11px}
  .news-home-image-layout{grid-template-columns:1fr}
  .news-cover-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-admin-row-v2{grid-template-columns:72px minmax(0,1fr);gap:8px}.news-admin-row-media{width:72px;height:72px}.news-admin-row-actions{grid-column:1/-1;justify-content:flex-start;padding-top:2px}
  .news-editor-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.news-editor-actions .primary{min-width:0!important}
}
@media(max-width:380px){
  .news-cover-grid-v2{grid-template-columns:1fr 1fr}
  .news-cover-choice-copy b{font-size:8px!important}.news-cover-choice-copy small{display:none!important}
}

/* ==========================================================
   v1.19.22 RC117 — calm Senaste nytt admin + reliable card source
   ========================================================== */
.news-admin-form-v3 .news-editor-shell{
  max-width:980px!important;
  margin:0 auto!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.news-admin-form-v3 .news-editor-head{
  padding:14px 16px!important;
  border-bottom:1px solid var(--line)!important;
}
.news-admin-form-v3 .news-editor-head p{
  max-width:650px!important;
  margin-top:4px!important;
  font-size:9.5px!important;
}
.news-admin-form-v3 .news-editor-grid{
  grid-template-columns:1fr!important;
  max-width:920px!important;
  margin:0 auto!important;
  padding:12px 14px 16px!important;
  gap:10px!important;
}
.news-admin-form-v3 .news-editor-main{
  gap:10px!important;
}
.news-admin-form-v3 .news-editor-side{
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.news-admin-form-v3 .news-editor-tip{display:none!important}
.news-admin-form-v3 .news-editor-section,
.news-admin-form-v3 .news-editor-side-card{
  padding:13px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:var(--card)!important;
  box-shadow:none!important;
}
.news-admin-form-v3 .news-editor-section-head,
.news-admin-form-v3 .news-editor-side-head{
  grid-template-columns:1fr!important;
  gap:0!important;
  margin-bottom:10px!important;
  padding-bottom:8px!important;
  border-bottom:1px solid var(--line)!important;
}
.news-admin-form-v3 .news-editor-section-head>span,
.news-admin-form-v3 .news-editor-side-head>span{display:none!important}
.news-admin-form-v3 .news-editor-section-head h4,
.news-admin-form-v3 .news-editor-side-head h4{
  font-size:12.5px!important;
  letter-spacing:0!important;
}
.news-admin-form-v3 .news-editor-section-head p,
.news-admin-form-v3 .news-editor-side-head p{
  margin-top:2px!important;
  font-size:8.8px!important;
}
.news-admin-form-v3 .news-editor-fields{gap:9px!important}
.news-admin-form-v3 textarea{min-height:88px!important}
.news-admin-form-v3 #newsDetailBody{min-height:150px!important}
.news-admin-form-v3 .news-editor-upload>.upload{
  min-height:62px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  background:var(--surface-soft)!important;
}

/* Startsidesbild: one explicit source, no competing controls. */
.news-card-source-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-bottom:9px;
}
.news-card-source-tab{
  position:relative;
  min-width:0;
  min-height:54px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  cursor:pointer;
}
.news-card-source-tab input{
  position:absolute!important;
  width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important;
}
.news-card-source-tab span{font-size:10px;font-weight:900}
.news-card-source-tab small{color:var(--muted);font-size:7.8px;line-height:1.2}
.news-card-source-tab:has(input:checked){
  border-color:color-mix(in srgb,var(--accent) 58%,var(--line));
  background:color-mix(in srgb,var(--accent) 7%,var(--card));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 13%,transparent);
}
.news-card-source-summary{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:94px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface-soft);
}
.news-card-preview{
  width:88px;
  height:78px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:9px;
  background:var(--card);
  border:1px solid var(--line);
}
.news-card-preview img{width:100%;height:100%;object-fit:cover;display:block}
.news-card-preview-empty{padding:7px;color:var(--muted);font-size:7.5px;line-height:1.3;text-align:center}
.news-card-source-copy{display:grid;gap:3px}
.news-card-source-copy strong{font-size:10.5px}
.news-card-source-copy p{margin:0;color:var(--muted);font-size:8.6px;line-height:1.4}
.news-card-source-panel{display:none;margin-top:9px}
.news-card-source-panel.is-active{display:block}
.news-card-source-note{display:block;margin-top:6px;color:var(--muted);font-size:8px}
.news-card-auto-note{
  display:flex;gap:9px;align-items:flex-start;padding:10px;
  border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)
}
.news-card-auto-note>span{
  flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;
  border-radius:50%;background:var(--card);color:var(--accent);font-weight:900
}
.news-card-auto-note strong{font-size:9.5px}
.news-card-auto-note p{margin:2px 0 0;color:var(--muted);font-size:8.2px;line-height:1.4}

/* Cover library: larger, calmer thumbnails. */
.news-admin-form-v3 .news-cover-library-clean{display:grid;gap:7px!important}
.news-admin-form-v3 .news-cover-group-v2{border-radius:10px!important}
.news-admin-form-v3 .news-cover-group-v2>summary{min-height:42px!important;padding:0 10px!important}
.news-admin-form-v3 .news-cover-grid-v2{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding:8px!important;
}
.news-admin-form-v3 .news-cover-choice-clean{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  gap:0!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:var(--card)!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-thumb{
  width:100%!important;
  height:auto!important;
  aspect-ratio:12 / 13!important;
  border-radius:0!important;
  background:#e9e9eb!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-thumb img{
  width:100%!important;height:100%!important;object-fit:cover!important;padding:0!important
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-choice-copy{
  padding:7px 8px!important;
  min-height:34px!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-choice-copy b{
  font-size:9px!important;
  line-height:1.2!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-check{
  position:absolute!important;
  top:7px!important;right:7px!important;
  width:20px!important;height:20px!important;
  border-radius:50%!important;
  background:var(--accent)!important;
  color:var(--accent-foreground)!important;
  display:none!important;
  place-items:center!important;
  font-size:9px!important;
  font-weight:950!important;
}
.news-admin-form-v3 .news-cover-choice-clean:has(input:checked){
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)!important;
}
.news-admin-form-v3 .news-cover-choice-clean:has(input:checked) .news-cover-check{display:grid!important}
.news-admin-form-v3 .news-cover-choice-clean input[type='radio']{
  position:absolute!important;width:1px!important;height:1px!important;opacity:0!important
}

/* List view: information first, actions second. */
.news-admin-page-v2 .news-admin-list-v2{gap:6px!important}
.news-admin-page-v2 .news-admin-row-v2{
  min-height:86px!important;
  grid-template-columns:82px minmax(0,1fr) auto!important;
  gap:10px!important;
  padding:7px!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
.news-admin-page-v2 .news-admin-row-media{
  width:82px!important;height:72px!important;border-radius:8px!important
}
.news-admin-page-v2 .news-admin-row-copy>strong{font-size:11px!important}
.news-admin-page-v2 .news-admin-row-copy>p{-webkit-line-clamp:1!important;font-size:8.5px!important}
.news-admin-page-v2 .news-admin-row-tags{display:none!important}
.news-admin-page-v2 .news-admin-row-actions{gap:5px!important}

@media(max-width:820px){
  .news-admin-form-v3 .news-editor-side{grid-template-columns:1fr!important}
  .news-admin-form-v3 .news-cover-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .news-admin-form-v3 .news-editor-grid{padding:8px!important}
  .news-card-source-tabs{grid-template-columns:1fr!important}
  .news-card-source-tab{min-height:48px!important}
  .news-card-source-summary{grid-template-columns:72px minmax(0,1fr)!important}
  .news-card-preview{width:72px;height:78px}
  .news-admin-form-v3 .news-cover-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:6px!important}
  .news-admin-page-v2 .news-admin-row-v2{grid-template-columns:70px minmax(0,1fr)!important}
  .news-admin-page-v2 .news-admin-row-media{width:70px!important;height:64px!important}
  .news-admin-page-v2 .news-admin-row-actions{grid-column:1/-1!important;justify-content:flex-end!important}
}

/* RC118: Senaste nytt admin – lugnare bildväljare och tydligare text. */
.news-admin-form-v3 .news-cover-library-clean{gap:10px!important}
.news-admin-form-v3 .news-cover-group-v2{
  border-radius:14px!important;
  overflow:hidden!important;
  background:var(--card)!important;
}
.news-admin-form-v3 .news-cover-group-v2>summary{
  min-height:54px!important;
  padding:0 14px!important;
  background:color-mix(in srgb,var(--accent) 4%,var(--card))!important;
}
.news-admin-form-v3 .news-cover-group-v2>summary>span{
  display:grid!important;
  gap:2px!important;
}
.news-admin-form-v3 .news-cover-group-v2>summary strong{
  font-size:13px!important;
  line-height:1.25!important;
  color:var(--text)!important;
}
.news-admin-form-v3 .news-cover-group-v2>summary small{
  font-size:11px!important;
  line-height:1.25!important;
  color:var(--muted)!important;
}
.news-admin-form-v3 .news-cover-group-v2>summary>b{
  font-size:16px!important;
}
.news-admin-form-v3 .news-cover-grid-v2{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  padding:10px!important;
}
.news-admin-form-v3 .news-cover-choice-clean{
  border-radius:14px!important;
  border:1px solid color-mix(in srgb,var(--line) 80%,#fff)!important;
  box-shadow:0 1px 4px rgba(14,19,33,.04)!important;
}
.news-admin-form-v3 .news-cover-choice-clean:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(14,19,33,.08)!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-thumb{
  aspect-ratio:6 / 6.5!important;
  background:#ececec!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-choice-copy{
  padding:10px 10px 11px!important;
  min-height:54px!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-choice-copy b{
  display:block!important;
  font-size:12px!important;
  line-height:1.28!important;
  color:var(--text)!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-check{
  top:8px!important;
  right:8px!important;
  width:24px!important;
  height:24px!important;
  font-size:11px!important;
}
.news-admin-form-v3 .news-card-source-summary strong{
  font-size:14px!important;
}
.news-admin-form-v3 .news-card-source-summary p{
  font-size:12px!important;
  line-height:1.45!important;
  color:var(--muted)!important;
}
.news-admin-page-v2 .news-admin-row-v2{
  min-height:96px!important;
  grid-template-columns:92px minmax(0,1fr) auto!important;
  gap:12px!important;
  padding:10px!important;
  border-radius:14px!important;
}
.news-admin-page-v2 .news-admin-row-media{
  width:92px!important;
  height:78px!important;
  border-radius:10px!important;
}
.news-admin-page-v2 .news-admin-row-copy>strong{
  font-size:13px!important;
  line-height:1.3!important;
}
.news-admin-page-v2 .news-admin-row-copy>p{
  -webkit-line-clamp:2!important;
  font-size:11px!important;
  line-height:1.45!important;
  color:var(--muted)!important;
}
@media(max-width:980px){
  .news-admin-form-v3 .news-cover-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .news-admin-form-v3 .news-cover-group-v2>summary{min-height:50px!important;padding:0 12px!important}
  .news-admin-form-v3 .news-cover-group-v2>summary strong{font-size:12px!important}
  .news-admin-form-v3 .news-cover-group-v2>summary small{font-size:10px!important}
  .news-admin-form-v3 .news-cover-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:8px!important}
  .news-admin-form-v3 .news-cover-choice-clean .news-cover-choice-copy{padding:8px 8px 9px!important;min-height:50px!important}
  .news-admin-form-v3 .news-cover-choice-clean .news-cover-choice-copy b{font-size:11px!important}
  .news-admin-page-v2 .news-admin-row-v2{grid-template-columns:78px minmax(0,1fr)!important;gap:10px!important}
  .news-admin-page-v2 .news-admin-row-media{width:78px!important;height:68px!important}
  .news-admin-page-v2 .news-admin-row-copy>strong{font-size:12px!important}
  .news-admin-page-v2 .news-admin-row-copy>p{font-size:10.5px!important}
}

/* RC119: Senaste nytt admin – renare layout, större text, fler omslag. */
.news-admin-form-v3 .news-editor-grid{
  gap:16px!important;
}
.news-admin-form-v3 .news-editor-head p,
.news-admin-form-v3 .news-editor-section-head p,
.news-admin-form-v3 .news-editor-side-head p{
  font-size:13px!important;
  line-height:1.5!important;
  color:var(--muted)!important;
}
.news-admin-form-v3 .news-card-source-tabs{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.news-admin-form-v3 .news-card-source-tab{
  min-height:64px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
}
.news-admin-form-v3 .news-card-source-tab span{
  font-size:12px!important;
  line-height:1.25!important;
}
.news-admin-form-v3 .news-card-source-tab small{
  font-size:10px!important;
  line-height:1.35!important;
  color:var(--muted)!important;
}
.news-admin-form-v3 .news-card-source-summary{
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:12px!important;
  padding:12px!important;
  border-radius:14px!important;
}
.news-admin-form-v3 .news-card-source-summary img{
  width:96px!important;
  height:84px!important;
  border-radius:10px!important;
  object-fit:cover!important;
}
.news-admin-form-v3 .news-card-source-copy strong{
  font-size:14px!important;
  line-height:1.3!important;
  color:var(--text)!important;
}
.news-admin-form-v3 .news-card-source-copy p,
.news-admin-form-v3 .news-card-source-summary p,
.news-admin-form-v3 .news-card-source-note{
  font-size:12px!important;
  line-height:1.5!important;
  color:var(--muted)!important;
}
.news-admin-form-v3 .news-cover-library-clean{
  gap:12px!important;
}
.news-admin-form-v3 .news-cover-group-v2{
  border:1px solid color-mix(in srgb,var(--line) 78%,#fff)!important;
  background:var(--card)!important;
}
.news-admin-form-v3 .news-cover-group-v2>summary{
  min-height:58px!important;
  padding:0 16px!important;
}
.news-admin-form-v3 .news-cover-group-v2>summary strong{
  font-size:14px!important;
  color:var(--text)!important;
}
.news-admin-form-v3 .news-cover-group-v2>summary small{
  font-size:11px!important;
  line-height:1.3!important;
}
.news-admin-form-v3 .news-cover-grid-v2{
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
  gap:12px!important;
  padding:12px!important;
}
.news-admin-form-v3 .news-cover-choice-clean{
  border-radius:16px!important;
  overflow:hidden!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-thumb{
  aspect-ratio:6 / 6.5!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-thumb img{
  object-fit:cover!important;
  width:100%!important;
  height:100%!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-choice-copy{
  padding:10px 10px 12px!important;
  min-height:60px!important;
}
.news-admin-form-v3 .news-cover-choice-clean .news-cover-choice-copy b{
  font-size:12px!important;
  line-height:1.35!important;
  color:var(--text)!important;
}
.news-admin-form-v3 .news-cover-auto-v2{
  min-height:64px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
}
.news-admin-form-v3 .news-cover-auto-v2 b{
  font-size:13px!important;
}
.news-admin-form-v3 .news-cover-auto-v2 small{
  font-size:11px!important;
  line-height:1.4!important;
  color:var(--muted)!important;
}
.news-admin-page-v2 .news-admin-list-v2{
  gap:10px!important;
}
.news-admin-page-v2 .news-admin-row-v2{
  min-height:106px!important;
  grid-template-columns:110px minmax(0,1fr) auto!important;
  gap:14px!important;
  padding:12px!important;
  border:1px solid color-mix(in srgb,var(--line) 80%,#fff)!important;
}
.news-admin-page-v2 .news-admin-row-media{
  width:110px!important;
  height:84px!important;
  border-radius:12px!important;
}
.news-admin-page-v2 .news-admin-row-copy>strong{
  font-size:14px!important;
  line-height:1.3!important;
  color:var(--text)!important;
}
.news-admin-page-v2 .news-admin-row-copy>p{
  -webkit-line-clamp:2!important;
  font-size:12px!important;
  line-height:1.45!important;
  color:var(--muted)!important;
}
.news-admin-page-v2 .news-admin-row-actions .btn,
.news-admin-page-v2 .news-admin-row-actions button{
  min-height:38px!important;
}
@media(max-width:980px){
  .news-admin-form-v3 .news-card-source-tabs{grid-template-columns:1fr!important}
  .news-admin-form-v3 .news-cover-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .news-admin-form-v3 .news-cover-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .news-admin-page-v2 .news-admin-row-v2{grid-template-columns:84px minmax(0,1fr)!important;gap:12px!important}
  .news-admin-page-v2 .news-admin-row-media{width:84px!important;height:72px!important}
  .news-admin-page-v2 .news-admin-row-actions{grid-column:1/-1!important;justify-content:flex-end!important}
}
@media(max-width:560px){
  .news-admin-form-v3 .news-card-source-summary{grid-template-columns:80px minmax(0,1fr)!important;padding:10px!important}
  .news-admin-form-v3 .news-card-source-summary img{width:80px!important;height:72px!important}
  .news-admin-form-v3 .news-card-source-copy strong{font-size:13px!important}
  .news-admin-form-v3 .news-card-source-copy p,
  .news-admin-form-v3 .news-card-source-note{font-size:11px!important}
  .news-admin-form-v3 .news-cover-group-v2>summary{min-height:54px!important;padding:0 12px!important}
  .news-admin-form-v3 .news-cover-group-v2>summary strong{font-size:13px!important}
  .news-admin-form-v3 .news-cover-grid-v2{gap:10px!important;padding:10px!important}
  .news-admin-page-v2 .news-admin-row-copy>strong{font-size:13px!important}
  .news-admin-page-v2 .news-admin-row-copy>p{font-size:11px!important}
}


/* v1.19.22 RC121 — polished scalable icons for the six home shortcuts */
.home-work-shortcut-icon{position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(25,31,43,.07);border:1px solid color-mix(in srgb,currentColor 10%,var(--line));}
.home-work-shortcut-icon svg{width:23px;height:23px;display:block;overflow:visible}
.home-work-shortcut:hover .home-work-shortcut-icon{box-shadow:0 6px 15px rgba(25,31,43,.11)}
body[data-theme='dark'] .home-work-shortcut-icon{box-shadow:0 4px 12px rgba(0,0,0,.22);border-color:var(--line)}

/* v1.19.22 RC122 — registration role review, completed-training filter, document print */
.registration-role-box{border:1px solid var(--line);border-radius:14px;padding:14px;margin:4px 0;background:var(--soft)}
.registration-role-box legend{font-weight:850;padding:0 6px}.registration-role-box p{margin:2px 0 10px;color:var(--muted);line-height:1.45}
.registration-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.registration-role-option{display:flex!important;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer}.registration-role-option input{width:18px;height:18px;flex:0 0 auto}
.user-role-summary.requested{color:var(--accent);font-weight:700}.user-approval-review-modal{max-width:760px}.approval-role-request-summary{display:grid;gap:4px;padding:12px 14px;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.approval-role-request-summary span{color:var(--muted)}
.training-hide-completed{display:flex!important;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}.training-hide-completed input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}.training-hide-completed span{display:grid;gap:2px}.training-hide-completed small{color:var(--muted);line-height:1.35}
@media(max-width:700px){.registration-role-grid{grid-template-columns:1fr}.document-viewer-actions{gap:5px}.document-viewer-actions .secondary{padding-inline:9px;font-size:12px}}

/* ==========================================================
   v1.19.22 RC123 — Senaste nytt: användarvänligt formulär
   ========================================================== */
.news-admin-form-v3 .news-editor-shell{
  max-width:1040px!important;
}
.news-admin-form-v3 .news-editor-head{
  padding:20px 22px 18px!important;
  align-items:center!important;
}
.news-admin-form-v3 .news-editor-head h3{
  margin-top:3px!important;
  font-size:22px!important;
  line-height:1.2!important;
}
.news-admin-form-v3 .news-editor-head p{
  max-width:720px!important;
  margin-top:6px!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.news-admin-form-v3 .news-editor-grid{
  max-width:980px!important;
  padding:18px 20px 20px!important;
  gap:14px!important;
}
.news-admin-form-v3 .news-editor-main,
.news-admin-form-v3 .news-editor-side{
  gap:14px!important;
}
.news-admin-form-v3 .news-editor-section,
.news-admin-form-v3 .news-editor-side-card{
  padding:18px!important;
  border-radius:14px!important;
}
.news-admin-form-v3 .news-editor-section-head,
.news-admin-form-v3 .news-editor-side-head{
  margin-bottom:16px!important;
  padding-bottom:12px!important;
}
.news-admin-form-v3 .news-editor-section-head h4,
.news-admin-form-v3 .news-editor-side-head h4{
  font-size:15px!important;
  line-height:1.3!important;
}
.news-admin-form-v3 .news-editor-section-head p,
.news-admin-form-v3 .news-editor-side-head p{
  margin-top:3px!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.news-admin-form-v3 .news-editor-fields-rc123{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:18px!important;
}
.news-admin-form-v3 .news-editor-field{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
}
.news-admin-form-v3 .news-editor-field>label,
.news-admin-form-v3 .news-field-label-row label{
  display:block!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:850!important;
  color:var(--text)!important;
}
.news-admin-form-v3 .news-editor-field input,
.news-admin-form-v3 .news-editor-field textarea{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:10px!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.news-admin-form-v3 .news-editor-field input{
  min-height:46px!important;
  padding:10px 12px!important;
}
.news-admin-form-v3 .news-editor-field textarea{
  padding:11px 12px!important;
  resize:vertical!important;
}
.news-admin-form-v3 #newsBody{
  min-height:108px!important;
}
.news-admin-form-v3 #newsDetailBody{
  min-height:240px!important;
}
.news-admin-form-v3 .news-editor-field-compact{
  max-width:430px!important;
}
.news-admin-form-v3 .news-field-help{
  margin:0!important;
  max-width:760px!important;
  font-size:11.5px!important;
  line-height:1.45!important;
  color:var(--muted)!important;
}
.news-admin-form-v3 .news-field-label-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.news-admin-form-v3 .news-field-label-row>span{
  flex:0 0 auto!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  background:var(--surface-soft)!important;
  color:var(--muted)!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
.news-admin-form-v3 .news-editor-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:8!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
  padding:14px 20px!important;
  border-top:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--card) 96%,transparent)!important;
  backdrop-filter:blur(10px)!important;
}
.news-admin-form-v3 .news-editor-actions .primary,
.news-admin-form-v3 .news-editor-actions .secondary{
  min-height:42px!important;
  padding-inline:18px!important;
}
.news-admin-form-v3 .news-editor-actions .primary{
  min-width:170px!important;
}
@media(max-width:760px){
  .news-admin-form-v3 .news-editor-head{
    padding:16px 14px!important;
    align-items:flex-start!important;
  }
  .news-admin-form-v3 .news-editor-head h3{font-size:19px!important}
  .news-admin-form-v3 .news-editor-head p{font-size:12px!important}
  .news-admin-form-v3 .news-editor-grid{
    padding:10px!important;
  }
  .news-admin-form-v3 .news-editor-section,
  .news-admin-form-v3 .news-editor-side-card{
    padding:14px!important;
  }
  .news-admin-form-v3 .news-editor-fields-rc123{gap:16px!important}
  .news-admin-form-v3 .news-editor-field-compact{max-width:none!important}
  .news-admin-form-v3 .news-field-label-row{
    align-items:flex-start!important;
  }
  .news-admin-form-v3 #newsDetailBody{min-height:210px!important}
  .news-admin-form-v3 .news-editor-actions{
    grid-template-columns:1fr 1fr!important;
    padding:10px!important;
  }
  .news-admin-form-v3 .news-editor-actions .primary,
  .news-admin-form-v3 .news-editor-actions .secondary{
    width:100%!important;
    min-width:0!important;
  }
}

/* RC124 · Hjälp: klickbara bilder + hantering av hjälpavsnitt */
.help-image-zoom{display:block;position:relative;width:min(100%,760px);padding:0;margin:0 0 18px;border:0;background:transparent;text-align:left;cursor:zoom-in;border-radius:14px}
.help-image-zoom .help-section-image{margin:0;width:100%}
.help-image-zoom-hint{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:rgba(20,24,31,.78);color:#fff;font-size:11px;font-weight:850;backdrop-filter:blur(6px);box-shadow:0 4px 16px rgba(0,0,0,.18)}
.help-image-zoom:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 45%,transparent);outline-offset:3px}
.help-image-lightbox{z-index:240;padding:24px}
.help-image-lightbox-card{width:min(1100px,96vw)!important;max-height:94dvh!important;padding:52px 18px 18px!important;display:grid;place-items:center;overflow:auto;background:var(--card)!important}
.help-image-lightbox-card>img{display:block;max-width:100%;max-height:calc(94dvh - 110px);width:auto;height:auto;object-fit:contain;border-radius:12px}
.help-image-lightbox-caption{width:100%;padding-top:12px;text-align:center;color:var(--muted);font-size:12px;font-weight:750}
.help-admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.help-admin-row.is-hidden{opacity:.72;background:color-mix(in srgb,var(--surface-soft) 55%,transparent)}
.help-admin-row.is-hidden strong{text-decoration:line-through;text-decoration-thickness:1px}
.help-admin-empty-custom{padding:14px 2px;color:var(--muted)}
.help-admin-preview-button{display:grid;justify-items:start;gap:7px;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left}
.help-admin-preview-button>span{font-size:11px;font-weight:800;color:var(--muted)}
.help-admin-fields-v2 textarea{min-height:190px}
@media(max-width:700px){
  .help-image-lightbox{padding:0}
  .help-image-lightbox-card{width:100%!important;max-width:none!important;min-height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:62px 12px 18px!important}
  .help-image-lightbox-card>img{max-height:calc(100dvh - 125px)}
  .help-admin-row{display:grid;grid-template-columns:1fr;gap:10px}
  .help-admin-row-actions{justify-content:stretch}
  .help-admin-row-actions button{flex:1}
  .help-image-zoom-hint{right:8px;bottom:8px}
}


/* RC125 · Hjälp: upp till 10 bilder + sorteringsordning */
.help-image-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.help-image-gallery.single{grid-template-columns:minmax(0,min(760px,100%))}
.help-image-gallery .help-image-zoom{width:100%;margin:0;overflow:hidden;background:var(--surface-soft)}
.help-image-gallery:not(.single) .help-section-image{width:100%;aspect-ratio:16/10;object-fit:cover}
.help-image-field{display:grid;gap:12px}
.help-image-field-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.help-image-field-head>strong{font-size:13px}
.help-image-field-head>span{font-size:11px;font-weight:800;color:var(--muted)}
.help-admin-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.help-admin-image-item{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}
.help-admin-image-item .help-admin-preview-button{width:100%}
.help-admin-image-item .help-admin-preview{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
.help-admin-preview-missing{display:grid;place-items:center;min-height:110px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:12px}
.help-admin-image-empty{padding:12px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:12px}
.help-remove-image{display:flex!important;align-items:center;gap:8px;font-size:12px;font-weight:750;color:var(--text)}
.help-admin-order-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}
.help-admin-order-note strong{white-space:nowrap}.help-admin-order-note span{color:var(--muted);font-size:12px;line-height:1.45}
.help-admin-order-group{display:grid;gap:10px}.help-admin-order-head{display:flex;justify-content:space-between;align-items:end;gap:16px}.help-admin-order-head h3{margin:0 0 3px}.help-admin-order-head p{margin:0;color:var(--muted);font-size:12px}.help-admin-order-head>span{font-size:11px;font-weight:800;color:var(--muted)}
.help-admin-row{grid-template-columns:auto minmax(0,1fr) auto!important}.help-admin-order{display:flex;gap:5px;align-items:center}.help-admin-order .icon-only{width:34px;min-width:34px;padding:6px}.help-admin-row-copy{min-width:0;display:grid;gap:3px}.help-admin-row-copy small{color:var(--muted)}
@media(max-width:700px){.help-image-gallery{grid-template-columns:1fr}.help-admin-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-admin-row{grid-template-columns:auto 1fr!important}.help-admin-row-actions{grid-column:1/-1}.help-admin-order-note{display:grid}.help-admin-order-head{align-items:start}.help-admin-order-head>span{white-space:nowrap}}
@media(max-width:420px){.help-admin-image-grid{grid-template-columns:1fr}}

/* ==========================================================
   v1.19.22 RC126 — Senaste nytt: isolera editorsidopanelen
   från portalens globala aside/navigation-stil
   ========================================================== */
.news-admin-form-v3 .news-editor-side{
  background:transparent!important;
  color:var(--text)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.news-admin-form-v3 .news-editor-side-card{
  color:var(--text)!important;
  background:var(--card)!important;
}
.news-admin-form-v3 .news-editor-side-card :is(h4,strong,b,label,summary){
  color:var(--text)!important;
}
.news-admin-form-v3 .news-editor-side-card :is(p,small,.form-help-text){
  color:var(--muted)!important;
}
.news-admin-form-v3 .news-attachments-card>summary{
  min-height:64px!important;
  padding:0 16px!important;
}
.news-admin-form-v3 .news-editor-side-body{
  padding:0 16px 16px!important;
}
@media(max-width:820px){
  .news-admin-form-v3 .news-editor-side{
    grid-template-columns:1fr!important;
  }
}

/* v1.19.22 RC134 — clearer mobile overview cards */

@media(max-width:700px){
  .home-mobile-kpis{
    margin:0 0 12px!important;
  }

  /* Mobile overview: one calm card with three large, readable tap rows. */
  .home-mobile-kpis .home-dashboard-kpis{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    overflow:hidden!important;
    border:1px solid var(--line)!important;
    border-radius:18px!important;
    background:var(--card)!important;
    box-shadow:0 7px 20px rgba(25,31,43,.05)!important;
  }

  .home-mobile-kpis .home-kpi{
    position:relative!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 30px!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    gap:11px!important;
    min-width:0!important;
    min-height:72px!important;
    margin:0!important;
    padding:10px 12px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--text)!important;
    text-align:left!important;
  }

  .home-mobile-kpis .home-kpi:not(:last-child)::after{
    content:""!important;
    position:absolute!important;
    left:67px!important;
    right:12px!important;
    bottom:0!important;
    top:auto!important;
    width:auto!important;
    height:1px!important;
    background:var(--line)!important;
  }

  .home-mobile-kpis .home-kpi:hover{
    transform:none!important;
    box-shadow:none!important;
  }
  .home-mobile-kpis .home-kpi:active{
    transform:none!important;
    background:var(--surface-soft)!important;
    box-shadow:none!important;
  }

  .home-mobile-kpis .home-kpi-icon{
    grid-column:1!important;
    grid-row:1!important;
    width:44px!important;
    height:44px!important;
    border-radius:13px!important;
    display:grid!important;
    place-items:center!important;
    font-size:18px!important;
    font-weight:900!important;
  }
  .home-mobile-kpis .home-kpi-copy{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:3px!important;
    text-align:left!important;
    pointer-events:none!important;
  }

  .home-mobile-kpis .home-kpi-copy>b{
    grid-column:1!important;
    grid-row:1!important;
    width:auto!important;
    margin:0!important;
    min-height:0!important;
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:850!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .home-mobile-kpis .home-kpi-copy>span{
    display:contents!important;
  }

  .home-mobile-kpis .home-kpi-copy strong{
    grid-column:2!important;
    grid-row:1 / 3!important;
    align-self:center!important;
    min-width:28px!important;
    font-size:26px!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
    font-weight:900!important;
    text-align:right!important;
    color:var(--text)!important;
  }

  .home-mobile-kpis .home-kpi-copy small{
    display:block!important;
    grid-column:1!important;
    grid-row:2!important;
    min-width:0!important;
    margin:0!important;
    color:var(--muted)!important;
    font-size:10.5px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .home-mobile-kpis .home-kpi>i{
    grid-column:3!important;
    grid-row:1!important;
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:999px!important;
    background:var(--surface-soft)!important;
    color:var(--muted)!important;
    font-size:19px!important;
    line-height:1!important;
    font-style:normal!important;
  }

  .home-mobile-kpis .home-kpi-calendar .home-kpi-icon{background:#ffe9eb!important;color:#c51c2b!important}
  .home-mobile-kpis .home-kpi-docs .home-kpi-icon{background:#e8f1ff!important;color:#1854a6!important}
  .home-mobile-kpis .home-kpi-messages .home-kpi-icon{background:#e1f8ea!important;color:#087638!important}
}

@media(max-width:360px){
  .home-mobile-kpis .home-kpi{
    grid-template-columns:40px minmax(0,1fr) 28px!important;
    gap:9px!important;
    min-height:68px!important;
    padding:9px 10px!important;
  }
  .home-mobile-kpis .home-kpi:not(:last-child)::after{left:59px!important;right:10px!important}
  .home-mobile-kpis .home-kpi-icon{width:40px!important;height:40px!important;border-radius:12px!important}
  .home-mobile-kpis .home-kpi-copy>b{font-size:12.5px!important}
  .home-mobile-kpis .home-kpi-copy small{font-size:10px!important}
  .home-mobile-kpis .home-kpi-copy strong{font-size:24px!important}
}

/* v1.19.22 RC135 — plain red hero preset */
.home-hero-choice-thumb-solid{
  background:#c8102e!important;
  border-color:color-mix(in srgb,#c8102e 72%,var(--line))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.home-dashboard-hero:not(.has-photo) .home-dashboard-hero-image{
  display:none!important;
}
.home-dashboard-hero:not(.has-photo) .home-dashboard-hero-copy{
  width:100%!important;
  max-width:900px;
}
.home-hero-preset-red.home-dashboard-hero,
.home-hero-preset-red.home-mobile-hero{
  background:#c8102e!important;
}
.home-hero-preset-red.home-dashboard-hero:after,
.home-hero-preset-red.home-mobile-hero:after{
  display:none!important;
}
.home-hero-preset-red.home-mobile-hero:before{
  display:none!important;
}



/* v1.19.22 RC136 — Senaste nytt: max tre synliga kort och horisontell bläddring */
.home-news-carousel{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.home-news-carousel::-webkit-scrollbar{display:none}
.home-dashboard-news-grid.home-news-carousel{
  display:flex;
  gap:14px;
  padding:2px 1px 6px;
}
.home-dashboard-news-grid.home-news-carousel .home-dashboard-news-card{
  flex:0 0 calc((100% - 28px)/3);
  min-width:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.home-dashboard-news-grid.home-news-carousel[data-home-news-count='1'] .home-dashboard-news-card{flex-basis:100%}
.home-dashboard-news-grid.home-news-carousel[data-home-news-count='2'] .home-dashboard-news-card{flex-basis:calc((100% - 14px)/2)}
.home-news-carousel-controls{display:flex;align-items:center;gap:7px}
.home-news-carousel-controls button{
  width:34px;
  height:34px;
  border:1px solid var(--line)!important;
  border-radius:50%;
  background:var(--card)!important;
  color:var(--text)!important;
  display:grid;
  place-items:center;
  padding:0!important;
  font-size:22px!important;
  line-height:1;
  box-shadow:0 3px 10px rgba(25,31,43,.05);
}
.home-news-carousel-controls button:hover{border-color:color-mix(in srgb,var(--red) 38%,var(--line))!important;color:var(--red)!important}
.home-news-swipe-hint{color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}
@media (min-width:701px) and (max-width:1400px){
  .home-dashboard-news-grid.home-news-carousel .home-dashboard-news-card{flex-basis:calc((100% - 14px)/2)}
}
@media (min-width:701px) and (max-width:1100px){
  .home-dashboard-news-grid.home-news-carousel .home-dashboard-news-card{flex-basis:100%}
}
@media (max-width:700px){
  .home-mobile-news{overflow:hidden}
  .home-mobile-news-list.home-news-carousel{
    display:flex;
    gap:10px;
    margin:0 -13px;
    padding:1px 13px 5px;
    scroll-padding-inline:13px;
  }
  .home-mobile-news-list.home-news-carousel .home-dashboard-news-card{
    flex:0 0 min(88%,360px);
    width:min(88%,360px);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .home-mobile-news-list.home-news-carousel[data-home-news-count='1'] .home-dashboard-news-card{
    flex-basis:100%;
    width:100%;
  }
}

/* v1.19.22 RC137 — pinned news, archives and clearer feedback entry */
.home-news-head-actions{display:flex;align-items:center;gap:8px}
.home-news-archive-link{border:0;background:transparent;color:var(--red);font:inherit;font-size:11px;font-weight:850;cursor:pointer;white-space:nowrap;padding:6px 4px}
.home-mobile-news-head-actions{display:flex;align-items:center;gap:8px}
.home-mobile-news-head-actions>button{border:0;background:transparent;color:var(--red);font:inherit;font-size:11px;font-weight:850;padding:4px 0;cursor:pointer}
.home-news-pinned-badge{position:absolute;top:7px;right:7px;z-index:2;display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border-radius:999px;background:rgba(17,24,39,.82);color:#fff;font-size:8px;font-weight:900;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.home-dashboard-news-card.is-pinned{border-color:color-mix(in srgb,var(--red) 32%,var(--line))}
.news-pinned-status{background:rgba(200,16,46,.10)!important;color:var(--red)!important}
.portal-archive-page{display:grid;gap:14px}
.portal-archive-summary{display:flex;align-items:baseline;gap:8px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:var(--card)}
.portal-archive-summary strong{font-size:25px;line-height:1}.portal-archive-summary span{color:var(--muted);font-size:12px;font-weight:750}
.portal-archive-list{display:grid;gap:10px}
.portal-archive-row{width:100%;display:grid;grid-template-columns:120px minmax(0,1fr) 34px;align-items:center;gap:14px;text-align:left;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:var(--card);color:var(--text);font:inherit;cursor:pointer;transition:.15s border-color,.15s box-shadow,.15s transform}
.portal-archive-row:hover{border-color:color-mix(in srgb,var(--red) 28%,var(--line));box-shadow:0 8px 18px rgba(25,31,43,.05);transform:translateY(-1px)}
.portal-archive-date{color:var(--muted);font-size:11px;font-weight:800;align-self:start;padding-top:3px}
.portal-archive-copy{display:grid;gap:5px;min-width:0}.portal-archive-copy>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.portal-archive-copy small{color:var(--muted);font-size:10px;font-weight:800}.portal-archive-copy strong{font-size:15px;line-height:1.25}.portal-archive-snippet{margin:0;color:var(--muted);font-size:12px;font-style:normal;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.portal-archive-row>i{font-style:normal;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface-soft);color:var(--muted);font-size:20px}.portal-archive-pin{display:inline-flex;align-items:center;border-radius:999px;padding:3px 6px;background:rgba(200,16,46,.10);color:var(--red);font-size:9px;line-height:1}
.beta-feedback-shortcut>span:last-child{white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){
  .portal-archive-row{grid-template-columns:1fr 28px;gap:8px 10px;padding:13px}.portal-archive-date{grid-column:1/-1;padding:0;font-size:10px}.portal-archive-copy strong{font-size:14px}.portal-archive-snippet{font-size:11px}.portal-archive-row>i{grid-column:2;grid-row:2;align-self:center}.portal-archive-copy{grid-column:1;grid-row:2}.portal-archive-summary{padding:12px 13px}.portal-archive-summary strong{font-size:22px}
  .home-news-pinned-badge{top:5px;right:5px;padding:3px 5px;font-size:7px}
}

/* v1.19.22 RC141 — calmer mobile monthly-letter card + clearer spacing between home cards */
@media(max-width:700px){
  .mobile-home-flow{
    display:grid!important;
    gap:16px!important;
  }
  .mobile-home-flow>*{
    margin-top:0!important;
    margin-bottom:0!important;
  }
  .mobile-monthly-letter-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:15px!important;
    margin:0!important;
    padding:17px 16px 16px!important;
    border-radius:19px!important;
    border-color:color-mix(in srgb,var(--accent) 14%,var(--line))!important;
    background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 3.5%,var(--card)) 0%,var(--card) 62%)!important;
    box-shadow:0 8px 20px rgba(25,31,43,.045)!important;
  }
  .mobile-monthly-letter-copy{
    display:grid!important;
    gap:6px!important;
    min-width:0;
  }
  .mobile-monthly-letter-copy .monthly-letter-badge{
    margin-bottom:2px;
    padding:5px 10px;
    font-size:10px;
    letter-spacing:.055em;
  }
  .mobile-monthly-letter-copy strong{
    font-size:19px!important;
    line-height:1.18!important;
    letter-spacing:-.025em;
  }
  .mobile-monthly-letter-copy p{
    font-size:13px!important;
    line-height:1.4!important;
  }
  .mobile-monthly-letter-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:9px!important;
    width:100%!important;
    min-width:0!important;
    align-self:stretch!important;
  }
  .mobile-monthly-letter-actions button{
    min-height:46px!important;
    border-radius:13px!important;
    font-size:13px!important;
    font-weight:900!important;
    padding:10px 14px!important;
  }
  .mobile-monthly-letter-actions .mobile-monthly-primary{
    width:100%!important;
    white-space:normal!important;
  }
  .mobile-monthly-letter-actions .mobile-monthly-archive{
    min-width:76px!important;
    white-space:nowrap!important;
  }
}
@media(max-width:380px){
  .mobile-monthly-letter-actions{
    grid-template-columns:1fr!important;
  }
  .mobile-monthly-letter-actions .mobile-monthly-archive{
    width:100%!important;
  }
}

/* v1.19.22 RC142 — mobile monthly letter mirrors the I fokus card language */
@media(max-width:700px){
  .home-mobile-monthly{
    display:block;
  }
  .home-mobile-monthly .home-mobile-card-head{
    margin-bottom:10px;
  }
  .home-mobile-monthly .home-monthly-focus-card{
    min-height:110px;
    grid-template-columns:92px minmax(0,1fr) 26px;
    border-radius:13px;
  }
  .home-mobile-monthly .home-monthly-focus-media{
    min-height:110px;
    display:grid;
    place-items:center;
    padding:9px;
    background:linear-gradient(145deg,#f8e8e8,#fff5f5);
  }
  .home-monthly-mini-cover{
    width:100%;
    min-height:86px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:4px;
    padding:9px 8px;
    border:1px solid color-mix(in srgb,var(--red) 25%,var(--line));
    border-radius:8px;
    background:var(--card);
    box-shadow:0 3px 9px rgba(25,31,43,.06);
    overflow:hidden;
  }
  .home-monthly-mini-cover b{
    color:var(--red);
    font-size:7px;
    line-height:1;
    letter-spacing:.035em;
  }
  .home-monthly-mini-cover strong{
    max-width:100%;
    color:var(--text);
    font-size:10px;
    line-height:1.08;
    overflow-wrap:anywhere;
  }
  .home-monthly-mini-cover em{
    max-width:100%;
    color:var(--muted);
    font-size:7px;
    line-height:1.15;
    font-style:normal;
    overflow-wrap:anywhere;
  }
  .home-mobile-monthly .home-focus-news-copy{
    padding:11px 10px 10px 11px;
  }
  .home-mobile-monthly .home-focus-news-copy h3{
    font-size:14px;
    margin:4px 0 5px;
  }
  .home-mobile-monthly .home-focus-news-copy p{
    font-size:10px;
    line-height:1.38;
    -webkit-line-clamp:2;
  }
  .home-mobile-monthly .home-focus-news-copy>small{
    font-size:8px;
  }
  .home-mobile-monthly .home-focus-news>i{
    width:22px;
    height:22px;
    font-size:16px;
  }
  .home-monthly-focus-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    margin-top:10px!important;
  }
  .home-monthly-focus-actions .primary{
    width:100%;
    min-height:44px;
    padding:10px 12px!important;
  }
  .home-monthly-archive-link{
    white-space:nowrap;
    padding:8px 2px!important;
  }
}
@media(max-width:380px){
  .home-mobile-monthly .home-monthly-focus-card{
    grid-template-columns:84px minmax(0,1fr) 24px;
  }
  .home-monthly-focus-actions{
    grid-template-columns:1fr;
    gap:4px;
  }
  .home-monthly-archive-link{
    justify-self:start;
  }
}

/* v1.19.22 RC144 — requested push activation modal */
.forced-push-backdrop{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.46);display:grid;place-items:center;padding:18px}
.forced-push-modal{width:min(520px,100%);background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:22px;padding:22px;box-shadow:0 24px 70px rgba(15,23,42,.22);display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px}
.forced-push-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#fff1ef;font-size:24px}
.forced-push-modal h2{margin:4px 0 8px;font-size:24px;line-height:1.12}.forced-push-modal p{margin:0;color:var(--muted);line-height:1.5}.forced-push-note{margin-top:10px!important;font-size:12px}
.forced-push-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.forced-push-actions button{min-height:44px}
@media(max-width:620px){.forced-push-backdrop{align-items:end;padding:12px}.forced-push-modal{grid-template-columns:46px minmax(0,1fr);padding:18px;border-radius:20px}.forced-push-icon{width:44px;height:44px;border-radius:14px}.forced-push-actions{display:grid;grid-template-columns:1fr}.forced-push-actions button{width:100%}}

/* v1.19.22 RC146 — mobilnyheter som fallande lista istället för horisontell svepning */
@media (max-width:700px){
  .home-mobile-news{overflow:visible}
  .home-mobile-news-head-actions{gap:6px}
  .home-mobile-news-head-actions>button{font-size:12px;font-weight:900}
  .home-mobile-news-stack{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    overflow:visible;
  }
  .home-mobile-news-item{min-width:0}
  .home-mobile-news-item.is-extra{display:none}
  .home-mobile-news.is-expanded .home-mobile-news-item.is-extra{display:block}
  .home-mobile-news-stack .home-dashboard-news-card{
    width:100%;
    min-height:126px;
    grid-template-columns:minmax(108px,34%) minmax(0,1fr) 34px;
    border-radius:15px;
    scroll-snap-align:none;
  }
  .home-mobile-news-stack .home-dashboard-news-media{min-height:126px}
  .home-mobile-news-stack .home-dashboard-news-copy{padding:14px 10px 12px 13px;align-self:center}
  .home-mobile-news-stack .home-dashboard-news-copy small{font-size:9px;font-weight:850;letter-spacing:.03em}
  .home-mobile-news-stack .home-dashboard-news-copy h3{font-size:15px;line-height:1.16;margin:6px 0 6px;letter-spacing:-.02em}
  .home-mobile-news-stack .home-dashboard-news-copy p{font-size:11px;line-height:1.35;-webkit-line-clamp:3;margin:0}
  .home-mobile-news-stack .home-dashboard-arrow{width:29px;height:29px;font-size:20px;margin:0 8px 10px 0;align-self:end}
  .home-mobile-news-stack .home-dashboard-news-tag{font-size:7.5px;padding:4px 7px;left:8px;bottom:8px}
  .home-mobile-news-stack .home-news-pinned-badge{top:8px;right:8px;font-size:8px;padding:5px 7px}
  .home-mobile-news-more{
    width:100%;
    min-height:45px;
    margin-top:11px;
    border:1px solid color-mix(in srgb,var(--red) 22%,var(--line));
    border-radius:13px;
    background:color-mix(in srgb,var(--red) 5%,var(--card));
    color:var(--red);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font:inherit;
    cursor:pointer;
  }
  .home-mobile-news-more span{font-size:11px;font-weight:900}
  .home-mobile-news-more small{font-size:9px;font-weight:800;color:var(--muted)}
  .home-mobile-news-more i{font-style:normal;font-size:15px;line-height:1}
  .home-news-swipe-hint{display:none!important}
}
@media (max-width:390px){
  .home-mobile-news-stack .home-dashboard-news-card{grid-template-columns:100px minmax(0,1fr) 30px}
  .home-mobile-news-stack .home-dashboard-news-copy{padding:12px 8px 11px 10px}
  .home-mobile-news-stack .home-dashboard-news-copy h3{font-size:14px}
}

/* v1.19.22 RC147 — användaren kan hantera vanliga fackliga roller i profilinställningar */
.profile-self-roles-card{margin-top:18px}
.profile-self-roles-card .portal-role-picker{margin-top:14px}
.profile-protected-roles{margin:14px 0;padding:12px 14px;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:rgba(248,250,252,.7)}
.profile-protected-roles>small{display:block;margin-bottom:8px;color:var(--muted,#64748b);font-weight:700}
.profile-role-chip.is-locked{display:inline-flex;align-items:center;gap:5px;opacity:.88}
@media (max-width:700px){.profile-self-roles-card .portal-role-picker-head{align-items:stretch}.profile-self-roles-card .portal-role-search{width:100%}}

/* v1.19.22 RC148 — repair mobile news expander + use the new monthly-letter artwork consistently */
@media(max-width:700px){
  .home-mobile-monthly .home-monthly-focus-card{
    min-height:132px;
    grid-template-columns:100px minmax(0,1fr) 28px;
  }
  .home-mobile-monthly .home-monthly-focus-media.home-monthly-cover-photo{
    min-height:132px;
    padding:0;
    background:#fff url('../home-monthly-artwork.jpg') center/cover no-repeat!important;
    border-right:1px solid var(--line);
  }
  .home-mobile-monthly .home-focus-news-copy{padding:13px 11px 12px 13px}
  .home-mobile-monthly .home-focus-news-copy h3{font-size:15px;line-height:1.16}
  .home-mobile-monthly .home-focus-news-copy p{font-size:11px;line-height:1.38}
}
@media(max-width:380px){
  .home-mobile-monthly .home-monthly-focus-card{grid-template-columns:92px minmax(0,1fr) 26px}
}
.home-dashboard-letter .home-letter-cover-photo{
  background:#fff url('../home-monthly-artwork.jpg') center/cover no-repeat!important;
}


/* v1.19.22 RC149 — text-free monthly artwork + exact mobile width containment */
@media(max-width:700px){
  main{overflow-x:hidden}
  .home-mobile-hero,
  .mobile-home-flow{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .mobile-home-flow{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .mobile-home-flow>*{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .home-mobile-card,
  .home-mobile-kpis,
  .home-mobile-news,
  .home-mobile-news-list,
  .home-mobile-news-item,
  .home-mobile-news-stack .home-dashboard-news-card{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .home-mobile-news-stack .home-dashboard-news-card{
    grid-template-columns:minmax(96px,32%) minmax(0,1fr) 30px;
  }
  .home-mobile-news-stack .home-dashboard-news-copy,
  .home-mobile-news-stack .home-dashboard-news-copy>*{
    min-width:0;
    overflow-wrap:anywhere;
  }
  .home-mobile-monthly .home-monthly-focus-media.home-monthly-cover-photo{
    background:#f4f0ed url('../home-monthly-artwork.jpg') center/cover no-repeat!important;
  }
}
@media(max-width:390px){
  .home-mobile-news-stack .home-dashboard-news-card{
    grid-template-columns:92px minmax(0,1fr) 28px;
  }
}
.home-dashboard-letter .home-letter-cover-photo{
  background:#f4f0ed url('../home-monthly-artwork.jpg') center/cover no-repeat!important;
}

/* v1.19.22 RC165 — Messenger list scroll containment
   Flex/grid children must be allowed to shrink inside the fixed-height message shell,
   otherwise the person/thread lists grow past the pane instead of becoming scrollable. */
.messages-shell > .messages-sidebar,
.messages-shell > .messages-chat,
.messages-shell > .messages-people-panel{
  min-height:0;
}
.messages-sidebar,
.messages-people-panel{
  overflow:hidden;
}
.messages-list,
.messages-people-list{
  flex:1 1 0;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
