@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--color-primary:#1a73e8;--color-on-primary:#fff;--color-primary-container:#d3e3fd;--color-on-primary-container:#041e49;--color-secondary-container:#e8f0fe;--color-surface:#f6f8fc;--color-surface-container:#fff;--color-surface-variant:#e1e3e1;--color-on-surface:#1f1f1f;--color-on-surface-variant:#5f6368;--color-outline:#c4c7c5;--color-outline-variant:#e8eaed;--color-error:#b3261e;--shadow-1:0 1px 2px #0000000d, 0 1px 3px #00000014;--shadow-2:0 1px 3px #00000014, 0 4px 8px #0000000f;--shadow-3:0 4px 12px #00000014, 0 8px 24px #0000000f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--ease:cubic-bezier(.2, 0, 0, 1);--dur:.2s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-surface);color:var(--color-on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}a{color:var(--color-primary);text-decoration:none}button{font-family:inherit}.loading-screen{height:100vh;color:var(--color-on-surface-variant);justify-content:center;align-items:center;gap:16px;font-size:16px;display:flex}.loading-spinner{border:3px solid var(--color-outline-variant);border-top-color:var(--color-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-screen{background:linear-gradient(135deg, var(--color-surface) 0%, #ebf1fb 100%);justify-content:center;align-items:center;width:100%;height:100vh;display:flex}.auth-card{box-shadow:var(--shadow-2);text-align:center;background:#fff;border-radius:28px;width:90%;max-width:420px;padding:56px 48px}.auth-logo{justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.auth-logo-icon{width:40px;height:40px;color:var(--color-primary)}.auth-logo-icon svg{width:100%;height:100%}.auth-title{letter-spacing:-.5px;font-family:Outfit,sans-serif;font-size:28px;font-weight:400}.auth-title span{color:var(--color-primary);font-weight:700}.auth-subtitle{color:var(--color-on-surface-variant);margin-bottom:36px;font-size:15px;line-height:1.6}.auth-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-full);cursor:pointer;width:100%;transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border:none;padding:16px 32px;font-size:15px;font-weight:600}.auth-btn:hover{box-shadow:var(--shadow-2);background:#1565c0}.auth-footer{color:var(--color-outline);margin-top:24px;font-size:12px}.app-layout{background:var(--color-surface);width:100vw;height:100vh;display:flex}.nav-rail{background:var(--color-surface);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;width:72px;padding:12px 0;display:flex}.nav-logo{border-radius:var(--radius-lg);background:var(--color-primary);color:#fff;width:48px;height:48px;box-shadow:var(--shadow-1);justify-content:center;align-items:center;margin-bottom:20px;font-family:Outfit;font-size:22px;font-weight:700;display:flex}.nav-folders{flex-direction:column;flex:1;gap:4px;display:flex}.nav-item{cursor:pointer;width:56px;color:var(--color-on-surface-variant);border-radius:var(--radius-md);transition:color var(--dur) var(--ease);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px 0;display:flex}.nav-icon{border-radius:var(--radius-full);width:56px;height:32px;transition:background var(--dur) var(--ease);justify-content:center;align-items:center;display:flex}.nav-icon svg{fill:currentColor;width:24px;height:24px}.nav-label{font-size:11px;font-weight:500}.nav-item:hover .nav-icon{background:#0000000a}.nav-item.active{color:var(--color-on-primary-container)}.nav-item.active .nav-icon{background:var(--color-primary-container)}.nav-avatar{background:var(--color-primary);color:#fff;cursor:pointer;width:32px;height:32px;transition:box-shadow var(--dur) var(--ease);border-radius:50%;justify-content:center;align-items:center;margin-top:auto;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.nav-avatar:hover{box-shadow:0 0 0 2px var(--color-primary-container)}.main-content{background:var(--color-surface-container);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-direction:column;flex:1;margin:6px 6px 6px 0;display:flex;position:relative;overflow:hidden}.app-header{flex-shrink:0;align-items:center;gap:16px;height:56px;padding:0 16px;display:flex}.search-pill{border-radius:var(--radius-full);max-width:720px;height:44px;transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:#edf2fc;flex:1;align-items:center;gap:12px;padding:0 16px;display:flex}.search-pill:focus-within{box-shadow:var(--shadow-2);background:#fff}.search-icon{width:20px;height:20px;color:var(--color-on-surface-variant);flex-shrink:0}.search-icon svg{fill:currentColor;width:100%;height:100%}.search-pill input{color:var(--color-on-surface);background:0 0;border:none;outline:none;flex:1;font-size:15px}.search-pill input::placeholder{color:var(--color-on-surface-variant)}.header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.icon-btn{cursor:pointer;width:40px;height:40px;color:var(--color-on-surface-variant);transition:background var(--dur) var(--ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:#0000000a}.icon-btn svg{fill:currentColor;width:20px;height:20px}.text-btn{border-radius:var(--radius-full);border:1px solid var(--color-outline);color:var(--color-primary);cursor:pointer;transition:all var(--dur) var(--ease);background:0 0;padding:8px 16px;font-size:13px;font-weight:600}.text-btn:hover{border-color:var(--color-primary);background:#f0f4ff}.mail-pane{flex:1;display:flex;overflow:hidden}.list-col{border-right:1px solid var(--color-outline-variant);flex-direction:column;flex-shrink:0;width:400px;min-width:320px;display:flex;overflow:hidden}.list-header{border-bottom:1px solid var(--color-outline-variant);align-items:center;gap:8px;padding:12px 20px;display:flex}.list-title{font-family:Outfit;font-size:20px;font-weight:500}.list-count{color:var(--color-on-surface-variant);background:var(--color-secondary-container);border-radius:var(--radius-full);padding:2px 8px;font-size:12px}.list-body{flex:1;overflow-y:auto}.list-loading,.list-error,.list-empty{color:var(--color-on-surface-variant);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 24px;display:flex}.list-empty-icon{opacity:.3;width:64px;height:64px;margin-bottom:16px}.list-empty-icon svg{fill:currentColor;width:100%;height:100%}.list-empty h3{margin-bottom:4px;font-weight:500}.list-empty p{font-size:14px}.mail-item{cursor:pointer;border-bottom:1px solid var(--color-outline-variant);transition:background var(--dur) var(--ease);align-items:flex-start;gap:12px;padding:12px 20px;display:flex;position:relative}.mail-item:hover{background:#f6f8fc}.mail-item.selected{background:#e8f0fe}.mail-item.unread{background:#fff}.mail-item.unread:after{content:"";background:var(--color-primary);border-radius:0 2px 2px 0;width:4px;position:absolute;top:0;bottom:0;left:0}.mail-item.unread .mail-sender{font-weight:700}.mail-item.unread .mail-subject{color:var(--color-on-surface);font-weight:600}.mail-avatar{background:var(--color-primary-container);width:40px;height:40px;color:var(--color-on-primary-container);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.mail-body{flex:1;min-width:0}.mail-row-top{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.mail-sender{color:var(--color-on-surface);font-size:14px}.mail-date{color:var(--color-on-surface-variant);flex-shrink:0;font-size:12px}.mail-subject{color:var(--color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;overflow:hidden}.mail-snippet{color:var(--color-on-surface-variant);opacity:.7;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.detail-col{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.detail-empty{color:var(--color-on-surface-variant);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.detail-empty-icon{opacity:.15;width:80px;height:80px;margin-bottom:16px}.detail-empty-icon svg{fill:currentColor;width:100%;height:100%}.detail-empty p{font-size:15px}.detail-view{flex-direction:column;flex:1;display:flex;overflow:hidden}.detail-header{border-bottom:1px solid var(--color-outline-variant);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.detail-actions{gap:4px;display:flex}.detail-content{flex:1;padding:24px 32px;overflow-y:auto}.detail-subject{margin-bottom:20px;font-family:Outfit;font-size:22px;font-weight:500;line-height:1.3}.detail-meta{border-bottom:1px solid var(--color-outline-variant);align-items:flex-start;gap:12px;margin-bottom:24px;padding-bottom:20px;display:flex}.detail-avatar{background:var(--color-primary-container);width:44px;height:44px;color:var(--color-on-primary-container);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex}.detail-meta-text{flex-direction:column;gap:2px;display:flex}.detail-meta-text strong{font-size:14px}.detail-meta-email,.detail-meta-date{color:var(--color-on-surface-variant);font-size:12px}.detail-body-html{word-break:break-word;font-size:14px;line-height:1.65}.detail-body-html img{border-radius:var(--radius-sm);max-width:100%;height:auto}.fab{z-index:50;background:var(--color-primary-container);color:var(--color-on-primary-container);border-radius:var(--radius-lg);cursor:pointer;height:56px;box-shadow:var(--shadow-2);transition:all var(--dur) var(--ease);border:none;align-items:center;gap:10px;padding:0 20px;font-size:14px;font-weight:600;display:flex;position:absolute;bottom:20px;right:20px}.fab:hover{box-shadow:var(--shadow-3);transform:translateY(-2px)}.fab:active{transform:scale(.97)}.fab svg{fill:currentColor;width:24px;height:24px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000040;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}.compose-dialog{border-radius:var(--radius-xl);width:95%;max-width:680px;box-shadow:var(--shadow-3);max-height:85vh;animation:dialogIn .25s var(--ease);background:#fff;flex-direction:column;display:flex}@keyframes dialogIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1}}.compose-header{border-bottom:1px solid var(--color-outline-variant);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.compose-header h3{font-family:Outfit;font-size:18px;font-weight:500}.compose-body{flex-direction:column;flex:1;display:flex;overflow-y:auto}.compose-field{border-bottom:1px solid var(--color-outline-variant);align-items:center;gap:8px;padding:0 20px;display:flex}.compose-field label{color:var(--color-on-surface-variant);flex-shrink:0;width:48px;font-size:14px}.compose-field input{color:var(--color-on-surface);border:none;outline:none;flex:1;padding:14px 0;font-family:inherit;font-size:14px}.compose-field input::placeholder{color:var(--color-outline)}.compose-footer{border-top:1px solid var(--color-outline-variant);gap:12px;padding:12px 20px;display:flex}.send-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:all var(--dur) var(--ease);border:none;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:600;display:flex}.send-btn:hover{box-shadow:var(--shadow-1);background:#1565c0}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn svg{fill:currentColor;width:18px;height:18px}.editor-container{flex-direction:column;flex:1;min-height:0;display:flex}.editor-toolbar{background:var(--color-surface);border-bottom:1px solid var(--color-outline-variant);flex-wrap:wrap;align-items:center;gap:2px;padding:6px 12px;display:flex}.toolbar-btn{border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--color-on-surface-variant);background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.toolbar-btn:hover{color:var(--color-on-surface);background:#0000000f}.toolbar-btn svg{fill:currentColor;width:18px;height:18px}.toolbar-sep{background:var(--color-outline-variant);width:1px;height:20px;margin:0 6px}.toolbar-select{border:1px solid var(--color-outline-variant);border-radius:var(--radius-sm);height:28px;color:var(--color-on-surface-variant);cursor:pointer;background:#fff;margin-left:4px;padding:0 8px;font-size:12px}.editor-content{min-height:220px;color:var(--color-on-surface);outline:none;flex:1;padding:16px 20px;font-size:14px;line-height:1.6;overflow-y:auto}.editor-content:empty:before{content:attr(placeholder);color:var(--color-on-surface-variant);opacity:.5}@media (width<=768px){.nav-rail{width:56px}.nav-label{display:none}.nav-logo{width:40px;height:40px;font-size:18px}.list-col{width:100%;min-width:unset;border-right:none}.detail-col{z-index:20;background:#fff;display:none;position:absolute;inset:0}.detail-col.active{display:flex}.detail-content{padding:16px}.fab span{display:none}.fab{border-radius:var(--radius-lg);justify-content:center;width:56px;padding:0}.compose-dialog{width:100%;max-width:unset;height:100vh;max-height:unset;border-radius:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
