:root{--brand-orange: #f97316;--brand-orange-d: #c2410c;--brand-orange-l: #ffedd5;--brand-dark: #1f1d1c;--brand-dark-l: #2d2a28;--ribbon-bg: #f6f3ee;--ribbon-border: #e0d9cc;--ribbon-active: #ffffff;--primary: #f97316;--primary-hover: #ea670f;--primary-pressed: #c2410c;--sidebar-bg: #faf7f3;--sidebar-border: #e8e2d8;--sidebar-hover: #f3ece1;--sidebar-active: #ffedd5;--sidebar-active-border: #f97316;--list-bg: #ffffff;--list-border: #ece4d6;--list-hover: #faf3e6;--list-selected: #ffd9a8;--list-selected-border: #f97316;--read-bg: #ffffff;--text-1: #1f1d1c;--text-2: #5a5651;--text-3: #a19f9d;--unread-bold: 700;--shadow-1: 0 1.6px 3.6px 0 rgba(0,0,0,.132), 0 .3px .9px 0 rgba(0,0,0,.108)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;font-family:Segoe UI,-apple-system,Helvetica Neue,Arial,sans-serif;font-size:15px;color:var(--text-1);background:#f3f2f1;overflow:hidden}button{font-family:inherit}.app-shell{display:grid;grid-template-rows:auto auto 1fr;height:100vh;width:100vw;overflow:hidden}.title-bar{display:flex;align-items:center;gap:10px;height:32px;padding:0 14px;background:linear-gradient(180deg,var(--brand-dark) 0%,var(--brand-dark-l) 100%);color:#fff;font-size:13px;border-bottom:2px solid var(--brand-orange)}.title-bar .app-icon{font-size:16px}.title-bar .title-text{font-weight:600;font-size:13px}.title-bar .spacer{flex:1}.title-bar .user-info{font-size:12px;opacity:.9}.ribbon{background:var(--ribbon-bg);border-bottom:1px solid var(--ribbon-border)}.ribbon-tabs{display:flex;gap:0;border-bottom:1px solid var(--ribbon-border);padding-left:8px}.ribbon-tab{padding:7px 18px;font-size:13px;color:var(--text-2);cursor:pointer;border:1px solid transparent;border-bottom:none}.ribbon-tab.active{background:var(--ribbon-active);border-color:var(--ribbon-border);border-radius:3px 3px 0 0;color:var(--text-1);font-weight:600;position:relative;top:1px}.ribbon-tab:hover:not(.active){background:#ececec}.ribbon-content{display:flex;align-items:stretch;gap:0;padding:8px 4px;min-height:108px;overflow-x:auto;flex-wrap:nowrap}.ribbon-group{display:flex;flex-direction:column;padding:0 8px;border-right:1px solid #e6e6e6}.ribbon-group-label{text-align:center;font-size:11px;color:var(--text-2);padding-top:4px}.ribbon-group-buttons{display:flex;flex:1;align-items:stretch;gap:2px}.ribbon-btn{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:transparent;border:1px solid transparent;padding:4px 8px 2px;min-width:56px;cursor:pointer;border-radius:2px;color:var(--text-1)}.ribbon-btn:hover{background:#e1efff;border-color:#c7e0f4}.ribbon-btn:active{background:#cce4f7}.ribbon-btn[disabled]{opacity:.4;cursor:not-allowed}.ribbon-btn .icon{font-size:30px;line-height:1;margin-bottom:4px}.ribbon-btn .label{font-size:12px;text-align:center;max-width:78px;line-height:1.15}.ribbon-btn.primary .icon{color:var(--primary)}.ribbon-btn.small{flex-direction:row;min-width:auto;padding:4px 8px}.ribbon-btn.small .icon{font-size:15px;margin:0 6px 0 0}.ribbon-btn.small .label{font-size:13px;max-width:none;text-align:left}.main-grid{display:grid;grid-template-columns:var(--sidebar-w, 240px) 6px var(--list-w, 380px) 6px 1fr;min-height:0;height:100%;background:var(--list-bg)}.pane{overflow:hidden;display:flex;flex-direction:column;min-height:0}.pane.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border)}.pane.list{background:var(--list-bg);border-right:1px solid var(--list-border)}.pane.reading{background:var(--read-bg)}.splitter{background:transparent;cursor:col-resize;position:relative;z-index:5}.splitter:after{content:"";position:absolute;left:50%;top:50%;width:1px;height:30px;background:var(--list-border);transform:translate(-50%,-50%)}.splitter:hover,.splitter.dragging{background:var(--primary)}.splitter:hover:after,.splitter.dragging:after{background:var(--primary)}.sidebar-search{padding:8px 8px 4px;border-bottom:1px solid var(--sidebar-border);background:var(--sidebar-bg)}.sidebar-search input{width:100%;padding:6px 10px;border:1px solid #c8c6c4;border-radius:2px;font-size:12px;background:#fff}.sidebar-search input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.sidebar-section{padding:6px 0}.sidebar-section-title{font-size:11px;font-weight:600;color:var(--text-2);text-transform:uppercase;padding:6px 12px 4px;letter-spacing:.04em}.account-group{border-bottom:1px solid var(--sidebar-border)}.account-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-weight:600;color:var(--text-1);background:var(--sidebar-bg);-webkit-user-select:none;user-select:none;font-size:16px}.account-header:hover{background:var(--sidebar-hover)}.account-header .chevron{display:inline-block;width:14px;text-align:center;font-size:11px;color:var(--text-2);transition:transform .12s ease}.account-header.collapsed .chevron{transform:rotate(-90deg)}.account-header .account-email{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.account-header .account-status-dot{width:8px;height:8px;border-radius:50%;background:#6bb700}.folder-list{list-style:none;padding:0;margin:0;overflow:hidden;transition:max-height .15s ease}.folder-list.collapsed{max-height:0}.folder-item{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 36px;cursor:pointer;font-size:15px;color:var(--text-1);border-left:3px solid transparent}.folder-item:hover{background:var(--sidebar-hover)}.folder-item.active{background:var(--sidebar-active);border-left-color:var(--sidebar-active-border);font-weight:600}.folder-item .folder-icon{width:16px;opacity:.7}.folder-item .folder-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-item .folder-count{font-size:11px;color:var(--primary);font-weight:700}.folder-item.active .folder-count{color:var(--primary-pressed)}.list-header{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--list-border);background:var(--list-bg);font-size:12px;color:var(--text-2)}.list-header .title{font-weight:600;color:var(--text-1);font-size:14px;flex:1}.list-header select{font-size:11px;padding:2px 4px}.message-list{flex:1;overflow-y:auto}.message-row{display:grid;grid-template-columns:24px 1fr auto;gap:8px;padding:8px 12px;border-bottom:1px solid #f3f2f1;cursor:pointer;position:relative}.message-row:hover{background:var(--list-hover)}.message-row.selected{background:var(--list-selected);border-left:3px solid var(--list-selected-border);padding-left:9px}.message-row.unread{background:#fff}.message-row.unread:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--primary);border-radius:0 2px 2px 0}.message-row .col-status{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:14px;color:var(--text-3)}.message-row .col-status .star{cursor:pointer}.message-row .col-status .star.on{color:#f5a623}.message-row .col-body{min-width:0}.message-row .from-line{display:flex;gap:6px;align-items:baseline;font-size:14px}.message-row .from-name{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-row.unread .from-name{font-weight:var(--unread-bold);color:var(--primary)}.message-row .date{font-size:12px;color:var(--text-2);white-space:nowrap}.message-row .subject{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-1);margin-top:3px}.message-row.unread .subject{font-weight:var(--unread-bold)}.message-row .preview{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.message-row .col-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.message-row .badge-attach{font-size:12px;color:var(--text-2)}.reading-empty{display:flex;flex:1;align-items:center;justify-content:center;color:var(--text-3);font-size:14px;flex-direction:column;gap:8px}.reading-empty .big-icon{font-size:64px;opacity:.25}.reading-header{padding:16px 24px 12px;border-bottom:1px solid var(--list-border)}.reading-subject{font-size:18px;font-weight:600;margin:0 0 12px}.reading-meta{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:12px}.reading-meta .label{color:var(--text-2);font-weight:600}.reading-meta .val{color:var(--text-1)}.reading-meta .val a{color:var(--primary);text-decoration:none}.reading-meta .val a:hover{text-decoration:underline}.reading-attachments{display:flex;gap:8px;flex-wrap:wrap;padding:8px 24px;border-bottom:1px solid var(--list-border);background:#fafafa}.attach-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #c8c6c4;border-radius:2px;padding:4px 10px;font-size:12px;cursor:pointer;text-decoration:none;color:var(--text-1)}.attach-chip:hover{background:var(--sidebar-active);border-color:var(--primary)}.attach-chip .att-icon{font-size:14px;color:var(--text-2)}.attach-chip .att-size{color:var(--text-2);font-size:11px}.reading-body{flex:1;overflow:auto;padding:16px 24px;background:#fff}.reading-body iframe{width:100%;min-height:60vh;border:0}.reading-body .text-fallback{white-space:pre-wrap;font-family:Consolas,monospace;font-size:13px}.compose-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:100;display:flex;align-items:center;justify-content:center}.compose-modal{background:#fff;border-radius:4px;width:720px;max-width:95vw;height:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 16px 32px #00000040;overflow:hidden}.compose-modal-header{background:linear-gradient(180deg,var(--brand-dark) 0%,var(--brand-dark-l) 100%);border-bottom:2px solid var(--brand-orange);color:#fff;padding:10px 14px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px}.compose-modal-header .spacer{flex:1}.compose-modal-header button.close{background:transparent;border:0;color:#fff;font-size:18px;cursor:pointer;line-height:1}.compose-modal-header button.close:hover{opacity:.7}.compose-fields{display:grid;grid-template-columns:80px 1fr;gap:4px 8px;padding:10px 14px;border-bottom:1px solid var(--list-border);font-size:12px}.compose-fields label{color:var(--text-2);align-self:center;font-weight:600}.compose-fields input,.compose-fields select{border:1px solid #c8c6c4;padding:5px 8px;font-size:13px;border-radius:2px;font-family:inherit}.compose-fields input:focus,.compose-fields select:focus{outline:2px solid var(--primary);outline-offset:-1px}.compose-body-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.compose-body-wrap textarea{flex:1;border:0;padding:14px;font-family:inherit;font-size:13px;resize:none;outline:none}.rich-editor{flex:1;display:flex;flex-direction:column;min-height:0;border:0;background:#fff}.rich-editor-loading{padding:14px;color:#888;font-size:14px}.rib-root{background:#f3f2f1;border-bottom:1px solid #d2d0ce;-webkit-user-select:none;user-select:none}.rib-tabs{display:flex;gap:2px;padding:6px 12px 0;background:#faf9f8;border-bottom:1px solid #e1dfdd}.rib-tab{font-size:14px;font-weight:600;padding:8px 18px;border:1px solid transparent;border-bottom:0;background:transparent;cursor:pointer;color:#605e5c;border-radius:4px 4px 0 0;transition:background .1s}.rib-tab:hover{background:#efedeb;color:#201f1e}.rib-tab-active{background:#fff!important;color:#0078d4!important;border-color:#d2d0ce!important;border-bottom:1px solid #fff!important;margin-bottom:-1px;position:relative;z-index:2}.rib-row{display:flex;align-items:stretch;gap:0;padding:6px;background:#fff;min-height:96px;overflow-x:auto}.rib-section{display:flex;flex-direction:column;align-items:stretch;padding:0 8px;border-right:1px solid #e1dfdd}.rib-section:last-child{border-right:0}.rib-section-body{flex:1;display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:4px 0}.rib-section-title{font-size:11px;color:#605e5c;text-align:center;padding:4px 0 2px;border-top:1px solid #f3f2f1}.rib-mini-row{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.rib-btn{min-width:56px;min-height:64px;padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;color:#201f1e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;line-height:1.2;transition:background .1s,border-color .1s}.rib-btn:hover:not(:disabled){background:#f3f2f1;border-color:#c8c6c4}.rib-btn:active:not(:disabled){background:#e1dfdd}.rib-btn:disabled{opacity:.4;cursor:not-allowed}.rib-btn-active{background:#cde0f4!important;border-color:#2b88d8!important;color:#0078d4}.rib-btn-danger{color:#d13438}.rib-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}.rib-btn-label{font-size:11px;text-align:center;white-space:nowrap;overflow:hidden;max-width:80px;text-overflow:ellipsis}.rib-mini-row .rib-btn{min-width:30px;min-height:30px;padding:4px;flex-direction:row}.rib-mini-row .rib-btn-label{display:none}.rib-mini-row .rib-btn-icon{width:20px;height:20px}.rib-mini-row .rib-btn-icon svg{width:18px;height:18px}.rib-select{height:28px;font-size:13px;padding:0 8px;border:1px solid #c8c6c4;border-radius:3px;background:#fff;cursor:pointer;min-width:130px;color:#201f1e}.rib-select-sm{min-width:60px}.rib-select:hover{border-color:#2b88d8}.rib-select:focus{outline:2px solid #2b88d8;border-color:#2b88d8}.rib-color{position:relative;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:3px;cursor:pointer;font-weight:700;font-size:16px}.rib-color:hover{background:#f3f2f1;border-color:#c8c6c4}.rib-color input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.rich-editor-body{flex:1;padding:16px 22px;outline:none;overflow-y:auto;font-family:Calibri,Segoe UI,sans-serif;font-size:11pt;line-height:1.5;color:#1f1f1f;min-height:240px}.rich-editor-body:empty:before,.rich-editor-body p:first-child:empty:before{content:attr(data-placeholder);color:#a19f9d;pointer-events:none}.rich-editor-body p{margin:0 0 .5em}.rich-editor-body p:last-child{margin-bottom:0}.rich-editor-body h1{font-size:1.6em;margin:.5em 0}.rich-editor-body h2{font-size:1.35em;margin:.5em 0}.rich-editor-body h3{font-size:1.15em;margin:.5em 0}.rich-editor-body ul,.rich-editor-body ol{padding-left:24px;margin:.4em 0}.rich-editor-body blockquote{border-left:3px solid #c8c6c4;padding:4px 12px;margin:.5em 0;color:#555}.rich-editor-body a{color:#0078d4;text-decoration:underline}.rich-editor-body img{max-width:100%;height:auto}.rich-editor-body hr{border:0;border-top:1px solid #d6d6d6;margin:1em 0}.rich-editor-body mark{padding:0 2px;border-radius:2px}.rich-editor-body table{border-collapse:collapse;margin:.5em 0}.rich-editor-body td,.rich-editor-body th{border:1px solid #c8c6c4;padding:6px 8px}.rich-editor-body .ProseMirror{outline:none}.compose-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px;border-bottom:1px solid #e1dfdd;background:#faf9f8}.att-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#fff;border:1px solid #c8c6c4;border-radius:14px;font-size:12px;color:#201f1e}.att-chip small{color:#605e5c}.att-remove{background:transparent;border:0;color:#d13438;cursor:pointer;font-size:16px;font-weight:700;padding:0 0 0 4px;line-height:1}.att-remove:hover{color:#a4262c}.prio-badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:8px}.prio-high{background:#fde7e9;color:#a80000;border:1px solid #f3b6b8}.prio-low{background:#eaf3fa;color:#005a9e;border:1px solid #b8d4ea}.compose-footer{padding:8px 14px;border-top:1px solid var(--list-border);display:flex;align-items:center;gap:8px;background:#fafafa}.compose-footer .spacer{flex:1}.btn-primary{background:var(--primary);color:#fff;border:0;border-radius:2px;padding:6px 16px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:600}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{background:var(--primary-pressed)}.btn-primary[disabled]{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;border:1px solid #c8c6c4;color:var(--text-1);padding:5px 14px;font-size:13px;cursor:pointer;border-radius:2px}.btn-secondary:hover{background:var(--sidebar-hover)}.spinner-inline{display:inline-block;width:14px;height:14px;border:2px solid #c8c6c4;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{background:#fde7e9;border-left:4px solid #d83b01;color:#a4262c;padding:8px 12px;font-size:12px;margin:8px 12px;border-radius:2px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:#c8c6c4;border-radius:6px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#a19f9d;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}
