:root{--font-body:"gg sans","Noto Sans","Helvetica Neue",Helvetica,Arial,sans-serif;--font-title:"ABC Ginto Nord","gg sans","Noto Sans","Helvetica Neue",Helvetica,Arial,sans-serif;--bg:#1e1f22;--bg-elev:#2b2d31;--bg-elev-2:#313338;--text:#f2f3f5;--muted:#b5bac1;--danger:#da373c;--ok:#3ba55d;--border:#3f4147;--brand:#5865f2}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:#111214;border-right:1px solid var(--border);padding:24px 18px}.sidebar h1{margin:0 0 6px;font-size:20px;font-family:var(--font-title);font-weight:700;letter-spacing:.01em}.sidebar p{margin:0 0 20px;color:var(--muted);font-size:13px}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.sidebar-nav-item{display:flex;align-items:center;gap:8px}.sidebar-nav-item.dragging{opacity:.65}.drag-handle{width:28px;min-width:28px;padding:8px 0;border-radius:8px;background:#2a2d33;color:#99a0ab;border:1px solid var(--border);font-size:12px;line-height:1;cursor:-webkit-grab;cursor:grab}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.sidebar-nav a{flex:1 1;padding:10px 12px;border-radius:8px;color:var(--muted)}.sidebar-nav a.active{background:var(--bg-elev);color:var(--text)}.sidebar-reset{width:100%;margin-top:10px;background:#2f3237;color:#d7dbe6;border:1px solid var(--border);font-weight:600;padding:9px 10px}.content{padding:24px}.content-header h2{margin:0;font-family:var(--font-title);font-weight:700;letter-spacing:.01em}.content-header p{color:var(--muted);margin-top:8px}.session-header{margin-top:12px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.session-header a{color:#fff;background:#3a3f4b;border-radius:8px;padding:6px 10px}.panel-card{margin-top:20px;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:16px}.panel-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-card-header h2{margin:0;font-family:var(--font-title);font-weight:700;letter-spacing:.01em}.panel-card-header p{margin:6px 0 0;color:var(--muted)}.status-badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.status-badge.on{background:#153a22;color:#b6f0c9}.status-badge.off{background:#401b1e;color:#ffc1c1}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px}.field>span,.switch-row>span{color:#d7dbe6;font-weight:600}.switch-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#27292d}.discord-switch{width:40px;min-width:40px;height:24px;border-radius:999px;border:none;padding:2px;background:#72767d;display:inline-flex;align-items:center;transition:background-color .15s ease}.discord-switch.on{background:#23a559}.discord-switch-knob{width:20px;height:20px;border-radius:50%;background:#fff;transform:translateX(0);transition:transform .15s ease}.discord-switch.on .discord-switch-knob{transform:translateX(16px)}.discord-switch:disabled{opacity:.7;cursor:wait}input,select{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px;font-family:var(--font-body);font-size:14px}.roles-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));grid-gap:12px;gap:12px}.role-item{border:1px solid var(--border);border-radius:10px;background:#27292d;padding:10px}.role-item .field+.field{margin-top:10px}.role-label{font-weight:700;margin-bottom:8px;color:#f7f8fa}.card-footer{margin-top:16px;display:flex;gap:12px;align-items:center}button{border:none;background:var(--brand);color:#fff;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;font-family:var(--font-body)}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#ff7b7b;margin:0}.success{color:#8de5a1;margin:0}.muted{color:var(--muted)}.login-layout{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(460px,100%);background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:24px}.login-card h1{margin:0;font-family:var(--font-title)}.login-card p{margin:10px 0 0;color:var(--muted)}.login-button{margin-top:16px;display:inline-flex;background:var(--brand);color:#fff;border-radius:8px;padding:10px 14px;font-weight:700}textarea.annonce-textarea{resize:vertical;min-height:80px;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px;font-family:var(--font-body);font-size:14px}.small{font-size:12px}.annonce-layout{margin-top:16px;display:grid;grid-template-columns:1fr 420px;grid-gap:16px;gap:16px}.annonce-editor,.annonce-preview{background:#27292d;border:1px solid var(--border);border-radius:12px;padding:14px}.annonce-preview h3,.embed-section h3{margin:0 0 10px;font-size:15px}.embed-section{margin-top:14px;display:grid;grid-gap:10px;gap:10px}.desc-toolbar{display:flex;gap:8px}.desc-toolbar button{min-width:34px;height:34px;padding:0;background:#3a3f4b}.discord-message-preview{background:#1c1d21;border:1px solid #2f3237;border-radius:10px;padding:12px}.preview-attachments p,.preview-content{margin:0 0 8px;white-space:pre-wrap;word-break:break-word}.embed-preview{border-left:4px solid #e11d48;background:#202225;border-radius:6px;padding:10px 12px;margin-top:8px;position:relative}.embed-author{margin:0;color:#d7dbe6;font-size:12px;font-weight:700}.embed-title{margin:6px 0 0;color:#00a8fc;font-weight:700}.embed-description{margin:8px 0 0;white-space:pre-wrap;word-break:break-word}.embed-footer{margin:10px 0 0;font-size:12px;color:#b5bac1}.embed-thumb{width:80px;height:80px;position:absolute;top:10px;right:10px}.embed-image,.embed-thumb{object-fit:cover;border-radius:8px}.embed-image{width:100%;max-height:220px;margin-top:10px}@media (max-width:980px){.layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.annonce-layout,.field-grid,.roles-grid{grid-template-columns:1fr}}