:root{--bg:#f3f5f8;--panel:#fff;--panel2:#fafbfc;--text:#172033;--muted:#6b7280;--line:#dfe3ea;--line2:#edf0f4;--blue:#2563eb;--blue2:#1d4ed8;--red:#dc2626;--warn:#d97706;--shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.06);--r:8px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);min-height:100vh;font-size:14px}button,input,textarea{font:inherit}button{border:0;cursor:pointer}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f8fafc,#eef2f7)}.login-card{width:380px;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:28px}.logo{width:54px;height:54px;margin:0 auto 16px;border-radius:10px;background:#1f5eff;display:grid;place-items:center}.logo:before{content:'✉';font-size:28px;color:#fff}.login h1{text-align:center;margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em}.login p{text-align:center;color:var(--muted);margin:8px 0 24px}.field{margin:14px 0}.field label{display:block;font-size:13px;font-weight:600;color:#374151;margin:0 0 7px}.input{width:100%;height:42px;border-radius:8px;border:1px solid var(--line);background:#fff;padding:0 12px;outline:none}.input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.primary{height:42px;border-radius:8px;background:var(--blue);color:white;font-weight:700;width:100%}.primary:hover{background:var(--blue2)}.error{color:var(--red);font-size:13px;text-align:center;margin-top:12px}.shell{height:100vh;display:grid;grid-template-columns:232px 392px minmax(0,1fr);gap:0;background:var(--bg)}.panel{background:var(--panel);border-radius:0;box-shadow:none;overflow:hidden;min-height:0;border:0}.side{border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 12px;background:#fbfcfe}.brand{display:flex;align-items:center;gap:10px;height:42px;margin-bottom:14px;padding:0 4px}.brand .mini{width:34px;height:34px;border-radius:8px;background:var(--blue);display:grid;place-items:center;color:white;font-size:18px}.brand h2{font-size:18px;margin:0;font-weight:750}.brand small{display:block;color:var(--muted);font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-btn{height:40px;border-radius:8px;background:var(--blue);color:white;font-weight:700;margin:0 4px 14px}.folders{display:flex;flex-direction:column;gap:2px;overflow:auto}.folder{height:38px;border-radius:7px;background:transparent;color:#374151;text-align:left;padding:0 10px;font-weight:600;display:flex;align-items:center}.folder:hover{background:#eef2ff;color:var(--blue)}.folder.active{background:#dbeafe;color:var(--blue)}.logout{margin:12px 4px 0;background:#fff;border:1px solid var(--line);height:38px;border-radius:8px;color:#374151;font-weight:600}.logout:hover{background:#f9fafb}.list{display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff}.top{height:58px;padding:10px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;background:#fff}.search{flex:1;height:38px;border-radius:8px;border:1px solid var(--line);padding:0 12px;background:#fff;outline:none}.search:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.10)}.refresh{width:38px;height:38px;border-radius:8px;background:#f3f4f6;color:#374151;font-size:18px}.refresh:hover{background:#e5e7eb}.bulk{height:42px;display:flex;align-items:center;gap:6px;padding:0 10px;border-bottom:1px solid var(--line);background:#f8fafc}.bulk span{font-size:13px;color:var(--muted);margin-right:auto}.bulk button{height:28px;border-radius:6px;background:#fff;border:1px solid var(--line);color:#374151;padding:0 9px;font-weight:600}.bulk .danger{color:var(--red);border-color:#fecaca}.messages{padding:0;overflow:auto;min-height:0}.msg-wrap{position:relative;display:flex;align-items:stretch;border-bottom:1px solid var(--line2);background:#fff}.check{width:34px;background:#fff;color:transparent;font-weight:900;border-right:0}.check:hover{color:#9ca3af}.check.on{color:var(--blue)}.msg{flex:1;text-align:left;background:#fff;border:0;border-radius:0;padding:12px 12px 12px 4px;min-width:0}.msg:hover,.msg.active{background:#f5f8ff}.msg.unread .subject,.msg.unread .from{font-weight:750;color:#111827}.msg.flagged .subject:after{content:' ★';color:var(--warn)}.msg-line{display:flex;gap:8px;align-items:center;min-width:0}.from{font-size:13px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.star{background:transparent;color:#c4cad4;width:24px;height:20px;font-size:15px}.star.on{color:var(--warn)}.subject{font-size:14px;margin:5px 0;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date{font-size:12px;color:#9ca3af}.load-more{margin:10px;height:36px;border-radius:7px;background:#fff;border:1px solid var(--line);color:#374151;font-weight:600}.load-more:hover{background:#f9fafb}.reader{display:flex;flex-direction:column;background:#fff;min-width:0}.reader-head{min-height:64px;padding:12px 16px;border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:center;background:#fff}.back{display:none;width:36px;height:36px;border-radius:7px;background:#f3f4f6;color:#374151;font-size:20px}.reader-title{min-width:0;flex:1}.reader-title h2{margin:0;font-size:18px;font-weight:750;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta{font-size:12px;color:var(--muted);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool,.delete{height:34px;border-radius:7px;background:#fff;border:1px solid var(--line);color:#374151;padding:0 10px;font-weight:600}.tool:hover,.delete:hover{background:#f9fafb}.delete{color:var(--red);border-color:#fecaca}.attachments{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line2);background:#fafbfc}.attachments a{background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 10px;color:#374151;text-decoration:none;font-weight:600;font-size:13px}.attachments small{color:#9ca3af}.content{padding:20px;overflow:auto;background:#fff;margin:0;border-radius:0;border:0;box-shadow:none;line-height:1.7;min-height:0}.content img{max-width:100%;height:auto}.empty{height:100%;display:grid;place-items:center;color:var(--muted);text-align:center;padding:28px}.compose-modal{position:fixed;inset:0;background:rgba(15,23,42,.38);display:grid;place-items:center;padding:20px;z-index:5}.compose-card{width:min(720px,100%);max-height:92vh;background:white;border-radius:12px;box-shadow:0 24px 80px rgba(15,23,42,.28);padding:16px;display:flex;flex-direction:column;gap:10px}.compose-card h3{margin:0 0 4px;font-size:20px}.compose-card textarea{min-height:260px;border-radius:8px;border:1px solid var(--line);padding:12px;resize:vertical;outline:none}.row{display:flex;gap:10px;justify-content:flex-end}.row .input{flex:1}.ghost{height:38px;border-radius:8px;background:#fff;border:1px solid var(--line);color:#374151;font-weight:650;padding:0 16px}.send{height:38px;border-radius:8px;background:var(--blue);color:white;font-weight:700;padding:0 20px}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#111827;color:white;padding:10px 14px;border-radius:8px;box-shadow:var(--shadow);z-index:9}@media(max-width:900px){.shell{display:block;height:100vh}.side{position:fixed;left:8px;right:8px;bottom:8px;height:60px;z-index:4;display:block;padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff}.brand,.logout{display:none}.compose-btn{position:absolute;right:6px;top:6px;width:48px;height:48px;border-radius:10px;font-size:0;margin:0}.compose-btn:before{content:'✎';font-size:20px}.folders{height:48px;display:flex;flex-direction:row;gap:4px;overflow-x:auto;padding-right:58px}.folder{min-width:48px;width:48px;height:48px;justify-content:center;padding:0;font-size:0;border-radius:9px}.folder:before{font-size:20px}.folder[data-box="INBOX"]:before{content:'✉'}.folder:not([data-box="INBOX"]):before{content:'▣'}.list{height:calc(100vh - 76px);border-right:0}.reader{position:fixed;inset:0 0 76px;z-index:3;display:none}.reader.show{display:flex}.back{display:block}.tool{display:none}.reader-title h2{font-size:17px}.content{padding:14px}.compose-modal{place-items:end center;padding:8px}.compose-card{border-radius:12px}.compose-card textarea{min-height:220px}} 
/* v3 list/contact/compose refinement */
.quick{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin:0 4px 12px}.quick button{height:34px;border-radius:7px;background:#fff;border:1px solid var(--line);color:#4b5563;font-weight:650}.quick button.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.msg-wrap{display:block;margin:0;border:0}.msg-row{display:grid;grid-template-columns:34px minmax(0,1fr)34px;align-items:stretch;min-height:78px;border-bottom:1px solid var(--line2);background:#fff}.msg-row:hover{background:#f8fbff}.msg-row.active{background:#eaf2ff;box-shadow:inset 3px 0 0 var(--blue)}.msg-row.unread .from,.msg-row.unread .subject{font-weight:800;color:#111827}.msg-row.flagged .star{color:var(--warn)}.msg-row .check{width:34px;border-radius:0;background:transparent;border:0}.msg-row .msg{padding:11px 6px;text-align:left;background:transparent;border:0;min-width:0}.msg-row .msg:hover,.msg-row .msg.active{background:transparent}.msg-row .star{width:34px;height:auto;background:transparent;border:0;color:#c4cad4}.msg-row .star.on{color:var(--warn)}.preview{font-size:12px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-item{width:100%;height:66px;display:grid;grid-template-columns:42px minmax(0,1fr)36px;gap:10px;align-items:center;background:#fff;border:0;border-bottom:1px solid var(--line2);padding:0 12px;text-align:left}.contact-item:hover{background:#f8fbff}.avatar{width:38px;height:38px;border-radius:9px;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-weight:800}.contact-main{min-width:0}.contact-main b,.contact-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-main span{font-size:12px;color:var(--muted);margin-top:4px}.contact-item em{font-style:normal;color:#9ca3af;font-size:12px;text-align:right}.compose-card{padding:0;gap:0;overflow:hidden}.compose-head{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line);background:#fafbfc}.compose-head h3{margin:0;font-size:18px}.compose-head button{width:34px;height:34px;border-radius:8px;background:#fff;border:1px solid var(--line);font-size:20px;color:#475467}.compose-grid{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;border-bottom:1px solid var(--line)}.compose-grid label{padding-left:16px;color:#6b7280;font-weight:650}.compose-grid .input{border:0;border-radius:0;border-bottom:1px solid var(--line2);height:44px}.compose-grid .input:focus{box-shadow:none}.compose-card textarea{border:0;border-radius:0;min-height:320px;padding:16px}.compose-actions{height:58px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 16px;background:#fafbfc}.compose-actions .ghost,.compose-actions .send{height:38px;border-radius:8px}@media(max-width:900px){.quick{display:none}.msg-row{grid-template-columns:32px minmax(0,1fr)32px}.compose-grid{grid-template-columns:1fr}.compose-grid label{padding:10px 14px 0}.compose-grid .input{margin:0 14px 8px;width:calc(100% - 28px);border:1px solid var(--line);border-radius:8px}.compose-card textarea{min-height:240px}}
/* v4 menu, speed, rich compose */
.quick{display:flex!important;flex-direction:column!important;gap:6px!important;margin:0 4px 12px!important}.quick button{width:100%;height:38px;text-align:left;display:flex;align-items:center;gap:8px;padding:0 10px}.quick button span{width:20px;text-align:center}.quick button.active{background:#dbeafe!important;color:#1d4ed8!important;border-color:#bfdbfe!important}.quick button:not(.active):hover{background:#f8fafc}.compose-card{width:min(840px,100%)}.editor-toolbar{height:42px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid var(--line);background:#fff}.editor-toolbar button{height:30px;min-width:30px;border-radius:6px;background:#fff;border:1px solid var(--line);color:#374151;font-weight:700;padding:0 9px}.editor-toolbar button:hover{background:#f3f4f6}.editor{min-height:340px;max-height:52vh;overflow:auto;padding:16px;outline:none;line-height:1.7;background:#fff}.editor:empty:before{content:attr(data-placeholder);color:#9ca3af}.editor blockquote{border-left:3px solid #cbd5e1;margin:8px 0;padding:6px 10px;background:#f8fafc;color:#475467}.plain-cache{display:none}.compose-actions{height:60px}.send{background:#1d4ed8}.send:hover{background:#1e40af}@media(max-width:900px){.quick{display:none!important}.editor{min-height:260px;max-height:45vh}.editor-toolbar{overflow-x:auto}.editor-toolbar button{white-space:nowrap}}
/* v5 requested sidebar/menu/editor changes */
.side{position:relative;padding-bottom:64px}.logout{position:absolute;left:16px;right:16px;bottom:14px;margin:0}.quick{margin:0 4px 14px!important}.quick button{position:relative;height:40px}.quick .nav-ico{width:18px;height:18px;display:inline-block;position:relative}.star-ico:before{content:'';position:absolute;left:2px;top:1px;width:14px;height:14px;background:#f59e0b;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%)}.contact-ico:before{content:'';position:absolute;left:1px;top:2px;width:7px;height:7px;border-radius:50%;background:#64748b;box-shadow:8px 0 0 #64748b}.contact-ico:after{content:'';position:absolute;left:0;top:11px;width:17px;height:6px;border-radius:8px 8px 2px 2px;background:#64748b}.quick .nav-text{flex:1}.quick b{min-width:22px;height:20px;border-radius:10px;background:#eef2ff;color:#1d4ed8;display:inline-grid;place-items:center;font-size:12px;padding:0 6px}.quick button.active b{background:#fff;color:#1d4ed8}.folders{border-top:1px solid var(--line2);padding-top:10px}.editor{font-family:inherit}.html-source{display:none;width:100%;min-height:340px;max-height:52vh;overflow:auto;border:0;outline:none;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;background:#0f172a;color:#e2e8f0;resize:vertical}.mode-toggle{margin-left:auto!important;background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}.content table{max-width:100%;border-collapse:collapse}.content blockquote{border-left:3px solid #cbd5e1;margin:8px 0;padding:6px 10px;background:#f8fafc;color:#475467}@media(max-width:900px){.side{padding-bottom:6px}.logout{display:none}.quick{display:flex!important;flex-direction:row!important;margin:0!important;padding-right:58px}.quick button{font-size:0;min-width:48px;width:48px;height:48px;justify-content:center;padding:0}.quick .nav-text,.quick b{display:none}.folders{display:none}.html-source{min-height:260px;max-height:45vh}}
/* v6 folder badges, line icons, maximize compose, attachments */
.folder{position:relative;gap:8px}.folder-ico{width:16px;height:16px;display:inline-block;position:relative;flex:0 0 16px}.folder-ico:before{content:'';position:absolute;inset:3px 1px 2px;border:1.7px solid #64748b;border-radius:3px}.folder-ico:after{content:'';position:absolute;left:2px;top:2px;width:7px;height:4px;border:1.7px solid #64748b;border-bottom:0;border-radius:3px 3px 0 0}.folder.active .folder-ico:before,.folder.active .folder-ico:after{border-color:#1d4ed8}.folder-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder b{min-width:22px;height:20px;border-radius:10px;background:#f1f5f9;color:#64748b;display:grid;place-items:center;font-size:12px;padding:0 6px}.folder.active b{background:#fff;color:#1d4ed8}.sent .folder-ico:before{border-radius:50%;transform:rotate(-25deg);border-left-color:transparent;border-bottom-color:transparent}.sent .folder-ico:after{display:none}.trash .folder-ico:before{inset:5px 3px 2px;border-radius:2px}.trash .folder-ico:after{left:3px;top:2px;width:10px;height:2px;border:0;background:#64748b;border-radius:2px}.drafts .folder-ico:before{inset:2px;border-radius:2px}.drafts .folder-ico:after{left:5px;top:5px;width:7px;height:7px;border:0;border-left:2px solid #64748b;transform:rotate(45deg)}.compose-head>div{display:flex;gap:8px}.max-btn{font-size:15px!important}.compose-modal.maximized{padding:10px;place-items:center}.compose-modal.maximized .compose-card{width:calc(100vw - 20px);height:calc(100vh - 20px);max-height:none}.compose-modal.maximized .editor,.compose-modal.maximized .html-source{max-height:none;flex:1}.compose-card{display:flex;flex-direction:column}.attach-bar{min-height:44px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff}.attach-btn{height:30px;border-radius:7px;border:1px solid var(--line);background:#f8fafc;padding:0 10px;display:inline-flex;align-items:center;font-weight:650;color:#374151;cursor:pointer}.attach-btn input{display:none}.attach-list{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.attach-list span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 8px;font-size:12px;color:#475569}.attach-list small{color:#94a3b8}.nav-ico.star-ico:before{background:#eab308}.quick button.active .star-ico:before{background:#1d4ed8}.quick button.active .contact-ico:before,.quick button.active .contact-ico:after{background:#1d4ed8}@media(max-width:900px){.folder b{display:none}.compose-modal.maximized{padding:0}.compose-modal.maximized .compose-card{width:100vw;height:100vh;border-radius:0}.attach-bar{align-items:flex-start;flex-direction:column}}
/* v7 unified action icon system */
.compose-btn{display:flex;align-items:center;justify-content:center;gap:8px}.compose-btn:before{content:'';width:15px;height:15px;display:inline-block;background:currentColor;clip-path:polygon(0 78%,0 100%,22% 100%,86% 36%,64% 14%)}.tool,.delete,.refresh,.send,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px}.refresh{font-size:0}.refresh:before{content:'';width:16px;height:16px;border:2px solid #374151;border-right-color:transparent;border-radius:50%;display:inline-block;transform:rotate(-25deg)}.tool:before,.delete:before,.send:before,.ghost:before{content:'';width:15px;height:15px;display:inline-block;position:relative;flex:0 0 15px}.tool:nth-of-type(1):before{border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);width:12px;height:12px}.tool:nth-of-type(2):before{border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);width:12px;height:12px}.tool:nth-of-type(3):before{border:2px solid currentColor;border-radius:3px}.tool:nth-of-type(3):after{content:'';width:7px;height:2px;background:currentColor;position:absolute}.delete:before{border:2px solid currentColor;border-top:0;border-radius:0 0 2px 2px;height:12px}.delete:after{content:'';width:14px;height:2px;background:currentColor;position:absolute;top:9px}.send:before{background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%,20% 55%,55% 50%,20% 45%)}.ghost:before{border:2px solid currentColor;border-radius:50%}.ghost:after{content:'';width:8px;height:2px;background:currentColor;position:absolute;transform:rotate(45deg)}.editor-toolbar button[data-cmd]:before{content:'';display:inline-block;margin-right:5px;vertical-align:-2px}.editor-toolbar button[data-cmd="bold"]:before{width:10px;height:13px;border:2px solid currentColor;border-radius:2px}.editor-toolbar button[data-cmd="italic"]:before{width:10px;height:13px;border-left:2px solid currentColor;transform:skew(-12deg)}.editor-toolbar button[data-cmd="underline"]:before{width:10px;height:13px;border-bottom:2px solid currentColor}.editor-toolbar button[data-cmd="insertUnorderedList"]:before{width:14px;height:12px;background:linear-gradient(currentColor 0 0) 5px 1px/9px 2px no-repeat,linear-gradient(currentColor 0 0) 5px 5px/9px 2px no-repeat,linear-gradient(currentColor 0 0) 5px 9px/9px 2px no-repeat,radial-gradient(circle,currentColor 2px,transparent 2px) 0 0/4px 4px}.editor-toolbar button[data-cmd="formatBlock"]:before{width:12px;height:12px;border-left:3px solid currentColor;border-radius:1px}.editor-toolbar button[data-cmd="createLink"]:before{width:14px;height:8px;border:2px solid currentColor;border-radius:8px}.editor-toolbar button[data-cmd="removeFormat"]:before{width:13px;height:13px;background:linear-gradient(45deg,transparent 42%,currentColor 42% 58%,transparent 58%),linear-gradient(currentColor 0 0) 0 11px/13px 2px no-repeat}.attach-btn:before{content:'';width:14px;height:14px;border:2px solid currentColor;border-left:0;border-radius:0 8px 8px 0;display:inline-block;margin-right:6px;transform:rotate(35deg)}.back:before{content:'';width:12px;height:12px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);display:inline-block}.back{font-size:0}.star{font-size:0}.star:before{content:'';width:15px;height:15px;display:inline-block;background:currentColor;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%)}.check{font-size:0}.check:before{content:'';width:13px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;display:inline-block;transform:rotate(-45deg)}.check:not(.on):before{color:#cbd5e1}.quick .nav-ico{margin-right:1px}.folder-ico{margin-right:1px}@media(max-width:900px){.compose-btn:before{margin:0}.send:before,.ghost:before,.tool:before,.delete:before{display:none}}
/* v8 icon reset: unified clean SVG-mask icons, override previous messy CSS */
.compose-btn:before,.refresh:before,.tool:before,.delete:before,.send:before,.ghost:before,.attach-btn:before,.back:before,.star:before,.check:before,.editor-toolbar button[data-cmd]:before,.nav-ico:before,.nav-ico:after,.folder-ico:before,.folder-ico:after{content:''!important;display:inline-block!important;width:16px!important;height:16px!important;min-width:16px!important;background:currentColor!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;clip-path:none!important;position:static!important;margin:0!important;vertical-align:-3px!important}.compose-btn:before{margin-right:8px!important}.refresh{font-size:0!important}.refresh:before{background:#374151!important}.tool:before,.delete:before,.send:before,.ghost:before{margin-right:6px!important}.back{font-size:0!important}.star{font-size:0!important}.check{font-size:0!important}.check:before{color:#cbd5e1}.check.on:before{color:#2563eb}.quick .nav-ico{background:transparent!important}.quick .nav-ico:before{vertical-align:-3px!important}.folder-ico{background:transparent!important}.folder-ico:before{vertical-align:-3px!important}.folder-ico:after,.nav-ico:after,.ghost:after,.delete:after,.tool:nth-of-type(3):after{display:none!important}.compose-btn:before,.editor-toolbar button[data-cmd="createLink"]:before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 20h4l11-11a2.8 2.8 0 0 0-4-4L4 16v4zM13 6l5 5" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 20h4l11-11a2.8 2.8 0 0 0-4-4L4 16v4zM13 6l5 5" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}.refresh:before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 1 1-2.3-5.7M20 4v6h-6" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 1 1-2.3-5.7M20 4v6h-6" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}.star:before,.star-ico:before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17.3 6.4 20.2 7.5 14 3 9.6l6.2-.9L12 3z" fill="none" stroke="black" stroke-width="2" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17.3 6.4 20.2 7.5 14 3 9.6l6.2-.9L12 3z" fill="none" stroke="black" stroke-width="2" stroke-linejoin="round"/></svg>') center/contain no-repeat}.contact-ico:before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}.folder-ico:before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6.5A2.5 2.5 0 0 1 5.5 4H10l2 2h6.5A2.5 2.5 0 0 1 21 8.5v8A2.5 2.5 0 0 1 18.5 19h-13A2.5 2.5 0 0 1 3 16.5v-10z" fill="none" stroke="black" stroke-width="2" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6.5A2.5 2.5 0 0 1 5.5 4H10l2 2h6.5A2.5 2.5 0 0 1 21 8.5v8A2.5 2.5 0 0 1 18.5 19h-13A2.5 2.5 0 0 1 3 16.5v-10z" fill="none" stroke="black" stroke-width="2" stroke-linejoin="round"/></svg>') center/contain no-repeat}.tool:nth-of-type(1):before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 10 4 15l5 5M5 15h9a6 6 0 0 0 0-12h-1" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 10 4 15l5 5M5 15h9a6 6 0 0 0 0-12h-1" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}.tool:nth-of-type(2):before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m15 10 5 5-5 5M20 15h-9a6 6 0 0 1 0-12h1" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m15 10 5 5-5 5M20 15h-9a6 6 0 0 1 0-12h1" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}.delete:before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18M8 6V4h8v2m-1 4v8M9 10v8M5 6l1 15h12l1-15" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18M8 6V4h8v2m-1 4v8M9 10v8M5 6l1 15h12l1-15" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}.send:before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22 2 11 13M22 2l-7 20-4-9-9-4 20-7z" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22 2 11 13M22 2l-7 20-4-9-9-4 20-7z" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}.check:before{mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m20 6-11 11-5-5" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m20 6-11 11-5-5" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}
/* v9 inline svg icons, disable previous pseudo icon layer */
.ico{width:16px;height:16px;display:inline-block;vertical-align:-3px;flex:0 0 16px;color:currentColor}.compose-btn:before,.refresh:before,.tool:before,.delete:before,.send:before,.ghost:before,.attach-btn:before,.back:before,.star:before,.check:before,.editor-toolbar button[data-cmd]:before,.nav-ico:before,.nav-ico:after,.folder-ico:before,.folder-ico:after,.ghost:after,.delete:after{display:none!important;content:none!important}.compose-btn{font-size:14px}.compose-btn .ico{color:white}.refresh{font-size:14px}.refresh .ico{color:#374151}.quick button>.ico{margin-right:8px}.folder>.ico{margin-right:8px;color:#64748b}.folder.active>.ico{color:#1d4ed8}.star .ico{color:#c4cad4}.star.on .ico,.msg-row.flagged .star .ico{color:#d97706;fill:#d97706}.check .ico{color:#cbd5e1}.check.on .ico{color:#2563eb}.tool .ico,.delete .ico,.send .ico{margin-right:6px}.send .ico{color:white}.delete .ico{color:#dc2626}.back .ico{color:#374151}@media(max-width:900px){.compose-btn span{display:none}.compose-btn .ico{margin:0}.tool .ico,.delete .ico,.send .ico{margin-right:0}}
/* v10 reply quote matches message detail style */
.mail-quote-card{margin:16px 0 10px;background:#f8fafc;border:1px solid #dfe3ea;border-radius:8px;color:#334155;font-size:13px;overflow:hidden}.mail-quote-card .quote-title{height:34px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid #e5e7eb;font-weight:700;background:#f1f5f9}.mail-quote-card table{width:100%;border-collapse:collapse}.mail-quote-card th{width:86px;text-align:left;color:#64748b;font-weight:650;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #edf0f4}.mail-quote-card td{padding:8px 12px;border-bottom:1px solid #edf0f4;color:#1f2937}.mail-quote-body{margin:10px 0 0;padding:12px 14px;border-left:3px solid #cbd5e1;background:#fbfcfe;color:#334155}.editor .mail-quote-card a,.editor .mail-quote-body a{color:#2563eb;text-decoration:none}.content .mail-quote-card{margin-top:0}
/* v11 sending state */
.send:disabled{opacity:.75;cursor:not-allowed}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;border-radius:50%;display:inline-block;margin-right:7px;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}
/* v12 make entire replied mail one quote */
.mail-quote-wrap{margin:16px 0 0;padding:0 0 0 12px;border-left:3px solid #cbd5e1;background:#fbfcfe;color:#334155}.mail-quote-wrap .mail-quote-card{margin:0 0 10px;background:#f8fafc;border:1px solid #dfe3ea;border-radius:8px;overflow:hidden}.mail-quote-wrap .mail-quote-body{margin:0;padding:12px 14px;background:#fff;border:1px solid #edf0f4;border-radius:8px}.mail-quote-wrap .mail-quote-body blockquote{margin-left:10px}.editor .mail-quote-wrap{display:block}.editor .mail-quote-card{user-select:none}
/* v13 list sender/recipient label */
.from-prefix{color:#94a3b8;font-weight:500;margin-right:2px}.msg-row.unread .from-prefix{font-weight:600;color:#64748b}
/* v14 faster image rendering and quote title removed */
.mail-quote-card .quote-title{display:none!important}.content img,.editor img{max-width:100%!important;height:auto!important}.content{content-visibility:auto;contain-intrinsic-size:800px}.mail-quote-wrap .mail-quote-card{margin-bottom:8px}
/* v16 mobile-only rebuild, keep desktop unchanged */
@media(max-width:900px){
  html,body{height:100%;overflow:hidden;background:#f3f5f8}.shell{height:100vh;display:block;padding:0;background:#f3f5f8}.panel{border-radius:0;box-shadow:none;border:0;background:#fff}.list{height:calc(100vh - 68px);border-right:0}.top{height:56px;padding:9px 10px;position:sticky;top:0;z-index:2}.search{height:38px}.refresh{width:38px;height:38px}.bulk{height:42px;overflow-x:auto}.messages{height:calc(100vh - 166px);padding:0;background:#fff}.msg-row{grid-template-columns:34px minmax(0,1fr)34px;min-height:74px}.msg-row .msg{padding:10px 6px}.subject{font-size:14px}.from{font-size:13px}.preview,.date{font-size:12px}.load-more{height:36px;margin:8px 10px}.side{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:68px!important;z-index:20!important;display:flex!important;align-items:center!important;padding:6px 8px!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:#fff!important}.brand,.logout{display:none!important}.compose-btn{position:static!important;order:3;width:52px!important;height:52px!important;min-width:52px!important;border-radius:12px!important;margin:0 0 0 6px!important;padding:0!important}.compose-btn span{display:none!important}.compose-btn .ico{margin:0!important}.quick{order:1;display:flex!important;flex-direction:row!important;gap:6px!important;margin:0!important;padding:0!important}.quick button{width:52px!important;min-width:52px!important;height:52px!important;border-radius:12px!important;justify-content:center!important;padding:0!important}.quick .nav-text,.quick b{display:none!important}.quick button>.ico{margin:0!important}.folders{order:2;display:flex!important;flex-direction:row!important;gap:6px!important;overflow-x:auto!important;border-top:0!important;padding:0!important;margin-left:6px;flex:1;height:52px}.folder{width:52px!important;min-width:52px!important;height:52px!important;border-radius:12px!important;justify-content:center!important;padding:0!important}.folder-name,.folder b{display:none!important}.folder>.ico{margin:0!important}.reader{position:fixed!important;inset:0 0 68px 0!important;z-index:10!important;display:none!important;border-radius:0!important;background:#fff}.reader.show{display:flex!important}.reader-head{min-height:58px;height:auto;padding:10px;border-bottom:1px solid var(--line);gap:6px;position:sticky;top:0;background:#fff;z-index:2}.back{display:inline-flex!important;width:38px;height:38px;align-items:center;justify-content:center}.reader-title h2{font-size:16px;white-space:nowrap}.meta{font-size:12px}.tool{display:none!important}.delete{width:38px;height:38px;padding:0;font-size:0}.delete .ico{margin:0}.attachments{padding:8px 10px}.content{height:calc(100vh - 140px);overflow:auto;margin:0;padding:14px;border:0;border-radius:0;box-shadow:none}.compose-modal{padding:0!important;place-items:stretch!important;background:#fff!important;z-index:30}.compose-card{width:100vw!important;height:100vh!important;max-height:none!important;border-radius:0!important;box-shadow:none!important}.compose-head{height:54px}.compose-grid{grid-template-columns:1fr!important;padding:8px 12px;border-bottom:1px solid var(--line)}.compose-grid label{padding:8px 0 4px!important}.compose-grid .input{width:100%!important;margin:0 0 6px!important;border:1px solid var(--line)!important;border-radius:8px!important}.editor-toolbar{height:42px;overflow-x:auto;white-space:nowrap}.editor-toolbar button{white-space:nowrap}.editor,.html-source{min-height:0!important;max-height:none!important;flex:1!important;height:auto!important}.attach-bar{min-height:44px;max-height:90px;overflow:auto}.compose-actions{height:56px}.toast{bottom:78px;max-width:90vw}.contact-item{height:64px}.empty{min-height:180px}
}
/* v17 mobile drawer menu */
.mobile-menu,.mobile-dock,.drawer-mask{display:none}@media(max-width:900px){.mobile-menu{display:inline-flex;width:38px;height:38px;border-radius:8px;background:#f3f4f6;color:#374151;align-items:center;justify-content:center;font-size:20px}.mobile-dock{display:flex;position:fixed;left:12px;right:12px;bottom:12px;height:54px;z-index:18;background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px rgba(16,24,40,.14);border-radius:14px;padding:6px;gap:8px}.mobile-dock button{flex:1;border-radius:10px;background:#f8fafc;color:#374151;font-weight:750}.mobile-dock button:last-child{background:#2563eb;color:#fff}.drawer-mask{display:none;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:19}.drawer-open .drawer-mask{display:block}.side{position:fixed!important;left:0!important;top:0!important;bottom:0!important;right:auto!important;width:286px!important;height:100vh!important;z-index:20!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:16px 12px 72px!important;border-right:1px solid var(--line)!important;border-top:0!important;border-radius:0!important;background:#fff!important;transform:translateX(-102%);transition:transform .22s ease}.drawer-open .side{transform:translateX(0)}.brand{display:flex!important}.logout{display:block!important;position:absolute!important;left:16px!important;right:16px!important;bottom:16px!important}.quick{display:flex!important;flex-direction:column!important;gap:6px!important;margin:0 4px 12px!important;padding:0!important}.quick button{width:100%!important;height:40px!important;justify-content:flex-start!important;padding:0 10px!important;font-size:14px!important}.quick .nav-text{display:inline!important}.quick b{display:grid!important}.quick button>.ico{margin-right:8px!important}.folders{display:flex!important;flex-direction:column!important;gap:2px!important;overflow:auto!important;border-top:1px solid var(--line2)!important;padding-top:10px!important;margin:0!important;flex:1;height:auto!important}.folder{width:100%!important;min-width:0!important;height:38px!important;justify-content:flex-start!important;padding:0 10px!important;border-radius:7px!important}.folder-name{display:inline!important}.folder b{display:grid!important}.folder>.ico{margin-right:8px!important}.compose-btn{display:none!important}.list{height:calc(100vh - 78px)}.top{gap:8px}.reader{inset:0 0 78px 0!important}.mobile-dock+.list{} }
/* v18 mobile drawer text-only, no bottom nav, no garbled icons */
@media(max-width:900px){.mobile-dock{display:none!important}.list{height:100vh!important}.reader{inset:0!important}.side .ico,.mobile-menu .ico,.folder .ico,.quick .ico{display:none!important}.quick button,.folder{font-size:14px!important;color:#374151!important}.quick .nav-text,.folder-name{display:inline-block!important;visibility:visible!important;opacity:1!important;font-size:14px!important}.quick b,.folder b{display:grid!important;visibility:visible!important}.folder{gap:0!important}.mobile-menu{font-size:0!important}.mobile-menu:before{content:'菜单';font-size:14px;font-weight:700}.drawer-open .side{transform:translateX(0)!important}.side{padding-bottom:72px!important}.logout{font-size:14px!important}.compose-modal{z-index:30!important}}
/* v19 mobile: restore svg icons + compose entry, hide html source */
@media(max-width:900px){.mobile-dock{display:flex!important;position:fixed;right:12px;bottom:12px;left:auto;width:56px;height:56px;padding:0;border:0;background:transparent;box-shadow:none;z-index:18}.mobile-dock button:first-child{display:none!important}.mobile-dock button:last-child{width:56px;height:56px;border-radius:16px;background:#2563eb;color:#fff;font-size:0;box-shadow:0 10px 28px rgba(37,99,235,.28);position:relative}.mobile-dock button:last-child:before{content:'';position:absolute;inset:17px;background:#fff;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 20h4l11-11a2.8 2.8 0 0 0-4-4L4 16v4zM13 6l5 5" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 20h4l11-11a2.8 2.8 0 0 0-4-4L4 16v4zM13 6l5 5" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}.list{height:100vh!important}.reader{inset:0!important}.side .ico,.folder .ico,.quick .ico{display:inline-block!important}.quick button>.ico,.folder>.ico{margin-right:8px!important}.quick .nav-text,.folder-name{display:inline-block!important;font-size:14px!important}.mobile-menu{font-size:0!important;width:38px;height:38px}.mobile-menu:before{content:'';width:18px;height:18px;background:#374151;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 6h16M4 12h16M4 18h16" fill="none" stroke="black" stroke-width="2" stroke-linecap="round"/></svg>') center/contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 6h16M4 12h16M4 18h16" fill="none" stroke="black" stroke-width="2" stroke-linecap="round"/></svg>') center/contain no-repeat}.mode-toggle{display:none!important}.html-source{display:none!important}.editor{display:block!important}.compose-actions{padding-right:76px}}
/* v20 remove old mobile pseudo icons, fix mobile compose footer */
@media(max-width:900px){.folder:before,.folder:not([data-box="INBOX"]):before,.folder[data-box="INBOX"]:before,.compose-btn:before{content:none!important;display:none!important}.compose-card{display:flex!important;flex-direction:column!important}.compose-actions{height:auto!important;min-height:64px!important;padding:10px 12px!important;padding-right:12px!important;gap:10px!important;justify-content:flex-end!important;background:#fff!important;border-top:1px solid var(--line)!important}.compose-actions .ghost,.compose-actions .send{height:42px!important;border-radius:8px!important;padding:0 16px!important;min-width:92px!important}.compose-actions .send{flex:0 0 auto!important}.attach-bar{padding:8px 12px!important}.editor{min-height:180px!important}.mobile-dock{bottom:18px!important}.compose-modal .mobile-dock{display:none!important}}
/* v21 icon-only load more */
.load-more{display:flex!important;align-items:center!important;justify-content:center!important;font-size:0!important}.load-dot{width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;display:inline-block}.load-more.loading .load-dot{animation:spin .8s linear infinite}.load-more:not(.loading) .load-dot{animation:none}
/* v22 auto load, hide manual load button unless loading */
.load-more{display:none;margin:8px auto 12px;width:40px;height:40px;border-radius:20px;border:0;background:transparent}.load-more.loading{display:flex!important}.load-more .load-dot{width:20px;height:20px}
/* v23 force hide autoload indicator except active loading */
#more.load-more{display:none!important;visibility:hidden!important;pointer-events:none!important}#more.load-more.loading{display:flex!important;visibility:visible!important}
