:root{--bg:#f6f8fc;--surface:#fff;--text:#202124;--muted:#5f6368;--border:#e0e0e0;--hover:#f2f6fc;--row-hover-shadow:inset 1px 0 0 #dadce0, inset -1px 0 0 #dadce0, 0 1px 2px 0 #3c40434d, 0 1px 3px 1px #3c404326;--active:#d3e3fd;--selected:#c2dbff;--unread-bg:#fff;--read-bg:#f2f6fc;--primary:#0b57d0;--primary-text:#fff;--compose:#c2e7ff;--danger:#d93025;--star:#f4b400;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:14px/1.4 Google Sans,Roboto,Segoe UI,Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:6px 16px}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary);font-weight:500}button.icon{color:var(--muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:inline-flex}button.icon:hover:not(:disabled){background:#3c404314}button.icon.active{background:var(--active);color:var(--text)}button.link{color:var(--primary);background:0 0;border:none;padding:0 4px;font-weight:500}button.link.danger{color:var(--danger)}input,select{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger)}.error.padded{padding:16px 24px}.toolbar-spacer{flex:1}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fatal{color:var(--danger);padding:32px}.vault{place-items:center;height:100%;display:grid}.vault-card{background:var(--surface);border-radius:28px;flex-direction:column;gap:14px;width:400px;max-width:calc(100% - 32px);padding:36px;display:flex}.vault-card h2{margin:0;font-weight:400}.vault-card p{color:var(--muted);margin:0}.vault-logo{color:var(--primary);align-items:center;gap:10px;font-size:22px;display:flex}.vault-card input,.modal input,.modal select{background:var(--surface);border:1px solid #747775;border-radius:4px;width:100%;padding:12px 14px}.vault-card button.primary{align-self:flex-end;padding:10px 24px}.app{flex-direction:column;height:100%;display:flex}.topbar{flex:none;align-items:center;gap:8px;height:64px;padding:0 16px 0 20px;display:flex}.brand{width:236px;color:var(--muted);flex:none;align-items:center;gap:10px;font-size:22px;display:flex}.brand svg{color:var(--primary)}.search{height:48px;color:var(--muted);background:#e9eef6;border-radius:24px;flex:0 720px;align-items:center;gap:10px;padding:0 8px 0 16px;display:flex}.search:focus-within{background:var(--surface);box-shadow:0 1px 1px #4145494d,0 1px 3px 1px #41454926}.search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:16px}.main{flex:1;min-height:0;display:flex}.content{background:var(--surface);border-radius:var(--radius);flex-direction:column;flex:1;min-width:0;margin:0 16px 16px 0;display:flex;overflow:hidden}.sidebar{flex:none;width:256px;padding:0 0 16px 8px;overflow-y:auto}.compose-button{background:var(--compose);border:none;border-radius:16px;align-items:center;gap:12px;margin:0 0 16px;padding:18px 24px 18px 20px;font-weight:500;display:inline-flex}.compose-button:hover{box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326}.nav-item,.nav-account-header{text-align:left;width:100%;height:32px;color:var(--text);background:0 0;border:none;border-radius:0 16px 16px 0;align-items:center;gap:14px;padding:0 12px 0 24px;display:flex}.nav-item:hover,.nav-account-header:hover{background:#e9eaed}.nav-item.active{background:var(--active);font-weight:600}.nav-item.drop{background:var(--selected)}.nav-item.has-unread{font-weight:600}.nav-item.subtle{color:var(--muted)}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-count{font-size:12px;font-weight:600}.nav-account{margin-top:12px}.nav-account-header{color:var(--muted);gap:8px;padding-left:8px;font-size:13px;font-weight:500}.nav-new-folder{padding:2px 12px 2px 24px}.nav-new-folder input{border:1px solid var(--border);border-radius:6px;width:100%;padding:4px 8px}.account-dot{border-radius:50%;flex:none;width:8px;height:8px}.toolbar{flex:none;align-items:center;gap:4px;min-height:48px;padding:8px 16px;display:flex}.toolbar input[type=checkbox]{margin:0 12px 0 4px}.page-info{color:var(--muted);margin-right:8px;font-size:12px}.thread-list{flex-direction:column;flex:1;min-height:0;display:flex}.rows{flex:1;overflow-y:auto}.row{background:var(--read-bg);cursor:pointer;border-bottom:1px solid #f1f3f4;align-items:center;gap:4px;height:40px;padding:0 16px;display:flex;position:relative}.row.unread{background:var(--unread-bg);font-weight:700}.row.selected{background:var(--selected)}.row:hover{box-shadow:var(--row-hover-shadow);z-index:1}.row.cursor:before{content:"";background:var(--primary);width:3px;position:absolute;top:0;bottom:0;left:0}.row input[type=checkbox]{margin:0 8px 0 4px}.row .account-dot{margin-right:8px}.row-from{text-overflow:ellipsis;white-space:nowrap;flex:none;width:200px;padding-right:24px;overflow:hidden}.row-count{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.row-subject{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.row-attach{color:var(--muted);flex:none;margin:0 8px}.row-date{text-align:right;flex:none;width:72px;font-size:12px}.row-actions{flex:none;display:none}.row:hover .row-date{display:none}.row:hover .row-actions{display:flex}.row-actions button.icon{padding:6px}.star.on{color:var(--star)}.star.on svg{fill:var(--star)}.empty{text-align:center;color:var(--muted);padding:48px}.thread-view{flex-direction:column;flex:1;min-height:0;display:flex}.thread-scroll{flex:1;padding:0 24px 32px;overflow-y:auto}.thread-subject{align-items:center;gap:8px;margin:8px 0 16px 56px;font-size:22px;font-weight:400;display:flex}.message{border-bottom:1px solid var(--border)}.message:last-child{border-bottom:none}.message-header{cursor:pointer;align-items:flex-start;gap:16px;padding:16px 0 12px;display:flex}.avatar{color:#fff;background:#8ab4f8;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.message-meta{flex:1;min-width:0}.message-meta>div{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-date{white-space:nowrap}.draft-badge{color:var(--danger);margin-left:8px;font-size:12px}.message-content{padding:0 0 16px 56px}.message-frame{border:none;width:100%;min-height:40px;display:block}.images-blocked{background:var(--bg);color:var(--muted);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.attachments{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.attachment{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:8px;max-width:280px;padding:6px 10px;display:inline-flex}.attachment-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment button.icon{padding:2px}.reply-buttons{gap:12px;margin-top:24px;display:flex}.reply-buttons button{color:var(--muted);align-items:center;gap:8px;padding:8px 20px;display:inline-flex}.composes{z-index:20;pointer-events:none;flex-direction:row-reverse;align-items:flex-end;gap:16px;display:flex;position:fixed;bottom:0;right:24px}.compose{pointer-events:auto;background:var(--surface);border-radius:8px 8px 0 0;flex-direction:column;width:560px;height:600px;max-height:calc(100vh - 80px);display:flex;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f,0 5px 5px -3px #0003}.compose.minimized{width:280px;height:auto}.compose-header{cursor:pointer;background:#f2f6fc;border-radius:8px 8px 0 0;align-items:center;padding:4px 8px 4px 16px;font-weight:500;display:flex}.compose-header button.icon{padding:4px}.compose-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.compose-fields{padding:0 16px}.field{border-bottom:1px solid #f1f3f4;align-items:center;gap:8px;min-height:38px;display:flex;position:relative}.field>span:first-child{color:var(--muted)}.field input,.field select{background:0 0;border:none;outline:none;flex:1;padding:8px 0}.suggestions{z-index:5;background:var(--surface);border-radius:8px;margin:0;padding:6px 0;list-style:none;position:absolute;top:100%;left:24px;right:0;box-shadow:0 2px 6px 2px #3c404326}.suggestions li{cursor:pointer;padding:6px 16px}.suggestions li.active,.suggestions li:hover{background:var(--hover)}.compose-body{flex-direction:column;flex:1;min-height:0;padding:8px 16px;display:flex;overflow-y:auto}.editor{flex-direction:column-reverse;flex:1;display:flex}.editor-content{flex:1}.editor-content .tiptap{outline:none;min-height:160px}.editor-content .tiptap p{margin:0}.editor-content .tiptap blockquote{border-left:1px solid #ccc;margin:0 0 0 .8ex;padding-left:1ex}.editor-content .tiptap a{color:var(--primary)}.editor-toolbar{background:var(--surface);z-index:2;border-bottom:1px solid #f1f3f4;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:8px;padding-bottom:4px;display:flex;position:sticky;top:-8px}.editor-toolbar button.icon{border-radius:4px;padding:6px}.separator{background:var(--border);width:1px;height:20px;margin:0 4px}.link-form{align-items:center;display:flex}.link-form input{border:1px solid var(--border);border-radius:4px;width:200px;padding:3px 6px}.quoted{margin-top:12px}.quoted-toggle{color:var(--muted);background:#e8eaed;border:none;border-radius:6px;padding:0 8px;font-size:12px;line-height:14px}.compose-footer{align-items:center;gap:8px;padding:12px 16px;display:flex}.compose-footer .send{padding:8px 24px}.toasts{z-index:40;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:24px}.toast{color:#fff;background:#323232;border-radius:4px;align-items:center;gap:16px;min-width:280px;max-width:560px;padding:6px 8px 6px 20px;display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024}.toast span{flex:1}.toast.error{background:#8c1d18}.toast button.link{color:#8ab4f8}.toast button.icon{color:#fff}.modal-backdrop{z-index:30;background:#20212466;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--surface);border-radius:28px;flex-direction:column;gap:12px;width:420px;max-width:calc(100% - 32px);max-height:calc(100vh - 64px);padding:24px;display:flex;overflow-y:auto}.modal.wide{width:560px}.modal h2{margin:0;font-weight:400}.modal h3{margin:8px 0 0;font-weight:500}.move-list{max-height:50vh;overflow-y:auto}.move-account{color:var(--muted);padding:12px 8px 4px;font-size:12px;font-weight:500}.move-folder{text-align:left;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.move-folder:hover{background:var(--hover)}.account-row{border-bottom:1px solid #f1f3f4;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.confirm{align-items:center;gap:4px;font-size:13px;display:flex}.account-form{flex-direction:column;gap:10px;display:flex}.account-form fieldset{border:1px solid var(--border);border-radius:8px;margin:0;padding:8px 12px 12px}.account-form legend{color:var(--muted);padding:0 4px;font-size:12px}.server-row{gap:8px;display:flex}.server-row .port{flex:none;width:90px}.server-row select{flex:none;width:130px}.note{background:#fef7e0;border-radius:8px;padding:8px 12px;font-size:13px}.form-buttons{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.server-form{flex-direction:column;gap:10px;display:flex}.server-form p{margin:0}.server-status{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.vault-card .server-form input{width:100%}.vault-card button.link{align-self:center}.vault-card code{background:var(--hover);border-radius:4px;padding:1px 4px;font-size:12px}.search[hidden]{display:none}.sections,.segmented{border:1px solid var(--border);background:var(--surface);border-radius:20px;flex:none;display:flex;overflow:hidden}.sections button,.segmented button{color:var(--muted);background:0 0;border:none;border-radius:0;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.sections button+button,.segmented button+button{border-left:1px solid var(--border)}.sections button.active,.segmented button.active{background:var(--active);color:var(--text);font-weight:500}.nav-account-header.static{cursor:default}.nav-account-header.static:hover{background:0 0}.calendar-toggle{cursor:pointer;gap:10px}.calendar-toggle input{flex:none;width:16px;height:16px;margin:0}.calendar-empty{padding:8px 16px 8px 24px}.calendar-empty button{align-items:center;gap:8px;display:inline-flex}.content.calendar{overflow:hidden}.cal-toolbar{border-bottom:1px solid var(--border);gap:8px}.cal-title{margin:0 0 0 8px;font-size:20px;font-weight:400}.week{flex-direction:column;flex:1;min-height:0;display:flex}.week-head,.week-allday,.week-grid{grid-template-columns:56px repeat(7,minmax(0,1fr));display:grid}.week-head,.week-allday,.week-scroll{scrollbar-gutter:stable}.week-head{flex:none;overflow-y:hidden}.week-day{color:var(--muted);flex-direction:column;align-items:center;padding:8px 0 4px;font-size:12px;display:flex}.week-day b{color:var(--text);border-radius:50%;place-items:center;width:40px;height:40px;font-size:22px;font-weight:400;display:grid}.week-day.today span{color:var(--primary)}.week-day.today b{background:var(--primary);color:var(--primary-text)}.week-allday{border-bottom:1px solid var(--border);flex:none;max-height:120px;overflow-y:hidden}.week-allday .gutter{justify-content:flex-end;align-items:center;padding-right:8px;display:flex}.allday-cell{border-left:1px solid var(--border);cursor:pointer;flex-direction:column;gap:2px;min-height:28px;padding:2px;display:flex}.week-scroll{flex:1;overflow-y:auto}.week-grid,.gutter.hours{position:relative}.gutter.hours span{color:var(--muted);font-size:11px;position:absolute;right:8px;transform:translateY(-50%)}.day-column{border-left:1px solid var(--border);background-image:linear-gradient(to bottom, var(--border) 1px, transparent 1px);cursor:pointer;position:relative}.event-chip{text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;width:100%;min-width:0;padding:1px 6px;font-size:12px;display:flex;overflow:hidden}.event-chip:hover{background:var(--hover)}.event-chip.allday,.event-chip.timed{color:#fff}.event-chip.allday{text-overflow:ellipsis;flex:none;display:block}.event-chip.timed{border:1px solid var(--surface);flex-direction:column;align-items:flex-start;gap:0;padding:2px 6px;line-height:1.25;position:absolute}.event-chip.allday:hover,.event-chip.timed:hover{filter:brightness(.92)}.event-chip.pending{opacity:.75;border:1px dashed}.event-chip.declined .event-name,.event-chip.declined.allday{text-decoration:line-through}.event-chip.declined{opacity:.55}.event-chip .event-name{text-overflow:ellipsis;max-width:100%;font-weight:500;overflow:hidden}.event-chip .event-time{opacity:.9;text-overflow:ellipsis;max-width:100%;overflow:hidden}.event-dot{border-radius:50%;flex:none;width:8px;height:8px}.now-line{background:var(--danger);pointer-events:none;z-index:1;height:2px;position:absolute;left:0;right:0}.month{flex-direction:column;flex:1;min-height:0;display:flex}.month-head{text-align:center;color:var(--muted);text-transform:uppercase;flex:none;grid-template-columns:repeat(7,minmax(0,1fr));padding:6px 0;font-size:11px;display:grid}.month-grid{border-top:1px solid var(--border);flex:1;grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;display:grid}.month-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;flex-direction:column;gap:2px;min-height:0;padding:4px;display:flex;overflow:hidden}.month-cell:nth-child(7n){border-right:none}.month-cell.other .month-date{color:var(--muted)}.month-date{border-radius:50%;align-self:center;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.month-date.today{background:var(--primary);color:var(--primary-text)}.month-cell .event-time{color:var(--muted)}.month-cell .more{align-self:flex-start;font-size:12px}.event-view{gap:10px}.event-view-actions{justify-content:flex-end;margin:-8px -8px 0 0;display:flex}.event-title{align-items:center;gap:12px;font-size:22px;display:flex}.calendar-swatch{border-radius:4px;flex:none;width:14px;height:14px}.cancelled{text-decoration:line-through}.event-line{align-items:flex-start;gap:14px;display:flex}.event-line svg{color:var(--muted);flex:none;margin-top:2px}.people{flex-direction:column;gap:2px;display:flex}.event-description{white-space:pre-wrap;background:var(--bg);border-radius:8px;max-height:200px;padding:8px 12px;overflow-y:auto}.confirm-box{background:var(--bg);border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;display:flex}.rsvp{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.rsvp button{align-items:center;gap:4px;padding:4px 14px;display:inline-flex}.rsvp button.chosen{background:var(--active);border-color:var(--active);font-weight:500}.event-form .event-title-input{border:none;border-bottom:1px solid var(--border);border-radius:0;outline:none;padding:8px 0;font-size:20px}.event-form .event-title-input:focus{border-bottom:2px solid var(--primary)}.event-times,.event-options,.event-scope{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event-form input[type=date],.event-form input[type=time]{width:auto}.event-form textarea{font:inherit;border:1px solid var(--border);resize:vertical;border-radius:8px;padding:8px 12px}.checkbox{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.event-form .checkbox input{width:auto;margin:0}.invitation{border:1px solid var(--border);border-radius:12px;gap:14px;max-width:560px;margin:0 0 12px;padding:12px 16px;display:flex}.invitation-icon{color:var(--primary);padding-top:2px}.invitation-body{flex-direction:column;gap:4px;min-width:0;display:flex}.invitation-body svg{vertical-align:-2px}.invitation-title{font-size:16px;font-weight:500}.invitation-cancel{color:var(--danger)}.calendar-setup{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:13px;display:flex}.calendar-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.calendar-form h3{margin:0;font-size:14px}.calendar-form p{margin:0}.calendar-form ol{margin:8px 0 0;padding-left:20px}.calendar-form summary{cursor:pointer}
