/* MRMN dashboard: matches the plan mockups (Discord-dark palette). */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:"Inter","Noto Sans","Segoe UI",system-ui,sans-serif,"Noto Color Emoji";background:#1e1f22;color:#dbdee1;font-size:14px;line-height:1.4}
a{color:#00a8fc;text-decoration:none}a:hover{text-decoration:underline}
.app{display:flex;min-height:100vh}
.side{width:240px;flex-shrink:0;background:#2b2d31;padding:18px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;color:#fff;padding:4px 8px 16px}
.brand:hover{text-decoration:none}
.logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#e11d48,#7c3aed);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:13px;flex-shrink:0}
.logo.big{width:72px;height:72px;border-radius:20px;font-size:26px}
.sec{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#949ba4;padding:14px 8px 6px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav{padding:6px 10px;border-radius:6px;color:#b5bac1;display:flex;align-items:center;gap:10px}
.nav:hover{background:#35373c;color:#dbdee1;text-decoration:none}
.nav.active{background:#404249;color:#fff}
.nav .ic{width:18px;text-align:center;opacity:.85}
.nav .soon{margin-left:auto;font-size:10px;color:#80848e;border:1px solid #4e5058;border-radius:8px;padding:0 6px}
.side .spacer{flex:1}
.owner{background:linear-gradient(90deg,#7c3aed33,transparent);border-left:3px solid #a78bfa}
.main{flex:1;display:flex;flex-direction:column;background:#313338;min-width:0}
.top{height:60px;border-bottom:1px solid #26272b;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#313338;gap:16px}
.top h1{font-size:19px;color:#fff;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top.plain{background:#2b2d31}
.user{display:flex;align-items:center;gap:10px;color:#dbdee1;white-space:nowrap}
.av{width:32px;height:32px;border-radius:50%;background:#5865f2;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;flex-shrink:0;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.content{padding:24px 28px;flex:1}
.narrow{max-width:1100px;margin:0 auto;padding:34px 40px;width:100%}
.card{background:#2b2d31;border-radius:10px;padding:18px;border:1px solid #232428}
.card h3{color:#fff;font-size:15px;margin-bottom:4px}
.card+.card{margin-top:16px}
.grid>.card+.card,.row>.card+.card{margin-top:0}
.muted{color:#949ba4;font-size:13px}
.small{font-size:12px}
.mono{font-family:ui-monospace,"JetBrains Mono",Consolas,monospace;font-size:12px}
.btn{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;background:#5865f2;color:#fff;border-radius:6px;padding:8px 14px;font-weight:600;font-size:13px;border:none;cursor:pointer;font-family:inherit}
.btn:hover{filter:brightness(1.1);text-decoration:none}
.btn.gray{background:#4e5058}.btn.green{background:#248046}.btn.red{background:#da373c}.btn.sm{padding:5px 10px;font-size:12px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.input,select.input,textarea.input{background:#1e1f22;border:1px solid #1a1b1e;border-radius:6px;padding:9px 11px;color:#dbdee1;font-size:13px;width:100%;font-family:inherit}
textarea.input{min-height:84px;resize:vertical}
.input:focus{outline:2px solid #5865f2;outline-offset:-1px}
label{display:block;font-size:11px;text-transform:uppercase;font-weight:700;color:#b5bac1;margin:12px 0 6px;letter-spacing:.04em}
label.inline{display:flex;align-items:center;gap:8px;text-transform:none;font-size:13px;font-weight:500;color:#dbdee1;letter-spacing:0}
.tog{width:40px;height:24px;border-radius:12px;background:#80848e;position:relative;flex-shrink:0;border:none;cursor:pointer;display:inline-block}
.tog::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .12s}
.tog.on{background:#23a55a}.tog.on::after{left:19px}
.tog[disabled]{cursor:not-allowed;opacity:.55}
.pill{white-space:nowrap;display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:700}
.p-green{background:#1f4d33;color:#57f287}.p-red{background:#5c2224;color:#ff8b8e}.p-yellow{background:#4d3f16;color:#fee75c}.p-blue{background:#273266;color:#a5b0ff}.p-gray{background:#3f4147;color:#b5bac1}.p-purple{background:#3b2a66;color:#c4b5fd}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;text-transform:uppercase;color:#949ba4;padding:10px 12px;border-bottom:1px solid #3f4147;letter-spacing:.04em;white-space:nowrap}
td{padding:10px 12px;border-bottom:1px solid #383a40;vertical-align:middle}
tr:last-child td{border-bottom:none}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.g-side{grid-template-columns:minmax(0,1fr) 380px}
@media (max-width:1100px){.g2,.g3,.g4,.g-side{grid-template-columns:1fr}}
.stat .num{font-size:24px;font-weight:700;color:#fff;margin-top:6px}
.row{display:flex;align-items:center;gap:10px}
.row.between{justify-content:space-between}
.row.wrap{flex-wrap:wrap}
.stack>*+*{margin-top:10px}
.feat{display:flex;align-items:center;gap:12px;background:#2b2d31;border:1px solid #232428;border-radius:10px;padding:12px 14px}
.feat .fi{font-size:20px;width:26px;text-align:center}
.feat .ft{color:#fff;font-weight:600}
.feat .fd{color:#949ba4;font-size:12px}
.feat form{margin-left:auto}
.chip{background:#3f4147;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;color:#dbdee1;white-space:nowrap}
.section-h{display:flex;align-items:flex-end;justify-content:space-between;margin:22px 0 10px;gap:12px}
.section-h h2{font-size:16px;color:#fff}
.flash{margin:16px 28px 0;padding:10px 14px;border-radius:8px;font-weight:600}
.flash.ok{background:#1f4d33;color:#a6f3c1}.flash.err{background:#5c2224;color:#ffc7c8}.flash.info{background:#273266;color:#c9cffd}
.gicon{width:72px;height:72px;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#fff;overflow:hidden;flex-shrink:0}
.gicon img{width:100%;height:100%;object-fit:cover}
.gicon.sm{width:44px;height:44px;border-radius:12px;font-size:15px}
.gicon.xs{width:28px;height:28px;border-radius:8px;font-size:11px}
.scard{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 18px;text-align:center}
.scard .nm{color:#fff;font-weight:700;font-size:16px}
.entry{border-top:1px solid #3f4147;padding:10px 0;display:flex;gap:10px;align-items:flex-start}
.entry:first-child{border-top:none}
.tag-local{background:#3f4147;color:#dbdee1}.tag-network{background:#3b2a66;color:#c4b5fd}
.banner{border-radius:10px;padding:14px 16px;margin-bottom:18px;display:flex;gap:12px;align-items:center}
.banner.warn{background:#4d3f16;color:#fee75c}.banner.info{background:#273266;color:#c9cffd}
.disc{background:#313338;border-radius:8px;padding:12px;display:flex;gap:12px}
.disc .emb{background:#2b2d31;border-left:4px solid #5865f2;border-radius:4px;padding:10px 14px;margin-top:4px;font-size:13.5px;white-space:pre-wrap;flex:1}
.disc .nm{color:#fff;font-weight:600}.apptag{background:#5865f2;color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:3px;margin-left:5px;vertical-align:1px}
.coming{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 20px;gap:12px}
.coming .big{font-size:52px}
.kbd{background:#1e1f22;border-radius:4px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:12px;color:#c9cdfb}
.checkgrid td,.checkgrid th{text-align:center}.checkgrid td:first-child,.checkgrid th:first-child{text-align:left}
input[type=checkbox]{width:16px;height:16px;accent-color:#5865f2}
.hero{background:radial-gradient(1200px 400px at 20% -10%,#7c3aed55,transparent),radial-gradient(900px 400px at 90% 0,#e11d4844,transparent),#1e1f22;padding:70px 40px 50px;text-align:center}
.hero h1{font-size:40px;color:#fff;margin:18px 0 8px}
.hero p{color:#b5bac1;font-size:16px;max-width:640px;margin:0 auto}
.pubnav{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:#2b2d31}
.prose p{margin:8px 0;color:#dbdee1;white-space:pre-wrap}
.empty{padding:28px;text-align:center;color:#949ba4}
details summary{cursor:pointer;color:#b5bac1}
.inline-form{display:inline}
.right{text-align:right}
.mt{margin-top:16px}.mt-s{margin-top:8px}.mb{margin-bottom:16px}
.w-100{width:100%}
.profile-card{background:#232428;border-radius:12px;overflow:hidden;width:320px}
.profile-card .bnr{height:70px;background:linear-gradient(135deg,#e11d48,#7c3aed)}
.profile-card .pav{width:84px;height:84px;border-radius:50%;border:6px solid #232428;margin:-42px 0 0 14px;background:#5865f2;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:26px;overflow:hidden}
.profile-card .pav img{width:100%;height:100%;object-fit:cover}
.profile-card .pb{padding:8px 16px 16px}
.app{background:linear-gradient(90deg,#2b2d31 240px,#313338 240px)}
td{word-break:normal}
td.nowrap,th.nowrap{white-space:nowrap}
.side>*{flex-shrink:0}
.g-side-wide{grid-template-columns:minmax(0,1fr) 340px}
@media (max-width:1400px){.g-side-wide{grid-template-columns:1fr}}
.card:has(>table){overflow-x:auto}
td.mono,td:first-child .mono{white-space:nowrap}

/* Command Embeds: Discord-style embed preview */
.dc-msg { background: #313338; border-radius: 8px; padding: 12px; }
.dc-embed { background: #2b2d31; border-left: 4px solid #5865f2; border-radius: 4px; padding: 10px 14px; max-width: 520px; color: #dbdee1; font-size: 14px; white-space: pre-wrap; }
.dc-author { font-size: 13px; font-weight: 600; color: #fff; }
.dc-author:empty, .dc-title:empty, .dc-desc:empty, .dc-footer:empty { display: none; }
.dc-title { font-weight: 700; color: #fff; margin: 2px 0 6px; }
.dc-desc { margin-bottom: 6px; }
.dc-fields { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.dc-field { flex: 1 1 100%; }
.dc-field.inline { flex: 1 1 28%; min-width: 120px; }
.dc-fname { font-weight: 700; color: #fff; font-size: 13px; }
.dc-fval { font-size: 13px; }
.dc-footer { font-size: 12px; color: #b5bac1; margin-top: 8px; }
/* Discord-look preview (MRMN list) */
.dc-wrap{background:#00002d;border-radius:8px;padding:12px;max-width:560px}
.dc-msg{display:flex;gap:10px;margin-bottom:10px}.dc-av{width:36px;height:36px;border-radius:50%;background:#2b2d31;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.dc-body{flex:1;min-width:0}.dc-head{color:#fff;margin-bottom:4px}.dc-app{background:#5865f2;color:#fff;font-size:10px;padding:1px 4px;border-radius:3px}.dc-time{color:#949ba4;font-size:12px}
.dc-embed{background:#121239;border-left:4px solid;border-radius:4px;padding:10px 14px;margin:6px 0;color:#dbdee1;font-size:14px;line-height:1.35;max-width:520px}
.dc-title{font-weight:700;color:#fff;font-size:13px;margin-bottom:6px}.dc-h1{font-size:24px;font-weight:700;color:#fff;margin:6px 0}.dc-h2{font-size:20px;font-weight:700;color:#fff}.dc-h3{font-size:16px;font-weight:700;color:#fff}
.dc-sub{font-size:12px;color:#b5bac1}.dc-gap{height:8px}.dc-code{font-family:Consolas,monospace;background:#1e1f22;border:1px solid #2b2d31;border-radius:3px;padding:0 3px;white-space:pre;font-size:12px}
.dc-link{color:#7ea7ff;text-decoration:none}.dc-mention{background:rgba(88,101,242,.3);color:#c9cdfb;border-radius:3px;padding:0 2px}.dc-emoji{width:20px;height:20px;vertical-align:middle}
.dc-image{display:block;max-width:100%;border-radius:4px;margin-top:10px}.dc-footer{font-size:12px;color:#949ba4;margin-top:8px}
.dc-placeholder{display:block;border:1px dashed #6d6f78;border-radius:4px;color:#949ba4;text-align:center;padding:14px;margin-top:10px;font-size:12px}
.flash.warn{background:#4d3f16;color:#fee75c}
.dc-author{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;margin-bottom:4px}.dc-aicon{width:20px;height:20px;border-radius:50%}
.dc-fields{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px}.dc-field{flex:1 1 100%}.dc-field.inl{flex:1 1 30%}.dc-fname{font-weight:700;font-size:13px}.dc-fval{font-size:13px}
.dc-thumb{float:right;max-width:80px;max-height:80px;border-radius:4px;margin-left:10px}.dc-content{margin:2px 0 6px}
.dc-row{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.dc-btn{padding:4px 12px;border-radius:4px;font-size:13px;color:#fff;background:#4e5058}.dc-btn.primary{background:#5865f2}.dc-btn.success{background:#248046}.dc-btn.danger{background:#da373c}
.dc-select{display:inline-block;min-width:240px;padding:6px 10px;border-radius:4px;background:#1e1f22;color:#b5bac1;font-size:13px}
.dc-wrap.light{background:#fff;color:#313338}.dc-wrap.light .dc-embed{background:#f2f3f5}
/* searchable role picker (rolepicker.js) */
.rp{position:relative;width:100%;max-width:520px}
.rp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.rp-chips:empty{display:none}
.rp-chip{--rp-c:#b5bac1;display:inline-flex;align-items:center;gap:6px;background:#2b2d31;border:1px solid color-mix(in srgb,var(--rp-c) 55%,transparent);color:var(--rp-c);border-radius:999px;padding:3px 4px 3px 9px;font-size:12px;font-weight:600}
.rp-dot{width:8px;height:8px;border-radius:50%;background:var(--rp-c,#b5bac1);flex-shrink:0}
.rp-x{background:none;border:0;color:#b5bac1;cursor:pointer;font-size:15px;line-height:1;padding:0 5px;border-radius:50%}
.rp-x:hover{background:#3f4147;color:#fff}
.rp-list{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:4px;max-height:240px;overflow-y:auto;background:#111214;border:1px solid #3f4147;border-radius:8px;list-style:none;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.rp-opt{--rp-c:#b5bac1;display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:5px;cursor:pointer;color:var(--rp-c);font-size:13px}
.rp-opt:hover,.rp-opt.rp-active{background:#35373c}
.rp-nores{padding:7px 9px}
.rp-disabled .rp-chip{opacity:.85}
.rp [hidden]{display:none!important}
.rp-group{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#949ba4;padding:8px 9px 3px;font-weight:700}
.rp-badge{margin-left:auto;font-size:10px;color:#949ba4;background:#2b2d31;border-radius:4px;padding:1px 6px;text-transform:uppercase;letter-spacing:.04em}
.rp-channel .rp-chip{--rp-c:#dbdee1}
.rp-channel .rp-dot{display:none}
.rp-channel .rp-opt{color:#dbdee1}
/* custom logo (Public Page) */
img.logo.img{object-fit:cover;background:#2b2d31;padding:0}
.hero.has-banner{background-size:cover;background-position:center;position:relative}
.hero.has-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1e1f22aa,#1e1f22ee)}
.hero.has-banner>*{position:relative}
.pp-section{display:flex;gap:18px;align-items:flex-start}
.pp-section img{max-width:220px;max-height:180px;border-radius:10px;object-fit:cover}
.pp-section .prose{flex:1;white-space:pre-wrap}
.imgf{display:flex;flex-direction:column;gap:6px}
.imgf .imgf-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.imgf img{max-width:160px;max-height:90px;border-radius:8px;border:1px solid #3f4147;object-fit:contain;background:#1e1f22}
.pp-row{border:1px solid #3f4147;border-radius:10px;padding:10px;margin-top:8px}
.pp-preview{border:1px solid #3f4147;border-radius:12px;overflow:hidden;transform-origin:top left}
.pp-preview .hero{padding:36px 20px 26px}
.pp-preview .hero h1{font-size:26px}
h4{color:#fff;font-size:14px;margin:18px 0 6px}
.grid-cat{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 8px}
.scard{position:relative;overflow:hidden}
.scard.has-banner{padding-top:74px}
.scard-banner{position:absolute;left:0;right:0;top:0;height:62px;background-size:cover;background-position:center}
.scard.has-banner .gicon{position:relative;border:3px solid #2b2d31}
.grid-row{border:1px solid #3f4147;border-radius:10px;padding:8px 10px;margin-top:8px;background:#2b2d31}
.grid-row.dragging{opacity:.5}
.grid-row .drag{cursor:grab;user-select:none;color:#80848e;padding:0 4px}
.grid-row summary{cursor:pointer}
.feat-switch{padding:12px 16px}.feat-switch .ft{color:#fff;font-weight:600}
.sender{border:1px solid #3f4147;border-radius:8px;padding:10px 12px;margin-top:6px}
.sender-preview{display:flex;align-items:center;gap:8px}.sender-preview .dc-av.sm{width:24px;height:24px;border-radius:50%;object-fit:cover}
/* Per-server editable embeds */
.sembed > summary { cursor: pointer; list-style: none; }
.sembed > summary::-webkit-details-marker { display: none; }
.sembed .dc-msg { display: block; }
.sembed .dc-content { white-space: pre-wrap; color: #dbdee1; font-size: 14px; }
.sembed [hidden] { display: none !important; }
.sembed table td { padding: 3px 6px; vertical-align: top; }
