*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;color:#1a1a1a}.app{display:flex;height:100vh}.login{max-width:320px;margin:15vh auto;display:flex;flex-direction:column;gap:12px}.login input,.login button{padding:10px;font-size:1rem}.login button{background:#2563eb;color:#fff;border:none;cursor:pointer}.error{color:#dc2626}.folders{width:200px;border-right:1px solid #e5e5e5;overflow-y:auto}.folder{display:block;width:100%;text-align:left;padding:10px 14px;border:none;background:none;cursor:pointer}.folder.active{background:#eff6ff;font-weight:600}.message-list{width:340px;border-right:1px solid #e5e5e5;overflow-y:auto}.search input{width:100%;padding:8px;border:none;border-bottom:1px solid #e5e5e5}.row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;width:100%;text-align:left;padding:10px 12px;border:none;border-bottom:1px solid #f0f0f0;background:none;cursor:pointer}.row.active{background:#eff6ff}.row.unread .row-from,.row.unread .row-subject{font-weight:700}.row-from{font-size:.9rem}.row-subject{grid-column:1;color:#555;font-size:.85rem}.row-date{font-size:.75rem;color:#999}.reader{flex:1;overflow-y:auto;padding:20px}.hint{color:#999}.message-view{display:flex;flex-direction:column;height:100%}.mv-header h2{margin:0 0 6px}.mv-meta{color:#666;font-size:.85rem;margin-bottom:8px}.mv-actions{display:flex;gap:6px;flex-wrap:wrap}.mv-actions button{padding:6px 10px;cursor:pointer}.mv-attachments{display:flex;flex-direction:column;gap:4px;margin:10px 0}.show-images{margin:8px 0;padding:6px 10px;cursor:pointer}.mv-body{flex:1;width:100%;border:1px solid #e5e5e5;margin-top:10px}.mv-body-text{flex:1;white-space:pre-wrap;font-family:inherit}.sidebar{display:flex;flex-direction:column;width:200px;border-right:1px solid #e5e5e5}.sidebar .folders{width:auto;border-right:none;flex:1}.compose-btn{margin:10px;padding:8px 12px;cursor:pointer;background:#2563eb;color:#fff;border:none}.compose-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center}.compose{background:#fff;padding:20px;width:560px;max-width:92vw;display:flex;flex-direction:column;gap:8px}.compose input,.compose select,.compose textarea{padding:8px;font:inherit}.compose-actions{display:flex;gap:8px}.compose-actions button{padding:8px 14px;cursor:pointer}
