*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0f1a;--card:rgba(23,30,48,.72);--card-solid:#131a2b;--border:rgba(148,163,184,.14);--border-strong:rgba(148,163,184,.28);--text:#eef2ff;--muted:#94a3b8;--accent:#6366f1;--accent-2:#38bdf8;--accent-soft:rgba(99,102,241,.14);--danger:#ef4444;--danger-soft:rgba(239,68,68,.14);--radius:20px;--radius-sm:14px;--shadow:0 22px 55px -22px rgba(0,0,0,.75)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);background-image:radial-gradient(60rem 60rem at 12% -10%,rgba(99,102,241,.18),transparent 55%),radial-gradient(50rem 50rem at 100% 0,rgba(56,189,248,.14),transparent 50%);background-attachment:fixed;min-height:100vh;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:32px 26px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow);text-align:center}.login-logo{width:58px;height:58px;margin:0 auto 16px;display:grid;place-items:center;color:#fff;border-radius:18px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 12px 26px -10px var(--accent)}.login-card h1{font-size:1.45rem;letter-spacing:-.03em}.login-sub{color:var(--muted);font-size:.9rem;margin:6px 0 22px}.login-error{background:var(--danger-soft);color:#fecaca;border:1px solid rgba(239,68,68,.4);border-radius:10px;padding:9px 12px;font-size:.85rem;margin-bottom:12px}.input{width:100%;padding:13px 15px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--card-solid);color:var(--text);font-size:1rem;margin-bottom:12px;transition:border-color .16s ease,box-shadow .16s ease}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 18px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--text);font-weight:600;font-size:.92rem;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,opacity .16s ease}.btn:hover{transform:translateY(-1px);border-color:var(--accent)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn svg{width:18px;height:18px}.btn-sm{padding:8px 14px;font-size:.85rem}.btn-block{width:100%}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent;box-shadow:0 10px 24px -10px var(--accent)}.btn-primary:hover{border-color:transparent;box-shadow:0 14px 30px -10px var(--accent)}.btn-ghost{border-color:var(--border);color:var(--muted)}.btn-danger{background:var(--danger-soft);color:#fca5a5;border-color:rgba(239,68,68,.4)}.btn-danger:hover{border-color:var(--danger)}.icon-btn{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--card);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.icon-btn:hover{transform:translateY(-1px);border-color:var(--border-strong)}.icon-btn:active{transform:scale(.94)}.icon-btn:disabled{opacity:.4;cursor:default;transform:none}.icon-btn svg{display:block}.icon-btn.danger{color:#fca5a5}.icon-btn.danger:hover{border-color:var(--danger);background:var(--danger-soft)}.admin{max-width:760px;margin:0 auto;padding:22px 16px 60px}.admin-top{justify-content:space-between;margin-bottom:22px}.admin-top,.brand{display:flex;align-items:center}.brand{gap:12px}.brand-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.12)}.brand-icon svg{display:block}.brand-name{font-weight:700;font-size:1.2rem;letter-spacing:-.02em}.tabs{display:flex;gap:8px;margin-bottom:18px}.tab{flex:1 1;padding:11px;border-radius:13px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-weight:600;cursor:pointer;transition:all .16s ease}.tab.active,.tab:hover{color:var(--text)}.tab.active{border-color:var(--accent);background:var(--accent-soft)}.toolbar{margin-bottom:14px}.search,.toolbar{display:flex;gap:8px}.search{flex:1 1;align-items:center;padding:0 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--card-solid);transition:border-color .16s ease,box-shadow .16s ease}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.search-icon{display:grid;place-items:center;color:var(--muted)}.search-input{flex:1 1;min-width:0;border:none;background:transparent;color:var(--text);font-size:.95rem;padding:12px 0}.search-input:focus{outline:none}.search-input::placeholder{color:var(--muted)}.count{color:var(--muted);font-size:.8rem;margin-bottom:10px}.selbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card)}.check,.selbar{align-items:center}.check{display:inline-flex;gap:8px;cursor:pointer;color:var(--muted);font-size:.85rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.check input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.table{flex-direction:column;gap:8px}.row,.table{display:flex}.row{align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-solid);transition:border-color .16s ease,background .16s ease}.row:hover{border-color:var(--border-strong)}.row.selected{border-color:var(--accent);background:var(--accent-soft)}.row-main{flex:1 1;min-width:0;cursor:pointer}.row-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.row-from{font-size:.95rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-line time{color:var(--muted);font-size:.72rem;white-space:nowrap;flex-shrink:0}.row-to{color:var(--accent-2);font-size:.8rem}.row-sub,.row-to{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:.85rem}.empty,.row-sub{color:var(--muted)}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:46px 16px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.empty-icon{color:var(--muted);opacity:.8}.modal-overlay{position:fixed;inset:0;z-index:50;background:rgba(2,6,23,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .18s ease}.modal{background:var(--card-solid);border:1px solid var(--border);border-radius:var(--radius);padding:26px;width:100%;max-width:600px;max-height:85vh;overflow-y:auto;position:relative;box-shadow:var(--shadow);animation:popIn .2s cubic-bezier(.16,1,.3,1)}.modal-sm{max-width:360px;text-align:center}.modal h2{font-size:1.25rem;letter-spacing:-.02em;padding-right:34px}.modal-sm h2{padding-right:0}.modal .close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;cursor:pointer;background:var(--accent-soft);border:none;color:var(--text);transition:transform .16s ease}.modal .close:hover{transform:rotate(90deg)}.modal .close svg{display:block}.modal .meta{color:var(--muted);font-size:.85rem;margin:8px 0 16px}.email-frame{width:100%;min-height:320px;border:none;background:#fff;border-radius:var(--radius-sm);margin-bottom:16px}.text-body{white-space:pre-wrap;word-break:break-word;font-size:.95rem;margin-bottom:16px}.confirm-icon{width:54px;height:54px;margin:0 auto 14px;display:grid;place-items:center;color:#fca5a5;border-radius:16px;background:var(--danger-soft)}.confirm-icon svg{width:26px;height:26px}.confirm-text{color:var(--muted);font-size:.92rem;margin:8px 0 22px}.confirm-actions{display:flex;gap:10px}.confirm-actions .btn{flex:1 1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}