:root {
  --black:#000;--black2:#080808;--black3:#0f0f0f;--black4:#181818;--black5:#242424;
  --red:#ff0022;--red2:#cc001a;--red3:#990014;--red4:#3d0008;
  --white:#fff;--white2:#ccc;--white3:#888;--white4:#444;--white5:#222;
  --fn-disp:'Bebas Neue',sans-serif;--fn-cond:'Barlow Condensed',sans-serif;
  --fn-mono:'Inter',system-ui,sans-serif;--fn-code:'Space Mono',monospace;--fn-heavy:'Anton',sans-serif;--sb-w:176px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{background:var(--black);color:var(--white);font-family:var(--fn-mono);overflow-x:hidden;min-height:100%;cursor:default;}
body::before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.08) 3px,rgba(0,0,0,.08) 4px);pointer-events:none;z-index:9998;}
body::after{content:'';position:fixed;top:0;left:0;right:0;height:3px;background:var(--red);z-index:9999;box-shadow:0 0 20px var(--red),0 0 40px color-mix(in srgb,var(--red) 40%,transparent);}
::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:var(--black);}::-webkit-scrollbar-thumb{background:var(--red3);}

#auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:repeating-linear-gradient(90deg,rgba(255,0,34,.02) 0,rgba(255,0,34,.02) 1px,transparent 1px,transparent 80px),repeating-linear-gradient(0deg,rgba(255,0,34,.02) 0,rgba(255,0,34,.02) 1px,transparent 1px,transparent 80px),var(--black);}
.auth-card{width:100%;max-width:400px;background:var(--black2);border:1px solid var(--white5);border-top:2px solid var(--red);animation:riseUp .5s cubic-bezier(.16,1,.3,1) both;overflow:hidden;}
.auth-banner{background:var(--red);padding:2.5rem 2rem 2rem;position:relative;overflow:hidden;}
.auth-banner::before{content:'WLR';position:absolute;right:-10px;top:-10px;font-family:var(--fn-disp);font-size:9rem;line-height:1;color:rgba(0,0,0,.15);pointer-events:none;}
.auth-logo{font-family:var(--fn-disp);font-size:4rem;line-height:.9;color:var(--white);display:block;letter-spacing:.02em;animation:glitch 8s infinite;}
.auth-logo em{font-style:normal;color:var(--black);}
.auth-sub{font-family:var(--fn-cond);font-weight:300;font-size:.75rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(0,0,0,.5);margin-top:.5rem;display:block;}
.auth-body{padding:1.8rem;}
.tab-row{display:flex;margin-bottom:1.6rem;border-bottom:1px solid var(--white5);}
.tab-btn{flex:1;padding:.6rem;background:none;border:none;font-family:var(--fn-cond);font-weight:700;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--white4);cursor:pointer;position:relative;transition:color .15s;}
.tab-btn.active{color:var(--white);}
.tab-btn.active::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--red);}
.auth-form{display:flex;flex-direction:column;gap:1rem;}
.f-label{font-family:var(--fn-cond);font-weight:600;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--white3);display:block;margin-bottom:.3rem;}
.f-input{width:100%;background:var(--black3);border:1px solid var(--white5);border-bottom:1px solid var(--white4);color:var(--white);font-family:var(--fn-mono);font-size:.8rem;padding:.7rem .9rem;outline:none;transition:border-color .15s;border-radius:0;}
.f-input:focus{border-color:var(--red);border-bottom-color:var(--red);background:var(--black4);box-shadow:0 2px 0 var(--red);}
.f-input::placeholder{color:var(--white5);}
.f-note{font-family:var(--fn-cond);font-size:.7rem;color:var(--white4);margin-top:.3rem;font-weight:300;letter-spacing:.05em;}
.err-box{font-family:var(--fn-mono);font-size:.68rem;color:var(--red);padding:.5rem .75rem;background:var(--red4);border-left:2px solid var(--red);}
.btn{font-family:var(--fn-cond);font-weight:900;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;padding:.75rem 1.4rem;border:none;cursor:pointer;transition:all .12s;border-radius:0;}
.btn-primary{background:var(--red);color:var(--white);width:100%;}
.btn-primary:hover{filter:brightness(1.15);}
.btn-primary:active{background:var(--red2);transform:translateY(1px);}
.btn-ghost{background:transparent;color:var(--white3);border:1px solid var(--white5);}
.btn-ghost:hover{border-color:var(--white3);color:var(--white);}
.btn-kill{background:transparent;color:var(--white4);border:1px solid var(--white5);font-size:.65rem;padding:.3rem .7rem;}
.btn-kill:hover{background:var(--red4);color:var(--red);border-color:var(--red3);}
.btn:disabled{opacity:.3;cursor:not-allowed;}

#app-screen{display:none;height:100vh;height:100dvh;flex-direction:column;}
#app-screen.visible{display:flex;}
.topbar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:var(--black);border-bottom:1px solid var(--white5);flex-shrink:0;z-index:10;animation:fallDown .3s ease both;}
.topbar-logo{font-family:var(--fn-disp);font-size:1.8rem;line-height:1;letter-spacing:.03em;color:var(--white);}
.topbar-logo em{font-style:normal;color:var(--red);}
.topbar-meta{display:flex;align-items:center;gap:.6rem;}
.topbar-who{font-family:var(--fn-mono);font-size:.6rem;color:var(--white4);letter-spacing:.04em;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.badge-admin{font-family:var(--fn-cond);font-weight:700;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;background:var(--red);color:var(--white);padding:.1rem .4rem;}
.signout-btn{font-family:var(--fn-cond);font-weight:700;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;background:none;border:1px solid var(--white5);color:var(--white4);padding:.3rem .7rem;cursor:pointer;transition:all .12s;white-space:nowrap;}
.signout-btn:hover{border-color:var(--red);color:var(--red);}
.mob-menu-btn{display:none;background:none;border:1px solid var(--white5);color:var(--white4);width:30px;height:30px;font-size:1rem;cursor:pointer;align-items:center;justify-content:center;transition:all .12s;flex-shrink:0;}
.mob-menu-btn:hover{border-color:var(--red);color:var(--red);}

.app-body{display:flex;flex:1;overflow:hidden;position:relative;}

.sidebar{width:var(--sb-w);flex-shrink:0;border-right:1px solid var(--white5);background:var(--black2);display:flex;flex-direction:column;overflow-y:auto;transition:transform .25s cubic-bezier(.16,1,.3,1);}
.compose-btn{margin:1rem .8rem .8rem;padding:.7rem .6rem;font-family:var(--fn-cond);font-weight:900;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;background:var(--red);color:var(--white);border:none;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;gap:.4rem;}
.compose-btn:hover{filter:brightness(1.15);}
.sb-section{padding:.6rem 0 .2rem;}
.sb-heading{font-family:var(--fn-cond);font-weight:600;font-size:.52rem;letter-spacing:.35em;text-transform:uppercase;color:var(--white5);padding:0 .8rem;margin-bottom:.2rem;}
.sb-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem;font-family:var(--fn-cond);font-weight:400;font-size:.9rem;letter-spacing:.04em;color:var(--white4);cursor:pointer;transition:all .1s;border-left:3px solid transparent;user-select:none;text-transform:uppercase;}
.sb-item:hover{color:var(--white2);background:rgba(255,255,255,.02);}
.sb-item.active{color:var(--white);border-left-color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent);}
.sb-inner{display:flex;align-items:center;gap:.6rem;}
.sb-glyph{display:flex;align-items:center;justify-content:center;width:14px;color:var(--white5);}
.sb-glyph svg{width:13px;height:13px;stroke-width:1.8;}
.sb-item.active .sb-glyph{color:var(--red);}

.ico-btn svg{width:13px;height:13px;stroke-width:1.8;pointer-events:none;}

.ctx-menu{position:fixed;background:var(--black2);border:1px solid var(--white5);border-top:2px solid var(--red);z-index:5000;min-width:180px;box-shadow:0 8px 24px rgba(0,0,0,.7);animation:riseUp .12s cubic-bezier(.16,1,.3,1);}
.ctx-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .9rem;font-family:var(--fn-cond);font-weight:600;font-size:.72rem;letter-spacing:.05em;color:var(--white3);cursor:pointer;transition:background .08s;user-select:none;}
.ctx-item:hover{background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--white);}
.ctx-item.danger:hover{background:var(--red4);color:var(--red);}
.ctx-item svg{width:13px;height:13px;stroke-width:1.8;flex-shrink:0;color:var(--white5);}
.ctx-item:hover svg{color:var(--red);}
.ctx-sep{height:1px;background:var(--white5);margin:.2rem 0;opacity:.4;}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:9500;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:fadeIn .15s ease;}
.lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;box-shadow:0 0 60px rgba(0,0,0,.8);}
.lightbox-close{position:fixed;top:1.2rem;right:1.2rem;background:none;border:1px solid var(--white5);color:var(--white4);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.lightbox-close:hover{border-color:var(--red);color:var(--red);}

.pane-resizer{width:4px;flex-shrink:0;background:transparent;cursor:col-resize;position:relative;transition:background .15s;}
.pane-resizer:hover,.pane-resizer.dragging{background:var(--red3);}

.autosave-ind{font-family:var(--fn-cond);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--white5);opacity:0;transition:opacity .3s;}
.autosave-ind.saving{opacity:1;color:var(--red3);}
.autosave-ind.saved{opacity:1;color:var(--white5);}

.compose-wc{font-family:var(--fn-mono);font-size:.55rem;color:var(--white5);margin-left:auto;padding-right:.3rem;}

.mark-all-btn{font-family:var(--fn-cond);font-weight:700;font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;background:none;border:1px solid var(--white5);color:var(--white5);padding:.2rem .5rem;cursor:pointer;transition:all .1s;white-space:nowrap;}
.mark-all-btn:hover{border-color:var(--red);color:var(--red);}

.to-ac-name{font-family:var(--fn-cond);font-weight:600;font-size:.72rem;letter-spacing:.04em;color:var(--white2);display:block;margin-bottom:.05rem;}
.to-ac-item{display:flex;flex-direction:column;gap:.05rem;}

.hl{background:color-mix(in srgb,var(--red) 30%,transparent);color:var(--white);border-radius:1px;}

.print-btn{font-family:var(--fn-cond);font-weight:700;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;background:none;border:1px solid var(--white5);color:var(--white4);padding:.25rem .6rem;cursor:pointer;transition:all .12s;display:flex;align-items:center;gap:.35rem;}
.print-btn:hover{border-color:var(--white3);color:var(--white);}
.print-btn svg{width:12px;height:12px;stroke-width:1.8;}

.meta-addr{cursor:pointer;transition:color .1s;}
.meta-addr:hover{color:var(--red);}

.notif-banner{display:flex;align-items:center;gap:.7rem;padding:.45rem .9rem;background:var(--black3);border-bottom:1px solid var(--white5);font-family:var(--fn-cond);font-size:.62rem;letter-spacing:.05em;color:var(--white4);flex-shrink:0;}
.notif-banner svg{width:13px;height:13px;flex-shrink:0;color:var(--red);}
.notif-banner-dismiss{margin-left:auto;background:none;border:none;color:var(--white5);cursor:pointer;font-size:.7rem;padding:.1rem .3rem;}
.notif-banner-dismiss:hover{color:var(--red);}

.poll-dot{width:6px;height:6px;border-radius:50%;background:var(--white5);display:inline-block;transition:background .3s;}
.poll-dot.active{background:var(--red);box-shadow:0 0 6px var(--red);}

.list-pane{resize:none;}

.compose-dirty .compose-top .compose-lbl::after{content:' •';color:var(--white5);}

.void-action{font-family:var(--fn-cond);font-weight:700;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;background:var(--red);color:var(--white);border:none;padding:.5rem 1.2rem;cursor:pointer;margin-top:.5rem;transition:filter .12s;}
.void-action:hover{filter:brightness(1.15);}

.sb-item.active .sb-glyph{color:var(--red);}
.sb-count{font-family:var(--fn-mono);font-size:.55rem;background:var(--black4);color:var(--white4);padding:.06rem .35rem;min-width:18px;text-align:center;}
.sb-count.hot{background:var(--red);color:var(--white);}
.sb-rule{height:1px;background:var(--white5);margin:.4rem .8rem;opacity:.5;}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:49;backdrop-filter:blur(2px);}

.main-content{flex:1;display:flex;overflow:hidden;}

.cat-tabs{display:flex;border-bottom:1px solid var(--white5);flex-shrink:0;background:var(--black2);}
.cat-tab{flex:1;padding:.38rem .3rem;font-family:var(--fn-cond);font-weight:700;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--white5);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .1s;white-space:nowrap;}
.cat-tab:hover{color:var(--white3);}
.cat-tab.active{color:var(--white);border-bottom-color:var(--red);}

.search-wrap{padding:.4rem .7rem;border-bottom:1px solid var(--white5);background:var(--black2);flex-shrink:0;}
.search-inp{width:100%;background:var(--black3);border:1px solid var(--white5);border-bottom:1px solid var(--white4);color:var(--white);font-family:var(--fn-mono);font-size:.68rem;padding:.3rem .6rem;outline:none;transition:border-color .12s;}
.search-inp:focus{border-color:var(--red);}
.search-inp::placeholder{color:var(--white5);}

.e-star{position:absolute;right:.55rem;top:.55rem;background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--white5);padding:0;line-height:1;transition:color .1s;opacity:.5;}
.e-star:hover{opacity:1;color:#ffcc00;}
.e-star.starred{color:#ffcc00;opacity:1;}
.e-item{padding-right:1.8rem;}

.addr-filter-wrap{flex-shrink:0;padding:.45rem .8rem;border-bottom:1px solid var(--white5);background:var(--black2);display:flex;align-items:center;gap:.55rem;}
.addr-filter-label{font-family:var(--fn-cond);font-weight:600;font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:var(--white5);flex-shrink:0;}
.addr-filter-sel{flex:1;background:var(--black3);border:1px solid var(--white5);border-bottom:2px solid var(--red3);color:var(--white);font-family:var(--fn-mono);font-size:.68rem;padding:.32rem .6rem;outline:none;cursor:pointer;transition:border-color .12s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;padding-right:1.6rem;max-width:100%;min-width:0;}
.addr-filter-sel:focus{border-color:var(--red);border-bottom-color:var(--red);}
.addr-filter-sel option{background:var(--black3);color:var(--white);}

.list-pane{width:280px;flex-shrink:0;border-right:1px solid var(--white5);display:flex;flex-direction:column;overflow:hidden;background:var(--black);}
.pane-head{padding:.7rem 1rem;border-bottom:1px solid var(--white5);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--black2);}
.pane-ttl{font-family:var(--fn-disp);font-size:1.2rem;letter-spacing:.08em;color:var(--white);}
.ico-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--white5);color:var(--white4);cursor:pointer;font-size:.85rem;font-family:var(--fn-mono);transition:all .12s;}
.ico-btn:hover{border-color:var(--red);color:var(--red);}
.email-list{flex:1;overflow-y:auto;}
.e-item{padding:.85rem 1rem;border-bottom:1px solid var(--white5);cursor:pointer;transition:background .08s;position:relative;}
.e-item:hover{background:rgba(255,255,255,.02);}
.e-item.sel{background:var(--black3);border-left:2px solid var(--red);padding-left:calc(1rem - 2px);}
.e-item.unread::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--red3);}
.e-item.unread.sel::before{display:none;}
.e-pill{display:inline-block;font-family:var(--fn-mono);font-size:.48rem;letter-spacing:.03em;color:var(--white5);padding:.03rem .2rem;margin-bottom:.2rem;opacity:.6;}
.e-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.2rem;}
.e-from{font-family:var(--fn-mono);font-size:.63rem;color:var(--white4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:165px;}
.e-from.hot{color:var(--white2);}
.e-when{font-family:var(--fn-mono);font-size:.52rem;color:var(--white5);flex-shrink:0;margin-left:.5rem;opacity:.7;}
.e-subj{font-family:var(--fn-cond);font-weight:600;font-size:.86rem;color:var(--white3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.1rem;letter-spacing:.02em;text-transform:uppercase;}
.e-item.unread .e-subj{color:var(--white);}
.e-prev{font-family:var(--fn-mono);font-size:.62rem;color:var(--white5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7;}

.detail-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--black);}
.detail-head{padding:1.2rem 1.5rem 1rem;border-bottom:1px solid var(--white5);flex-shrink:0;background:var(--black2);}
.detail-subj{font-family:var(--fn-disp);font-size:1.8rem;letter-spacing:.04em;line-height:1.1;color:var(--white);margin-bottom:.8rem;text-transform:uppercase;}
.detail-meta{display:flex;flex-direction:column;gap:.2rem;font-family:var(--fn-mono);font-size:.65rem;color:var(--white3);}
.meta-r{display:flex;gap:.7rem;align-items:baseline;}
.meta-k{font-family:var(--fn-cond);font-weight:700;font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:var(--white5);width:30px;flex-shrink:0;}
.detail-acts{padding:.5rem 1.5rem;border-bottom:1px solid var(--white5);display:flex;gap:.5rem;align-items:center;flex-shrink:0;background:var(--black3);}
.detail-body{flex:1;overflow:hidden;position:relative;}

.email-iframe-wrap{position:relative;width:100%;height:100%;background:transparent;}
.email-iframe{width:100%;height:100%;border:none;background:transparent;color-scheme:dark;}
.email-plaintext{flex:1;overflow-y:auto;padding:1.5rem;}
.email-plaintext pre{font-family:var(--fn-code);font-size:.78rem;line-height:1.9;color:var(--white3);white-space:pre-wrap;word-break:break-word;}

.view-toggle{display:flex;gap:.3rem;margin-left:auto;}
.vtog-btn{font-family:var(--fn-cond);font-weight:700;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;padding:.2rem .5rem;border:1px solid var(--white5);background:none;color:var(--white5);cursor:pointer;transition:all .1s;}
.vtog-btn.active{border-color:var(--red);color:var(--red);background:var(--red4);}

.attachments-bar{padding:.5rem 1.5rem;border-top:1px solid var(--white5);border-bottom:1px solid var(--white5);background:var(--black2);display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0;}
.attach-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;background:var(--black3);border:1px solid var(--white5);font-family:var(--fn-mono);font-size:.6rem;color:var(--white3);cursor:pointer;transition:all .1s;text-decoration:none;}
.attach-chip:hover{border-color:var(--red);color:var(--white);}
.attach-chip-icon{font-size:.7rem;}

.back-btn{display:none;background:none;border:none;color:var(--white4);font-family:var(--fn-cond);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding:.4rem .6rem;border:1px solid var(--white5);transition:all .12s;}
.back-btn:hover{color:var(--red);border-color:var(--red);}

.void{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;color:var(--white5);text-align:center;padding:2rem;}
.void-glyph{font-family:var(--fn-disp);font-size:4rem;color:var(--red3);opacity:.3;line-height:1;}
.void p{font-family:var(--fn-cond);font-weight:600;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;opacity:.3;}

.overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:flex-end;justify-content:flex-end;padding:1.2rem;z-index:100;animation:fadeIn .15s ease;backdrop-filter:blur(4px);}
.compose-box{width:560px;max-width:calc(100vw - 2rem);max-height:90dvh;background:var(--black2);border:1px solid var(--white5);border-top:2px solid var(--red);display:flex;flex-direction:column;animation:riseUp .25s cubic-bezier(.16,1,.3,1);}
.compose-top{padding:.8rem 1rem;border-bottom:1px solid var(--white5);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:var(--black3);}
.compose-lbl{font-family:var(--fn-cond);font-weight:700;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--red);}
.compose-fields{flex-shrink:0;}
.c-field{display:flex;align-items:center;border-bottom:1px solid var(--white5);padding:.5rem 1rem;position:relative;}
.c-lbl{font-family:var(--fn-cond);font-weight:700;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white5);width:36px;flex-shrink:0;}
.c-inp{flex:1;background:none;border:none;color:var(--white);font-family:var(--fn-mono);font-size:.8rem;outline:none;padding:.1rem 0;}
.c-inp::placeholder{color:var(--white5);}
.c-sel{flex:1;background:none;border:none;color:var(--white);font-family:var(--fn-mono);font-size:.8rem;outline:none;cursor:pointer;}
.c-sel option{background:var(--black3);}

.editor-toolbar{display:flex;align-items:center;gap:2px;padding:.4rem .8rem;border-bottom:1px solid var(--white5);background:var(--black3);flex-wrap:wrap;flex-shrink:0;}
.tb-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;color:var(--white4);cursor:pointer;font-size:.8rem;font-family:var(--fn-mono);transition:all .1s;border-radius:0;flex-shrink:0;}
.tb-btn:hover{border-color:var(--white5);color:var(--white);}
.tb-btn.active{border-color:var(--red);color:var(--red);background:var(--red4);}
.tb-sep{width:1px;height:18px;background:var(--white5);margin:0 3px;flex-shrink:0;}
.tb-label{font-family:var(--fn-cond);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white5);margin:0 3px;}
.editor-body{flex:1;overflow:hidden;min-height:140px;position:relative;}
#compose-editor{width:100%;height:100%;min-height:140px;outline:none;padding:.9rem 1rem;font-family:var(--fn-mono);font-size:.85rem;line-height:1.7;color:var(--white2);background:var(--black3);overflow-y:auto;word-break:break-word;}
#compose-editor:empty::before{content:attr(data-placeholder);color:#aaa;pointer-events:none;}
#compose-editor a{color:#cc001a;}
#compose-editor img{max-width:100%;height:auto;display:block;margin:.5rem 0;}

.attach-mode-wrap{display:flex;gap:2px;flex-shrink:0;}
.attach-mode-btn{font-family:var(--fn-cond);font-weight:700;font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .55rem;border:1px solid var(--white5);background:none;color:var(--white5);cursor:pointer;transition:all .1s;white-space:nowrap;}
.attach-mode-btn.active{border-color:var(--red3);color:var(--white3);background:color-mix(in srgb,var(--red) 8%,transparent);}
.attach-mode-btn:hover{border-color:var(--white4);color:var(--white3);}
.ca-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .55rem;background:var(--black4);border:1px solid var(--white5);font-family:var(--fn-mono);font-size:.58rem;color:var(--white4);}
.ca-chip.inline-mode{border-color:var(--red3);background:color-mix(in srgb,var(--red) 5%,transparent);}
.ca-chip-badge{font-family:var(--fn-cond);font-weight:700;font-size:.44rem;letter-spacing:.15em;text-transform:uppercase;padding:.05rem .3rem;background:var(--red4);color:var(--red3);border:1px solid var(--red4);}
.ca-chip-rm{cursor:pointer;color:var(--white5);font-size:.7rem;line-height:1;padding:0 .1rem;}
.ca-chip-rm:hover{color:var(--red);}

.compose-attach-strip{display:none;padding:.4rem .8rem;border-top:1px solid var(--white5);background:var(--black3);flex-wrap:wrap;gap:.4rem;flex-shrink:0;align-items:center;}
.compose-attach-strip.has-files{display:flex;}
.link-dialog{position:absolute;top:4px;left:50%;transform:translateX(-50%);z-index:300;background:var(--black3);border:1px solid var(--red3);padding:.6rem .8rem;display:flex;gap:.4rem;align-items:center;min-width:280px;box-shadow:0 8px 24px rgba(0,0,0,.6);}
.link-dialog input{flex:1;background:var(--black4);border:1px solid var(--white5);color:var(--white);font-family:var(--fn-mono);font-size:.72rem;padding:.3rem .5rem;outline:none;}
.link-dialog input:focus{border-color:var(--red);}

.compose-foot{padding:.7rem 1rem;border-top:1px solid var(--white5);display:flex;gap:.6rem;align-items:center;flex-shrink:0;background:var(--black3);}
.compose-foot .btn-primary{width:auto;flex:1;}
.attach-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid var(--white5);color:var(--white4);cursor:pointer;font-size:.9rem;transition:all .12s;flex-shrink:0;}
.attach-btn:hover{border-color:var(--red);color:var(--red);}

.to-autocomplete{position:absolute;top:100%;left:0;right:0;background:var(--black3);border:1px solid var(--white5);border-top:1px solid var(--red3);z-index:200;max-height:200px;overflow-y:auto;}
.to-ac-section{font-family:var(--fn-cond);font-weight:700;font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;color:var(--white5);padding:.4rem .8rem .2rem;border-bottom:1px solid var(--white5);}
.to-ac-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .8rem;cursor:pointer;transition:background .08s;}
.to-ac-item:hover{background:color-mix(in srgb,var(--red) 10%,transparent);}
.to-ac-addr{font-family:var(--fn-mono);font-size:.72rem;color:var(--white);}
.to-ac-addr em{font-style:normal;color:var(--red);}
.to-ac-badge{font-family:var(--fn-cond);font-weight:700;font-size:.48rem;letter-spacing:.15em;text-transform:uppercase;padding:.05rem .3rem;background:var(--red4);color:var(--red);border:1px solid var(--red3);flex-shrink:0;}
.to-ac-empty{padding:.6rem .8rem;font-family:var(--fn-mono);font-size:.65rem;color:var(--white5);}

.admin-wrap{flex:1;overflow-y:auto;padding:1.5rem;height:100%;}
.adm-sect{margin-bottom:2.5rem;}
.adm-ttl{font-family:var(--fn-disp);font-size:1.5rem;letter-spacing:.06em;color:var(--white);margin-bottom:1.2rem;padding-bottom:.6rem;border-bottom:2px solid var(--red);display:flex;align-items:center;gap:.5rem;text-transform:uppercase;}
.adm-ttl span{color:var(--red);font-size:1rem;}
.inline-row{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap;}
.inline-row .f-input{flex:1;min-width:120px;max-width:220px;}
.adm-card{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;background:var(--black2);border:1px solid var(--white5);border-left:2px solid var(--red3);margin-bottom:.35rem;transition:border-left-color .1s;gap:.5rem;}
.adm-card:hover{border-left-color:var(--red);}
.adm-card-left{display:flex;flex-direction:column;gap:.12rem;min-width:0;flex:1;}
.adm-name{font-family:var(--fn-mono);font-size:.78rem;color:var(--white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.adm-sub{font-family:var(--fn-mono);font-size:.65rem;color:var(--red);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.adm-date{font-family:var(--fn-mono);font-size:.6rem;color:var(--white5);}
.code-txt{font-family:var(--fn-mono);font-size:.75rem;color:var(--red);letter-spacing:.06em;}
.status-pill{font-family:var(--fn-cond);font-weight:700;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;padding:.1rem .4rem;border:1px solid;}
.status-pill.on{color:var(--red);border-color:var(--red3);background:var(--red4);}
.status-pill.off{color:var(--white5);border-color:var(--white5);}
.role-tag{font-family:var(--fn-cond);font-weight:700;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;padding:.1rem .4rem;}
.role-tag.admin{color:var(--red);background:var(--red4);border:1px solid var(--red3);}
.role-tag.user{color:var(--white5);background:transparent;border:1px solid var(--white5);}

.spin{display:inline-block;width:16px;height:16px;border:2px solid var(--white5);border-top-color:var(--red);border-radius:50%;animation:rotate .6s linear infinite;vertical-align:middle;}
#toasts{position:fixed;bottom:1.2rem;right:1.2rem;z-index:9000;display:flex;flex-direction:column;gap:.4rem;}
.toast-item{padding:.6rem 1rem;font-family:var(--fn-cond);font-weight:700;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;border-left:3px solid;border-top:1px solid var(--white5);border-right:1px solid var(--white5);border-bottom:1px solid var(--white5);background:var(--black2);max-width:260px;animation:slideR .2s cubic-bezier(.16,1,.3,1);}
.toast-item.ok{border-left-color:var(--red);color:var(--red);}
.toast-item.bad{border-left-color:#ff4455;color:#ff4455;}
.toast-item.inf{border-left-color:var(--white5);color:var(--white4);}

@keyframes riseUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@keyframes fallDown{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes slideR{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:none;}}
@keyframes rotate{to{transform:rotate(360deg);}}
@keyframes glitch{0%,88%,100%{clip-path:none;transform:none;}89%{clip-path:inset(20% 0 50% 0);transform:translateX(-4px);color:#f02;}90%{clip-path:inset(65% 0 5% 0);transform:translateX(4px);}91%{clip-path:none;transform:none;}}
.hidden{display:none!important;}

@media(max-width:768px){
  :root{--sb-w:220px;}
  .mob-menu-btn{display:flex;}
  .topbar-who{max-width:100px;font-size:.55rem;}
  .sidebar{position:fixed;top:48px;left:0;bottom:0;width:var(--sb-w);z-index:50;transform:translateX(-100%);border-right:1px solid var(--red3);box-shadow:4px 0 20px color-mix(in srgb,var(--red) 20%,transparent);}
  .sidebar.open{transform:translateX(0);}
  .sidebar-overlay{display:block;}
  .sidebar-overlay.hidden{display:none!important;}
  .list-pane{width:100%;border-right:none;}
  .detail-pane{position:fixed;top:48px;left:0;right:0;bottom:0;z-index:30;transform:translateX(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);}
  .detail-pane.open{transform:translateX(0);}
  .back-btn{display:inline-flex;}
  #admin-addresses-view,#admin-invites-view,#admin-users-view,#admin-emails-view{position:fixed;top:48px;left:0;right:0;bottom:0;z-index:30;background:var(--black);overflow-y:auto;}
  .overlay{padding:0;align-items:flex-end;justify-content:stretch;}
  .compose-box{width:100%;max-height:92dvh;border-left:none;border-right:none;border-bottom:none;}
  .addr-filter-wrap{padding:.35rem .6rem;}
}
@media(max-width:480px){
  .auth-banner{padding:1.8rem 1.2rem 1.6rem;}
  .auth-logo{font-size:3rem;}
  .auth-body{padding:1.2rem;}
  .topbar{padding:0 .7rem;}
  .detail-subj{font-size:1.3rem;}
  .admin-wrap{padding:1rem;}
  .adm-ttl{font-size:1.2rem;}
  .inline-row{flex-direction:column;align-items:stretch;}
  .inline-row .f-input{max-width:100%;}
  #toasts{right:.5rem;bottom:.5rem;}
}

.settings-panel{position:fixed;top:48px;right:0;bottom:0;width:320px;background:var(--black2);border-left:1px solid var(--white5);border-top:1px solid var(--white5);z-index:80;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow:hidden;}
.settings-panel.open{transform:translateX(0);}
.settings-panel-head{padding:.8rem 1rem;border-bottom:1px solid var(--white5);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:var(--black3);}
.settings-panel-lbl{font-family:var(--fn-cond);font-weight:700;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--red);}
.settings-panel-body{flex:1;overflow-y:auto;padding:1rem;}
.settings-sect{margin-bottom:1.6rem;}
.settings-sect-ttl{font-family:var(--fn-cond);font-weight:700;font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:var(--white5);margin-bottom:.7rem;padding-bottom:.35rem;border-bottom:1px solid var(--white5);}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.6rem;}
.settings-key{font-family:var(--fn-cond);font-size:.75rem;letter-spacing:.04em;color:var(--white3);}

.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.4rem;}
.theme-swatch{border:2px solid var(--white5);cursor:pointer;padding:.4rem;display:flex;flex-direction:column;gap:.25rem;transition:border-color .1s;background:var(--black3);}
.theme-swatch:hover{border-color:var(--white3);}
.theme-swatch.active{border-color:var(--red);}
.theme-swatch-preview{height:22px;display:flex;gap:2px;overflow:hidden;}
.theme-swatch-bar{flex:1;}
.theme-swatch-name{font-family:var(--fn-cond);font-weight:600;font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white4);}

.custom-theme-builder{background:var(--black3);border:1px solid var(--white5);padding:.7rem;margin-top:.5rem;}
.color-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;}
.color-row:last-child{margin-bottom:0;}
.color-lbl{font-family:var(--fn-cond);font-size:.62rem;letter-spacing:.1em;color:var(--white4);flex:1;}
.color-inp{width:36px;height:28px;border:1px solid var(--white5);background:none;cursor:pointer;padding:1px;border-radius:0;}
.color-hex{flex:1;background:var(--black4);border:1px solid var(--white5);color:var(--white3);font-family:var(--fn-mono);font-size:.65rem;padding:.2rem .4rem;outline:none;border-bottom:1px solid var(--white4);}
.color-hex:focus{border-color:var(--red);}
.grad-row{display:flex;gap:.4rem;margin-bottom:.5rem;align-items:center;}
.grad-lbl{font-family:var(--fn-cond);font-size:.6rem;color:var(--white5);width:40px;flex-shrink:0;}
.grad-dir{background:var(--black4);border:1px solid var(--white5);color:var(--white3);font-family:var(--fn-mono);font-size:.62rem;padding:.2rem .4rem;outline:none;cursor:pointer;flex:1;}

.wp-upload-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.55rem;background:var(--black3);border:1px dashed var(--white5);color:var(--white4);font-family:var(--fn-cond);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .12s;margin-bottom:.5rem;}
.wp-upload-btn:hover{border-color:var(--red);color:var(--white);}
.wp-current{width:100%;height:80px;background-size:cover;background-position:center;border:1px solid var(--white5);position:relative;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;}
.wp-current-label{font-family:var(--fn-cond);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white5);background:rgba(0,0,0,.7);padding:.2rem .5rem;}
.wp-clear-btn{width:100%;padding:.35rem;background:none;border:1px solid var(--white5);color:var(--white5);font-family:var(--fn-cond);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .12s;}
.wp-clear-btn:hover{border-color:var(--red);color:var(--red);}

.app-body.has-wallpaper{background-size:cover;background-position:center;}
.app-body.has-wallpaper .list-pane{background:rgba(0,0,0,.82);}
.app-body.has-wallpaper .sidebar{background:rgba(8,8,8,.9);}
.app-body.has-wallpaper .detail-pane{background:rgba(0,0,0,.75);}
.app-body.has-wallpaper .addr-filter-wrap{background:rgba(0,0,0,.82);}
.app-body.has-wallpaper .pane-head{background:rgba(0,0,0,.85);}

.s-select{background:var(--black3);border:1px solid var(--white5);color:var(--white);font-family:var(--fn-mono);font-size:.7rem;padding:.3rem .5rem;outline:none;cursor:pointer;border-bottom:2px solid var(--red3);width:100%;}
.s-select:focus{border-color:var(--red);}
.s-select option{background:var(--black3);}

#sig-editor{width:100%;min-height:56px;background:var(--black3);border:1px solid var(--white5);color:var(--white3);font-family:var(--fn-mono);font-size:.7rem;padding:.45rem .6rem;outline:none;resize:vertical;border-bottom:2px solid var(--red3);}
#sig-editor:focus{border-color:var(--red);}

.stab-row{display:flex;border-bottom:1px solid var(--white5);flex-shrink:0;background:var(--black2);}
.stab{flex:1;padding:.45rem .2rem;font-family:var(--fn-cond);font-weight:700;font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white5);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .1s;}
.stab:hover{color:var(--white3);}
.stab.active{color:var(--white);border-bottom-color:var(--red);}

.draft-badge{font-family:var(--fn-cond);font-weight:700;font-size:.44rem;letter-spacing:.15em;text-transform:uppercase;padding:.05rem .3rem;background:var(--black4);color:var(--white5);border:1px solid var(--white5);margin-left:.35rem;}

.restore-btn{font-family:var(--fn-cond);font-weight:700;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;background:none;border:1px solid var(--white5);color:var(--white4);padding:.25rem .6rem;cursor:pointer;transition:all .12s;}
.restore-btn:hover{border-color:var(--red);color:var(--white);}

.bulk-bar{display:none;align-items:center;gap:.5rem;padding:.35rem .8rem;border-bottom:1px solid var(--white5);background:var(--black3);flex-shrink:0;}
.bulk-bar.visible{display:flex;}
.bulk-lbl{font-family:var(--fn-cond);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--white4);flex:1;}
.bulk-btn{font-family:var(--fn-cond);font-weight:700;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;background:none;border:1px solid var(--white5);color:var(--white4);padding:.22rem .55rem;cursor:pointer;transition:all .1s;}
.bulk-btn:hover{border-color:var(--red);color:var(--white);}
.bulk-btn.danger:hover{border-color:var(--red);color:var(--red);background:var(--red4);}
.e-check{position:absolute;left:.45rem;top:50%;transform:translateY(-50%);width:13px;height:13px;accent-color:var(--red);cursor:pointer;opacity:0;transition:opacity .1s;}
.e-item:hover .e-check,.e-check:checked{opacity:1;}
.e-item.checked{background:color-mix(in srgb,var(--red) 5%,transparent);}

.kbd-overlay{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9990;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.kbd-card{background:var(--black2);border:1px solid var(--white5);border-top:2px solid var(--red);width:520px;max-width:95vw;max-height:88vh;overflow-y:auto;}
.kbd-head{padding:.8rem 1rem;border-bottom:1px solid var(--white5);display:flex;justify-content:space-between;align-items:center;}
.kbd-ttl{font-family:var(--fn-disp);font-size:1.2rem;letter-spacing:.06em;color:var(--white);}
.kbd-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:.5rem;}
.kbd-row{display:flex;align-items:center;gap:.7rem;padding:.38rem .7rem;border-bottom:1px solid rgba(255,255,255,.04);}
.kbd-key{font-family:var(--fn-code);font-size:.65rem;color:var(--red);background:var(--black3);border:1px solid var(--red3);padding:.1rem .4rem;min-width:22px;text-align:center;flex-shrink:0;}
.kbd-desc{font-family:var(--fn-cond);font-size:.72rem;color:var(--white4);letter-spacing:.03em;}

.danger-zone{background:var(--red4);border:1px solid var(--red3);padding:.8rem;margin-top:.5rem;}
.danger-zone-ttl{font-family:var(--fn-cond);font-weight:700;font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:var(--red);margin-bottom:.6rem;}

#reset-screen{min-height:100vh;display:none;align-items:center;justify-content:center;padding:1rem;background:var(--black);}
#reset-screen.visible{display:flex;}

.compose-lbl.fwd{color:#60a5fa;}

.sb-item.settings-item.active-settings{color:var(--white);border-left-color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent);}

.quick-reply-wrap{border-top:1px solid var(--white5);flex-shrink:0;background:var(--black2);}
.quick-reply-toggle{width:100%;padding:.5rem 1.5rem;font-family:var(--fn-cond);font-weight:700;font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;background:none;border:none;color:var(--white5);cursor:pointer;text-align:left;transition:color .1s;}
.quick-reply-toggle:hover{color:var(--red);}
.quick-reply-body{display:none;padding:.6rem 1.5rem 1rem;}
.quick-reply-body.open{display:block;}
.quick-reply-editor{width:100%;min-height:72px;background:var(--black3);border:1px solid var(--white5);color:var(--white);font-family:var(--fn-mono);font-size:.78rem;padding:.6rem .8rem;outline:none;resize:vertical;border-bottom:2px solid var(--red3);line-height:1.6;}
.quick-reply-editor:focus{border-color:var(--red);}
.quick-reply-editor::placeholder{color:var(--white5);}
.quick-reply-foot{display:flex;gap:.5rem;margin-top:.45rem;align-items:center;}

.blocked-sender-chip{display:flex;align-items:center;gap:.5rem;padding:.3rem .6rem;background:var(--black3);border:1px solid var(--red3);font-family:var(--fn-mono);font-size:.6rem;color:var(--red);margin-bottom:.3rem;}
.blocked-sender-chip span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.blocked-sender-chip button{background:none;border:none;color:var(--white5);cursor:pointer;font-size:.7rem;padding:0 .2rem;flex-shrink:0;}
.blocked-sender-chip button:hover{color:var(--red);}

.thread-badge{font-family:var(--fn-mono);font-size:.5rem;color:var(--white5);background:var(--black4);border:1px solid var(--white5);padding:.05rem .3rem;margin-left:.3rem;vertical-align:middle;cursor:pointer;}
.thread-badge:hover{border-color:var(--red);color:var(--red);}
.thread-group{border-left:2px solid var(--red3);margin-bottom:.5rem;}
.thread-group .e-item{border-left:none;padding-left:1.4rem;}
.thread-group-header{font-family:var(--fn-cond);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white5);padding:.3rem .8rem .1rem;background:var(--black2);}

.sb-count-wrap{display:flex;align-items:center;gap:.3rem;}

.domain-key-card{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;background:var(--black3);border:1px solid var(--white5);border-left:2px solid var(--red3);margin-bottom:.4rem;}
.domain-key-domain{font-family:var(--fn-cond);font-weight:700;font-size:.8rem;letter-spacing:.04em;color:var(--white2);flex-shrink:0;}
.domain-key-key{font-family:var(--fn-code);font-size:.6rem;color:var(--white5);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.domain-sel{background:var(--black3);border:1px solid var(--white5);border-bottom:2px solid var(--red3);color:var(--white);font-family:var(--fn-mono);font-size:.75rem;padding:.4rem .6rem;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .45rem center;padding-right:1.4rem;}
