:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #fafafa;--bg-hover: #f0f0f0;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--border-color: #e0e0e0;--border-light: #eeeeee;--accent-color: #667eea;--accent-hover: #5a6fd6;--success-color: #27ae60;--error-color: #e74c3c;--shadow: rgba(0, 0, 0, .1);--shadow-strong: rgba(0, 0, 0, .2);--sidebar-bg: #2b2a33;--sidebar-text: #ffffff;--input-bg: #ffffff;--modal-bg: #ffffff}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #252525;--bg-hover: #3d3d3d;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #808080;--border-color: #404040;--border-light: #353535;--accent-color: #7b8cee;--accent-hover: #8d9cf0;--success-color: #2ecc71;--error-color: #e74c3c;--shadow: rgba(0, 0, 0, .3);--shadow-strong: rgba(0, 0, 0, .5);--sidebar-bg: #1f1f1f;--sidebar-text: #e0e0e0;--input-bg: #3d3d3d;--modal-bg: #2d2d2d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s,color .3s}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:var(--bg-secondary);padding:40px;border-radius:12px;box-shadow:0 8px 32px var(--shadow-strong);width:100%;max-width:400px}.login-box h1{text-align:center;margin-bottom:30px;color:var(--text-primary)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color)}.login-box button{width:100%;padding:14px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer}.login-box button:hover{background:var(--accent-hover)}.login-box button:disabled{background:var(--text-muted);cursor:not-allowed}.error{background:#fee;color:#c00;padding:12px;border-radius:6px;margin-bottom:20px}.webmail{min-height:100vh;display:flex;flex-direction:column}.header{background:#667eea;color:#fff;padding:12px 24px;display:flex;justify-content:space-between;align-items:center}.logo{font-size:20px;font-weight:700}.user-info{display:flex;align-items:center;gap:16px}.user-info button{padding:8px 16px;background:#fff3;color:#fff;border:none;border-radius:4px;cursor:pointer}.user-info button:hover{background:#ffffff4d}.main{flex:1;display:flex}.sidebar{width:240px;background:#fff;border-right:1px solid #e0e0e0;padding:16px}.compose-btn{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:16px}.compose-btn:hover{background:#5a6fd6}.folder-list{display:flex;flex-direction:column;gap:4px}.folder-item{display:flex;align-items:center;padding:10px 12px;border-radius:6px;cursor:pointer;gap:8px}.folder-item:hover{background:#f0f0f0}.folder-item.active{background:#e8e8ff;color:#667eea}.folder-icon{font-size:16px}.folder-name{flex:1;font-size:14px}.unread-badge{background:#667eea;color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500}.content{flex:1;background:#fff;display:flex;flex-direction:column}.message-list-container{flex:1;display:flex;flex-direction:column}.message-list-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.message-list-header h2{font-size:18px;font-weight:600}.message-list-header button{padding:8px 16px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer}.message-list-header button:hover{background:#e0e0e0}.message-list{flex:1;overflow-y:auto}.message-item{display:flex;align-items:center;padding:12px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer;gap:12px}.message-item:hover{background:#fafafa}.message-item.unread{background:#f8f9ff;font-weight:500}.message-flag{font-size:18px;color:#ccc;cursor:pointer}.message-item.unread .message-flag,.message-flag:hover{color:#ffc107}.message-from{width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.message-subject{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;color:#555}.message-item.unread .message-subject{color:#333}.message-date{font-size:12px;color:#888;white-space:nowrap}.loading,.empty{padding:40px;text-align:center;color:#888}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px;border-top:1px solid #e0e0e0}.pagination button{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination button:disabled{background:#ccc}.message-view{flex:1;display:flex;flex-direction:column}.message-view-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #e0e0e0}.message-view-header button{padding:8px 16px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer}.message-view-header button:hover{background:#e0e0e0}.message-actions{display:flex;gap:8px}.message-view-content{flex:1;padding:20px;overflow-y:auto}.message-view-content h2{margin-bottom:16px;font-size:20px}.message-meta{background:#f9f9f9;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;line-height:1.8}.message-meta strong{color:#555}.attachments{margin-bottom:16px;padding:12px;background:#fff8e1;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.attachment-link{color:#667eea;text-decoration:none;font-size:14px}.attachment-link:hover{text-decoration:underline}.message-body{line-height:1.6}.message-body pre{white-space:pre-wrap;font-family:inherit;font-size:14px}.message-body iframe{width:100%;min-height:400px;border:1px solid #e0e0e0;border-radius:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.compose-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.compose-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.compose-header h2{font-size:18px}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#888}.close-btn:hover{color:#333}.compose-modal form{flex:1;display:flex;flex-direction:column;padding:20px;gap:12px}.compose-field{display:flex;align-items:center;gap:12px}.compose-field label{width:60px;font-weight:500;color:#555}.compose-field input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.compose-field input:focus{outline:none;border-color:#667eea}.compose-body{flex:1}.compose-body textarea{width:100%;height:200px;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical}.compose-body textarea:focus{outline:none;border-color:#667eea}.compose-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:12px}.compose-actions button{padding:10px 24px;border:none;border-radius:6px;font-size:14px;cursor:pointer}.compose-actions button[type=submit]{background:#667eea;color:#fff}.compose-actions button[type=submit]:hover{background:#5a6fd6}.compose-actions button[type=submit]:disabled{background:#ccc}.compose-actions button[type=button]{background:#f0f0f0}.compose-actions button[type=button]:hover{background:#e0e0e0}@media(max-width:768px){.sidebar{width:200px}.message-from{width:120px}}@media(max-width:600px){.main{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid #e0e0e0;max-height:200px;overflow-y:auto}.message-from{display:none}}.compose-attachments{padding:12px;background:#f8fafc;border-radius:6px;margin-bottom:12px}.compose-attachments>label{display:block;font-weight:500;color:#374151;margin-bottom:8px}.compose-attachments .attachment-list{display:flex;flex-direction:column;gap:6px}.attachment-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;background:#fff;border-radius:4px;border:1px solid #e5e7eb;transition:background .15s}.attachment-checkbox:hover{background:#f3f4f6}.attachment-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.attachment-checkbox span{font-size:13px;color:#4b5563}.main-tabs{display:flex;gap:8px}.main-tabs button{padding:8px 20px;background:#ffffff1a;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.main-tabs button:hover{background:#fff3}.main-tabs button.active{background:#ffffff4d;font-weight:500}.calendar-view{flex:1;display:flex;flex-direction:column;padding:20px}.calendar-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.calendar-header h2{flex:1;text-align:center;font-size:20px;font-weight:600;text-transform:capitalize}.calendar-header button{padding:8px 16px;background:#f0f0f0;border:none;border-radius:6px;cursor:pointer;font-size:14px}.calendar-header button:hover{background:#e0e0e0}.calendar-header .add-btn{background:#667eea;color:#fff}.calendar-header .add-btn:hover{background:#5a6fd6}.calendar-grid{flex:1;display:flex;flex-direction:column}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.weekday{text-align:center;font-weight:600;color:#666;padding:8px;font-size:14px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;flex:1}.calendar-day{background:#f8f9fa;border-radius:6px;padding:8px;min-height:80px;cursor:pointer;transition:background .2s}.calendar-day:hover{background:#e8e9ea}.calendar-day.other-month{opacity:.4}.calendar-day.today{background:#e8e8ff;border:2px solid #667eea}.day-number{font-weight:500;color:#333;display:block;margin-bottom:4px}.day-event{background:#667eea;color:#fff;padding:4px 6px;border-radius:4px;font-size:11px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-event:hover{background:#5a6fd6}.contacts-view{flex:1;display:flex;flex-direction:column;padding:20px}.contacts-header{display:flex;gap:16px;margin-bottom:20px}.contact-search{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px}.contact-search:focus{outline:none;border-color:#667eea}.contacts-header .add-btn{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;white-space:nowrap}.contacts-header .add-btn:hover{background:#5a6fd6}.contacts-list{flex:1;overflow-y:auto}.contact-item{display:flex;align-items:center;padding:16px;background:#f8f9fa;border-radius:8px;margin-bottom:8px;gap:16px}.contact-item:hover{background:#f0f0f0}.contact-avatar{width:48px;height:48px;background:#667eea;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600}.contact-info{flex:1}.contact-name{font-weight:600;font-size:16px;margin-bottom:4px}.contact-email,.contact-phone{font-size:14px;color:#666}.contact-actions{display:flex;gap:8px}.contact-actions button{padding:8px 12px;background:#f0f0f0;border:none;border-radius:6px;cursor:pointer;font-size:16px}.contact-actions button:hover{background:#e0e0e0}.event-modal,.contact-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:18px}.event-modal form,.contact-modal form{padding:20px;display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-weight:500;color:#555;font-size:14px}.form-field input,.form-field textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:#667eea}.form-field textarea{min-height:80px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}.form-actions button{padding:10px 24px;border:none;border-radius:6px;font-size:14px;cursor:pointer}.form-actions button[type=submit]{background:#667eea;color:#fff}.form-actions button[type=submit]:hover{background:#5a6fd6}.form-actions button[type=button]{background:#f0f0f0}.form-actions button[type=button]:hover{background:#e0e0e0}.form-actions .delete-btn{background:#dc3545;color:#fff}.form-actions .delete-btn:hover{background:#c82333}.add-contact-from-email{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#e8f5e9;border-radius:8px;margin-bottom:16px}.add-contact-label{font-weight:500;color:#2e7d32;font-size:14px;margin-right:4px}.add-contact-btn{padding:6px 12px;background:#4caf50;color:#fff;border:none;border-radius:16px;font-size:12px;cursor:pointer;transition:background .2s;white-space:nowrap}.add-contact-btn:hover{background:#388e3c}.calendar-tabs{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid #e0e0e0}.calendar-tabs button{padding:8px 20px;background:#f0f0f0;border:none;border-radius:6px;cursor:pointer;font-size:14px}.calendar-tabs button:hover{background:#e0e0e0}.calendar-tabs button.active{background:#667eea;color:#fff}.group-calendar-container{display:flex;flex:1;min-height:0}.group-calendar-sidebar{width:240px;background:#f8f9fa;border-right:1px solid #e0e0e0;padding:16px;overflow-y:auto}.group-calendar-sidebar .add-btn{width:100%;margin-bottom:16px}.shared-calendar-list{display:flex;flex-direction:column;gap:4px}.shared-calendar-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;cursor:pointer;background:#fff;border:1px solid #e0e0e0}.shared-calendar-item:hover{background:#f0f0f0}.shared-calendar-item.active{background:#e8e8ff;border-color:#667eea}.cal-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.cal-name{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-role{font-size:11px;color:#666}.group-calendar-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.group-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #e0e0e0;background:#fafafa}.group-calendar-header h3{margin:0;font-size:18px}.group-calendar-actions{display:flex;gap:8px}.group-calendar-actions button{padding:6px 12px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:13px}.group-calendar-actions button:hover{background:#e0e0e0}.group-calendar-actions .add-btn{background:#667eea;color:#fff}.group-calendar-actions .add-btn:hover{background:#5a6fd6}.group-calendar-actions .delete-btn{background:#dc3545;color:#fff}.group-calendar-actions .delete-btn:hover{background:#c82333}.group-calendar-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#888;font-size:16px}.empty-small{padding:16px;text-align:center;color:#888;font-size:14px}.members-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.members-content{padding:20px;overflow-y:auto}.owner-info{padding:12px;background:#e8f5e9;border-radius:6px;margin-bottom:16px}.members-list{margin-bottom:20px}.member-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8f9fa;border-radius:6px;margin-bottom:6px}.member-email{flex:1;font-size:14px}.member-role{font-size:12px;color:#666;background:#e0e0e0;padding:2px 8px;border-radius:4px}.remove-btn{padding:4px 10px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.remove-btn:hover{background:#c82333}.add-member-form{padding-top:16px;border-top:1px solid #e0e0e0}.add-member-form h4{margin:0 0 12px;font-size:14px}.add-member-form select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;margin-right:8px;font-size:14px}.add-member-form button{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer}.add-member-form button:disabled{background:#ccc}.freebusy-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.freebusy-content{padding:20px;overflow-y:auto}.freebusy-user{margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px}.freebusy-user-header{font-weight:600;margin-bottom:8px;color:#333}.freebusy-free{color:#28a745;font-size:14px}.freebusy-slots{display:flex;flex-wrap:wrap;gap:6px}.freebusy-slot{padding:4px 10px;border-radius:4px;font-size:12px}.freebusy-slot.busy{background:#ffcdd2;color:#c62828}.findtime-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.findtime-content{padding:20px;overflow-y:auto;display:flex;gap:20px}.findtime-params{flex:1;padding-right:20px;border-right:1px solid #e0e0e0}.findtime-params .form-field{margin-bottom:12px}.findtime-params .form-field.inline{display:flex;align-items:center;gap:8px}.findtime-params .form-field.inline input{width:60px}.findtime-params .add-btn{margin-top:12px;padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.findtime-results{flex:1}.findtime-results h4{margin:0 0 12px;font-size:14px;color:#555}.available-slots{display:flex;flex-direction:column;gap:6px}.available-slot{padding:10px 12px;background:#e8f5e9;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid #c8e6c9;transition:all .2s}.available-slot:hover{background:#c8e6c9;border-color:#a5d6a7}@media(max-width:900px){.group-calendar-container{flex-direction:column}.group-calendar-sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid #e0e0e0}.findtime-content{flex-direction:column}.findtime-params{border-right:none;border-bottom:1px solid #e0e0e0;padding-right:0;padding-bottom:16px}}.contacts-view-pro{flex:1;display:flex;min-height:0}.contacts-sidebar{width:320px;background:#f8f9fa;border-right:1px solid #e0e0e0;display:flex;flex-direction:column}.contacts-sidebar .contacts-header{padding:16px;border-bottom:1px solid #e0e0e0;display:flex;gap:8px}.contacts-sidebar .contact-search{flex:1;padding:10px 14px}.contacts-sidebar .add-btn{width:40px;height:40px;padding:0;font-size:20px;border-radius:8px;display:flex;align-items:center;justify-content:center}.contacts-list-pro{flex:1;overflow-y:auto;padding:8px}.contact-item-pro{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:background .2s}.contact-item-pro:hover{background:#e8e9ea}.contact-item-pro.active{background:#e8e8ff}.contact-avatar-pro{width:44px;height:44px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0;overflow:hidden}.contact-avatar-pro img{width:100%;height:100%;object-fit:cover}.contact-info-pro{flex:1;min-width:0}.contact-name-pro{font-weight:600;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-company-pro{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-detail{flex:1;display:flex;flex-direction:column;background:#fff;overflow-y:auto}.contact-detail-header{display:flex;align-items:flex-start;gap:24px;padding:32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.contact-detail-avatar{width:100px;height:100px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:600;flex-shrink:0;overflow:hidden}.contact-detail-avatar img{width:100%;height:100%;object-fit:cover}.contact-detail-title{flex:1}.contact-detail-title h2{margin:0 0 8px;font-size:28px;font-weight:700}.contact-detail-title .job-title{font-size:16px;opacity:.9;margin:0 0 4px}.contact-detail-title .company{font-size:14px;opacity:.8;margin:0}.contact-detail-actions{display:flex;gap:8px}.contact-detail-actions button{padding:10px 20px;background:#fff3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.contact-detail-actions button:hover{background:#ffffff4d}.contact-detail-actions .delete-btn{background:#dc3545cc}.contact-detail-actions .delete-btn:hover{background:#dc3545}.contact-detail-body{flex:1;padding:32px}.contact-detail-row{display:flex;padding:16px 0;border-bottom:1px solid #f0f0f0}.contact-detail-row:last-child{border-bottom:none}.contact-detail-row .label{width:120px;font-size:14px;color:#888;font-weight:500}.contact-detail-row .value{flex:1;font-size:14px;color:#333;display:flex;align-items:center;gap:12px}.contact-detail-row .value a{color:#667eea;text-decoration:none}.contact-detail-row .value a:hover{text-decoration:underline}.contact-detail-row .icon-btn{padding:4px 8px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:14px}.contact-detail-row .icon-btn:hover{background:#e0e0e0}.contact-detail-row.notes{flex-direction:column;gap:8px}.contact-detail-row.notes .value{white-space:pre-wrap;line-height:1.6}.contact-detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;background:#fafafa}.contact-detail-empty .empty-icon{font-size:80px;opacity:.3;margin-bottom:16px}.contact-detail-empty p{font-size:16px}.contact-modal-pro{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.contact-modal-pro form{flex:1;overflow-y:auto;padding:20px}.contact-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:20px}.form-section{background:#f8f9fa;padding:20px;border-radius:8px}.form-section h3{margin:0 0 16px;font-size:14px;color:#667eea;text-transform:uppercase;letter-spacing:.5px}.calendar-header{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid #e0e0e0;flex-wrap:wrap}.calendar-nav{display:flex;align-items:center;gap:12px;flex:1}.calendar-nav h2{min-width:200px;text-align:center;font-size:18px;margin:0;text-transform:capitalize}.calendar-nav button{padding:8px 14px}.today-btn{background:#667eea!important;color:#fff!important}.today-btn:hover{background:#5a6fd6!important}.calendar-view-modes{display:flex;gap:4px;background:#f0f0f0;padding:4px;border-radius:8px}.calendar-view-modes button{padding:6px 16px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:13px;color:#555;transition:all .2s}.calendar-view-modes button:hover{background:#0000000d}.calendar-view-modes button.active{background:#fff;color:#667eea;font-weight:500;box-shadow:0 1px 3px #0000001a}.sync-btn{width:36px;height:36px;padding:0;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.sync-btn:hover{background:#e0e0e0}.sync-btn:disabled{cursor:not-allowed;opacity:.7}.sync-icon{font-size:18px;color:#555;display:inline-block;transition:transform .3s ease}.sync-btn.syncing .sync-icon{animation:spin 1s linear infinite;color:#667eea}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-week-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.week-header{display:flex;border-bottom:1px solid #e0e0e0;background:#fafafa}.week-header .time-gutter{width:60px;flex-shrink:0}.week-day-header{flex:1;text-align:center;padding:12px 8px;border-left:1px solid #e0e0e0}.week-day-header.today{background:#e8e8ff}.week-day-header .day-name{display:block;font-size:12px;color:#888;margin-bottom:4px}.week-day-header .day-num{display:block;font-size:20px;font-weight:600;color:#333}.week-day-header.today .day-num{color:#667eea}.week-body{flex:1;display:flex;overflow-y:auto}.week-body .time-gutter{width:60px;flex-shrink:0;background:#fafafa}.time-slot{height:40px;padding:4px 8px;font-size:11px;color:#888;text-align:right;border-bottom:1px solid #f0f0f0}.week-day-column{flex:1;position:relative;border-left:1px solid #e0e0e0}.hour-slot{height:40px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .15s}.hour-slot:hover{background:#f0f8ff}.week-event{position:absolute;left:2px;right:2px;background:#667eea;color:#fff;border-radius:4px;padding:4px 8px;font-size:11px;overflow:hidden;cursor:pointer;z-index:1;box-shadow:0 1px 3px #0003}.week-event:hover{background:#5a6fd6}.week-event .event-time{display:block;font-size:10px;opacity:.9}.week-event .event-title{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.day-body{flex:1;display:flex;overflow-y:auto}.day-body .time-gutter{width:70px;flex-shrink:0;background:#fafafa}.day-column{flex:1;position:relative;border-left:1px solid #e0e0e0}.day-event-block{position:absolute;left:8px;right:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:6px;padding:8px 12px;font-size:13px;cursor:pointer;z-index:1;box-shadow:0 2px 8px #667eea4d;overflow:hidden}.day-event-block:hover{box-shadow:0 4px 12px #667eea66}.day-event-block .event-time{display:block;font-size:12px;opacity:.9;margin-bottom:4px}.day-event-block .event-title{display:block;font-weight:600;font-size:14px}.day-event-block .event-location{display:block;font-size:12px;opacity:.8;margin-top:4px}.day-event.shared{opacity:.9}@media(max-width:768px){.contacts-view-pro{flex-direction:column}.contacts-sidebar{width:100%;max-height:300px;border-right:none;border-bottom:1px solid #e0e0e0}.contact-detail-header{flex-direction:column;align-items:center;text-align:center}.contact-detail-title{text-align:center}.contact-form-grid{grid-template-columns:1fr}}.help-btn{width:28px;height:28px;padding:0;font-size:16px;font-weight:700;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.4);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.help-btn:hover{background:#ffffff4d;border-color:#fff9}.help-modal{background:#fff;border-radius:12px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.help-tabs{display:flex;border-bottom:1px solid #e0e0e0;padding:0 20px;background:#f8f9fa}.help-tabs button{padding:12px 24px;background:none;border:none;font-size:14px;color:#666;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;transition:all .2s}.help-tabs button:hover{color:#333}.help-tabs button.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.help-content{flex:1;overflow-y:auto;padding:24px}.help-section{display:flex;flex-direction:column;gap:24px}.help-urls{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 24px;border-radius:12px}.help-urls h3{margin:0 0 16px;font-size:16px;opacity:.9}.url-item{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.url-item:last-child{margin-bottom:0}.url-item label{font-size:13px;opacity:.8;min-width:120px}.url-item code{background:#fff3;padding:6px 12px;border-radius:6px;font-family:Monaco,Menlo,monospace;font-size:12px;cursor:pointer;transition:background .2s;word-break:break-all}.url-item code:hover{background:#ffffff4d}.url-item small{font-size:11px;opacity:.7}.help-app{background:#f8f9fa;padding:20px 24px;border-radius:12px;border-left:4px solid #667eea}.help-app h3{margin:0 0 16px;font-size:16px;color:#333;display:flex;align-items:center;gap:8px}.help-app ol{margin:0;padding-left:20px;color:#555;line-height:1.8}.help-app li{margin-bottom:8px}.help-app li:last-child{margin-bottom:0}.help-app code{background:#fff;padding:2px 8px;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:12px;color:#667eea;border:1px solid #e0e0e0}.help-app p{margin:12px 0 0;font-size:13px;color:#666}.help-app em{font-style:italic}.help-autodiscovery{background:#e8f5e9;padding:20px 24px;border-radius:12px;border-left:4px solid #4caf50;margin-top:8px}.help-autodiscovery h3{margin:0 0 12px;font-size:16px;color:#2e7d32}.help-autodiscovery p{margin:0 0 16px;color:#555;line-height:1.6}.help-autodiscovery code{background:#fff;padding:2px 8px;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:12px;color:#2e7d32;border:1px solid #c8e6c9}.autodiscovery-urls{display:flex;flex-direction:column;gap:8px}.autodiscovery-urls div{font-size:13px;color:#555}.autodiscovery-urls code{margin-left:8px}.help-welcome{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px 28px;border-radius:12px;margin-bottom:8px}.help-welcome h3{margin:0 0 12px;font-size:20px}.help-welcome p{margin:0;line-height:1.6;opacity:.95}.help-features h3{margin:0 0 16px;font-size:16px;color:#333}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.feature-item{background:#f8f9fa;padding:20px;border-radius:12px;cursor:pointer;transition:all .2s;border:2px solid transparent}.feature-item:hover{background:#e8e8ff;border-color:#667eea}.feature-item .feature-icon{font-size:32px;display:block;margin-bottom:12px}.feature-item h4{margin:0 0 8px;font-size:16px;color:#333}.feature-item p{margin:0;font-size:13px;color:#666;line-height:1.5}.help-quickstart{background:#fff3cd;padding:20px 24px;border-radius:12px;border-left:4px solid #ffc107}.help-quickstart h3{margin:0 0 12px;font-size:16px;color:#856404}.help-quickstart ol{margin:0;padding-left:20px;color:#856404;line-height:1.8}.help-tip{background:#d1ecf1;padding:20px 24px;border-radius:12px;border-left:4px solid #17a2b8}.help-tip h3{margin:0 0 8px;font-size:16px;color:#0c5460}.help-tip p{margin:0;color:#0c5460;line-height:1.6}.help-intro{background:#f8f9fa;padding:20px 24px;border-radius:12px;margin-bottom:8px}.help-intro h3{margin:0 0 8px;font-size:18px;color:#333}.help-intro p{margin:0;color:#666}.help-feature-block{background:#f8f9fa;padding:20px 24px;border-radius:12px;border-left:4px solid #667eea}.help-feature-block h4{margin:0 0 12px;font-size:15px;color:#333}.help-feature-block ul{margin:0;padding-left:20px;color:#555;line-height:1.7}.help-feature-block ul ul{margin-top:8px}.help-feature-block li{margin-bottom:6px}.help-feature-block li:last-child{margin-bottom:0}@media(max-width:768px){.help-modal{width:95%;max-height:95vh}.help-tabs{padding:0 8px;flex-wrap:wrap;gap:4px}.help-tabs button{padding:8px 12px;font-size:12px}.help-content,.help-urls{padding:16px}.url-item{flex-direction:column;align-items:flex-start;gap:4px}.url-item label{min-width:auto}.help-app{padding:16px}.help-app ol{padding-left:16px}.feature-grid{grid-template-columns:1fr}.help-welcome{padding:16px 20px}.help-quickstart,.help-tip,.help-feature-block{padding:16px}}.tb-calendar-container{display:flex;flex:1;height:100%;background:#f0f0f4}.tb-calendar-sidebar{width:260px;background:#2b2a33;color:#fbfbfe;display:flex;flex-direction:column;overflow-y:auto}.tb-mini-calendar{padding:16px;border-bottom:1px solid #42414d}.tb-mini-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tb-mini-header span{font-size:14px;font-weight:600;text-transform:capitalize}.tb-mini-header button{background:transparent;border:none;color:#fbfbfe;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px}.tb-mini-header button:hover{background:#42414d}.tb-mini-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;color:#8f8f9d;margin-bottom:8px}.tb-mini-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.tb-mini-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:4px;cursor:pointer;transition:all .15s}.tb-mini-day:hover{background:#42414d}.tb-mini-day.other{color:#5b5b66}.tb-mini-day.today{background:#0060df;color:#fff;font-weight:600}.tb-mini-day.selected{outline:2px solid #00ddff}.tb-mini-day.has-events:after{content:"";position:absolute;bottom:2px;width:4px;height:4px;background:#0df;border-radius:50%}.tb-mini-day{position:relative}.tb-calendars-section{padding:12px 0;border-bottom:1px solid #42414d}.tb-section-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;font-weight:600;color:#8f8f9d;text-transform:uppercase;letter-spacing:.5px}.tb-calendar-list{padding:0 8px}.tb-calendar-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .15s}.tb-calendar-item:hover{background:#42414d}.tb-calendar-item.active{background:#0060df}.tb-cal-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.tb-cal-name{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-cal-count{font-size:11px;background:#42414d;padding:2px 6px;border-radius:10px;color:#8f8f9d}.tb-calendar-item.active .tb-cal-count{background:#fff3;color:#fff}.tb-cal-badge{font-size:10px;background:#0060df;padding:2px 6px;border-radius:10px}.tb-calendar-group-header{display:flex;justify-content:space-between;align-items:center;padding:12px 12px 8px;margin-top:8px;font-size:11px;color:#8f8f9d;text-transform:uppercase}.tb-calendar-group-header button{background:#42414d;border:none;color:#fbfbfe;width:20px;height:20px;border-radius:4px;cursor:pointer;font-size:14px}.tb-calendar-group-header button:hover{background:#52525e}.tb-upcoming-section{flex:1;padding:12px 0;overflow-y:auto}.tb-upcoming-list{padding:0 12px}.tb-upcoming-item{display:flex;gap:12px;padding:10px;border-radius:6px;cursor:pointer;transition:all .15s;margin-bottom:4px}.tb-upcoming-item:hover{background:#42414d}.tb-upcoming-date{display:flex;flex-direction:column;align-items:center;background:#42414d;padding:6px 10px;border-radius:6px;min-width:45px}.tb-date-day{font-size:18px;font-weight:700;line-height:1}.tb-date-month{font-size:10px;text-transform:uppercase;color:#8f8f9d}.tb-upcoming-info{display:flex;flex-direction:column;gap:4px;min-width:0}.tb-upcoming-title{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-upcoming-time{font-size:11px;color:#8f8f9d}.tb-empty-upcoming{padding:16px;text-align:center;color:#8f8f9d;font-size:12px}.tb-calendar-main{flex:1;display:flex;flex-direction:column;background:#fff;overflow:hidden}.tb-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#f9f9fb;border-bottom:1px solid #e0e0e6}.tb-toolbar-left,.tb-toolbar-right{display:flex;align-items:center;gap:8px}.tb-toolbar-center{display:flex;align-items:center;gap:12px}.tb-btn{padding:8px 16px;background:#f0f0f4;border:1px solid #cfcfd8;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.tb-btn:hover{background:#e0e0e6}.tb-btn-primary{background:#0060df;color:#fff;border-color:#0060df}.tb-btn-primary:hover{background:#0250bb}.tb-nav-btn{background:transparent;border:none;font-size:20px;cursor:pointer;padding:4px 12px;border-radius:4px;color:#5b5b66}.tb-nav-btn:hover{background:#e0e0e6}.tb-date-title{font-size:18px;font-weight:600;color:#15141a;min-width:250px;text-align:center;text-transform:capitalize}.tb-view-switcher{display:flex;background:#f0f0f4;border-radius:6px;overflow:hidden;border:1px solid #cfcfd8}.tb-view-switcher button{padding:8px 16px;border:none;background:transparent;cursor:pointer;font-size:13px;transition:all .15s;border-right:1px solid #cfcfd8}.tb-view-switcher button:last-child{border-right:none}.tb-view-switcher button:hover{background:#e0e0e6}.tb-view-switcher button.active{background:#0060df;color:#fff}.tb-sync-btn{padding:8px 12px;font-size:16px}.tb-sync-btn.syncing{animation:tb-spin 1s linear infinite}@keyframes tb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tb-calendar-content{flex:1;overflow:auto}.tb-month-view{display:flex;flex-direction:column;height:100%}.tb-month-header{display:grid;grid-template-columns:repeat(7,1fr);background:#f9f9fb;border-bottom:1px solid #e0e0e6}.tb-month-weekday{padding:12px 8px;text-align:center;font-size:12px;font-weight:600;color:#5b5b66;text-transform:uppercase}.tb-month-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1}.tb-month-day{border-right:1px solid #e0e0e6;border-bottom:1px solid #e0e0e6;padding:8px;min-height:100px;cursor:pointer;transition:background .15s}.tb-month-day:hover{background:#f9f9fb}.tb-month-day:nth-child(7n){border-right:none}.tb-month-day.other-month{background:#f9f9fb}.tb-month-day.other-month .tb-day-number{color:#8f8f9d}.tb-month-day.today{background:#f0f8ff}.tb-day-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:14px;font-weight:500;margin-bottom:4px;border-radius:50%}.tb-day-number.today{background:#0060df;color:#fff}.tb-day-events{display:flex;flex-direction:column;gap:2px}.tb-event-chip{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#e7f3ff;border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s;border-left:3px solid #0060df}.tb-event-chip:hover{background:#cce5ff}.tb-event-dot{width:6px;height:6px;background:#0060df;border-radius:50%;flex-shrink:0}.tb-event-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-more-events{font-size:11px;color:#0060df;padding:4px 8px;cursor:pointer}.tb-more-events:hover{text-decoration:underline}.tb-week-view{display:flex;flex-direction:column;height:100%}.tb-week-header{display:flex;background:#f9f9fb;border-bottom:1px solid #e0e0e6;flex-shrink:0}.tb-time-gutter{width:60px;flex-shrink:0}.tb-week-day-header{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px 8px;border-left:1px solid #e0e0e6}.tb-week-day-header.today{background:#f0f8ff}.tb-day-name{font-size:11px;color:#5b5b66;text-transform:uppercase}.tb-day-num{font-size:24px;font-weight:600;color:#15141a}.tb-day-num.today{background:#0060df;color:#fff;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%}.tb-week-body{display:flex;flex:1;overflow-y:auto}.tb-time-column{width:60px;flex-shrink:0;background:#f9f9fb;border-right:1px solid #e0e0e6}.tb-time-slot{height:48px;display:flex;align-items:flex-start;justify-content:flex-end;padding:0 8px;font-size:11px;color:#5b5b66;border-bottom:1px solid #f0f0f4}.tb-time-slot span{transform:translateY(-8px)}.tb-week-days{display:flex;flex:1}.tb-week-day-column{flex:1;position:relative;border-left:1px solid #e0e0e6}.tb-week-day-column.today{background:#f8fbff}.tb-hour-slot{height:48px;border-bottom:1px solid #f0f0f4;cursor:pointer;transition:background .15s}.tb-hour-slot:hover{background:#f0f8ff}.tb-week-event{position:absolute;left:4px;right:4px;background:#0060df;color:#fff;border-radius:4px;padding:4px 8px;font-size:11px;overflow:hidden;cursor:pointer;z-index:1;box-shadow:0 1px 3px #0003}.tb-week-event:hover{background:#0250bb}.tb-event-time{font-size:10px;opacity:.9;display:block}.tb-event-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.tb-day-view{display:flex;flex-direction:column;height:100%}.tb-day-header-bar{padding:16px 20px;background:#f9f9fb;border-bottom:1px solid #e0e0e6}.tb-day-title{font-size:16px;font-weight:600;text-transform:capitalize}.tb-day-body{display:flex;flex:1;overflow-y:auto}.tb-day-column{flex:1;position:relative;border-left:1px solid #e0e0e6}.tb-day-column.today{background:#f8fbff}.tb-day-event{position:absolute;left:8px;right:8px;background:linear-gradient(135deg,#0060df,#0250bb);color:#fff;border-radius:6px;padding:8px 12px;font-size:12px;overflow:hidden;cursor:pointer;z-index:1;box-shadow:0 2px 8px #0060df4d}.tb-day-event:hover{transform:scale(1.01)}.tb-event-header{margin-bottom:4px}.tb-event-location{font-size:11px;opacity:.8;display:block;margin-top:4px}.tb-group-calendar{padding:20px}.tb-group-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#5b5b66}.tb-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}@media(max-width:900px){.tb-calendar-sidebar{width:220px}.tb-day-name{font-size:10px}.tb-day-num{font-size:18px}}@media(max-width:768px){.tb-calendar-container{flex-direction:column}.tb-calendar-sidebar{width:100%;max-height:200px;flex-direction:row;overflow-x:auto}.tb-mini-calendar{min-width:200px}.tb-calendars-section,.tb-upcoming-section{min-width:180px;border-bottom:none;border-right:1px solid #42414d}.tb-toolbar{flex-wrap:wrap;gap:8px}.tb-toolbar-center{order:-1;width:100%;justify-content:center}.tb-date-title{font-size:16px;min-width:auto}}.settings-modal{background:var(--modal-bg);border-radius:12px;width:100%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px var(--shadow-strong)}.settings-content{padding:24px}.settings-section{margin-bottom:32px}.settings-section:last-child{margin-bottom:0}.settings-section h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-row label{font-size:14px;color:var(--text-secondary)}.theme-switcher{display:flex;gap:8px}.theme-switcher button{padding:8px 16px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s}.theme-switcher button:hover{background:var(--bg-hover)}.theme-switcher button.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.settings-section form{display:flex;flex-direction:column;gap:16px}.settings-section form button[type=submit]{padding:12px 24px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;align-self:flex-start;transition:background-color .2s}.settings-section form button[type=submit]:hover{background:var(--accent-hover)}.settings-section form button[type=submit]:disabled{background:var(--text-muted);cursor:not-allowed}.error-message{background:#e74c3c1a;color:var(--error-color);padding:12px;border-radius:6px;font-size:14px}.success-message{background:#27ae601a;color:var(--success-color);padding:12px;border-radius:6px;font-size:14px}.theme-toggle{background:transparent;border:none;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.theme-toggle:hover{background:#ffffff1a}.settings-btn{background:transparent;border:none;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.settings-btn:hover{background:#ffffff1a}[data-theme=dark] .sidebar{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .folder-list button{color:var(--text-primary)}[data-theme=dark] .folder-list button:hover{background:var(--bg-hover)}[data-theme=dark] .message-list{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .message-item{border-color:var(--border-light);color:var(--text-primary)}[data-theme=dark] .message-item:hover{background:var(--bg-hover)}[data-theme=dark] .message-item.selected{background:var(--bg-hover);border-color:var(--accent-color)}[data-theme=dark] .message-preview{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .message-preview h2,[data-theme=dark] .message-body{color:var(--text-primary)}[data-theme=dark] .modal-overlay{background:#000000b3}[data-theme=dark] .modal-content,[data-theme=dark] .compose-modal,[data-theme=dark] .event-modal,[data-theme=dark] .contact-modal,[data-theme=dark] .help-modal{background:var(--modal-bg);color:var(--text-primary)}[data-theme=dark] .modal-header{border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .compose-actions button,[data-theme=dark] .event-modal button,[data-theme=dark] .contact-modal button{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .compose-actions button:hover,[data-theme=dark] .event-modal button:hover,[data-theme=dark] .contact-modal button:hover{background:var(--bg-hover)}[data-theme=dark] .compose-actions button[type=submit],[data-theme=dark] .event-modal button[type=submit],[data-theme=dark] .contact-modal button[type=submit]{background:var(--accent-color);color:#fff}[data-theme=dark] .contacts-sidebar{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .contact-item{border-color:var(--border-light);color:var(--text-primary)}[data-theme=dark] .contact-item:hover{background:var(--bg-hover)}[data-theme=dark] .contact-detail{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .help-tabs button{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}[data-theme=dark] .help-tabs button.active{background:var(--accent-color);color:#fff}[data-theme=dark] .help-content{color:var(--text-primary)}[data-theme=dark] code{background:var(--bg-tertiary);color:var(--accent-color)}[data-theme=dark] .pagination button{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .pagination button:hover:not(:disabled){background:var(--bg-hover)}[data-theme=dark] .attachment-item{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .tb-calendar-sidebar{background:var(--sidebar-bg)}[data-theme=dark] .tb-calendar-main{background:var(--bg-secondary)}[data-theme=dark] .tb-toolbar{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .tb-btn{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .tb-btn:hover{background:var(--bg-hover)}[data-theme=dark] .tb-month-view{background:var(--bg-secondary)}[data-theme=dark] .tb-month-header{background:var(--bg-tertiary)}[data-theme=dark] .tb-month-weekday{color:var(--text-secondary);border-color:var(--border-color)}[data-theme=dark] .tb-month-day{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .tb-month-day:hover{background:var(--bg-hover)}[data-theme=dark] .tb-month-day.other-month{background:var(--bg-tertiary);color:var(--text-muted)}[data-theme=dark] .tb-week-view,[data-theme=dark] .tb-day-view{background:var(--bg-secondary)}[data-theme=dark] .tb-week-header,[data-theme=dark] .tb-day-header{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .tb-time-slot{border-color:var(--border-color);color:var(--text-muted)}[data-theme=dark] .tb-hour-slot{border-color:var(--border-color)}[data-theme=dark] .tb-view-switcher button{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}[data-theme=dark] .tb-view-switcher button.active{background:var(--accent-color);color:#fff}.app-window{border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #0003;margin:20px 0;border:1px solid #ccc}.app-titlebar{display:flex;align-items:center;padding:8px 12px;background:linear-gradient(180deg,#e8e8e8,#d0d0d0);border-bottom:1px solid #b0b0b0}.app-titlebar-buttons{display:flex;gap:8px;margin-right:12px}.app-titlebar-buttons span{width:12px;height:12px;border-radius:50%;display:block}.btn-close{background:#ff5f56}.btn-minimize{background:#ffbd2e}.btn-maximize{background:#27c93f}.app-titlebar-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#333}.app-titlebar-title img{width:20px;height:20px}.app-content{display:flex;min-height:300px;background:#fff}.app-sidebar{width:180px;background:#f5f5f5;border-right:1px solid #ddd;padding:8px 0}.sidebar-item{padding:8px 16px;font-size:12px;color:#333;cursor:pointer}.sidebar-item:hover{background:#e5e5e5}.sidebar-item.active{background:#0060df;color:#fff}.app-main{flex:1;padding:16px}.settings-panel h4{font-size:13px;font-weight:600;color:#333;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid #eee}.settings-form{display:flex;flex-direction:column;gap:8px}.settings-form .form-row{display:flex;align-items:center;gap:12px}.settings-form .form-row label{width:100px;font-size:12px;color:#666;text-align:right}.settings-form .form-row input{flex:1;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:12px;background:#fafafa;color:#333;max-width:250px}.badge.ssl{background:#27ae60;color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}.thunderbird-window .app-titlebar{background:linear-gradient(180deg,#404040,#2b2b2b);border-bottom:1px solid #1a1a1a}.thunderbird-window .app-titlebar-title{color:#fff}.thunderbird-window .app-sidebar{background:#38383d;border-right:1px solid #2a2a2e}.thunderbird-window .sidebar-item{color:#e0e0e0}.thunderbird-window .sidebar-item:hover{background:#4a4a4f}.thunderbird-window .sidebar-item.active{background:#0060df}.outlook-window .app-titlebar{background:#0078d4;border-bottom:none;justify-content:space-between}.outlook-window .app-titlebar-title{color:#fff}.outlook-window .outlook-buttons span{background:transparent;width:46px;height:32px;border-radius:0;display:flex;align-items:center;justify-content:center}.outlook-window .outlook-buttons .btn-close:hover{background:#e81123}.outlook-content{flex-direction:column;padding:24px}.outlook-header{margin-bottom:20px}.outlook-header h3{font-size:18px;color:#333;margin-bottom:4px}.outlook-header p{font-size:13px;color:#666}.outlook-form{display:flex;flex-direction:column;gap:20px}.outlook-section{background:#f8f8f8;border-radius:6px;padding:16px}.outlook-section .section-title{font-size:12px;font-weight:600;color:#0078d4;text-transform:uppercase;margin-bottom:12px}.outlook-row{margin-bottom:10px}.outlook-row label{display:block;font-size:12px;color:#666;margin-bottom:4px}.outlook-row input,.outlook-row select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;background:#fff;color:#333}.outlook-row.half{display:flex;gap:16px}.outlook-row.half>div{flex:1}.macos-window .app-titlebar{background:linear-gradient(180deg,#e8e6e6,#d4d2d2);justify-content:center;position:relative}.macos-window .macos-buttons{position:absolute;left:12px}.macos-content{flex-direction:column}.macos-tabs{display:flex;background:#f0f0f0;border-bottom:1px solid #ccc;padding:0 16px}.macos-tabs span{padding:10px 20px;font-size:12px;color:#666;cursor:pointer;border-bottom:2px solid transparent}.macos-tabs span.active{color:#007aff;border-bottom-color:#007aff}.macos-form{padding:20px}.macos-account-info{display:flex;align-items:center;gap:12px;padding:16px;background:#f5f5f7;border-radius:8px;margin-bottom:20px}.account-icon img{width:40px;height:40px}.account-details{display:flex;flex-direction:column}.account-details strong{font-size:14px;color:#333}.account-details span{font-size:12px;color:#666}.macos-section{margin-bottom:20px;border:1px solid #ddd;border-radius:8px;overflow:hidden}.macos-section-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f8f8f8;border-bottom:1px solid #ddd;font-size:13px;font-weight:500;color:#333}.macos-section-header .icon{font-size:16px}.macos-fields{padding:16px}.macos-field{margin-bottom:12px}.macos-field label{display:block;font-size:12px;color:#666;margin-bottom:4px}.macos-field input{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;background:#fff;color:#333}.macos-field-row{display:flex;gap:16px}.macos-field-row .macos-field{flex:1}.macos-field-row .macos-field.small{flex:0 0 100px}.macos-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#333}.macos-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#007aff}.settings-summary{width:100%;border-collapse:collapse}.settings-summary td{padding:8px 12px;border-bottom:1px solid #eee;font-size:13px}.settings-summary td:first-child{width:140px;color:#666}.settings-summary code{background:#f0f0f0;padding:2px 6px;border-radius:4px;font-family:monospace;color:#06c}[data-theme=dark] .app-window{border-color:#404040}[data-theme=dark] .app-content{background:#2d2d2d}[data-theme=dark] .settings-panel h4{color:#e0e0e0;border-bottom-color:#404040}[data-theme=dark] .settings-form .form-row label{color:#b0b0b0}[data-theme=dark] .settings-form .form-row input{background:#3d3d3d;border-color:#505050;color:#e0e0e0}[data-theme=dark] .outlook-content{background:#2d2d2d}[data-theme=dark] .outlook-header h3{color:#e0e0e0}[data-theme=dark] .outlook-header p{color:#b0b0b0}[data-theme=dark] .outlook-section{background:#353535}[data-theme=dark] .outlook-row label{color:#b0b0b0}[data-theme=dark] .outlook-row input,[data-theme=dark] .outlook-row select{background:#3d3d3d;border-color:#505050;color:#e0e0e0}[data-theme=dark] .macos-tabs{background:#353535;border-bottom-color:#404040}[data-theme=dark] .macos-tabs span{color:#b0b0b0}[data-theme=dark] .macos-tabs span.active{color:#64a9ff;border-bottom-color:#64a9ff}[data-theme=dark] .macos-form{background:#2d2d2d}[data-theme=dark] .macos-account-info{background:#353535}[data-theme=dark] .account-details strong{color:#e0e0e0}[data-theme=dark] .account-details span{color:#b0b0b0}[data-theme=dark] .macos-section{border-color:#404040}[data-theme=dark] .macos-section-header{background:#353535;border-bottom-color:#404040;color:#e0e0e0}[data-theme=dark] .macos-field label{color:#b0b0b0}[data-theme=dark] .macos-field input{background:#3d3d3d;border-color:#505050;color:#e0e0e0}[data-theme=dark] .macos-checkbox{color:#e0e0e0}[data-theme=dark] .settings-summary td{border-bottom-color:#404040}[data-theme=dark] .settings-summary td:first-child{color:#b0b0b0}[data-theme=dark] .settings-summary code{background:#3d3d3d;color:#64a9ff}
