:root{--color-primary:#0a6cff;--color-primary-hover:#095edb;--color-primary-soft:#e8f1ff;--color-primary-soft-border:#bcd6ff;--gradient-brand:linear-gradient(135deg, #0a6cff 0%, #5b8cff 100%);--color-danger:#d93026;--color-danger-hover:#c22b21;--color-danger-soft:#fdeceb;--color-success:#1a7f37;--color-success-soft:#e6f4ea;--color-warning:#9a6700;--color-warning-soft:#fdf6e3;--color-bg:#fff;--color-bg-subtle:#f5f6f8;--color-bg-raised:#fff;--color-text:#1d2129;--color-text-secondary:#5f6672;--color-text-tertiary:#8a919c;--color-border:#e3e6ea;--color-border-strong:#cdd2d9;--shadow-xs:0 1px 2px #1018280a;--shadow-sm:0 1px 3px #1018280f, 0 1px 2px #1018280a;--shadow-md:0 4px 12px #10182814, 0 2px 4px #1018280a;--shadow-lg:0 12px 32px #1018281f, 0 4px 8px #1018280f;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.28s;--z-sticky:20;--z-dialog:150;--z-toast:200}@media (prefers-color-scheme:dark){:root{--color-primary:#4d8dff;--color-primary-hover:#6ba1ff;--color-primary-soft:#1a2e4d;--color-primary-soft-border:#2b4a78;--gradient-brand:linear-gradient(135deg, #3b7bf0 0%, #6b9bff 100%);--color-danger:#ff6b60;--color-danger-hover:#ff857c;--color-danger-soft:#4a2320;--color-success:#4cc26a;--color-success-soft:#1e3a28;--color-warning:#e3b341;--color-warning-soft:#40351a;--color-bg:#111418;--color-bg-subtle:#1a1e25;--color-bg-raised:#1f242c;--color-text:#e8eaed;--color-text-secondary:#a8afba;--color-text-tertiary:#6f7783;--color-border:#2a303a;--color-border-strong:#3a4250;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 12px #00000073, 0 2px 4px #0000004d;--shadow-lg:0 12px 32px #0000008c, 0 4px 8px #0006}}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:var(--text-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;line-height:1.6}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.skip-link{background:var(--color-primary);color:#fff;padding:var(--space-2) var(--space-4);z-index:1000;border-radius:0 0 var(--radius) 0;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell header{z-index:var(--z-sticky);align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);flex-wrap:wrap;display:flex;position:sticky;top:0}.app-shell .brand{align-items:center;gap:var(--space-2);font-size:var(--text-lg);letter-spacing:-.01em;color:var(--color-text);font-weight:700;display:flex}.app-shell .brand .brand-logo{border-radius:var(--radius);background:var(--gradient-brand);color:#fff;width:32px;height:32px;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-shell .brand .brand-sub{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.02em;font-weight:400}.app-shell nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.app-shell nav a{align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-1) var(--space-3);border-radius:var(--radius);color:var(--color-text-secondary);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-weight:500;text-decoration:none;display:inline-flex}.app-shell nav a svg{flex-shrink:0;width:18px;height:18px}.app-shell nav a:hover{background:var(--color-bg-subtle);color:var(--color-text)}.app-shell nav a[aria-current=page]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.app-shell .spacer{flex:1}.app-shell main{padding:var(--space-6) var(--space-5);flex:1;width:100%;max-width:1160px;margin:0 auto}button{font:inherit;min-height:40px;padding:var(--space-2) var(--space-4);border-radius:var(--radius);border:1px solid var(--color-border-strong);background:var(--color-bg-raised);color:var(--color-text);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}button:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-text-tertiary)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-xs);border-color:#0000}button.primary:hover:not(:disabled){background:var(--gradient-brand);filter:brightness(1.06);box-shadow:var(--shadow-sm)}button.danger{background:var(--color-danger);color:#fff;border-color:#0000}button.danger:hover:not(:disabled){background:var(--color-danger-hover)}button.ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--color-bg-subtle);color:var(--color-text)}button.link-like{min-height:0;color:var(--color-primary);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}button.link-like:hover{color:var(--color-primary-hover);background:0 0}.badge{font-size:var(--text-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-weight:600;line-height:1.5;display:inline-flex}.badge svg{width:12px;height:12px}.badge-active{background:var(--color-success-soft);color:var(--color-success)}.badge-pending{background:var(--color-warning-soft);color:var(--color-warning)}.badge-error{background:var(--color-danger-soft);color:var(--color-danger)}.badge-neutral{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.badge-info{background:var(--color-primary-soft);color:var(--color-primary)}label{margin-bottom:var(--space-1);font-weight:500;font-size:var(--text-sm);color:var(--color-text);display:block}input,select,textarea{font:inherit;width:100%;min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-bg-raised);color:var(--color-text);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}textarea{resize:vertical;min-height:88px}.form-field{margin-bottom:var(--space-4)}.form-actions{gap:var(--space-3);margin-top:var(--space-4);justify-content:flex-end;display:flex}.hint{color:var(--color-text-tertiary);font-size:var(--text-xs);margin-top:var(--space-1)}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-raised);box-shadow:var(--shadow-xs);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}th{font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);background:var(--color-bg-subtle);white-space:nowrap}tbody tr{transition:background var(--dur-fast) var(--ease-out)}tbody tr:hover{background:var(--color-bg-subtle)}tbody tr:last-child td{border-bottom:none}td .cell-secondary{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono);display:block}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header .page-title h2{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0;font-weight:700}.page-header .page-title p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--color-bg-raised);box-shadow:var(--shadow-sm)}.alert-error{border:1px solid color-mix(in srgb, var(--color-danger) 40%, transparent);background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm)}.alert-info{border:1px solid var(--color-primary-soft-border);background:var(--color-primary-soft);color:var(--color-primary);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm)}.toast-region{bottom:var(--space-5);align-items:center;gap:var(--space-2);z-index:var(--z-toast);flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-2);background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);min-width:240px;max-width:480px;font-size:var(--text-sm);animation:toast-in var(--dur-base) var(--ease-out);display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog-backdrop{padding:var(--space-4);z-index:var(--z-dialog);cursor:default;font:inherit;color:inherit;animation:fade-in var(--dur-fast) var(--ease-out);background:#00000073;border:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-backdrop-hit{background:0 0;border:0;border-radius:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.dialog-backdrop-hit:hover:not(:disabled){background:0 0}.dialog{background:var(--color-bg-raised);border-radius:var(--radius-xl);padding:var(--space-5);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-lg);animation:dialog-in var(--dur-base) var(--ease-out);position:relative;overflow-y:auto}.dialog h3{margin:0 0 var(--space-4);font-size:var(--text-xl);letter-spacing:-.01em;font-weight:700}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.empty-state{text-align:center;padding:var(--space-7) var(--space-5);color:var(--color-text-secondary);background:var(--color-bg-subtle);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);font-size:var(--text-sm)}.empty-state .empty-icon{margin:0 auto var(--space-3);width:40px;height:40px;color:var(--color-text-tertiary);display:block}.skeleton{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-raised);padding:var(--space-4)}.skeleton-line{background:linear-gradient(90deg, var(--color-bg-subtle) 25%, var(--color-border) 50%, var(--color-bg-subtle) 75%);height:14px;margin-bottom:var(--space-3);background-size:200% 100%;border-radius:4px;animation:1.4s infinite shimmer}.skeleton-line:last-child{margin-bottom:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.row-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.row-actions button,.row-actions a{min-height:32px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm);align-items:center;gap:5px;text-decoration:none;display:inline-flex}.row-actions a{border:1px solid var(--color-border-strong);background:var(--color-bg-raised);color:var(--color-text);transition:background var(--dur-fast) var(--ease-out)}.row-actions a:hover{background:var(--color-bg-subtle);color:var(--color-primary)}.login-page{justify-content:center;align-items:center;gap:var(--space-5);min-height:100vh;padding:var(--space-5);background:radial-gradient(600px circle at 20% 10%, var(--color-primary-soft) 0%, transparent 60%), radial-gradient(500px circle at 85% 90%, color-mix(in srgb, var(--color-primary) 8%, transparent) 0%, transparent 55%), var(--color-bg);flex-direction:column;display:flex}.login-page .login-brand{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.login-page .login-brand .logo{border-radius:var(--radius-xl);background:var(--gradient-brand);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-md);justify-content:center;align-items:center;display:inline-flex}.login-page .login-brand h1{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0;font-weight:700}.login-page .login-brand p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.login-form{width:100%;max-width:380px}.login-form .form-actions button{width:100%}.cell-strong{font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shared-inbox-page{width:min(760px,100% - 32px);min-height:100vh;margin:0 auto;padding:32px 0 48px}.shared-inbox-header,.shared-inbox-brand,.shared-message-heading{align-items:center;display:flex}.shared-inbox-header{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:16px;padding-bottom:20px}.shared-inbox-brand{gap:12px;min-width:0}.shared-inbox-logo{background:var(--gradient-brand);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.shared-inbox-brand h1{margin:0;font-size:20px}.shared-inbox-brand p{color:var(--color-text-secondary);font-family:var(--font-mono);overflow-wrap:anywhere;margin:2px 0 0;font-size:12px}.shared-refresh{justify-content:center;align-items:center;width:40px;min-width:40px;padding:0;display:inline-flex}.shared-status,.shared-empty{text-align:center;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;margin-top:24px;padding:32px 20px}.shared-status-error{color:var(--color-danger);background:var(--color-danger-soft)}.shared-empty{justify-items:center;gap:10px;display:grid}.shared-message-list{gap:12px;margin-top:20px;display:grid}.shared-message{border:1px solid var(--color-border);background:var(--color-bg-raised);box-shadow:var(--shadow-xs);border-radius:8px;padding:18px}.shared-message-heading{justify-content:space-between;align-items:flex-start;gap:16px}.shared-message-heading h2{overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.45}.shared-message-subject{color:var(--color-text);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:15px;font-weight:700;line-height:1.45;display:block}.shared-message-subject:hover{color:var(--color-primary)}.shared-message-heading p{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.shared-message-heading time{color:var(--color-text-tertiary);white-space:nowrap;font-size:12px}.shared-preview{color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0}.verification-code{min-height:44px;font-family:var(--font-mono);color:var(--color-primary);background:var(--color-primary-soft);border-color:var(--color-primary-soft-border);align-items:center;gap:12px;margin-top:14px;font-size:20px;font-weight:700;display:inline-flex}.shared-inbox-footer{color:var(--color-text-tertiary);text-align:center;margin-top:20px;font-size:12px}.share-links-output{min-height:260px;font-family:var(--font-mono);resize:vertical;font-size:12px}.alias-usage-card{margin-bottom:16px}.alias-usage-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.alias-usage-heading h3{font-size:var(--text-lg);margin:0}.alias-usage-heading p{margin:4px 0 0}.alias-usage-stats{color:var(--color-text-secondary);font-size:var(--text-sm);flex-wrap:wrap;gap:12px;font-weight:600;display:flex}.alias-schedule-card{margin-bottom:16px}.alias-schedule-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.alias-schedule-heading h3{font-size:var(--text-lg);margin:0}.alias-schedule-heading p{margin:4px 0 0}.switch-label{white-space:nowrap;cursor:pointer;align-items:center;gap:8px;display:inline-flex}.switch-label input{width:18px;height:18px;accent-color:var(--color-primary)}.alias-schedule-fields{flex-wrap:wrap;align-items:end;gap:12px;margin-top:16px;display:flex}.alias-schedule-fields label{color:var(--color-text-secondary);font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.alias-schedule-fields input{width:76px}.alias-schedule-actions{gap:8px;margin-left:auto;display:flex}.alias-schedule-status{color:var(--color-text-secondary);font-size:var(--text-sm);flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.schedule-error{color:var(--color-danger);overflow-wrap:anywhere}.mail-detail{gap:16px;display:grid}.mail-preview-dialog{width:min(1040px,100vw - 32px);max-width:1040px;max-height:94vh}.mail-detail-meta{border-bottom:1px solid var(--color-border);gap:8px;padding-bottom:12px;display:grid}.mail-detail-meta div{grid-template-columns:64px minmax(0,1fr);gap:8px;display:grid}.mail-detail-meta span{color:var(--color-text-tertiary)}.mail-detail-meta strong{overflow-wrap:anywhere;font-weight:500}.mail-detail-body{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-raised);padding:16px}.mail-body-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.mail-html-frame{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;width:100%;height:min(68vh,760px);min-height:420px;display:block}.mail-raw-section{gap:10px;display:grid}.mail-raw{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-subtle);max-height:320px;color:var(--color-text-secondary);font:12px/1.55 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:12px;overflow:auto}@media (width<=560px){.shared-inbox-page{width:min(100% - 24px,760px);padding-top:18px}.shared-message{padding:14px}.shared-message-heading{display:block}.shared-message-heading time{margin-top:6px;display:block}.mail-preview-dialog{width:calc(100vw - 16px);max-height:96vh;padding:14px}.mail-detail-body{padding:10px}.mail-html-frame{height:70vh;min-height:360px}.alias-usage-heading{display:block}.alias-usage-stats{margin-top:12px}.alias-schedule-heading{display:block}.switch-label{margin-top:12px}.alias-schedule-fields{align-items:stretch}.alias-schedule-fields label{justify-content:space-between;width:100%}.alias-schedule-fields input{width:92px}.alias-schedule-actions{width:100%;margin-left:0}.alias-schedule-actions button{flex:1}}
