:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f7f9;color:#15171a}*{box-sizing:border-box}body{margin:0}button:disabled{cursor:not-allowed;opacity:.65}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f6f7f9}.login-panel{width:min(420px,100%);background:#ffffff;border:1px solid #dde2e8;border-radius:8px;padding:24px;display:grid;grid-gap:22px;gap:22px}.login-brand{color:#15171a}.login-brand svg{color:#176b52}.login-form{display:grid;grid-gap:10px;gap:10px}.field{display:grid;grid-gap:5px;gap:5px;color:#3d4653;font-size:12px;font-weight:600}.field input,.field select,.field textarea{width:100%;color:#15171a;font-size:14px;font-weight:400}.field textarea{min-height:104px;resize:vertical}.login-form button,.login-form input{width:100%}.login-form button,.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.login-error{color:#9f1d1d;font-size:13px;line-height:1.4}.dashboard-error{background:#fff1f1;border:1px solid #f0b8b8;border-radius:6px;color:#9f1d1d}.dashboard-error,.success-text{padding:10px 12px;font-size:13px;line-height:1.4}.success-text{background:#ecfdf3;border:1px solid #b8e7c7;border-radius:6px;color:#176b52}.status-message{background:#eef7ff;border:1px solid #bddaf5;border-radius:6px;color:#185b8d;padding:10px 12px;font-size:13px;line-height:1.4}.login-footer{align-items:center;color:#5b6472;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;border-top:1px solid #dde2e8;padding-top:16px}.login-footer a{color:#176b52;text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{background:#111827;color:#ffffff;padding:24px 18px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;gap:12px;align-items:center}.brand span,.brand strong{display:block}.brand span{color:#a7b0c0;font-size:13px}nav{display:grid;grid-gap:4px;gap:4px}nav button{min-height:40px;display:flex;align-items:center;gap:10px;color:#d9dee8;background:transparent;border:0;border-radius:6px;padding:8px 10px;font-size:14px;justify-content:flex-start;width:100%}.nav-badge{background:#d73345;border-radius:999px;color:#ffffff;font-size:11px;font-weight:700;margin-left:auto;min-width:22px;padding:2px 7px;text-align:center}nav button.active,nav button:hover{background:#1f2937;color:#ffffff}.content{padding:28px;align-content:start}.content,.content-view{display:grid;grid-gap:22px;gap:22px}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center}h1,h2,p{margin:0}h1{font-size:34px;line-height:1.1}.panel p,.policy-box p,.section-heading p,.topbar p,.update-card p{color:#5b6472}button,input,select,textarea{height:38px;border-radius:6px;border:1px solid #cfd5dd;padding:0 10px;font:inherit}textarea{height:auto;padding:10px;line-height:1.45}button{background:#176b52;color:#ffffff;border-color:#176b52;cursor:pointer}.logout-button{width:auto;padding:0 12px}.topbar-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.icon-button,.notification-menu{position:relative}.icon-button{align-items:center;display:inline-flex;justify-content:center;min-width:38px;padding:0}.button-badge{background:#d73345;border-radius:999px;color:#ffffff;font-size:10px;font-weight:700;min-width:18px;padding:1px 5px;position:absolute;right:-6px;top:-6px}.notification-panel{background:#ffffff;border:1px solid #d6dde7;border-radius:8px;box-shadow:0 18px 40px rgba(15,23,42,.16);color:#15171a;display:grid;grid-gap:8px;gap:8px;min-width:300px;padding:12px;position:absolute;right:0;top:46px;z-index:20}.notification-panel strong{font-size:14px}.notification-item{border-left:3px solid #bddaf5;display:grid;grid-gap:3px;gap:3px;padding:6px 8px}.notification-item.success{border-left-color:#46a36f}.notification-item.error{border-left-color:#d73345}.notification-item span{font-size:13px}.notification-item small,.notification-panel small{color:#5b6472;font-size:12px}.panel-grid,.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.status-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.panel,.status-card,.wide-panel{background:#ffffff;border:1px solid #dde2e8;border-radius:8px;padding:16px}.status-card{display:grid;grid-gap:6px;gap:6px;min-height:126px}.status-card svg{color:#176b52}.status-card.role-ok{border-color:#a9d6c4;background:#f3fbf7}.status-card.role-warning{border-color:#edd08b;background:#fff9e8}.status-card.role-unknown{border-color:#d6dde7;background:#f8fafc}.metric-card span,.status-grid span{color:#5b6472;font-size:13px}.metric-card strong,.status-card strong{display:block;font-size:22px;line-height:1.1}.metric-card small,.status-card small{color:#687282;font-size:12px;line-height:1.35}.admin-dashboard{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr)}.admin-dashboard,.dashboard-main,.dashboard-side,.policy-box{display:grid;grid-gap:14px;gap:14px}.announcement-list{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.announcement-card{background:#f8fafc;border:1px solid #d6dde7;border-radius:8px;padding:12px}.announcement-card small,.announcement-card span{color:#5b6472;font-size:12px;font-weight:600}.announcement-card h3{font-size:15px;margin:7px 0}.announcement-card p{color:#2d3540;font-size:13px;line-height:1.45;margin:0 0 8px;white-space:pre-wrap}.announcement-maintenance{background:#fffaf1;border-color:#f0d5a8}.announcement-announcement{background:#eef7ff;border-color:#bddaf5}.legal-form .field:has(textarea){grid-column:span 2}.admin-announcements{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-heading{margin-top:22px}.compact-filters{grid-template-columns:minmax(180px,240px) minmax(180px,240px) 170px}.contact-list{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.admin-contact-list{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card{background:#f8fafc;border:1px solid #d6dde7;border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:12px}.contact-card.unread{border-color:#83b7ee;box-shadow:inset 3px 0 0 #2f80d1}.contact-card-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.contact-card small,.contact-card span{color:#5b6472;font-size:12px;font-weight:600}.contact-card h3{font-size:15px;margin:0}.contact-card p{color:#2d3540;font-size:13px;line-height:1.45;margin:0;white-space:pre-wrap}.priority-high{background:#fffaf1;border-color:#f0d5a8}.priority-urgent{background:#fff3f4;border-color:#e7a5ad}.contact-admin-form{grid-template-columns:160px 160px minmax(0,1fr) 170px;margin-top:4px}.contact-admin-form .field:has(textarea){grid-column:span 1}.contact-reply{display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) 110px 90px}.contact-reply textarea{min-height:70px}.contact-history{background:#eef2f6;border:1px solid #d6dde7;border-radius:6px;display:grid;grid-gap:4px;gap:4px;padding:8px}.dashboard-main,.policy-box{background:#ffffff;border:1px solid #dde2e8;border-radius:8px;padding:16px}.section-heading{display:flex;align-items:flex-start;gap:10px}.section-heading h2{font-size:20px;margin-bottom:4px}.metric-grid,.update-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.metric-card,.update-card{background:#f8fafc;border:1px solid #dde5ee;border-radius:8px;padding:14px}.metric-card{min-height:118px;display:flex;justify-content:space-between;gap:14px}.metric-card svg,.section-heading svg,.update-card svg{color:#176b52;flex:0 0 auto}.metric-card strong{margin:8px 0 6px;font-size:30px}.policy-box ul{margin:0;padding-left:18px;color:#2d3540}.policy-box li+li{margin-top:8px}.policy-box.warning{border-color:#f0d5a8;background:#fffaf1}.policy-box.warning svg{color:#9a5b00}.update-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.update-card{min-height:156px}.update-card h3{margin:10px 0 8px;font-size:16px;overflow-wrap:anywhere}.update-card button{margin-top:12px;width:100%}.update-upload-path{color:#5b6472;font-size:13px;margin-top:14px}.update-log{background:#111827;border-radius:8px;color:#d9dee8;font-size:12px;line-height:1.45;margin:14px 0 0;max-height:260px;overflow:auto;padding:14px;white-space:pre-wrap}.management-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:14px}.compact-form{grid-template-columns:minmax(240px,1fr) 180px}.management-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.checkbox-row{min-height:38px;display:flex;align-items:center;gap:8px;color:#2d3540;font-size:14px}.checkbox-row input{width:16px;height:16px}.data-table{border:1px solid #dde5ee;border-radius:8px;margin-top:14px;overflow:hidden}.data-row{display:grid;grid-template-columns:1fr 1.4fr 1fr 80px 120px 80px;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;font-size:13px}.data-row button{height:32px;padding:0 8px}.data-row select{height:32px;font-size:13px}.data-row+.data-row{border-top:1px solid #dde5ee}.log-table{overflow-x:auto}.log-row{display:grid;grid-gap:10px;gap:10px;min-width:760px;padding:10px 12px;font-size:13px}.empty-state,.log-row+.log-row{border-top:1px solid #dde5ee}.log-row span{overflow-wrap:anywhere}.table-header{background:#f8fafc;color:#3d4653;font-weight:700}.channel-row{grid-template-columns:100px 1fr 120px 120px 130px 220px}.role-pill{border-radius:999px;padding:5px 8px;text-align:center}.role-pill.role-ok{background:#dff5e9;color:#176b52}.role-pill.role-warning{background:#fff0bd;color:#7c5a08}.role-pill.role-unknown{background:#eef2f6;color:#4b5563}.channel-warning{margin-top:14px}.audit-row,.chat-row,.moderation-row,.statistic-row{grid-template-columns:160px 150px 150px 150px minmax(260px,1fr)}.access-row{grid-template-columns:150px 190px 160px 90px minmax(280px,1fr)}.ban-row,.follower-row{grid-template-columns:150px 120px 150px 150px 160px minmax(220px,1fr)}.pagination-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin:10px 0 18px}.pagination-row span{color:#5b6472;font-size:13px;font-weight:700;margin-right:auto}.bot-status-row{grid-template-columns:160px 170px 110px 190px 190px minmax(220px,1fr)}.update-history-row{grid-template-columns:160px 220px 120px 90px 80px 220px minmax(220px,1fr)}.command-row{grid-template-columns:100px 110px minmax(220px,1fr) 110px 70px 150px 70px 70px 112px 112px 112px 80px}.timer-row{grid-template-columns:120px minmax(220px,1fr) 120px 80px 80px 112px 112px 112px 80px}.preview-box{background:#f8fafc;border:1px solid #d6dde7;border-radius:8px;display:grid;grid-gap:6px;gap:6px;margin-top:12px;padding:12px}.preview-box span{color:#5b6472;font-size:12px;font-weight:700}.preview-box p{margin:0;white-space:pre-wrap}.import-export-form .field:has(textarea){grid-column:span 3}.rule-row{grid-template-columns:130px minmax(240px,1fr) 110px 90px 120px 90px}.log-row button{height:32px;padding:0 8px;align-items:center;display:inline-flex;gap:5px;justify-content:center}.row-actions{display:flex;flex-wrap:wrap;gap:6px}button.danger-button{background:#9f1d1d;border-color:#9f1d1d}.placeholder-box{align-items:center;background:#f8fafc;border:1px solid #dde5ee;border-radius:8px;color:#3d4653;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding:10px 12px;font-size:13px}.placeholder-box code{background:#ffffff;border:1px solid #d6dde7;border-radius:6px;color:#176b52;padding:3px 7px}.placeholder-reference{display:grid;grid-gap:14px;gap:14px;margin-top:14px}.placeholder-group{border:1px solid #dde5ee;border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.placeholder-group h3{margin:0 0 4px}.placeholder-group p{color:#5b6472;font-size:13px}.placeholder-list{display:grid;grid-gap:6px;gap:6px}.placeholder-row{align-items:start;display:grid;grid-gap:10px;gap:10px;grid-template-columns:170px minmax(0,1fr);font-size:13px}.placeholder-row code{background:#f8fafc;border:1px solid #d6dde7;border-radius:6px;color:#176b52;padding:5px 7px}.role-selector{display:grid;grid-gap:8px;gap:8px;color:#3d4653;font-size:12px;font-weight:600}.role-selector>div{display:flex;flex-wrap:wrap;gap:6px}.checkbox-chip{align-items:center;background:#f8fafc;border:1px solid #d6dde7;border-radius:6px;display:inline-flex;gap:6px;min-height:34px;padding:0 9px;font-size:13px;font-weight:500}.checkbox-chip input{height:14px;width:14px}.empty-state{color:#5b6472;font-size:13px;padding:14px 12px}.profile-summary{align-items:center;background:#f8fafc;border:1px solid #dde5ee;border-radius:8px;display:grid;grid-template-columns:58px repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:14px;padding:12px;font-size:13px}.avatar-preview{align-items:center;background:#eef2f6;border:1px solid #d6dde7;border-radius:8px;display:flex;height:48px;justify-content:center;overflow:hidden;width:48px}.avatar-preview img{height:100%;object-fit:cover;width:100%}.profile-form{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-form .field:has(textarea){grid-column:span 2}.panel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{min-height:132px}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.panel-title h2,.wide-panel h2{font-size:18px}.permission-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.role-editor-form{margin-top:16px}.role-editor-form .permission-editor{grid-column:1/-1}.permission-editor{display:grid;grid-gap:8px;gap:8px;margin:10px 0 14px}.permission-editor.compact{margin-top:14px}.permission-check{align-items:center;background:#fff;border:1px solid #dce2ea;border-radius:8px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:18px minmax(160px,1fr) minmax(170px,auto);padding:8px 10px}.permission-check input{height:16px;width:16px}.permission-check span{color:#2d3642;font-size:13px;font-weight:700}.permission-check code{justify-self:end}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:14px}.role-card{background:#f8fafc;border:1px solid #dde5ee;border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:14px}.role-card h3{margin:0 0 4px;font-size:16px}.role-card p{color:#5b6472;font-size:13px;line-height:1.45}.role-card-title{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.role-card-title span{color:#5b6472;font-size:12px;font-weight:700}code{background:#eef2f6;border:1px solid #dce2ea;border-radius:6px;padding:6px 8px}.footer,code{font-size:13px}.footer{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#5b6472;border-top:1px solid #dde2e8;padding-top:18px}.footer strong{color:#15171a}@media (max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:static}nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;display:grid;grid-template-columns:1fr}.topbar-actions{justify-content:flex-start}.notification-panel{left:0;right:auto}.admin-announcements,.admin-contact-list,.admin-dashboard,.compact-filters,.compact-form,.contact-admin-form,.contact-reply,.data-row,.management-form,.metric-grid,.panel-grid,.placeholder-row,.profile-summary,.role-grid,.status-grid,.status-grid.compact,.update-grid{grid-template-columns:1fr}.permission-check{grid-template-columns:18px 1fr}.permission-check code{grid-column:2;justify-self:start}.footer{align-items:flex-start;flex-direction:column}}