@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--folder-pane-width: 220px;--list-pane-width: 340px}body{background-color:var(--c-bg);color:var(--c-text);margin:0}:root,.theme-light{--c-bg: #f8f8f9;--c-surface: #ffffff;--c-surface-raised: #ffffff;--c-border: #e4e4e7;--c-border-subtle: #f0f0f2;--c-text: #18181b;--c-text-secondary: #71717a;--c-text-tertiary: #a1a1aa;--c-accent: #2563eb;--c-accent-hover: #1d4ed8;--c-accent-subtle: #eff6ff;--c-unread-dot: #2563eb;--c-danger: #dc2626;--c-success: #16a34a;--c-warning: #d97706;--c-folder-hover: #f4f4f5;--c-folder-selected: #eff6ff;--c-message-hover: #fafafa;--c-message-selected: #eff6ff;--c-message-selected-reading: #dbeafe;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12)}.theme-dark{--c-bg: #09090b;--c-surface: #18181b;--c-surface-raised: #27272a;--c-border: #27272a;--c-border-subtle: #1f1f23;--c-text: #fafafa;--c-text-secondary: #a1a1aa;--c-text-tertiary: #71717a;--c-accent: #3b82f6;--c-accent-hover: #60a5fa;--c-accent-subtle: #1e3a5f;--c-unread-dot: #3b82f6;--c-danger: #ef4444;--c-success: #22c55e;--c-warning: #f59e0b;--c-folder-hover: #27272a;--c-folder-selected: #1e3a5f;--c-message-hover: #1c1c1f;--c-message-selected: #1e3a5f;--c-message-selected-reading: #1e40af30;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5)}.theme-solarized{--c-bg: #fdf6e3;--c-surface: #eee8d5;--c-surface-raised: #fdf6e3;--c-border: #93a1a1;--c-border-subtle: #eee8d5;--c-text: #073642;--c-text-secondary: #586e75;--c-text-tertiary: #657b83;--c-accent: #268bd2;--c-accent-hover: #2aa198;--c-accent-subtle: #e3ece5;--c-unread-dot: #268bd2;--c-danger: #dc322f;--c-success: #859900;--c-warning: #b58900;--c-folder-hover: #e3ece5;--c-folder-selected: #e3ece5;--c-message-hover: #eee8d5;--c-message-selected: #e3ece5;--c-message-selected-reading: #c9ddd8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .14)}.theme-high-contrast{--c-bg: #000000;--c-surface: #000000;--c-surface-raised: #000000;--c-border: #ffffff;--c-border-subtle: #ffffff;--c-text: #ffffff;--c-text-secondary: #ffffff;--c-text-tertiary: #cccccc;--c-accent: #ffff00;--c-accent-hover: #ffff00;--c-accent-subtle: #333300;--c-unread-dot: #ffff00;--c-danger: #ff0000;--c-success: #00ff00;--c-warning: #ffff00;--c-folder-hover: #1a1a1a;--c-folder-selected: #333300;--c-message-hover: #1a1a1a;--c-message-selected: #333300;--c-message-selected-reading: #444400;--shadow-sm: 0 0 0 1px #ffffff;--shadow-md: 0 0 0 2px #ffffff;--shadow-lg: 0 0 0 3px #ffffff}:root{--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", monospace;--leading-tight: 1.25;--leading-normal: 1.4;--leading-relaxed: 1.6}:root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--duration-fast: 80ms;--duration-normal: .15s;--duration-slow: .2s;--duration-panel: .18s}:root,.density-comfortable{--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--folder-row-height: 36px;--message-row-height: 72px;--compose-width: 680px;--compose-padding: 24px}.density-compact{--space-xs: 2px;--space-sm: 4px;--space-md: 8px;--space-lg: 12px;--space-xl: 16px;--space-2xl: 24px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--folder-row-height: 32px;--message-row-height: 48px;--compose-width: 600px;--compose-padding: 16px}.density-cozy{--space-xs: 6px;--space-sm: 10px;--space-md: 14px;--space-lg: 20px;--space-xl: 28px;--space-2xl: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--folder-row-height: 40px;--message-row-height: 60px;--compose-width: 720px;--compose-padding: 28px}.app-shell{display:grid;grid-template-rows:48px 1fr;grid-template-columns:var(--folder-pane-width, 220px) 4px var(--list-pane-width, 340px) 4px 1fr;height:100vh;overflow:hidden;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell__toolbar{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-md);background:var(--c-surface);border-bottom:1px solid var(--c-border);height:48px;z-index:10}.app-shell__brand{font-weight:600;font-size:var(--text-md);letter-spacing:-.01em;white-space:nowrap;color:var(--c-text)}.app-shell__compose{background:var(--c-accent);color:#fff;border:none;border-radius:var(--radius-full);padding:6px 16px;font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) ease}.app-shell__compose:hover{background:var(--c-accent-hover)}.app-shell__search{flex:1;max-width:480px;padding:6px 12px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm);outline:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.app-shell__search:focus{border-color:var(--c-accent);box-shadow:0 0 0 2px var(--c-accent-subtle)}.app-shell__search::placeholder{color:var(--c-text-tertiary)}.app-shell__actions{display:flex;align-items:center;gap:var(--space-sm)}.app-shell__actions select,.app-shell__actions button{background:transparent;border:1px solid var(--c-border);border-radius:var(--radius-md);padding:4px 8px;color:var(--c-text);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) ease}.app-shell__actions select:hover,.app-shell__actions button:hover{background:var(--c-folder-hover)}.app-shell__folders{grid-column:1;overflow-y:auto;overflow-x:hidden;background:var(--c-surface);border-right:1px solid var(--c-border);transition:width var(--duration-panel) var(--ease-out-expo)}.app-shell__messages{grid-column:3;overflow-y:auto;overflow-x:hidden;background:var(--c-bg);border-right:1px solid var(--c-border)}.app-shell__reading{grid-column:5;overflow-y:auto;overflow-x:hidden;background:var(--c-surface)}.app-shell__divider{width:4px;cursor:col-resize;background:transparent;transition:background var(--duration-fast);position:relative;z-index:5}.app-shell__divider:hover,.app-shell__divider--dragging{background:var(--c-accent)}@media (max-width: 767px){.app-shell{grid-template-rows:48px 1fr 56px;grid-template-columns:1fr}.app-shell__folders{display:none}.app-shell__messages{grid-column:1;border-right:none}.app-shell__reading,.app-shell__divider{display:none}.app-shell__search{max-width:none}.app-shell__mobile-nav{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-around;background:var(--c-surface);border-top:1px solid var(--c-border);height:56px;z-index:20}.app-shell__mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:none;color:var(--c-text-secondary);font-size:var(--text-2xs);cursor:pointer;padding:4px 12px}.app-shell__mobile-nav button.is-active{color:var(--c-accent)}.app-shell__mobile-nav button svg,.app-shell__mobile-nav button .icon{width:20px;height:20px;font-size:18px}}@media (min-width: 768px){.app-shell__mobile-nav{display:none}}.app-shell[data-folder-pane=false] .app-shell__folders,.app-shell[data-folder-pane=false] .app-shell__divider--folder{display:none}.app-shell[data-folder-pane=false]{grid-template-columns:0px 0px var(--list-pane-width, 340px) 4px 1fr}.app-shell[data-reading-pane=false] .app-shell__reading,.app-shell[data-reading-pane=false] .app-shell__divider--reading{display:none}.app-shell[data-reading-pane=false]{grid-template-columns:var(--folder-pane-width, 220px) 4px 1fr 0px 0px}.app-shell[data-folder-pane=false][data-reading-pane=false]{grid-template-columns:0px 0px 1fr 0px 0px}@media (max-width: 767px){.app-shell__folders,.app-shell__divider,.app-shell__reading{display:none}.app-shell__messages{grid-column:1 / -1!important}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton{background:linear-gradient(90deg,var(--c-border) 25%,var(--c-border-subtle) 50%,var(--c-border) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite linear;border-radius:var(--radius-sm)}.skeleton-row{height:var(--message-row-height);display:flex;align-items:center;gap:var(--space-md);padding:0 var(--space-md);border-bottom:1px solid var(--c-border)}.skeleton-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.skeleton-lines{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.skeleton-line{height:10px;border-radius:var(--radius-sm)}.skeleton-line--short{width:60%}.skeleton--title{height:24px;width:60%;margin-bottom:12px}.skeleton--meta{height:14px;width:40%}.skeleton-body{height:12px;border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}@keyframes cm-enter{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu{position:fixed;top:var(--cm-y, 0);left:var(--cm-x, 0);z-index:9999;background:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:180px;padding:var(--space-xs) 0;animation:cm-enter .1s var(--ease-out-expo) forwards;overflow:hidden}.context-menu__item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);border:none;background:transparent;color:var(--c-text);cursor:pointer;text-align:left;font-size:var(--text-sm);transition:background var(--duration-fast) ease}.context-menu__item:hover{background:var(--c-folder-hover)}.context-menu__item:active{background:var(--c-folder-selected)}.context-menu__item:disabled{opacity:.4;cursor:not-allowed}.context-menu__icon{width:16px;text-align:center;flex-shrink:0}.context-menu__separator{height:1px;background:var(--c-border);margin:var(--space-xs) var(--space-md)}.folder-tree{padding:var(--space-sm) 0}.folder-tree__section{padding:var(--space-sm) var(--space-md) var(--space-xs);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-tertiary)}.folder-tree__item{display:flex;align-items:center;justify-content:space-between;height:var(--folder-row-height);padding:0 var(--space-md);margin:0 var(--space-xs);border-radius:var(--radius-md);cursor:pointer;gap:var(--space-sm);font-size:var(--text-sm);transition:background var(--duration-fast) ease;position:relative}.folder-tree__item:hover{background:var(--c-folder-hover)}.folder-tree__item--active{background:var(--c-folder-selected)}.folder-tree__item--active:before{content:"";position:absolute;left:-var(--space-xs);top:6px;bottom:6px;width:3px;background:var(--c-accent);border-radius:0 2px 2px 0}.folder-tree__icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--c-text-tertiary);flex-shrink:0}.folder-tree__toggle{cursor:pointer;display:inline-block;width:16px;text-align:center;-webkit-user-select:none;user-select:none}.folder-tree__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-tree__unread{background:var(--c-unread-dot);color:#fff;font-size:var(--text-2xs);font-weight:600;padding:1px 7px;border-radius:var(--radius-full);flex-shrink:0}.folder-tree__item[data-level="0"]{padding-left:var(--space-md)}.folder-tree__item[data-level="1"]{padding-left:calc(var(--space-md) + 8px)}.folder-tree__item[data-level="2"]{padding-left:calc(var(--space-md) + 16px)}.folder-tree__item[data-level="3"]{padding-left:calc(var(--space-md) + 24px)}.folder-tree__item[data-level="4"]{padding-left:calc(var(--space-md) + 32px)}.folder-tree__item[data-level="5"]{padding-left:calc(var(--space-md) + 40px)}.folder-tree__item[data-level="6"]{padding-left:calc(var(--space-md) + 48px)}.message-list{height:100%;overflow-y:auto}.message-list__empty{padding:var(--space-2xl);text-align:center;color:var(--c-text-secondary);font-size:var(--text-sm)}.message-list__row{display:flex;align-items:center;gap:var(--space-sm);height:var(--message-row-height);padding:0 var(--space-md);border-bottom:1px solid var(--c-border-subtle);cursor:pointer;transition:background var(--duration-fast) ease;position:relative}.message-list__row:hover{background:var(--c-message-hover)}.message-list__row--active{background:var(--c-message-selected)}.message-list__row--active:hover{background:var(--c-message-selected-reading)}.message-list__row--unread .message-list__subject,.message-list__row--unread .message-list__from{font-weight:600}.message-list__checkbox{margin:0;flex-shrink:0}.message-list__avatar{flex-shrink:0}.message-list__content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px}.message-list__from{font-weight:500;font-size:var(--text-sm);color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-list__subject{font-weight:400;font-size:var(--text-sm);color:var(--c-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-list__preview{color:var(--c-text-tertiary);font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-list__meta{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.message-list__time{font-size:var(--text-2xs);color:var(--c-text-tertiary);white-space:nowrap}.message-list__star{background:none;border:none;cursor:pointer;padding:2px;color:var(--c-text-tertiary);font-size:14px;line-height:1;transition:color var(--duration-fast) ease}.message-list__star:hover,.message-list__star--active{color:var(--c-warning)}.message-list__unread-dot{width:6px;height:6px;border-radius:50%;background:var(--c-unread-dot);flex-shrink:0}.avatar{width:var(--avatar-size, 32px);height:var(--avatar-size, 32px);border-radius:50%;background:hsl(var(--avatar-hue, 200),60%,45%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:calc(var(--avatar-size, 32px) * .45);font-weight:600;flex-shrink:0;-webkit-user-select:none;user-select:none}.reading-pane{background:var(--c-surface);height:100%;overflow-y:auto;display:flex;flex-direction:column}.reading-pane--empty{display:flex;align-items:center;justify-content:center;color:var(--c-text-secondary);height:100%}.reading-pane__header{padding:var(--space-xl);border-bottom:1px solid var(--c-border);position:sticky;top:0;background:var(--c-surface);z-index:2}.reading-pane__subject{margin:0 0 var(--space-sm);font-size:var(--text-lg);font-weight:600;line-height:var(--leading-tight);color:var(--c-text)}.reading-pane__meta{display:flex;flex-direction:column;gap:var(--space-xs);color:var(--c-text-secondary);font-size:var(--text-sm)}.reading-pane__meta-row{display:flex;align-items:center;gap:var(--space-sm)}.reading-pane__meta-label{color:var(--c-text-tertiary);min-width:48px}.reading-pane__body{padding:var(--space-xl);line-height:var(--leading-relaxed);max-width:720px;margin:0 auto;width:100%;color:var(--c-text)}.reading-pane__body p{margin:0 0 var(--space-md)}.reading-pane__body blockquote{border-left:3px solid var(--c-border);padding-left:var(--space-md);margin:var(--space-md) 0;color:var(--c-text-secondary)}.reading-pane__body pre{background:var(--c-bg);padding:var(--space-md);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm)}.reading-pane__body code{background:var(--c-bg);padding:2px 4px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm)}.reading-pane__actions{display:flex;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-top:1px solid var(--c-border);position:sticky;bottom:0;background:var(--c-surface);z-index:2}.reading-pane__actions button{padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.reading-pane__actions button:hover{background:var(--c-folder-hover);border-color:var(--c-text-tertiary)}.reading-pane__actions button.primary{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.reading-pane__actions button.primary:hover{background:var(--c-accent-hover)}.compose-window{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--compose-width);max-width:calc(100vw - var(--space-xl));max-height:calc(100vh - var(--space-xl));background:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;z-index:100;transition:transform var(--duration-slow) var(--ease-out-expo),opacity var(--duration-slow) var(--ease-out-expo)}.compose-window__drag-handle{cursor:grab;padding:var(--space-sm) var(--space-md);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--c-border);background:var(--c-surface)}.compose-window__drag-handle:active{cursor:grabbing}.compose-window__drag-handle h3{margin:0;font-size:var(--text-sm);font-weight:600}.compose-window__controls{display:flex;gap:var(--space-xs)}.compose-window__controls button{background:transparent;border:none;color:var(--c-text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);font-size:14px;line-height:1;transition:background var(--duration-fast) ease}.compose-window__controls button:hover{background:var(--c-folder-hover)}.compose-window__fields{padding:var(--space-md) var(--space-lg) 0;display:flex;flex-direction:column;gap:var(--space-xs)}.compose-window__fields input{padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm);outline:none;transition:border-color var(--duration-fast) ease}.compose-window__fields input:focus{border-color:var(--c-accent)}.compose-window__fields input::placeholder{color:var(--c-text-tertiary)}.compose-window__editor{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:200px}.compose-window__actions{display:flex;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--c-border)}.compose-window__send{background:var(--c-accent);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) ease}.compose-window__send:hover{background:var(--c-accent-hover)}.compose-window__actions button:not(.compose-window__send){padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);background:transparent;color:var(--c-text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background var(--duration-fast) ease}.compose-window__actions button:not(.compose-window__send):hover{background:var(--c-folder-hover)}.compose-window__add-meeting{padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);background:transparent;color:var(--c-text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background var(--duration-fast) ease}.compose-window__add-meeting:hover{background:var(--c-folder-hover)}.compose-window__meeting-chip{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);margin:0 var(--space-lg);background:var(--c-accent-subtle);border:1px solid var(--c-accent);color:var(--c-accent);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500}.compose-window__meeting-chip button{background:none;border:none;cursor:pointer;color:inherit;padding:0;font-size:12px;line-height:1}.compose-window__meeting-chip button:hover{color:var(--c-danger)}.meeting-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center}.meeting-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;animation:fade-in .15s ease forwards}.meeting-modal__panel{position:relative;background:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:400px;max-width:calc(100vw - var(--space-xl));display:flex;flex-direction:column;overflow:hidden;animation:scale-in .2s var(--ease-out-expo) forwards}.meeting-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--c-border)}.meeting-modal__header h3{margin:0;font-size:var(--text-md);font-weight:600}.meeting-modal__header button{background:none;border:none;cursor:pointer;color:var(--c-text-secondary);padding:4px;border-radius:var(--radius-sm);font-size:16px;line-height:1;transition:background var(--duration-fast) ease}.meeting-modal__header button:hover{background:var(--c-folder-hover)}.meeting-modal__body{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.meeting-modal__field{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--text-sm);color:var(--c-text)}.meeting-modal__field span{font-weight:500}.meeting-modal__field input,.meeting-modal__field select{padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm);outline:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.meeting-modal__field input:focus,.meeting-modal__field select:focus{border-color:var(--c-accent);box-shadow:0 0 0 2px var(--c-accent-subtle)}.meeting-modal__actions{display:flex;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--c-border)}.meeting-modal__actions button{padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background var(--duration-fast) ease}.meeting-modal__confirm{background:var(--c-accent)!important;color:#fff!important;border-color:var(--c-accent)!important}.meeting-modal__confirm:hover{background:var(--c-accent-hover)!important}.compose-taskbar{position:fixed;bottom:var(--space-md);left:var(--space-md);display:flex;gap:var(--space-sm);z-index:90}.compose-taskbar__chip{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);cursor:pointer;font-size:var(--text-sm);transition:box-shadow var(--duration-fast) ease}.compose-taskbar__chip:hover{box-shadow:var(--shadow-lg)}.editor{display:flex;flex-direction:column;height:100%;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;margin:var(--space-md) var(--space-lg);background:var(--c-bg)}.editor__toolbar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--c-border);background:var(--c-surface);flex-wrap:wrap}.editor__toolbar button{padding:4px 8px;border:1px solid transparent;background:transparent;color:var(--c-text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.editor__toolbar button:hover{background:var(--c-folder-hover);color:var(--c-text)}.editor__toolbar button.is-active{background:var(--c-accent-subtle);color:var(--c-accent);border-color:var(--c-accent)}.editor__content{flex:1;overflow-y:auto;padding:var(--space-md);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--c-text)}.editor__content p{margin:0 0 var(--space-sm)}.editor__content ul,.editor__content ol{margin:0 0 var(--space-sm);padding-left:var(--space-lg)}.crypto-toolbar{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg)}.crypto-toolbar button{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);transition:background var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease}.crypto-toolbar button:hover{background:var(--c-folder-hover)}.crypto-toolbar button.is-active{background:var(--c-accent-subtle);color:var(--c-accent);border-color:var(--c-accent)}.attachment-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-top:1px dashed var(--c-border)}.attachment-bar__input{display:none}.attachment-bar__add{padding:var(--space-xs) var(--space-sm);border:1px dashed var(--c-border);border-radius:var(--radius-md);color:var(--c-text-secondary);cursor:pointer;font-size:var(--text-xs);transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.attachment-bar__add:hover{background:var(--c-folder-hover);border-color:var(--c-text-tertiary)}.attachment-bar__item{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--c-text-secondary)}.attachment-bar__item button{background:none;border:none;cursor:pointer;color:var(--c-text-tertiary);padding:0;font-size:12px;line-height:1}.attachment-bar__item button:hover{color:var(--c-danger)}.settings-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease forwards}.settings-panel{background:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:720px;max-width:calc(100vw - var(--space-xl));max-height:calc(100vh - var(--space-xl));display:flex;flex-direction:column;overflow:hidden;animation:scale-in .2s var(--ease-out-expo) forwards}.settings-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--c-border)}.settings-panel__header h2{margin:0;font-size:var(--text-md);font-weight:600}.settings-panel__header button{background:none;border:none;cursor:pointer;color:var(--c-text-secondary);padding:4px;border-radius:var(--radius-sm);font-size:16px;line-height:1;transition:background var(--duration-fast) ease}.settings-panel__header button:hover{background:var(--c-folder-hover)}.settings-panel__body{display:flex;flex:1;overflow:hidden}.settings-panel__tabs{width:180px;min-width:180px;border-right:1px solid var(--c-border);padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);overflow-y:auto}.settings-panel__tabs button{text-align:left;padding:var(--space-sm) var(--space-md);border:none;background:transparent;color:var(--c-text-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.settings-panel__tabs button:hover{background:var(--c-folder-hover);color:var(--c-text)}.settings-panel__tabs button.is-active{background:var(--c-folder-selected);color:var(--c-accent);font-weight:500}.settings-panel__content{flex:1;padding:var(--space-lg);overflow-y:auto}.crypto-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:var(--radius-sm);font-size:var(--text-2xs);font-weight:500;line-height:1.4}.crypto-badge--encrypted{background:var(--c-success);color:#fff}.crypto-badge--signed{background:var(--c-accent-subtle);color:var(--c-accent)}.crypto-badge--verified{background:#dcfce7;color:#166534}.theme-dark .crypto-badge--verified{background:#14532d;color:#86efac}.crypto-badge--bad{background:#fee2e2;color:#991b1b}.theme-dark .crypto-badge--bad{background:#450a0a;color:#fca5a5}.crypto-badge--unknown{background:#fef3c7;color:#92400e}.theme-dark .crypto-badge--unknown{background:#451a03;color:#fcd34d}.status-banner{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-sm);animation:slide-down .2s var(--ease-out-expo) forwards}.status-banner__dismiss{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;font-size:14px;line-height:1;padding:2px}.status-banner__dismiss:hover{opacity:1}.status-banner--warning{background:#fef3c7;color:#92400e}.theme-dark .status-banner--warning{background:#451a03;color:#fcd34d}.status-banner--error{background:#fee2e2;color:#991b1b}.theme-dark .status-banner--error{background:#450a0a;color:#fca5a5}.status-banner--info{background:#dbeafe;color:#1e40af}.theme-dark .status-banner--info{background:#172554;color:#93c5fd}.status-banner--success{background:#dcfce7;color:#166534}.theme-dark .status-banner--success{background:#14532d;color:#86efac}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--c-bg);padding:var(--space-md)}.auth-screen__card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-2xl);width:100%;max-width:400px}.auth-screen__card h1{margin:0 0 var(--space-lg);font-size:var(--text-xl);font-weight:700;text-align:center;color:var(--c-text)}.auth-screen__tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:1px solid var(--c-border)}.auth-screen__tabs button{flex:1;padding:var(--space-sm) var(--space-md);border:none;background:transparent;color:var(--c-text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease}.auth-screen__tabs button:hover{color:var(--c-text)}.auth-screen__tabs button.is-active{color:var(--c-accent);border-bottom-color:var(--c-accent)}.auth-screen__card input{width:100%;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm);outline:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease;box-sizing:border-box}.auth-screen__card input:focus{border-color:var(--c-accent);box-shadow:0 0 0 2px var(--c-accent-subtle)}.auth-screen__card input::placeholder{color:var(--c-text-tertiary)}.auth-screen__card button[type=submit],.auth-screen__card>button:last-child{width:100%;padding:var(--space-sm) var(--space-md);margin-top:var(--space-sm);border:none;background:var(--c-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:background var(--duration-fast) ease}.auth-screen__card button[type=submit]:hover,.auth-screen__card>button:last-child:hover{background:var(--c-accent-hover)}.auth-screen__error{padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);background:#fee2e2;color:#991b1b;border-radius:var(--radius-md);font-size:var(--text-sm)}.theme-dark .auth-screen__error{background:#450a0a;color:#fca5a5}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:300;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;animation:fade-in .15s ease forwards}.command-palette{width:560px;max-width:calc(100vw - var(--space-xl));background:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:scale-in .18s var(--ease-out-expo) forwards}.command-palette__input{width:100%;padding:var(--space-md) var(--space-lg);border:none;border-bottom:1px solid var(--c-border);background:transparent;color:var(--c-text);font-size:var(--text-md);outline:none;box-sizing:border-box}.command-palette__input::placeholder{color:var(--c-text-tertiary)}.command-palette__results{max-height:50vh;overflow-y:auto;padding:var(--space-xs)}.command-palette__group{padding:var(--space-xs) 0}.command-palette__group-label{padding:var(--space-xs) var(--space-md);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-tertiary)}.command-palette__item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);color:var(--c-text);transition:background var(--duration-fast) ease}.command-palette__item:hover,.command-palette__item--active{background:var(--c-folder-hover)}.command-palette__shortcut{margin-left:auto;font-size:var(--text-2xs);color:var(--c-text-tertiary);font-family:var(--font-mono)}.keyboard-cheatsheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:300;display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease forwards}.keyboard-cheatsheet{background:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:640px;max-width:calc(100vw - var(--space-xl));max-height:calc(100vh - var(--space-xl));overflow:hidden;display:flex;flex-direction:column;animation:scale-in .2s var(--ease-out-expo) forwards}.keyboard-cheatsheet__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--c-border)}.keyboard-cheatsheet__header h2{margin:0;font-size:var(--text-md);font-weight:600}.keyboard-cheatsheet__body{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);padding:var(--space-lg);overflow-y:auto}.keyboard-cheatsheet__section h4{margin:0 0 var(--space-sm);font-size:var(--text-sm);font-weight:600;color:var(--c-text-secondary)}.keyboard-cheatsheet__row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) 0;font-size:var(--text-sm)}.keyboard-cheatsheet__row kbd{font-family:var(--font-mono);font-size:var(--text-2xs);padding:2px 6px;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text-secondary)}.filter-builder{display:flex;flex-direction:column;gap:var(--space-md)}.filter-builder__row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.filter-builder__row select,.filter-builder__row input{padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm);outline:none}.filter-builder__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.filter-builder__actions button{padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background var(--duration-fast) ease}.filter-builder__actions button:first-child{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.filter-builder__actions button:first-child:hover{background:var(--c-accent-hover)}.filter-list{display:flex;flex-direction:column;gap:var(--space-xs)}.filter-list__item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);font-size:var(--text-sm)}.filter-list__name{flex:1;font-weight:500}.filter-list__priority{color:var(--c-text-tertiary);font-size:var(--text-xs)}.filter-list__actions{display:flex;gap:var(--space-xs)}.filter-list__actions button{padding:var(--space-xs) var(--space-sm);border:1px solid var(--c-border);background:transparent;color:var(--c-text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);transition:background var(--duration-fast) ease}.filter-list__actions button:hover{background:var(--c-folder-hover)}.calendar-invite{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin:var(--space-md) 0}.calendar-invite__header{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-tertiary);margin-bottom:var(--space-sm)}.calendar-invite__title{font-size:var(--text-md);font-weight:600;margin-bottom:var(--space-sm)}.calendar-invite__time,.calendar-invite__location,.calendar-invite__organizer{font-size:var(--text-sm);color:var(--c-text-secondary);margin-bottom:var(--space-xs)}.calendar-invite__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.calendar-invite__actions button{padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:background var(--duration-fast) ease}.calendar-invite__accept{background:var(--c-success);color:#fff;border-color:var(--c-success)}.calendar-invite__accept:hover{background:#15803d}.calendar-invite__tentative{background:var(--c-warning);color:#fff;border-color:var(--c-warning)}.calendar-invite__tentative:hover{background:#b45309}.calendar-invite__decline{background:transparent;color:var(--c-text)}.calendar-invite__decline:hover{background:var(--c-folder-hover)}.signatures-tab,.oof-tab,.themes-tab,.keys-tab,.apikeys-tab{display:flex;flex-direction:column;gap:var(--space-md)}.signatures-tab__item,.keys-tab__item,.apikeys-tab__item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);font-size:var(--text-sm)}.signatures-tab__item strong,.keys-tab__item strong,.apikeys-tab__item strong{flex:1}.signatures-tab__editor,.apikeys-tab__modal{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg)}.signatures-tab__editor input,.signatures-tab__editor textarea,.oof-tab input,.oof-tab textarea,.keys-tab textarea,.apikeys-tab input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);font-size:var(--text-sm);outline:none;box-sizing:border-box}.signatures-tab__editor textarea,.oof-tab textarea,.keys-tab textarea{resize:vertical;font-family:var(--font-mono)}.signatures-tab__editor label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);cursor:pointer}.signatures-tab__editor button,.oof-tab button,.keys-tab button,.apikeys-tab button{padding:var(--space-sm) var(--space-md);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background var(--duration-fast) ease}.signatures-tab__editor button:first-of-type,.oof-tab button:first-of-type,.keys-tab button:first-of-type,.apikeys-tab button:first-of-type{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.signatures-tab__editor button:first-of-type:hover,.oof-tab button:first-of-type:hover,.keys-tab button:first-of-type:hover,.apikeys-tab button:first-of-type:hover{background:var(--c-accent-hover)}.themes-tab__swatches{display:flex;gap:var(--space-sm);flex-wrap:wrap}.themes-tab__swatch{padding:var(--space-sm) var(--space-lg);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);cursor:pointer;font-size:var(--text-sm);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.themes-tab__swatch:hover{border-color:var(--c-accent)}.themes-tab__swatch.is-active{border-color:var(--c-accent);box-shadow:0 0 0 2px var(--c-accent-subtle);font-weight:500}.themes-tab textarea{width:100%;padding:var(--space-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical;box-sizing:border-box}.apikeys-tab__create{display:flex;gap:var(--space-sm)}.apikeys-tab__modal code{display:block;padding:var(--space-md);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-all}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
