/* Stjärnfallet Styrelse – följer brandboken */
.sfb { --g:#C9A84C; --gd:#8A6A1F; --n:#0D1B2A; --ink:#1E293B; --t:#334155; --m:#64748b; --line:#E8DFC0; --iv:#FAFAF5; font-family:'Source Sans Pro','Source Sans 3',sans-serif; color:var(--t); }
.sfb *, .sfb *::before, .sfb *::after { box-sizing:border-box; }
.sfb .sfb-h2 { font-family:Montserrat,sans-serif; font-size:24px; color:var(--ink); margin:8px 0 16px; }
.sfb .sfb-h3 { font-family:Montserrat,sans-serif; font-size:19px !important; color:var(--ink); margin:0 0 14px; }
.sfb .sfb-muted { color:var(--m); font-size:15px; }
.sfb .sfb-label { font-weight:600; color:var(--ink); margin:0 0 6px; }

/* Kort på Admin */
.sfb-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-bottom:24px; }
.sfb-card { display:flex; flex-direction:column; gap:6px; padding:20px; background:#fff; border:1px solid var(--line); border-radius:8px; text-decoration:none !important; color:var(--t) !important; transition:border-color .15s, box-shadow .15s; }
.sfb-card:hover { border-color:var(--g); box-shadow:0 4px 14px rgba(13,27,42,.08); }
.sfb-card strong { font-family:Montserrat,sans-serif; color:var(--ink); font-size:17px; }
.sfb-card span { font-size:15px; }
.sfb-card-icon { font-size:26px !important; }

/* Boxar och formulär */
.sfb-box { background:#fff; border:1px solid var(--line); border-radius:8px; padding:22px; margin-bottom:18px; }
.sfb-form label { display:block; font-weight:600; color:var(--ink); font-size:15px; margin-bottom:12px; }
.sfb-input { display:block; width:100%; margin-top:5px; padding:9px 11px; border:1px solid #d6d0bc; border-radius:6px; background:#fff; font:inherit; font-weight:400; color:var(--ink); font-size:16px; }
.sfb-input:focus { outline:2px solid var(--g); outline-offset:1px; border-color:var(--g); }
.sfb-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:0 16px; }
.sfb-form .sfb-radio, .sfb-form .sfb-check { display:flex; align-items:center; gap:8px; font-weight:400; margin:6px 0 10px; cursor:pointer; }
.sfb-check input, .sfb-radio input { width:18px; height:18px; accent-color:var(--gd); flex:none; }
.sfb-checks { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:0 12px; margin-bottom:12px; }
.sfb-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

/* Knappar */
.sfb .sfb-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:10px 18px; border-radius:6px; border:1px solid var(--g); background:var(--g); color:var(--n) !important; font-weight:600; font-size:15px; text-decoration:none !important; cursor:pointer; line-height:1.2; }
.sfb .sfb-btn:hover { background:var(--n); border-color:var(--n); color:var(--g) !important; }
.sfb .sfb-btn-ghost { background:transparent; border-color:var(--line); color:var(--ink) !important; }
.sfb .sfb-btn-ghost:hover { background:var(--iv); border-color:var(--g); color:var(--ink) !important; }
.sfb .sfb-add { margin-top:6px; font-size:14px; padding:7px 12px; }
.sfb .sfb-remove { background:none; border:0; color:#b42318; cursor:pointer; font-size:14px; padding:4px 0; text-decoration:underline; }

/* Standardpunkter och rader */
.sfb-std { margin:0; padding-left:24px; }
.sfb-std > li { padding:8px 0; border-bottom:1px solid #f0ead6; color:var(--ink); }
.sfb-std > li > span { font-weight:600; }
.sfb-std > li::marker { color:var(--gd); font-weight:700; }
.sfb-rows { display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.sfb-row { display:grid; gap:6px; padding:12px; background:var(--iv); border:1px solid var(--line); border-radius:6px; }
.sfb-row .sfb-input { margin-top:0; }
.sfb-row .sfb-remove { justify-self:start; }
.sfb-tag { display:inline-block; font-size:13px; padding:2px 8px; border-radius:20px; background:#f5edd6; color:var(--gd); font-weight:600; }
.sfb-tag-warn { background:#fdecc8; color:#8a4b00; }

/* Protokollpunkter */
.sfb-pitem { padding:14px 0; border-bottom:1px solid #f0ead6; }
.sfb-pitem-sub { margin-left:28px; padding:12px; background:var(--iv); border:1px solid var(--line); border-radius:6px; margin-bottom:8px; }
.sfb-pitem-head { display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; color:var(--ink); }
.sfb-pitem-head .sfb-input { flex:1; margin-top:0; }
.sfb-pitem-note { margin:4px 0 0 34px; }
.sfb-pitem-body { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; margin:10px 0 0 34px; }
.sfb-pitem-body .sfb-bordlagg { grid-column:1/-1; }
.sfb-nr { font-family:Montserrat,sans-serif; font-weight:700; color:var(--gd); min-width:24px; }
.sfb-checkrow { display:grid; grid-template-columns:minmax(220px,1fr) 1fr; gap:4px 14px; align-items:center; padding:6px 0; border-bottom:1px solid #f0ead6; }
.sfb-checkrow .sfb-input { margin-top:0; }
.sfb-files { margin:0 0 10px; padding-left:18px; }

/* Dokumentvy */
.sfb-toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:18px; }
.sfb-paper { background:#fff; border:1px solid var(--line); border-radius:8px; padding:36px 40px; box-shadow:0 2px 10px rgba(13,27,42,.05); }
.sfb-org { font-family:Montserrat,sans-serif; font-weight:600; letter-spacing:.08em; color:var(--gd); font-size:12px; margin:0 0 4px; }
.sfb-paper-head { display:flex; justify-content:space-between; align-items:baseline; border-bottom:2px solid var(--g); padding-bottom:10px; margin-bottom:18px; gap:12px; flex-wrap:wrap; }
.sfb-paper-head h2 { margin:0 !important; font-size:28px !important; letter-spacing:.04em; }
.sfb-code { font-family:Montserrat,sans-serif; font-weight:700; color:var(--gd); font-size:17px; }
.sfb-meta { display:grid; grid-template-columns:150px 1fr; gap:4px 12px; margin:0 0 20px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.sfb-meta dt { font-weight:600; color:var(--ink); }
.sfb-meta dd { margin:0; }
.sfb-items { list-style:none; margin:0 0 24px; padding:0; }
.sfb-item { display:flex; gap:12px; padding:9px 0; }
.sfb-item.sfb-level-1 { padding-left:34px; }
.sfb-item strong { color:var(--ink); }
.sfb-item p { margin:4px 0 0; }
.sfb-beslut { background:#f8f4e6; border-radius:4px; padding:6px 10px; }
.sfb-checklist { list-style:none; padding:0; margin:0 0 20px; }
.sfb-checklist li { padding:5px 0; border-bottom:1px solid #f3eedd; }
.sfb-checklist li.is-done span { color:#2e7d32; font-weight:700; }
.sfb-sigs { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-bottom:16px; }
.sfb-sig { border:1px dashed var(--line); border-radius:6px; padding:12px; display:flex; flex-direction:column; gap:3px; font-size:14px; }
.sfb-sig strong { color:var(--ink); font-size:16px; }
.sfb-sig.is-signed { border-style:solid; border-color:#a5d6a7; background:#f1f8f1; }
.sfb-sig-role { font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--gd); }
.sfb-signform { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:14px; background:#fdf8ea; border:1px solid var(--g); border-radius:8px; }
.sfb-signform .sfb-check { margin:0; font-weight:600; }

/* Tabeller och märken */
.sfb-table-wrap { overflow-x:auto; }
.sfb-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); }
.sfb-table th { background:var(--line); color:var(--n); font-family:Montserrat,sans-serif; font-size:13px; text-align:left; padding:10px 12px; }
.sfb-table td { padding:10px 12px; border-top:1px solid #f0ead6; font-size:15px; }
.sfb-badge { display:inline-block; font-size:12px; font-weight:700; padding:3px 9px; border-radius:20px; }
.sfb-badge-grey { background:#eef0f3; color:#475569; }
.sfb-badge-gold { background:#fbf0cf; color:#7a5a12; }
.sfb-badge-green { background:#e3f3e4; color:#1b5e20; }

/* Meddelanden */
.sfb-notice { padding:12px 16px; border-radius:6px; margin:0 0 16px; border:1px solid var(--line); background:#fff; }
.sfb-notice-success { background:#eef7ee; border-color:#a5d6a7; }
.sfb-notice-error { background:#fdecea; border-color:#f5b5ae; }
.sfb-notice-warning { background:#fdf6e3; border-color:var(--g); }
.sfb-notice-info { background:#f5f8fb; border-color:#d5dee8; }

/* Box på eventsidan */
.sfb-eventbox { display:flex; gap:12px; align-items:flex-start; padding:14px 16px; margin:0 0 18px; background:#fdf8ea; border:1px solid #C9A84C; border-radius:8px; font-family:'Source Sans Pro',sans-serif; }
.sfb-eventbox-icon { font-size:22px; }
.sfb-eventbox a { color:#8A6A1F; font-weight:600; }

/* Mörkt läge */
body.sfe-dark-mode .sfb-box, body.sfe-dark-mode .sfb-paper, body.sfe-dark-mode .sfb-card, body.sfe-dark-mode .sfb-table { background:#132038; border-color:#2a3f5f; color:#e8dfc0; }
body.sfe-dark-mode .sfb .sfb-h3, body.sfe-dark-mode .sfb strong, body.sfe-dark-mode .sfb-meta dt { color:#f0e6b2; }
body.sfe-dark-mode .sfb-row, body.sfe-dark-mode .sfb-pitem-sub { background:#0f2035; border-color:#2a3f5f; }

@media (max-width:640px) {
	.sfb-paper { padding:22px 18px; }
	.sfb-meta { grid-template-columns:1fr; }
	.sfb-meta dd { margin-bottom:6px; }
	.sfb-pitem-body { grid-template-columns:1fr; margin-left:0; }
	.sfb-pitem-sub { margin-left:0; }
	.sfb-checkrow { grid-template-columns:1fr; }
}
@media print {
	.sfb-toolbar, .sfb-signform { display:none !important; }
	.sfb-paper { border:0; box-shadow:none; padding:0; }
}

/* Kallade och gäster */
.sfb-chips { list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; padding:0; }
.sfb-chip { display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:20px; background:var(--iv); border:1px solid var(--line); font-size:14px; color:var(--ink); }
.sfb-chip-guest { background:#fdf8ea; border-color:var(--g); }
.sfb-chip-x { background:none; border:0; color:#b42318; font-size:17px; line-height:1; cursor:pointer; padding:0 2px; }
.sfb-guestpick { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.sfb-guestpick .sfb-input { flex:1; min-width:220px; margin-top:0; }
.sfb-attend .sfb-check { flex-wrap:wrap; }
.sfb-osa { font-size:12px; font-weight:700; padding:1px 7px; border-radius:20px; background:#eef0f3; color:#475569; }
.sfb-osa-ja { background:#e3f3e4; color:#1b5e20; }
.sfb-osa-nej { background:#fdecea; color:#b42318; }

/* Loge */
.sfl-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin:0 0 12px; }
.sfl-stats div { background:var(--iv); border:1px solid var(--line); border-radius:8px; padding:14px; display:flex; flex-direction:column; }
.sfl-stats strong { font-family:Montserrat,sans-serif; font-size:30px; color:var(--gd); line-height:1.1; }
.sfl-stats span { font-size:14px; color:var(--t); }
.sfl-rolegrid { display:grid; gap:8px; }
.sfl-rolerow { display:grid; grid-template-columns:170px 1fr; gap:12px; align-items:center; padding:8px 0; border-bottom:1px solid #f0ead6; }
.sfl-rolerow .sfb-input { margin-top:0; }
.sfl-rolerow small { display:block; margin-top:3px; }
.sfl-roles td, .sfl-roles th { padding:8px 12px; }
@media (max-width:640px){ .sfl-rolerow { grid-template-columns:1fr; gap:4px; } }

/* Arkivet */
.sfa-crumbs { display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-weight:600; margin:0 0 16px; font-size:15px; }
.sfa-crumbs a { color:var(--gd) !important; text-decoration:none; }
.sfa-inline { display:inline-flex; gap:8px; align-items:center; margin:0; }
.sfa-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:14px; margin:0 0 22px; }
.sfa-folder { background:#fff; border:1px solid var(--line); border-radius:8px; display:flex; flex-direction:column; transition:border-color .15s, box-shadow .15s; }
.sfa-folder:hover { border-color:var(--g); box-shadow:0 4px 14px rgba(13,27,42,.07); }
.sfa-folder-link { display:flex; flex-direction:column; align-items:center; gap:6px; padding:20px 12px 12px; text-decoration:none !important; color:var(--ink) !important; text-align:center; }
.sfa-folder-icon { font-size:38px; line-height:1; }
.sfa-folder-name { font-weight:600; word-break:break-word; }
.sfa-folder-note { font-size:12px; color:var(--gd); font-weight:700; }
.sfa-folder.is-locked span.sfa-folder-link { cursor:not-allowed; opacity:.75; }
.sfa-folder form { margin:0; border-top:1px solid #f0ead6; }
.sfa-lockbtn { width:100%; background:none; border:0; padding:8px; font-size:13px; color:var(--gd); font-weight:600; cursor:pointer; }
.sfa-lockbtn:hover { background:var(--iv); }
.sfa-files td { vertical-align:middle; }
.sfa-actions { white-space:nowrap; text-align:right; }
.sfb .sfa-sm { padding:6px 12px; font-size:14px; }
.sfa-viewer { position:relative; background:#fff; border:1px solid var(--line); border-radius:8px; padding:16px; user-select:none; -webkit-user-select:none; }
.sfa-viewer::after { content:attr(data-wm); position:fixed; bottom:18px; left:50%; transform:translateX(-50%); background:rgba(13,27,42,.75); color:#f0e6b2; font-size:12px; padding:4px 12px; border-radius:20px; pointer-events:none; }
.sfa-page { display:block; margin:0 auto 14px; box-shadow:0 1px 6px rgba(0,0,0,.12); }
.sfa-text { white-space:pre-wrap; font-size:14px; max-height:75vh; overflow:auto; }
@media print { .sfa-viewer { display:none !important; } }
@media (max-width:640px) { .sfa-actions { white-space:normal; text-align:left; } }

.sfl-arke-list { margin:0 0 8px; padding-left:22px; }
.sfl-arke-list li { padding:10px 0; border-bottom:1px solid #f0ead6; }
.sfl-arke-list li > div { display:inline-block; vertical-align:top; width:calc(100% - 90px); }
.sfl-arke-list li form { display:inline-block; float:right; margin:0; }
.sfl-arke-list p { margin:4px 0 0; }

/* Beslutsregister */
.sfb-beslut-lista { list-style:none; margin:0; padding:0; }
.sfb-beslut-lista > li { background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px 16px; margin-bottom:10px; }
.sfb-beslut-head { color:var(--ink); margin-bottom:6px; }
.sfb-beslut-head a { color:var(--gd) !important; font-weight:600; }
.sfb-beslut-text { margin:0 0 8px; padding:8px 12px; background:#f8f4e6; border-radius:4px; color:var(--ink); }
.sfb-tag-typ { background:#eef0f3; color:#475569; }
.sfb-pitem-body .sfb-kat { grid-column:1/-1; max-width:320px; }

/* Kassörens böcker */
.sfk-tabs { display:flex; flex-wrap:wrap; gap:4px; border-bottom:2px solid var(--line); margin:0 0 18px; }
.sfk-tabs a { padding:9px 14px; text-decoration:none !important; color:var(--ink) !important; font-weight:600; border-radius:6px 6px 0 0; }
.sfk-tabs a.is-active { background:var(--g); color:var(--n) !important; }
.sfk-tabs a:not(.is-active):hover { background:var(--iv); }
.sfk-yearform { display:inline-flex; gap:8px; align-items:center; margin:0 0 14px; }
.sfk-yearform label { display:flex; gap:8px; align-items:center; margin:0; font-weight:600; }
.sfk-yearform .sfb-input { margin:0; width:auto; }
.sfk-bar { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.sfk-table td.r, .sfk-table th.r, .sfb-input.r { text-align:right; font-variant-numeric:tabular-nums; }
.sfk-report tr.head td { font-weight:700; background:var(--iv); }
.sfk-report tr.sum td { font-weight:700; border-top:1px solid var(--line); }
.sfk-report tr.total td { font-weight:800; border-top:2px solid var(--g); color:var(--n); }
.sfk-report tr.warn td:nth-child(2) { color:#b42318; font-weight:600; }
.sfk-report tr.ok td:nth-child(2) { color:#1b5e20; font-weight:600; }
.sfk-bankrow { padding:14px 16px; }
.sfk-bankhead { display:grid; grid-template-columns:100px 1fr auto auto; gap:12px; align-items:baseline; margin-bottom:10px; }
.sfk-date { font-weight:600; color:var(--ink); }
.sfk-amt { font-weight:800; font-variant-numeric:tabular-nums; font-size:17px; }
.sfk-amt.is-in { color:#1b5e20; } .sfk-amt.is-out { color:#b42318; }
.sfk-bankbody { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.sfk-bankbody .sfb-input { margin:0; width:auto; min-width:180px; flex:1; }
.sfk-k { display:none; flex:1; min-width:200px; } .sfk-k .sfb-input { width:100%; }
.sfk-k.is-on { display:block; }
.sfk-file { cursor:pointer; font-size:20px; padding:4px 8px; border:1px dashed var(--line); border-radius:6px; margin:0 !important; }
.sfk-file input { display:none; }
.sfk-file.has-file { border-color:var(--g); background:#fdf8ea; }
.sfk-rows .sfb-input { margin:0; min-width:90px; }
.sfk-rows td { padding:6px; }
.sfk-bilagor { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.sfk-bilaga { display:flex; flex-direction:column; align-items:center; gap:4px; width:140px; text-decoration:none !important; color:var(--t) !important; }
.sfk-bilaga img { width:140px; height:140px; object-fit:cover; border-radius:6px; border:1px solid var(--line); }
.sfk-bilaga span { font-size:48px; }
.sfk-bilaga small { font-size:12px; word-break:break-all; text-align:center; }
.sfk-details { margin:10px 0; } .sfk-details summary { cursor:pointer; font-weight:600; color:var(--gd); }
@media (max-width:640px) { .sfk-bankhead { grid-template-columns:1fr auto; } .sfk-text { grid-column:1/-1; order:3; } }

/* Periodisering och medlemsavgift i bankraden */
.sfk-avg { display:none; flex:0 0 auto; min-width:150px; } .sfk-avg.is-on { display:block; } .sfk-avg .sfb-input { min-width:150px; }
.sfk-period { flex:1 1 100%; display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; font-size:.92em; }
.sfk-period .sfb-check { margin:0; }
.sfk-period-f { display:none; flex-wrap:wrap; gap:8px 12px; align-items:center; }
.sfk-period.is-on .sfk-period-f { display:flex; }
.sfk-period-f label { display:flex; gap:6px; align-items:center; margin:0; }
.sfk-period-f .sfb-input { min-width:150px; flex:0 0 auto; }
.sfk-period-f small { flex-basis:100%; }

/* Utlägg / rapporter */
.sfk-report tr.sub td { font-weight:700; padding-top:10px; }
.sfk-wide { font-size:12px; } .sfk-wide td, .sfk-wide th { white-space:nowrap; padding:6px 7px; }
.sfk-bankrow.is-auto { box-shadow:0 0 0 2px #C9A84C inset; }

/* Munskänkens bok */
.sfn-eventbar { margin:0 0 12px; } .sfn-eventbar select { max-width:420px; }
.sfn-search { margin-bottom:10px; }
.sfn-members { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:8px; max-height:340px; overflow:auto; padding:2px; }
.sfn-member { margin:0; cursor:pointer; }
.sfn-member input { position:absolute; opacity:0; pointer-events:none; }
.sfn-member span { display:block; padding:12px 10px; border:1px solid #E8DFC0; border-radius:8px; background:#fff; text-align:center; font-weight:600; min-height:48px; line-height:1.25; }
.sfn-member input:checked + span { background:#0D1B2A; color:#fff; border-color:#0D1B2A; }
.sfn-member input:focus-visible + span { outline:2px solid #C9A84C; outline-offset:2px; }
.sfn-products { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:10px; }
.sfn-prod { border:1px solid #E8DFC0; border-radius:10px; padding:12px; background:#fff; display:flex; flex-direction:column; gap:4px; }
.sfn-prod.is-on { border-color:#C9A84C; background:#FBF6E6; }
.sfn-pn { font-weight:700; font-size:1.05em; } .sfn-pp { color:#64748b; font-size:.92em; }
.sfn-step { display:flex; align-items:center; gap:6px; margin-top:6px; }
.sfn-step button { width:44px; height:44px; border-radius:8px; border:1px solid #C9A84C; background:#fff; font-size:22px; line-height:1; cursor:pointer; color:#0D1B2A; }
.sfn-step .sfn-plus { background:#C9A84C; }
.sfn-step input { width:54px; height:44px; text-align:center; font-size:18px; border:1px solid #E8DFC0; border-radius:8px; }
.sfn-total { display:flex; justify-content:space-between; align-items:center; margin:16px 0 10px; font-size:1.15em; }
.sfn-go { width:100%; padding:14px; font-size:1.05em; }
.sfn-saldo { border:1px solid #E8DFC0; border-radius:12px; padding:18px 20px; background:#fff; margin:0 0 16px; display:flex; flex-direction:column; gap:4px; }
.sfn-saldo span { color:#64748b; text-transform:uppercase; letter-spacing:.06em; font-size:.8em; }
.sfn-saldo strong { font-size:2em; color:#0D1B2A; } .sfn-saldo.is-due strong { color:#8A6A1F; }
.sfn-saldo small { color:#64748b; }
.sfn-pay-grid { display:flex; flex-wrap:wrap; gap:20px; align-items:flex-start; }
.sfn-qr { margin:0; text-align:center; } .sfn-qr img { display:block; border:1px solid #E8DFC0; border-radius:8px; background:#fff; }
.sfn-qr figcaption { font-size:.85em; color:#64748b; margin-top:4px; }
.sfn-pay-grid > div { flex:1; min-width:240px; }
.sfn-anm { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-end; margin-top:12px; } .sfn-anm label { margin:0; } .sfn-anm .sfb-input { width:auto; margin:0; }
.sfn-betform { display:flex; gap:6px; flex-wrap:wrap; align-items:center; } .sfn-betform .sfb-input { margin:0; }
.sfn-tip { margin-top:18px; }
@media (max-width:600px) { .sfn-members { grid-template-columns:repeat(2, minmax(0, 1fr)); } .sfn-products { grid-template-columns:repeat(2, minmax(0, 1fr)); } .sfn-step button { width:40px; } .sfn-step input { width:44px; min-width:0; } }
@media (max-width:400px) { .sfn-products { grid-template-columns:minmax(0, 1fr); } .sfn-members { grid-template-columns:minmax(0, 1fr); } }
.sfn-member span { overflow-wrap:anywhere; }
/* Munskänk – stegknappar robusta mot temats knappstil */
.sfn-products { grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); }
.sfn-step { width:100%; }
.sfn-step button { padding:0 !important; margin:0 !important; min-width:0 !important; flex:0 0 44px; display:flex; align-items:center; justify-content:center; font-family:Arial, sans-serif !important; font-weight:700; }
.sfn-step input { flex:1 1 auto; width:auto !important; min-width:0 !important; padding:0 !important; margin:0 !important; }

/* Mörkt läge: mörka tabellrubriker och läsbar aktiv flik */
body.sfe-dark-mode .sfb-table th, body.sfe-dark-mode .entry-content .sfb-table th { background:#1B2A4A !important; color:#C9A84C !important; -webkit-text-fill-color:#C9A84C !important; border-bottom:1px solid rgba(201,168,76,.4); }
body.sfe-dark-mode .sfk-tabs a.is-active, body.sfe-dark-mode .entry-content .sfk-tabs a.is-active { color:#1B2A4A !important; -webkit-text-fill-color:#1B2A4A !important; }
body.sfe-dark-mode .entry-content .sfb-tag, body.sfe-dark-mode .entry-content .sfb-tag * { color:#7A5C12 !important; -webkit-text-fill-color:#7A5C12 !important; }
body.sfe-dark-mode .entry-content .sfb-tag.sfb-tag-warn, body.sfe-dark-mode .entry-content .sfb-tag.sfb-tag-warn * { color:#8a4b00 !important; -webkit-text-fill-color:#8a4b00 !important; }
body.sfe-dark-mode .entry-content .sfb-notice, body.sfe-dark-mode .entry-content .sfb-notice * { color:#1B2A4A !important; -webkit-text-fill-color:#1B2A4A !important; }
body.sfe-dark-mode .entry-content .sfb-notice a { text-decoration:underline; }
body.sfe-dark-mode .entry-content .sfk-del-list { background:#0F2035 !important; border-color:rgba(201,168,76,.4) !important; }
body.sfe-dark-mode .entry-content .sfb-input::placeholder { color:#7d8aa3 !important; -webkit-text-fill-color:#7d8aa3 !important; opacity:1; }
/* Kundfakturor */
.sfkf-actions { white-space:nowrap; }
.sfkf-actions .sfa-inline { display:inline-flex; gap:4px; align-items:center; margin:2px 0; }
.sfkf-rader td { vertical-align:middle; }
.sfkf-rader td.sfkf-bel { font-variant-numeric:tabular-nums; text-align:right; }
/* Graduppflyttning */
.sfg-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:14px 0; }
.sfg-stats .sfg-f { cursor:pointer; text-align:left; border:1px solid var(--line,#E8DFC0); border-radius:8px; background:#FAFAF5; padding:12px 14px; display:flex; flex-direction:column; }
.sfg-stats .sfg-f strong { font-size:26px; font-family:Montserrat,sans-serif; color:#1B2A4A; }
.sfg-stats .sfg-f span { font-size:13px; color:#64748b; }
.sfg-stats .sfg-f.is-on { border-color:#C9A84C; box-shadow:0 0 0 2px #C9A84C inset; }
.sfg-tools { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 10px; }
.sfg-tools .sfb-input { max-width:280px; margin:0; }
.sfg-req { list-style:none; margin:0; padding:0; font-size:13px; line-height:1.5; }
.sfg-req li.ok { color:#1B5E20; } .sfg-req li.no { color:#B42318; } .sfg-req li.info { color:#64748b; }
.sfg-badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:12px; font-weight:700; white-space:nowrap; }
.sfg-klar { background:#E8F5E9; color:#1B5E20; } .sfg-snart { background:#FDF3D7; color:#7A5C12; } .sfg-ej { background:#EEF0F3; color:#475569; } .sfg-saknas { background:#FDECEA; color:#B42318; }
.sfg-beslut { display:flex; flex-direction:column; gap:4px; min-width:190px; }
.sfg-beslut .sfb-input { margin:0; padding:5px 8px; font-size:13px; }
body.sfe-dark-mode .entry-content .sfg-stats .sfg-f { background:#13253D; border-color:rgba(201,168,76,.4); }
body.sfe-dark-mode .entry-content .sfg-stats .sfg-f strong { color:#F3EBD3 !important; -webkit-text-fill-color:#F3EBD3 !important; }
body.sfe-dark-mode .entry-content .sfg-stats .sfg-f span { color:#B8C2D3 !important; -webkit-text-fill-color:#B8C2D3 !important; }
body.sfe-dark-mode .entry-content .sfg-req li.ok { color:#81C784 !important; -webkit-text-fill-color:#81C784 !important; }
body.sfe-dark-mode .entry-content .sfg-req li.no { color:#F28B82 !important; -webkit-text-fill-color:#F28B82 !important; }
body.sfe-dark-mode .entry-content .sfg-req li.info, body.sfe-dark-mode .entry-content .sfg-req li small { color:#9AA7BB !important; -webkit-text-fill-color:#9AA7BB !important; }
body.sfe-dark-mode .entry-content .sfg-badge.sfg-klar { color:#1B5E20 !important; -webkit-text-fill-color:#1B5E20 !important; }
body.sfe-dark-mode .entry-content .sfg-badge.sfg-snart { color:#7A5C12 !important; -webkit-text-fill-color:#7A5C12 !important; }
body.sfe-dark-mode .entry-content .sfg-badge.sfg-ej { color:#475569 !important; -webkit-text-fill-color:#475569 !important; }
body.sfe-dark-mode .entry-content .sfg-badge.sfg-saknas { color:#B42318 !important; -webkit-text-fill-color:#B42318 !important; }
/* Budget */
.sfkb-tools { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 10px; }
.sfkb-tools .sfb-input { max-width:340px; margin:0; }
.sfkb-wrap { overflow-x:auto; }
.sfkb-table { min-width:1250px; }
.sfkb-table th, .sfkb-table td { padding:4px 4px; }
.sfkb-table .sfkb-name { min-width:210px; text-align:left; position:sticky; left:0; z-index:1; background:inherit; font-size:13px; }
.sfkb-table tbody .sfkb-name { background:#fff; font-weight:600; }
.sfkb-table input.sfb-input { width:74px; margin:0; padding:4px 6px; text-align:right; font-size:13px; font-variant-numeric:tabular-nums; }
.sfkb-table input.sfkb-ar { width:90px; font-weight:700; }
.sfkb-table tfoot td, .sfkb-table tfoot th { font-weight:700; font-size:13px; font-variant-numeric:tabular-nums; }
.sfkb-table tfoot .sfkb-res th, .sfkb-table tfoot .sfkb-res td { border-top:2px solid #C9A84C; }
body.sfe-dark-mode .entry-content .sfkb-table tbody .sfkb-name { background:#0F2035; }
/* Matrikelkontroll */
.sfg-req li.warn { color:#9A5B00; }
body.sfe-dark-mode .entry-content .sfg-req li.warn { color:#F6C26B !important; -webkit-text-fill-color:#F6C26B !important; }
/* Styrelseprotokoll: beslut i fokus */
.sfb-pitem-row { display:grid; grid-template-columns:2fr 1fr 1.4fr; gap:10px; }
@media (max-width:640px) { .sfb-pitem-row { grid-template-columns:1fr; } }
.sfb-ansvar { font-size:14px; margin:2px 0 4px; }
.sfb-underlag { font-size:14px; color:#475569; margin:2px 0 6px; }
body.sfe-dark-mode .entry-content .sfb-underlag { color:#B8C2D3 !important; -webkit-text-fill-color:#B8C2D3 !important; }
/* Logeprotokoll: berättande §-form */
.sfl-paras .sfl-p { margin:0 0 14px; }
.sfl-paras .sfl-p h4 { font-family:Montserrat,sans-serif; font-size:15px; margin:0 0 4px; color:#1B2A4A; }
.sfl-paras .sfl-p.sfb-level-1 { margin-left:22px; }
.sfl-paras .sfl-p p { margin:0 0 6px; line-height:1.6; }
.sfl-para .sfl-text { min-height:72px; line-height:1.5; }
.sfl-besl { margin-top:6px; font-size:14px; }
.sfl-besl summary { cursor:pointer; color:#8A6A1F; }
body.sfe-dark-mode .entry-content .sfl-paras .sfl-p h4 { color:#F3EBD3 !important; -webkit-text-fill-color:#F3EBD3 !important; }
body.sfe-dark-mode .entry-content .sfl-besl summary { color:#C9A84C !important; -webkit-text-fill-color:#C9A84C !important; }
.sfl-para .sfb-pitem-body { display:block; }
.sfl-para .sfl-text { width:100%; box-sizing:border-box; }
/* Arkivet: dra och släpp mappar */
.sfa-drop { border:2px dashed #C9A84C; border-radius:10px; padding:16px 18px; margin:0 0 16px; background:rgba(201,168,76,.06); display:flex; flex-direction:column; gap:4px; }
.sfa-drop span { font-size:13px; color:#64748b; }
.sfa-drop.is-over { background:rgba(201,168,76,.18); border-style:solid; }
.sfa-prog { margin-top:8px; }
.sfa-bar { height:8px; background:rgba(201,168,76,.2); border-radius:6px; overflow:hidden; }
.sfa-bar i { display:block; height:100%; width:0; background:#C9A84C; transition:width .2s; }
.sfa-stat { margin:6px 0 0; font-size:14px; }
.sfa-errs { margin:4px 0 0; font-size:13px; color:#B42318; }
body.sfe-dark-mode .entry-content .sfa-drop span { color:#B8C2D3 !important; -webkit-text-fill-color:#B8C2D3 !important; }
.sfa-pwset { display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.sfa-pwset input { flex:1 1 110px; min-width:0; padding:4px 6px; font-size:12px; border:1px solid #CBD5E1; border-radius:5px; }
.sfa-pwform { max-width:520px; }
/* Arkivet: ta bort och papperskorg */
.sfa-trashbar { display:flex; align-items:center; gap:14px; margin:0 0 12px; flex-wrap:wrap; }
.sfa-trashlink { font-size:14px; }
.sfa-pick { display:flex; align-items:center; gap:4px; font-size:12px; justify-content:center; margin-top:6px; }
.sfa-files .sfa-cb { width:28px; text-align:center; }
