:root{--bg: #1a1a1a;--surface-1: #232427;--surface-2: #2d2d2d;--surface-3: #1e1f23;--brand: #5865f2;--brand-600: #4752c4;--text: #ffffff;--text-muted: #aab1c3;--text-soft: #8f93a2;--danger: #ed4245;--ok: #57cc99;--radius-8: 8px;--radius-12: 12px;--radius-16: 16px;--shadow-1: 0 4px 12px rgba(0,0,0,.3);--shadow-2: 0 12px 30px rgba(0,0,0,.35);--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--fs-12: .75rem;--fs-14: .875rem;--fs-16: 1rem;--fs-20: 1.25rem;--fs-24: 1.5rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1a1a1a;color:#fff}#root{min-height:100vh}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}.login-box{background:#2d2d2d;padding:3rem;border-radius:12px;box-shadow:0 8px 32px #0000004d;text-align:center}.login-box h1{margin-bottom:1rem;font-size:2rem}.login-box p{color:#aaa;margin-bottom:2rem}.discord-button{background:#5865f2;color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;border-radius:8px;cursor:pointer;transition:background .2s;text-decoration:none;display:inline-block}.discord-button:hover{background:#4752c4}.dashboard{display:flex;height:100vh}.sidebar{width:250px;background:#2d2d2d;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem}.sidebar h2{font-size:1.5rem;margin-bottom:1rem;padding:0 1rem}.sidebar-section{border-top:1px solid #3d3d3d;padding-top:1.25rem;margin-top:.75rem}.sidebar-section-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#8f93a2;margin:0 1rem .5rem}.sidebar-button{background:transparent;color:#ddd;border:none;padding:1rem 1.25rem;text-align:left;border-radius:8px;cursor:pointer;transition:all .2s;font-size:1rem;display:flex;align-items:center;gap:.5rem;width:100%}.sidebar-button-nested{font-size:.95rem;padding-left:1.5rem}.sidebar-button:hover{background:#3d3d3d;color:#fff}.sidebar-button.active{background:#5865f2;color:#fff}.sidebar-subnav{display:flex;flex-direction:column;margin-top:.5rem;gap:.35rem;padding-left:1.5rem}.sidebar-subnav-button{background:transparent;border:none;text-align:left;color:#aaa;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s}.sidebar-subnav-button:hover{background:#3d3d3d;color:#fff}.sidebar-subnav-button.active{background:#5865f233;color:#fff}.logout-button{margin-top:auto;background:#ed4245;color:#fff;font-weight:600}.logout-button:hover{background:#c03537}.main-content{flex:1;padding:2rem;overflow-y:auto}.main-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.sidebar-button,.sidebar-subnav-button{position:relative}.sidebar-button.active:before,.sidebar-subnav-button.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--brand)}.sidebar{width:250px;background:var(--surface-2);padding:var(--space-6) var(--space-4)}@media (max-width: 1024px){.sidebar{width:72px;padding:var(--space-6) .5rem}.sidebar .label,.sidebar h2,.sidebar-section-title{display:none}.sidebar-button,.sidebar-button-nested{justify-content:center;padding:.75rem .5rem}.sidebar-subnav{padding-left:0}}.skeleton{background:linear-gradient(90deg,#2a2b32 25%,#31333b 37%,#2a2b32 63%);background-size:400% 100%;animation:shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-12)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.skeleton-card{height:120px}.skeleton-line{height:16px;width:60%;margin-top:.5rem;border-radius:6px}.toast{position:fixed;right:1.25rem;bottom:1.25rem;background:#1b1c20;border:1px solid rgba(125,136,255,.35);color:#dce0ff;padding:.75rem 1rem;border-radius:var(--radius-12);box-shadow:var(--shadow-2);z-index:30}.main-subtitle{color:#aab1c3;margin-top:.25rem}.guild-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:2rem}.guild-card{background:#2d2d2d;padding:1.5rem;border-radius:8px;transition:all .2s;text-align:center;border:none;color:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1rem}.guild-card:hover{background:#3d3d3d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.guild-icon{width:64px;height:64px;border-radius:50%;margin:0 auto 1rem;background:#5865f2;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.guild-name{font-size:1rem;font-weight:500}.empty-state{background:#232427;padding:2rem;border-radius:12px;text-align:center;max-width:480px}.empty-state h2{margin-bottom:.75rem}.empty-state p{color:#aab1c3}.primary-button,.secondary-button,.link-button,.pill-button,.sidebar-button,.sidebar-subnav-button,.guild-card,.select-trigger,.select-option{outline:none}.primary-button:focus-visible,.secondary-button:focus-visible,.link-button:focus-visible,.pill-button:focus-visible,.sidebar-button:focus-visible,.sidebar-subnav-button:focus-visible,.guild-card:focus-visible,.select-trigger:focus-visible,.select-option:focus-visible{box-shadow:0 0 0 3px #5865f259;border-radius:8px}.primary-button,.secondary-button,.link-button{border:none;cursor:pointer;font-weight:500;transition:background .2s ease,color .2s ease}.primary-button{background:#5865f2;color:#fff;padding:.75rem 1.5rem;border-radius:8px;margin-top:1.25rem}.primary-button:hover{background:#4752c4}.secondary-button{background:#5865f226;color:#d1d6ff;padding:.6rem 1.25rem;border-radius:8px}.secondary-button:hover{background:#5865f24d}.link-button{background:none;color:#7d88ff;padding:0;margin-bottom:1rem}.link-button:hover{color:#9da7ff}.section-subtitle{color:#aab1c3;margin-top:.35rem;font-size:.95rem}.settings-container{width:100%;max-width:none}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.unsaved-banner{display:flex;align-items:center;gap:.75rem;background:#faa61a1f;border:1px solid rgba(250,166,26,.4);color:#f6c782;padding:.85rem 1rem;border-radius:10px;font-size:.95rem;margin-bottom:1.5rem}.unsaved-banner strong{color:#ffd48a}.saving-indicator{color:#7d88ff;margin-bottom:1.5rem}.save-changes-button{position:fixed;bottom:2rem;right:2rem;margin-top:0;box-shadow:0 18px 40px #5865f259;z-index:20}.save-changes-button:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.settings-card{background:#232427;padding:1.75rem;border-radius:16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.settings-card:hover{background:#2f3035;transform:translateY(-4px);box-shadow:0 12px 30px #00000059}.settings-card-icon{font-size:2rem}.settings-card-content h3{margin-bottom:.35rem}.settings-card-content p{color:#939ab8;font-size:.95rem}.settings-panel{background:#232427;padding:2rem;border-radius:16px;display:flex;flex-direction:column;gap:1.5rem}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.panel-header p{color:#aab1c3;margin-top:.35rem}.settings-header-actions{display:flex;gap:.75rem}.panel-actions{display:flex;flex-wrap:wrap;gap:.75rem}.panel-error{background:#ed424526;border:1px solid rgba(237,66,69,.4);color:#ff9b9d;padding:.75rem 1rem;border-radius:8px}.panel-success{background:#57cc9926;border:1px solid rgba(87,204,153,.4);color:#8ff5c9;padding:.75rem 1rem;border-radius:8px;margin-top:.75rem}.form-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#aab1c3}.text-input,.select-input{width:100%;background:#1f2026;border:1px solid #2f3036;border-radius:8px;padding:.6rem .75rem;color:#fff;font-size:.95rem}.text-input:focus,.select-input:focus{outline:none;border-color:#5865f2d9;box-shadow:0 0 0 3px #5865f240}.select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.danger-button{background:#ed42451f;color:#ffb3b5;border:none;border-radius:8px;padding:.6rem 1rem;cursor:pointer;transition:background .2s ease,color .2s ease;align-self:flex-start}.danger-button:hover{background:#ed424538;color:#fff}.settings-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.automod-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.settings-panel-card{background:#1e1f23;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.settings-panel-card p{color:#8f93a2;font-size:.95rem}.panel-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:42px}.panel-card-header>*:first-child{flex:1;min-width:0}.button-group{display:flex;flex-wrap:wrap;gap:.5rem}.pill-button{background:#2d2e35;color:#c8ccde;border:1px solid transparent;border-radius:999px;padding:.4rem .85rem;cursor:pointer;transition:all .2s ease}.pill-button:hover{background:#3c3d47}.pill-button.active{background:#5865f233;border-color:#5865f2;color:#fff}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.automod-actions{display:flex;flex-direction:column;gap:.75rem}.automod-action-list{display:flex;flex-wrap:wrap;gap:.5rem}.automod-action-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:999px;background:#5865f226;border:1px solid rgba(88,101,242,.35);color:#e3e5f0;font-size:.9rem}.automod-action-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#00000040;color:#fff;width:1.4rem;height:1.4rem;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:1rem;line-height:1;transition:background .2s ease}.automod-action-remove:hover{background:#ed424599}.automod-action-empty{margin:0;color:#8f93a2;font-size:.9rem}.automod-action-form{display:flex;flex-direction:column;gap:.75rem;background:#16171b;border:1px solid #2c2d33;border-radius:12px;padding:1rem}.automod-action-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.automod-action-form-stack{display:flex;flex-direction:column;gap:.75rem}.automod-action-form-footer{display:flex;justify-content:flex-end;gap:.5rem}.automod-action-form select,.automod-action-form input[type=number]{width:100%}.automod-actions .action-add-button{align-self:flex-start}.form-grid label,.settings-panel-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;color:#c6c9d8}.form-inline{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.form-inline input[type=number]{width:120px}.settings-panel-card input[type=number],.settings-panel-card textarea{background:#15161a;border:1px solid #32333b;border-radius:8px;padding:.6rem .75rem;color:#fff;font-size:.95rem}.settings-panel-card textarea{resize:vertical}.settings-panel-card input[type=number]:focus,.settings-panel-card textarea:focus{outline:none;border-color:#5865f2}.checkbox{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#c6c9d8}.checkbox input{width:18px;height:18px}.reward-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.reward-list li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:#15161a;border-radius:8px;padding:.6rem .75rem;font-size:.95rem}.reward-list code{background:#5865f226;padding:.1rem .4rem;border-radius:4px;font-size:.9rem}.status-indicator{font-size:.85rem;color:#939ab8}.status-indicator.active{color:#8ff5c9}.switch{position:relative;display:inline-block;width:48px;height:26px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#3a3c44;transition:.2s;border-radius:26px}.switch-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%}.switch input:checked+.switch-slider{background-color:#5865f2}.switch input:checked+.switch-slider:before{transform:translate(22px)}.select-menu{position:relative;display:flex;flex-direction:column;gap:.5rem}.select-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#7d88ff}.select-trigger{background:#2a2b32;color:#fff;border:1px solid #3a3c44;border-radius:10px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;cursor:pointer;transition:border .2s ease,background .2s ease}.select-trigger:hover:not(:disabled){border-color:#5865f2}.select-trigger:disabled{cursor:not-allowed;opacity:.7}.select-trigger-icon{font-size:.8rem;opacity:.6}.select-popover{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#1e1f23;border:1px solid #3a3c44;border-radius:12px;box-shadow:0 20px 45px #00000073;z-index:10;padding:.75rem}.select-search{width:100%;background:#2a2b32;border:1px solid #3a3c44;border-radius:8px;padding:.6rem .75rem;color:#fff;margin-bottom:.75rem}.select-options{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.select-option{background:transparent;border:none;color:#d5d7e2;padding:.6rem .75rem;border-radius:8px;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.select-option small{display:block;color:#9fa6c0;margin-top:.25rem}.select-option:hover{background:#5865f233;color:#fff}.select-option.selected{background:#5865f259;color:#fff}.select-option.empty{cursor:default;color:#777a8f}.tab-toggle{display:inline-flex;background:#ffffff0d;padding:.25rem;border-radius:999px;gap:.25rem}.tab-toggle-button{border:none;background:transparent;color:#aab1c3;font-size:.9rem;padding:.35rem .85rem;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease}.tab-toggle-button.active{background:#5865f240;color:#fff}.points-section{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.points-layout{display:flex;gap:1.5rem;flex-wrap:wrap}.points-sidebar{flex:0 0 260px;background:#1f2026;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:1rem}.points-sidebar-header{display:flex;justify-content:space-between;align-items:center}.points-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;padding:0;margin:0;max-height:380px;overflow-y:auto}.points-list-item{background:#232427;border:1px solid #2f3036;border-radius:10px;padding:.75rem;cursor:pointer;transition:border .2s ease,background .2s ease}.points-list-item:hover{border-color:#5865f280}.points-list-item.active{border-color:#5865f2e6;background:#5865f226}.points-list-title{font-weight:600;color:#fff}.points-list-subtitle{color:#aab1c3;font-size:.85rem;margin-top:.35rem}.points-detail{flex:1;min-width:280px}.points-detail-card{background:#1f2026;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.panel-footer{display:flex;justify-content:flex-end}@media (max-width: 960px){.points-layout{flex-direction:column}.points-sidebar{flex:1}}.toggle-switch{position:relative;width:52px;height:26px;background:#4d4d4d;border-radius:12px;cursor:pointer;transition:background .2s}.toggle-switch.active{background:#5865f2}.toggle-switch:after{content:"";position:absolute;top:1px;left:1px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.toggle-switch.active:after{transform:translate(26px)}.appbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-4);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-4);background:linear-gradient(180deg,#00000059,#0000);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.crumbs{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-14);color:var(--text-muted)}.crumb-sep{opacity:.65}.crumb-current{color:#fff;font-weight:600}.appbar-actions{display:flex;align-items:center;gap:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--surface-2);border-radius:var(--radius-12);box-shadow:var(--shadow-2);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3{margin:0;font-size:var(--fs-20)}.modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s,color .2s}.modal-close:hover{background:#ffffff1a;color:var(--text)}.modal-body{padding:var(--space-5);overflow-y:auto;flex:1}.modal-description{color:var(--text-muted);margin-bottom:var(--space-4);font-size:var(--fs-14)}.modal-search{width:100%;padding:var(--space-3);background:var(--surface-3);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-8);color:var(--text);font-size:var(--fs-14);margin-bottom:var(--space-4)}.modal-search:focus{outline:none;border-color:var(--brand)}.role-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:300px;overflow-y:auto}.role-list-empty{text-align:center;color:var(--text-muted);padding:var(--space-5)}.role-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-3);border-radius:var(--radius-8);cursor:pointer;transition:background .2s}.role-item:hover{background:var(--surface-1)}.role-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.role-name{font-size:var(--fs-14)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-5);border-top:1px solid rgba(255,255,255,.1)}.rule-builder{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.rule-item{background:var(--surface-3);border-radius:var(--radius-8);padding:var(--space-4)}.rule-inputs{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.rule-operator,.rule-value,.rule-time-value{padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-8);color:var(--text);font-size:var(--fs-14)}.rule-operator{width:60px}.rule-value,.rule-time-value{width:80px}.rule-time-unit{padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-8);color:var(--text);font-size:var(--fs-14);width:100px}.rule-unit,.rule-within{color:var(--text-muted);font-size:var(--fs-14)}.rule-remove{background:var(--danger);border:none;color:#fff;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s;margin-left:auto}.rule-remove:hover{opacity:.8}.rule-preview{color:var(--text-muted);font-size:var(--fs-12);font-style:italic}.rule-add{padding:var(--space-3) var(--space-4);background:var(--brand);border:none;color:#fff;border-radius:var(--radius-8);cursor:pointer;font-size:var(--fs-14);transition:background .2s}.rule-add:hover{background:var(--brand-600)}.panel-card-actions{padding:0 var(--space-4) var(--space-3);display:flex;gap:var(--space-3)}.condition-line{display:flex;align-items:center;gap:.5rem;margin:.25rem 0;color:#c6c9d8;font-size:.95rem}.condition-pill{display:inline-flex;align-items:center;gap:.1rem;background:#2d2e35;border-radius:999px;padding:.4rem .6rem;border:3px solid rgba(255,255,255,.06);white-space:nowrap}.condition-pill input[type=number]{width:4.2ch;background:transparent;border:none;outline:none;color:#fff;padding:.15rem .25rem;text-align:center;font-size:.95rem;line-height:1;font-variant-numeric:tabular-nums}.condition-pill input[type=number]::-webkit-outer-spin-button,.condition-pill input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.condition-pill input[type=number]{-moz-appearance:textfield}.condition-pill input[type=number]:focus-visible{box-shadow:0 0 0 2px #ffffff14;border-radius:6px}
