:root{--bg:#f4f5f8;--surface:#fff;--surface-2:#f8f9fb;--text:#1b1e24;--muted:#6a7282;--border:#e3e6ec;--accent:#3b5bdb;--accent-hover:#3250c4;--accent-soft:#eaefff;--accent-text:#fff;--danger:#d43f3f;--danger-soft:#fdecec;--warn:#b7791f;--warn-soft:#fff5dc;--ok:#2f8f5b;--ok-soft:#e6f6ed;--star:#e8a400;--shadow:0 1px 2px #1018280f, 0 8px 24px #10182814;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1116;--surface:#181b22;--surface-2:#1e222b;--text:#e7e9ee;--muted:#979fae;--border:#2a2f3a;--accent:#7d95ff;--accent-hover:#91a5ff;--accent-soft:#232b4a;--accent-text:#0f1116;--danger:#f07070;--danger-soft:#3a1f22;--warn:#e2b155;--warn-soft:#3a3020;--ok:#62c48d;--ok-soft:#1c3327;--star:#f2c14e;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{font:14px/1.5 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}h1,h2,p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}code{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px;font:12px/1.4 ui-monospace,Cascadia Code,Consolas,monospace}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.spacer{flex:1}.nowrap{white-space:nowrap}.icon{flex:none;display:block}.only-narrow{display:none}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 16px;font-weight:550;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger);filter:brightness(.94)}.btn-block{width:100%;height:42px}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.is-danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn.is-active{color:var(--star)}.icon-btn:disabled{opacity:.45;cursor:default}.link-btn{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:550}.link-btn:hover{text-decoration:underline}.link-btn.is-danger{color:var(--danger)}.input{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;min-height:40px;padding:8px 12px;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input[readonly]{background:var(--surface-2);color:var(--muted)}textarea.input{resize:vertical;line-height:1.5}.input-affix{display:flex}.input-affix .input{border-radius:8px 0 0 8px;min-width:0}.affix{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-left:0;border-radius:0 8px 8px 0;align-items:center;padding:0 12px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{font-size:13px;font-weight:550}.field-hint{color:var(--muted);font-size:12px;font-weight:400;display:block}.form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{justify-content:flex-end;gap:8px;display:flex}.alert{border-radius:8px;padding:10px 12px;font-size:13px}.alert-error{background:var(--danger-soft);color:var(--danger)}.spinner{opacity:.8;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:550;display:inline-block}.badge-pending{background:var(--warn-soft);color:var(--warn)}.badge-active{background:var(--ok-soft);color:var(--ok)}.badge-rejected,.badge-disabled{background:var(--danger-soft);color:var(--danger)}.badge-admin{background:var(--accent-soft);color:var(--accent);margin-left:6px}.meter{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.meter-fill{background:var(--accent);border-radius:3px;height:100%}.meter-fill.is-full{background:var(--danger)}.lang-switch{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.lang-switch:hover{color:var(--text);background:var(--surface)}.splash{height:100%;color:var(--muted);place-content:center;justify-items:center;gap:16px;display:grid}.overlay{z-index:50;background:#0a0e1873;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(440px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex}.modal-wide{width:min(640px,100%)}.modal-head{align-items:center;gap:8px;padding:14px 12px 6px 20px;display:flex}.modal-head h2{overflow-wrap:anywhere;flex:1;font-size:16px}.modal-body{padding:8px 20px 20px;overflow:auto}.modal-foot{justify-content:flex-end;gap:8px;padding:0 20px 20px;display:flex}.confirm-text{color:var(--muted)}.toasts{z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow);background:#23272f;border-radius:10px;padding:10px 16px;animation:.18s ease-out rise}.toast-error{background:#b93434}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.auth{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100%;padding:32px 16px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow);border-radius:16px;padding:32px}.auth-brand,.sidebar-brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--accent);width:36px;height:36px;color:var(--accent-text);border-radius:10px;place-items:center;display:grid}.brand-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:650;overflow:hidden}.auth-card h1{letter-spacing:-.01em;margin-top:24px;font-size:24px}.auth-tagline{color:var(--muted);margin:4px 0 22px}.auth-footer{text-align:center;color:var(--muted);margin-top:20px}.pending-note{background:var(--warn-soft);border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:22px;padding:16px;display:flex}.pending-icon{color:var(--warn)}.mail{grid-template-columns:248px minmax(320px,400px) minmax(0,1fr);height:100dvh;display:grid}.sidebar{flex-direction:column;gap:4px;min-height:0;padding:16px 12px 12px;display:flex;overflow-y:auto}.sidebar-brand{padding:2px 6px 14px}.sidebar-brand .brand-mark{border-radius:8px;width:30px;height:30px}.compose-btn{border-radius:12px;flex:none;height:44px;margin-bottom:12px}.folders,.sidebar-links{flex-direction:column;gap:2px;display:flex}.sidebar-links{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.folder{height:38px;color:var(--text);border-radius:9px;align-items:center;gap:12px;padding:0 12px;display:flex}.folder .icon{color:var(--muted)}.folder:hover{background:var(--surface);text-decoration:none}.folder.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.folder.is-active .icon{color:var(--accent)}.folder-name{flex:1}.folder-count{color:var(--muted);font-size:12px;font-weight:600}.folder.is-active .folder-count{color:var(--accent)}.sidebar-foot{flex-direction:column;gap:12px;margin-top:auto;padding-top:16px;display:flex}.quota{color:var(--muted);flex-direction:column;gap:6px;padding:0 6px;font-size:12px;display:flex}.account{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:8px 4px 8px 8px;display:flex}.account-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.account-text strong,.account-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-text span{color:var(--muted);font-size:12px}.list{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;min-height:0;margin:8px 0;display:flex;position:relative;overflow:hidden}.list-head{align-items:center;gap:6px;min-height:56px;padding:8px 10px;display:flex}.list-head.selection{background:var(--accent-soft)}.selection-count{font-weight:600}.search{background:var(--surface-2);height:38px;color:var(--muted);border:1px solid #0000;border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--accent);background:var(--surface)}.search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.list-title{justify-content:space-between;align-items:baseline;gap:12px;padding:4px 16px 8px;display:flex}.list-title h1{letter-spacing:-.01em;font-size:18px}.list-note{color:var(--muted);padding:0 16px 8px;font-size:12px}.list-body{border-top:1px solid var(--border);flex:1;overflow-y:auto}.row{border-bottom:1px solid var(--border);cursor:pointer;border-left:3px solid #0000;gap:12px;padding:12px 14px 12px 12px;display:flex}.row:hover{background:var(--surface-2)}.row.is-open,.row.is-selected{background:var(--accent-soft)}.row.is-open{border-left-color:var(--accent)}.row:focus-visible{outline-offset:-2px}.row-check{cursor:pointer;flex:none;width:36px;height:36px;position:relative}.row-check input{opacity:0;width:18px;height:18px;accent-color:var(--accent);cursor:pointer;margin:auto;position:absolute;inset:0}.row-check:hover .avatar,.row.is-selected .avatar{visibility:hidden}.row-check:hover input,.row.is-selected input,.row-check input:focus-visible{opacity:1}.row-main{flex:1;min-width:0}.row-top,.row-bottom{align-items:center;gap:8px;display:flex}.row-who{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.row-date{color:var(--muted);flex:none;font-size:12px}.row-subject{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-snippet{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);flex:1;font-size:13px;overflow:hidden}.row-bottom{min-height:22px;color:var(--muted)}.row.is-unread .row-who,.row.is-unread .row-subject{font-weight:650}.row.is-unread .row-date{color:var(--accent);font-weight:600}.star-btn{width:22px;height:22px;color:var(--border);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.row:hover .star-btn,.star-btn:focus-visible{color:var(--muted)}.star-btn.is-on,.row:hover .star-btn.is-on{color:var(--star)}.list-state{color:var(--muted);place-content:center;justify-items:center;gap:10px;padding:56px 16px;display:grid}.load-more{margin:14px auto;display:flex}.fab{background:var(--accent);width:56px;height:56px;color:var(--accent-text);box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:18px;place-items:center;position:absolute;bottom:18px;right:18px}.reader{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-width:0;min-height:0;margin:8px;overflow:hidden}.reader-empty{height:100%;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:12px;padding:24px;display:grid}.reader-inner{flex-direction:column;height:100%;display:flex}.reader-bar{border-bottom:1px solid var(--border);align-items:center;gap:2px;min-height:56px;padding:8px 12px;display:flex}.bar-sep{background:var(--border);width:1px;height:20px;margin:0 6px}.reader-scroll{flex:1;padding:22px 28px 32px;overflow-y:auto}.reader-subject{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:21px;line-height:1.3}.reader-meta{align-items:flex-start;gap:12px;margin:18px 0 20px;display:flex}.reader-people{flex:1;min-width:0}.reader-from{flex-wrap:wrap;gap:0 8px;display:flex}.reader-to{overflow-wrap:anywhere;font-size:13px}.reader-date{flex:none;font-size:13px}.text-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65}.html-frame{border:1px solid var(--border);background:#fff;border-radius:10px;padding:12px 14px}.html-frame iframe{border:0;width:100%;display:block}.remote-bar{background:var(--surface-2);color:var(--muted);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.attachments{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.attachments h2{color:var(--muted);align-items:center;gap:6px;margin-bottom:10px;font-size:13px;display:flex}.attachment-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.attachment{border:1px solid var(--border);color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.attachment:hover{border-color:var(--accent);text-decoration:none}.attachment>.icon{color:var(--muted)}.attachment-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid}.attachment-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.attachment-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.attachment-text span{color:var(--muted);font-size:12px}.compose{background:var(--surface);width:min(760px,100%);height:min(680px,100dvh - 32px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.compose-head{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 10px 10px 18px;display:flex}.compose-head h2{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;overflow:hidden}.compose-status{color:var(--muted);white-space:nowrap;font-size:12px}.compose-loading{color:var(--muted);flex:1;place-items:center;display:grid}.compose-fields{flex-direction:column;flex:1;min-height:0;display:flex}.addr-row{position:relative}.cc-toggle{font-size:13px;position:absolute;top:12px;right:16px}.addr-field{border-bottom:1px solid var(--border);cursor:text;gap:10px;padding:8px 18px;display:flex}.addr-row .addr-field{padding-right:110px}.addr-label{min-width:44px;color:var(--muted);flex:none;padding-top:5px}.addr-chips{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.addr-chips input{background:0 0;border:0;outline:0;flex:1;min-width:140px;height:30px}.chip{background:var(--accent-soft);max-width:100%;height:30px;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;border-radius:15px;align-items:center;gap:6px;padding:0 6px 0 12px;font-size:13px;display:inline-flex;overflow:hidden}.chip.is-invalid{background:var(--danger-soft);color:var(--danger)}.chip button{width:20px;height:20px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.chip button:hover{background:#7f7f7f38}.chip-file{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.chip-file em{color:var(--muted);font-style:normal}.compose-subject{border:0;border-bottom:1px solid var(--border);background:0 0;outline:0;height:46px;padding:0 18px;font-weight:550}.compose-body{resize:none;background:0 0;border:0;outline:0;flex:1;min-height:120px;padding:14px 18px;font-size:15px;line-height:1.6}.compose-attachments{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;max-height:120px;padding:10px 18px;display:flex;overflow-y:auto}.compose-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px 14px;display:flex}.compose-quota{color:var(--muted);font-size:12px}.page{min-height:100%}.page-head{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:10px;height:60px;padding:0 max(16px,50vw - 520px);display:flex;position:sticky;top:0}.page-head h1{font-size:18px}.page-body{flex-direction:column;gap:16px;max-width:1072px;margin:0 auto;padding:20px 16px 48px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px}.card h2{font-size:16px}.page-body>.form,.page-body>section.card{width:100%;max-width:640px}section.card{flex-direction:column;gap:16px;display:flex}.usage-row{flex-direction:column;gap:8px;display:flex}.usage-label{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:2px;padding:16px 18px;display:flex}.stat strong{letter-spacing:-.02em;font-size:26px;line-height:1.2}.stat-label,.stat-sub{color:var(--muted);font-size:12px}.stat-alert{border-color:var(--warn);background:var(--warn-soft)}.stat-alert strong{color:var(--warn)}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;font-weight:550;display:flex}.tab:hover{color:var(--text);text-decoration:none}.tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{background:var(--warn);color:#fff;text-align:center;border-radius:10px;min-width:20px;padding:0 6px;font-size:12px}.review-list{flex-direction:column;gap:12px;display:flex}.review{align-items:flex-start;gap:16px;display:flex}.review-main{flex:1;min-width:0}.review-title{overflow-wrap:anywhere;flex-wrap:wrap;gap:0 10px;font-size:15px;display:flex}.review-facts{grid-template-columns:max-content 1fr;gap:4px 14px;margin:10px 0 0;font-size:13px;display:grid}.review-facts dt{color:var(--muted)}.review-facts dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.review-actions{flex:none;gap:8px;display:flex}.empty-card{background:var(--surface);border:1px dashed var(--border);color:var(--muted);border-radius:14px;place-content:center;justify-items:center;gap:10px;padding:56px 16px;display:grid}.toolbar{align-items:center;gap:10px;display:flex}.toolbar .search{background:var(--surface);border-color:var(--border)}.select-inline{width:auto}.table-card{padding:0;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.table th{color:var(--muted);white-space:nowrap;background:var(--surface-2);font-size:12px;font-weight:600}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.user-cell{align-items:center;gap:10px;min-width:200px;display:flex}.user-cell>div{flex-direction:column;line-height:1.35;display:flex}.user-cell .muted{font-size:12px}.row-actions{flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.switch-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.switch{appearance:none;background:var(--border);cursor:pointer;border-radius:13px;flex:none;width:44px;height:26px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}@media (width<=1000px){.only-narrow{display:inline-grid}.mail{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;background:var(--bg);width:min(290px,84vw);box-shadow:var(--shadow);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.mail.drawer-open .sidebar{transform:none}.scrim{z-index:39;background:#0a0e1873;position:fixed;inset:0}.list,.reader{border:0;border-radius:0;margin:0}.mail.has-open .list,.mail:not(.has-open) .reader{display:none}.reader-scroll{padding:18px 16px 28px}.reader-meta{flex-wrap:wrap}.reader-date{width:100%;margin-top:-6px;padding-left:52px}.compose-overlay{padding:0}.compose{border-radius:0;width:100%;height:100dvh}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.review{flex-wrap:wrap}.review-actions{justify-content:flex-end;width:100%}}@media (width>=1001px){.fab{display:none}}@media (width<=520px){.form-row{grid-template-columns:1fr}.auth-card{padding:24px 20px}.toolbar{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=520px){.reader-bar{gap:0;padding:8px 6px;overflow-x:auto}.reader-bar .bar-sep{display:none}.reader-bar .icon-btn{width:34px}}
