:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef2f4;color:#172126;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#eef2f4}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:260px minmax(310px,420px) minmax(0,1fr);min-height:100vh;background:#eef2f4}.sidebar{display:flex;flex-direction:column;gap:22px;padding:22px;background:#172126;color:#f7faf8}.brand-row{display:flex;align-items:center;gap:10px;min-height:38px;font-weight:800;letter-spacing:0}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:#2ec4a6;color:#10201d}.sidebar-section,.sidebar-actions,.folder-nav{display:grid;gap:10px}.field-label{color:#a8b8ba;font-size:.78rem;font-weight:700;text-transform:uppercase}select,input,textarea{width:100%;border:1px solid #d6dee0;border-radius:8px;background:#fff;color:#172126;outline:none}select,input{height:42px;padding:0 12px}textarea{min-height:220px;padding:12px;resize:vertical}.folder-nav button,.primary-button,.ghost-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;min-height:40px;white-space:nowrap}.folder-nav button{justify-content:flex-start;padding:0 12px;background:transparent;color:#dce8e7}.folder-nav button.active,.folder-nav button:hover{background:#24343a;color:#fff}.primary-button{padding:0 14px;background:#2ec4a6;color:#0f241f;font-weight:800}.ghost-button{padding:0 12px;background:#edf2f3;color:#24343a;font-weight:700}.sidebar .ghost-button{background:#24343a;color:#f7faf8}.icon-button{width:40px;height:40px;background:#edf2f3;color:#24343a}.icon-button.danger{color:#bd2934}.message-list-panel{display:grid;grid-template-rows:auto auto 1fr;min-width:0;border-right:1px solid #d6dee0;background:#f8fbfb}.toolbar{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #d6dee0}.search-box{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:42px;padding:0 12px;border:1px solid #d6dee0;border-radius:8px;background:#fff;color:#637174}.search-box input{height:38px;border:0;padding:0}.notice{margin:12px 16px 0;padding:10px 12px;border-radius:8px;background:#fff7df;color:#6b4a00;font-weight:700}.message-list{min-height:0;overflow:auto;padding:8px}.message-row{display:grid;gap:5px;width:100%;min-height:112px;padding:13px 12px;border:0;border-bottom:1px solid #e4ebec;border-radius:8px;background:transparent;color:#172126;text-align:left}.message-row:hover,.message-row.selected{background:#eaf8f5}.message-row.unread .row-subject,.message-row.unread .row-topline strong{font-weight:900}.row-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;color:#24343a}.row-topline strong,.row-subject,.row-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-topline strong{min-width:0;font-size:.95rem}.row-topline time{flex:0 0 auto;color:#6f7e82;font-size:.78rem}.row-subject{color:#172126;font-size:.95rem}.row-preview{color:#68787c;font-size:.88rem}.empty-state,.reader-empty{display:grid;place-items:center;gap:10px;height:100%;color:#718185;font-weight:700}.reader-panel{min-width:0;background:#fff}.reader{display:grid;grid-template-rows:auto auto auto 1fr;min-height:100vh}.reader-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px;border-bottom:1px solid #dfe7e8}.reader-header{display:grid;gap:16px;padding:24px 28px 18px;border-bottom:1px solid #eef2f4}.reader-header h1{margin:0;color:#172126;font-size:1.6rem;line-height:1.15;letter-spacing:0}.reader-header dl{display:grid;gap:8px;margin:0}.reader-header dl div{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px}.reader-header dt{color:#7a898d;font-weight:800}.reader-header dd{min-width:0;margin:0;overflow-wrap:anywhere}.attachment-strip{display:flex;flex-wrap:wrap;gap:8px;padding:12px 28px;border-bottom:1px solid #eef2f4}.attachment-strip span{border-radius:8px;padding:7px 10px;background:#eef2f4;color:#24343a;font-size:.85rem;font-weight:700}.message-body{margin:0;padding:28px;min-width:0;overflow:auto;color:#24343a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.94rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.html-frame{width:100%;min-height:70vh;border:0;background:#fff}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#1721266b;z-index:20}.compose-dialog{display:grid;gap:12px;width:min(720px,100%);max-height:min(820px,calc(100vh - 36px));overflow:auto;padding:18px;border-radius:8px;background:#fff;box-shadow:0 24px 80px #17212647}.compose-dialog header,.compose-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.compose-dialog h2{margin:0;font-size:1.1rem;letter-spacing:0}.compose-dialog label{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:10px}.compose-dialog label span{color:#607074;font-weight:800}.compose-dialog .body-label{grid-template-columns:1fr;align-items:stretch}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px;background:#172126}.login-panel{display:grid;gap:18px;width:min(420px,100%);padding:26px;border-radius:8px;background:#fff;color:#172126}.login-panel h1{margin:0;font-size:1.7rem;letter-spacing:0;overflow-wrap:anywhere}.status-line{margin:0;color:#647477}.status-line.error{color:#bd2934;font-weight:700}.mobile-only{display:none}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1040px){.app-shell{grid-template-columns:220px minmax(280px,380px) minmax(0,1fr)}}@media (max-width: 860px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 45vh minmax(55vh,auto)}.sidebar{display:grid;grid-template-columns:1fr;gap:14px;padding:16px}.folder-nav,.sidebar-actions{grid-template-columns:1fr 1fr}.message-list-panel{border-right:0;border-bottom:1px solid #d6dee0}.reader{min-height:55vh}.mobile-only{display:inline-flex}}@media (max-width: 560px){.folder-nav,.sidebar-actions,.compose-dialog label{grid-template-columns:1fr}.reader-toolbar{justify-content:flex-start;overflow-x:auto}.reader-header,.message-body{padding:20px}.reader-header h1{font-size:1.35rem}}
