/* Demoläge, roller (demo.js) och Rasta admin (admin.js). Klasser dm- och am-. */
.dm-card{margin:0 0 24px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.dm-card.on{border-color:#C2DACB;background:var(--act-mist)}
.ko-login .dm-card{max-width:440px;margin:20px auto 0}
.dm-top{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}
.dm-top h2{font-size:18px;margin:0 0 4px}
.dm-top p{margin:0;font-size:15px;color:var(--muted)}
.dm-switch{flex:none;display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:4px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.dm-switch span{position:relative;width:46px;height:28px;border-radius:999px;background:#CCD8CF;transition:background .15s}
.dm-switch span::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(20,38,28,.3);transition:transform .15s}
.dm-switch.on span{background:var(--act)}
.dm-switch.on span::after{transform:translateX(18px)}
.dm-switch:focus-visible span{outline:2px solid var(--act);outline-offset:2px}
.dm-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dm-links a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 13px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px;font-weight:500}
.dm-links a:hover{border-color:var(--act)}
.dm-links svg{width:15px;height:15px;color:var(--act)}
.dm-roles{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.dm-roles>span{font-size:13px;font-weight:600;color:var(--muted)}
.dm-roles small{font-size:13px;color:var(--muted)}
.dm-roles .ma-type{align-self:flex-start}
.dm-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}
.dm-badge{display:inline-block;font-size:12px;font-weight:600;border-radius:6px;padding:3px 8px;background:#EEF3EF;color:var(--ink)}
.am-user .dm-badge{text-transform:capitalize}
.dm-badge.admin{background:var(--ink);color:#fff}
.dm-badge.moderator{background:var(--warn-soft);color:var(--warn)}
.dm-badge.demo{background:var(--act-soft);color:var(--act)}
.dm-adminbtn{position:relative;flex:none;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;margin-right:4px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-size:13px;font-weight:600}
.dm-adminbtn:hover,.dm-adminbtn.on{background:#1C3A2B}
.dm-adminbtn .badge{min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--badge);color:#fff;font-size:10px;line-height:17px;text-align:center}

/* Admin */
.am .intro{color:var(--muted);font-size:16px;margin:0 0 16px;max-width:40em}
.am-tabs{margin:14px 0 22px}
.am-tabs .badge{display:inline-block;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--badge);color:#fff;font-size:11px;line-height:18px;text-align:center;margin-left:4px}
.am-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.am-kpis.sm{grid-template-columns:repeat(3,1fr);margin:10px 0 0}
.am-kpi{display:flex;flex-direction:column;gap:2px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-decoration:none}
a.am-kpi:hover{border-color:#BCCBC1}
.am-kpi span{font-size:13px;font-weight:500;color:var(--muted)}
.am-kpi b{font-size:26px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.am-kpis.sm .am-kpi b{font-size:20px}
.am-kpi small{font-size:12px;color:var(--muted)}
.am-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.am-box{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:16px}
.am-grid .am-box{margin:0}
.am-box h3{font-size:16px;margin:0 0 12px}
.am-bars{display:flex;align-items:flex-end;gap:6px;height:160px}
.am-bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.am-bar i{display:block;width:100%;max-width:26px;background:var(--act);border-radius:5px 5px 2px 2px}
.am-bar:hover i{background:var(--act-d)}
.am-bar span{font-size:10px;color:var(--muted);white-space:nowrap}
.am-table{width:100%;border-collapse:collapse;font-size:14px}
.am-table th{text-align:left;font-weight:500;padding:7px 10px 7px 0;width:44%}
.am-table td{padding:7px 0;font-variant-numeric:tabular-nums}
.am-table td:last-child{text-align:right;white-space:nowrap;padding-left:10px}
.am-hbar{display:block;height:8px;border-radius:4px;background:#EEF3EF;overflow:hidden}
.am-hbar i{display:block;height:100%;background:var(--act);border-radius:4px}
.am-top{margin:0;padding:0 0 0 20px;font-size:15px}
.am-top li{padding:5px 0}
.am-top li>*{display:inline}
.am-top b{float:right;font-weight:600;font-variant-numeric:tabular-nums}
.am-rep{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:12px}
.am-rep.done{opacity:.75}
.am-reph{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}
.am-reph small{font-size:13px;color:var(--muted)}
.am-what{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:6px;padding:3px 8px;background:var(--warn-soft);color:var(--warn)}
.am-rep p{margin:4px 0 0}
.am-why{font-size:14px;color:var(--muted)}
.am-done{font-size:14px;color:var(--muted)}
.am-h3{font-size:16px;margin:24px 0 10px}
.am-q{margin-bottom:12px}
.am-users{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.am-user{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);background:#fff}
.am-user:first-child{border-top:0}
.am-user.me{background:var(--act-mist)}
.am-user.blocked{opacity:.6}
.am-ub{flex:1;min-width:0;display:flex;flex-direction:column}
.am-ub b{font-weight:600}
.am-ub small{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.am-user select{border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:#fff;font:inherit;font-size:14px}
.am-user .linkbtn{font-size:14px;color:var(--muted)}

@media (max-width:860px){
  .am-kpis{grid-template-columns:1fr 1fr}
  .am-kpis.sm{grid-template-columns:1fr 1fr}
  .am-grid{grid-template-columns:1fr}
  .am-kpi b{font-size:22px}
  .am-bars{height:130px;gap:3px}
  .am-bar span{font-size:9px;transform:rotate(-45deg);transform-origin:center}
  .am-user{flex-wrap:wrap}
  .am-ub{flex-basis:calc(100% - 50px)}
  .am-user select{margin-left:44px}
  .dm-top{flex-direction:column}
  .dm-adminbtn{margin:0 2px;padding:0 10px}
}
