:root{--tm-bg-page: #f0f0f5;--tm-bg-surface: #ffffff;--tm-bg-surface-alt: #f8f9fa;--tm-bg-input: #ffffff;--tm-bg-hover: #f0f0f0;--tm-text-primary: #1a1a2e;--tm-text-secondary: #444444;--tm-text-muted: #666666;--tm-text-faint: #999999;--tm-border: rgba(0, 0, 0, .12);--tm-border-subtle: rgba(0, 0, 0, .07);--tm-accent: #4a90d9;--tm-accent-hover: #3a7bc8;--tm-success: #2e7d32;--tm-success-bg: #e8f5e9;--tm-error: #c00000;--tm-error-bg: #ffeeee;--tm-warning: #f0ad4e;--tm-badge-teacher: #2e7d56;--tm-badge-admin: #c0392b;--tm-shadow: 0 2px 8px rgba(0, 0, 0, .08);--tm-shadow-md: 0 4px 20px rgba(0, 0, 0, .15)}[data-theme=dark]{--tm-bg-page: #1a1a1a;--tm-bg-surface: #242424;--tm-bg-surface-alt: #2e2e2e;--tm-bg-input: #2e2e2e;--tm-bg-hover: #383838;--tm-text-primary: #e8e8e8;--tm-text-secondary: #c0c0c0;--tm-text-muted: #909090;--tm-text-faint: #606060;--tm-border: rgba(255, 255, 255, .12);--tm-border-subtle: rgba(255, 255, 255, .07);--tm-accent: #5a9fd4;--tm-accent-hover: #6aaee4;--tm-success: #2ecc71;--tm-success-bg: rgba(46, 204, 113, .15);--tm-error: #ff6b6b;--tm-error-bg: rgba(200, 0, 0, .2);--tm-warning: #f0ad4e;--tm-badge-teacher: #4a9c6d;--tm-badge-admin: #ff6b6b;--tm-shadow: 0 2px 8px rgba(0, 0, 0, .4);--tm-shadow-md: 0 4px 20px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--tm-bg-page: #1a1a1a;--tm-bg-surface: #242424;--tm-bg-surface-alt: #2e2e2e;--tm-bg-input: #2e2e2e;--tm-bg-hover: #383838;--tm-text-primary: #e8e8e8;--tm-text-secondary: #c0c0c0;--tm-text-muted: #909090;--tm-text-faint: #606060;--tm-border: rgba(255, 255, 255, .12);--tm-border-subtle: rgba(255, 255, 255, .07);--tm-accent: #5a9fd4;--tm-accent-hover: #6aaee4;--tm-success: #2ecc71;--tm-success-bg: rgba(46, 204, 113, .15);--tm-error: #ff6b6b;--tm-error-bg: rgba(200, 0, 0, .2);--tm-warning: #f0ad4e;--tm-badge-teacher: #4a9c6d;--tm-badge-admin: #ff6b6b;--tm-shadow: 0 2px 8px rgba(0, 0, 0, .4);--tm-shadow-md: 0 4px 20px rgba(0, 0, 0, .5)}}:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}[data-theme=light]{color-scheme:light;--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1)}[data-theme=dark]{color-scheme:dark;--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;transition:all .2s}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn:disabled{opacity:.5;cursor:not-allowed;font-weight:400}.btn-primary{background:#4a90d9;color:#fff}.btn-success{background:#4caf50;color:#fff}.btn-secondary{background:#e9ecef;color:#333}.btn-danger{background:#e74c3c;color:#fff}.btn-warning{background:#f0ad4e;color:#333}.btn-info{background:#607d8b;color:#fff}.btn-primary:hover:not(:disabled){background:#3a7bc8}.btn-success:hover:not(:disabled){background:#45a049}.btn-secondary:hover:not(:disabled){background:#d0d3d6}.btn-danger:hover:not(:disabled){background:#c0392b}.btn-warning:hover:not(:disabled){background:#d9922a}.btn-info:hover:not(:disabled){background:#455a64}.modal-btn-cancel{background:#4caf50;color:#fff}.modal-btn-confirm{background:#e74c3c;color:#fff}.modal-btn-cancel:hover:not(:disabled){background:#45a049}.modal-btn-confirm:hover:not(:disabled){background:#c0392b}[data-theme=dark] .btn-primary{background:#4a90d9!important;color:#e0e0e0!important}[data-theme=dark] .btn-success{background:#4caf50!important;color:#e0e0e0!important}[data-theme=dark] .btn-secondary{background:#3a3d45!important;color:silver!important}[data-theme=dark] .btn-danger{background:#e74c3c!important;color:#e0e0e0!important}[data-theme=dark] .btn-warning{background:#b07d00!important;color:#f5e4b0!important}[data-theme=dark] .btn-info{background:#455a64!important;color:#e0e0e0!important}[data-theme=dark] .modal-btn-cancel{background:#4caf50!important;color:#e0e0e0!important}[data-theme=dark] .modal-btn-confirm{background:#e74c3c!important;color:#e0e0e0!important}@media(prefers-color-scheme:dark){html:not([data-theme=light]) .btn-primary{background:#4a90d9!important;color:#e0e0e0!important}html:not([data-theme=light]) .btn-success{background:#4caf50!important;color:#e0e0e0!important}html:not([data-theme=light]) .btn-secondary{background:#3a3d45!important;color:silver!important}html:not([data-theme=light]) .btn-danger{background:#e74c3c!important;color:#e0e0e0!important}html:not([data-theme=light]) .btn-warning{background:#b07d00!important;color:#f5e4b0!important}html:not([data-theme=light]) .btn-info{background:#455a64!important;color:#e0e0e0!important}html:not([data-theme=light]) .modal-btn-cancel{background:#4caf50!important;color:#e0e0e0!important}html:not([data-theme=light]) .modal-btn-confirm{background:#e74c3c!important;color:#e0e0e0!important}}.tab-content{background:var(--tm-bg-surface);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.loading{text-align:center;padding:2rem;color:var(--tm-text-muted)}.empty-state{text-align:center;padding:2rem;color:var(--tm-text-faint);font-style:italic}.empty-message{text-align:center;color:var(--tm-text-muted);padding:2rem;font-style:italic}.error-text{color:#dc3545}.warning-text{color:#dc3545;font-weight:500}.code{font-family:ui-monospace,monospace;font-size:.85rem;background:#f1f5f9;padding:.1rem .4rem;border-radius:4px}.code.small{font-size:.75rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background:var(--tm-bg-surface-alt);padding:1.5rem;border-radius:8px;text-align:center;border-left:4px solid #4a90d9}.stat-card.warning{border-left-color:#f0ad4e}.stat-card.highlight{border-left-color:#28a745;background:#f0fff4}.stat-value{font-size:2.5rem;font-weight:700;color:var(--tm-text-secondary)}.stat-label{font-size:1rem;color:var(--tm-text-muted);margin-top:.5rem}.stat-sub{font-size:.8rem;color:var(--tm-text-faint);margin-top:.25rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.search-input{flex:1;min-width:200px;padding:.75rem;border:1px solid var(--tm-border);border-radius:6px;font-size:1rem}.filter-select{padding:.75rem;border:1px solid var(--tm-border);border-radius:6px;font-size:1rem;min-width:150px}.filter-input{flex:1;min-width:120px;padding:.5rem;border:1px solid var(--tm-border);border-radius:6px;background:var(--tm-bg-surface);color:var(--tm-text);font-size:.9rem}.data-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--tm-border);color:var(--tm-text-secondary)}.data-table th{background:var(--tm-bg-surface-alt);font-weight:600;color:var(--tm-text-secondary)}.data-table tr:hover{background:var(--tm-bg-surface-alt)}.clickable-row{cursor:pointer}.chat-message-cell{max-width:400px;white-space:pre-wrap;word-break:break-word}.data-table tr.deactivated{opacity:.6;background:#fef5f5}.data-table tr.claimed{opacity:.7;background:#f0fff4}.claimed-date{font-size:.75rem;color:var(--tm-text-muted)}.game-code{font-family:monospace;font-weight:600}.players-cell{cursor:default;border-bottom:1px dotted var(--tm-text-muted)}.player-difficulty-cell{font-size:.8rem;color:var(--tm-text-muted);font-style:italic}.truncate-cell{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.show-mobile-only{display:none}@media(max-width:600px){.hide-mobile{display:none}.show-mobile-only{display:table-cell}.data-table{font-size:.875rem}.data-table th,.data-table td{padding:.5rem}}@media(max-width:768px){.data-table{font-size:.875rem}.data-table th,.data-table td{padding:.5rem}}.role-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.role-user{background:#e3e3e3;color:var(--tm-text-muted)}.role-teacher{background:#d4edda;color:#155724}.role-admin{background:#f8d7da;color:#721c24}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.status-active,.status-inprogress{background:#d4edda;color:#155724}.status-deactivated,.status-abandoned{background:#f8d7da;color:#721c24}.status-guest{background:#fff3cd;color:#856404}.status-completed{background:#cce5ff;color:#004085}.status-pending{background:#fff3cd;color:#856404}.status-accepted{background:#d4edda;color:#155724}.status-declined,.status-expired{background:#e2e3e5;color:#383d41}.status-forfeited{background:#f8d7da;color:#721c24}.type-badge{display:inline-block;padding:.2rem .5rem;background:#e9ecef;border-radius:4px;font-size:.75rem;color:var(--tm-text-secondary)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--tm-border)}.pagination-btns{display:flex;gap:.5rem}.btn{padding:.5rem 1rem;font-size:.875rem}.btn-small{padding:.375rem .75rem;font-size:.8rem}.btn-link{background:none;border:none;padding:0;color:var(--tm-accent, #4a90d9);cursor:pointer;font-size:inherit;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{opacity:.75}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-toggle{background:#e9ecef;color:#495057;border:1px solid #ced4da}.btn-toggle:hover{background:#dee2e6;border-color:#adb5bd}.btn-toggle-active{background:#6c757d;color:#fff;border-color:#6c757d}.btn-toggle-active:hover{background:#5a6268;border-color:#545b62}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--tm-bg-surface);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-large{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--tm-border)}.modal-header h2{margin:0;color:var(--tm-text-secondary)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--tm-text-muted)}.modal-body{padding:1.5rem;color:var(--tm-text-secondary)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--tm-border);background:var(--tm-bg-surface-alt)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.modal-footer-wrap{flex-wrap:wrap;gap:.5rem}.user-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.detail-row{display:flex;gap:.5rem;padding:.5rem;background:var(--tm-bg-surface-alt);border-radius:4px;color:var(--tm-text-secondary)}.detail-row label{font-weight:600;color:var(--tm-text-muted);min-width:100px}.detail-row .code{font-family:monospace;background:#e9ecef;padding:.125rem .5rem;border-radius:4px}.detail-row select{padding:.25rem .5rem;border:1px solid var(--tm-border);border-radius:4px}.detail-row.full-width{grid-column:1 / -1}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--tm-border);border-radius:6px;font-size:1rem;resize:vertical}.form-hint{display:block;margin-top:.25rem;color:var(--tm-text-muted);font-size:.8rem}.game-state-preview{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--tm-border)}.game-state-preview h3{margin:0 0 .5rem}.board-info{color:var(--tm-text-muted)}.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#dc3545;color:#fff;font-size:.7rem;font-weight:600;border-radius:10px;margin-left:6px}.user-name-sub{font-size:.8rem;color:var(--tm-text-faint);margin-left:4px}.inbox-cell{font-weight:500;color:var(--tm-accent)}.inbox-row-preview{display:none}@media(max-width:600px){.inbox-row-preview{display:flex;align-items:center;gap:.5rem;margin-top:.2rem}.inbox-subject-preview{font-size:.8rem;color:var(--tm-text-muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}}.unread-row{font-weight:600;background:#fff8e6}.unread-row:hover{background:#fff3cd}.email-header-info{background:var(--tm-bg-surface-alt);padding:1rem;border-radius:6px;margin-bottom:1rem}.email-header-info .detail-row{padding:.25rem 0;background:transparent}.email-body-section{margin-top:1.5rem}.email-body-section h3{margin:0 0 .75rem;font-size:1rem;color:var(--tm-text-secondary)}.email-body{background:var(--tm-bg-surface);border:1px solid var(--tm-border);border-radius:6px;padding:1rem;max-height:400px;overflow-y:auto;color:var(--tm-text-secondary)}.email-body-text{background:var(--tm-bg-surface);border:1px solid var(--tm-border);border-radius:6px;padding:1rem;max-height:400px;overflow-y:auto;white-space:pre-wrap;font-family:inherit;font-size:.9rem;margin:0;color:var(--tm-text-secondary)}.html-toggle{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--tm-border)}.no-text-body{color:var(--tm-text-faint);font-style:italic;padding:1rem;background:var(--tm-bg-surface-alt);border-radius:6px;margin:0}.reply-section{border-top:2px solid var(--tm-accent);padding-top:1rem}.reply-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;font-size:.85rem;color:var(--tm-text-faint)}.reply-info{background:var(--tm-bg-surface);border:1px solid var(--tm-border);padding:1rem;border-radius:6px;margin-bottom:1rem}.reply-info p{margin:.25rem 0;font-size:.9rem;color:var(--tm-text-secondary)}.reply-textarea{width:100%;padding:.75rem;border:1px solid var(--tm-border);border-radius:6px;font-size:1rem;resize:vertical;font-family:inherit}.inbox-sub-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid var(--tm-border)}.sub-tab-btn{padding:.5rem 1rem;border:none;border-bottom:2px solid transparent;background:none;color:var(--tm-text-muted);cursor:pointer;font-size:.9rem;font-weight:500;margin-bottom:-2px;position:relative}.sub-tab-btn:hover{color:var(--tm-text)}.sub-tab-btn.active{color:var(--tm-accent);border-bottom-color:var(--tm-accent)}.spam-badge{display:inline-block;background:#dc3545;color:#fff;border-radius:9999px;font-size:.7rem;padding:.1rem .4rem;margin-left:.3rem;font-weight:700;line-height:1.2}.spam-tag{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700;white-space:nowrap}.spam-tag-ban{background:#1a1a1a;color:#fff}.spam-tag-sus{background:#dc3545;color:#fff}.filter-type-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.filter-whitelist{background:#d4edda;color:#155724}.filter-blacklist{background:#1a1a1a;color:#fff}.alert{padding:1rem;border-radius:6px;margin-bottom:1rem;font-weight:500}.alert-warning{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.metric-card{background:var(--tm-bg-surface-alt);padding:1.25rem;border-radius:8px;border-left:4px solid #4a90d9}.metric-card.warning{border-left-color:#ffc107;background:#fffbeb}.metric-card.error{border-left-color:#dc3545;background:#fff5f5}.metric-card.highlight{border-left-color:#28a745;background:#f0fff4}.metric-card h3{margin:0 0 .75rem;font-size:.9rem;color:var(--tm-text-muted);text-transform:uppercase}.quota-display{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.quota-used{color:var(--tm-text-secondary)}.quota-separator{color:var(--tm-text-faint);margin:0 .25rem}.quota-limit{color:var(--tm-text-muted)}.quota-remaining{font-size:.85rem;color:var(--tm-text-muted);margin-top:.5rem}.progress-bar{height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:#4a90d9;transition:width .3s ease}.metric-card.warning .progress-fill{background:#ffc107}.metric-card.error .progress-fill{background:#dc3545}.queue-count{font-size:2.5rem;font-weight:700;color:var(--tm-text-secondary)}.queue-label{color:var(--tm-text-muted);font-size:.9rem}.queue-age{font-size:.8rem;color:var(--tm-text-faint);margin-top:.5rem}.rate-info{font-size:1.25rem;font-weight:600;color:var(--tm-text-secondary)}.rate-remaining{color:var(--tm-text-muted);font-size:.9rem;margin-top:.25rem}.action-bar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:var(--tm-bg-surface-alt);border-radius:6px}.queue-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.breakdown-section{background:var(--tm-bg-surface);border:1px solid var(--tm-border);border-radius:6px;padding:1rem}.breakdown-section h4{margin:0 0 .75rem;font-size:.85rem;color:var(--tm-text-muted);text-transform:uppercase}.breakdown-item{display:flex;justify-content:space-between;padding:.375rem 0;border-bottom:1px solid #f0f0f0}.breakdown-item:last-child{border-bottom:none}.breakdown-label{color:var(--tm-text-secondary)}.breakdown-count{font-weight:600;color:var(--tm-accent)}.priority-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.priority-critical{background:#f8d7da;color:#721c24}.priority-high{background:#fff3cd;color:#856404}.priority-medium{background:#d4edda;color:#155724}.priority-low{background:#cce5ff;color:#004085}.priority-lowest{background:#e9ecef;color:#495057}.queue-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#ffc107;color:#212529;font-size:.7rem;font-weight:600;border-radius:10px;margin-left:6px}.queued-emails-section,.failures-section{margin-top:2rem}.queued-emails-section h3,.failures-section h3{margin:0 0 1rem;color:var(--tm-text-secondary);font-size:1.1rem}.test-email-section{margin-bottom:1.5rem;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.test-email-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem;background:var(--tm-bg-surface-alt);border:none;cursor:pointer;font-size:1rem;font-weight:600;color:var(--tm-text-secondary);transition:background .2s}.test-email-header:hover{background:#e9ecef}.test-email-header.expanded{border-bottom:1px solid #e0e0e0}.test-email-title{display:flex;align-items:center;gap:.5rem}.test-email-toggle{font-size:.8rem;color:var(--tm-text-muted)}.test-email-content{padding:1rem;background:var(--tm-bg-surface)}.test-email-controls{display:flex;gap:.75rem;margin-bottom:1rem}.test-email-input{flex:1;padding:.75rem;border:1px solid var(--tm-border);border-radius:6px;font-size:1rem}.test-email-input:focus{outline:none;border-color:var(--tm-accent);box-shadow:0 0 0 2px #4a90d933}.test-email-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.test-email-log-header h4{margin:0;font-size:.9rem;color:var(--tm-text-muted);text-transform:uppercase}.test-email-log{max-height:300px;overflow-y:auto;background:var(--tm-bg-page);border-radius:6px;padding:.75rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem}.log-empty{color:var(--tm-text-faint);font-style:italic;text-align:center;padding:1rem}.log-entry{display:flex;flex-wrap:wrap;gap:.5rem;padding:.375rem 0;border-bottom:1px solid rgba(255,255,255,.1);color:#ccc}.log-entry:last-child{border-bottom:none}.log-entry.log-success{color:#4ade80}.log-entry.log-warning{color:#fbbf24}.log-entry.log-error{color:#f87171}.log-time{color:var(--tm-text-faint)}.log-source{font-weight:600}.log-source.api{color:#60a5fa}.log-source.webhook{color:#a78bfa}.log-email{color:#fff}.log-status{font-weight:600}.log-message-id{color:var(--tm-text-faint);font-size:.75rem}.log-queue-reason{color:#fbbf24}.log-webhook-type{color:#a78bfa;font-size:.75rem}.test-email-hint{margin-top:.75rem;font-size:.8rem;color:var(--tm-text-faint);font-style:italic}.log-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .3rem;background:#6c757d;color:#fff;border-radius:999px;font-size:.7rem;font-weight:600;margin-left:.4rem;vertical-align:middle}.log-sections{display:flex;flex-direction:column;gap:2rem}.log-section{border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;background:#fafafa}.log-section-header{margin-bottom:1.25rem}.log-section-header h2{margin:0 0 .4rem;font-size:1.15rem;color:var(--tm-text-primary)}.log-section-desc{margin:0;font-size:.875rem;color:#6b7280;line-height:1.5}[data-theme=dark] .detail-row select{background:var(--tm-bg-surface-alt);color:var(--tm-text-secondary)}[data-theme=dark] .btn-toggle{background:#2a2d35;color:var(--tm-text-muted);border-color:var(--tm-border)}[data-theme=dark] .btn-toggle:hover{background:#33373f;border-color:var(--tm-border)}[data-theme=dark] .btn-toggle-active{background:#4a4f5a;color:var(--tm-text-secondary);border-color:#4a4f5a}[data-theme=dark] .btn-toggle-active:hover{background:#555b67;border-color:#555b67}[data-theme=dark] .test-email-header:hover{background:var(--tm-bg-surface-alt);filter:brightness(1.15)}[data-theme=dark] .test-email-header.expanded{border-bottom-color:var(--tm-border)}[data-theme=dark] .type-badge,[data-theme=dark] .role-user{background:#2a2d35}[data-theme=dark] .log-section{background:var(--tm-bg-surface-alt);border-color:var(--tm-border)}[data-theme=dark] .log-section-desc{color:var(--tm-text-muted)}[data-theme=dark] .code{background:#1e2530;color:var(--tm-text-secondary)}[data-theme=dark] .error-text{color:#f28b82}[data-theme=dark] .data-table tr.claimed{background:#0d2b1e}[data-theme=dark] .data-table tr.deactivated{background:#2b0d0d}[data-theme=dark] .unread-row{background:#2b2100}[data-theme=dark] .unread-row:hover{background:#3a2d00}[data-theme=dark] .status-active,[data-theme=dark] .status-inprogress,[data-theme=dark] .status-accepted{background:#0d2b1e;color:#4caf7a}[data-theme=dark] .status-deactivated,[data-theme=dark] .status-abandoned,[data-theme=dark] .status-forfeited{background:#2b0d0d;color:#c97070}[data-theme=dark] .status-guest,[data-theme=dark] .status-pending{background:#2b2100;color:#b8963a}[data-theme=dark] .status-completed{background:#0d1f2b;color:#7abfef}[data-theme=dark] .status-declined,[data-theme=dark] .status-expired{background:#2a2a2a;color:#a0a0a0}[data-theme=dark] .role-teacher{background:#0d2b1e;color:#4caf7a}[data-theme=dark] .role-admin{background:#2b0d0d;color:#c97070}[data-theme=dark] .filter-whitelist{background:#0d2b1e;color:#6ee7a0}[data-theme=dark] .filter-blacklist{background:#1a1a1a;color:#e0e0e0}[data-theme=dark] .spam-tag-ban{background:#2a2a2a;color:#e0e0e0}[data-theme=dark] .spam-tag-sus{background:#5c1a1a;color:#f08080}@media(prefers-color-scheme:dark){html:not([data-theme=light]) .detail-row select{background:var(--tm-bg-surface-alt);color:var(--tm-text-secondary)}html:not([data-theme=light]) .btn-toggle{background:#2a2d35;color:var(--tm-text-muted);border-color:var(--tm-border)}html:not([data-theme=light]) .btn-toggle:hover{background:#33373f;border-color:var(--tm-border)}html:not([data-theme=light]) .btn-toggle-active{background:#4a4f5a;color:var(--tm-text-secondary);border-color:#4a4f5a}html:not([data-theme=light]) .btn-toggle-active:hover{background:#555b67;border-color:#555b67}html:not([data-theme=light]) .test-email-header:hover{background:var(--tm-bg-surface-alt);filter:brightness(1.15)}html:not([data-theme=light]) .test-email-header.expanded{border-bottom-color:var(--tm-border)}html:not([data-theme=light]) .type-badge{background:#2a2d35}html:not([data-theme=light]) .role-user{background:#2a2d35}html:not([data-theme=light]) .log-section{background:var(--tm-bg-surface-alt);border-color:var(--tm-border)}html:not([data-theme=light]) .log-section-desc{color:var(--tm-text-muted)}html:not([data-theme=light]) .code{background:#1e2530;color:var(--tm-text-secondary)}html:not([data-theme=light]) .error-text{color:#f28b82}html:not([data-theme=light]) .data-table tr.claimed{background:#0d2b1e}html:not([data-theme=light]) .data-table tr.deactivated{background:#2b0d0d}html:not([data-theme=light]) .unread-row{background:#2b2100}html:not([data-theme=light]) .unread-row:hover{background:#3a2d00}html:not([data-theme=light]) .status-active,html:not([data-theme=light]) .status-inprogress,html:not([data-theme=light]) .status-accepted{background:#0d2b1e;color:#4caf7a}html:not([data-theme=light]) .status-deactivated,html:not([data-theme=light]) .status-abandoned,html:not([data-theme=light]) .status-forfeited{background:#2b0d0d;color:#c97070}html:not([data-theme=light]) .status-guest,html:not([data-theme=light]) .status-pending{background:#2b2100;color:#b8963a}html:not([data-theme=light]) .status-completed{background:#0d1f2b;color:#7abfef}html:not([data-theme=light]) .status-declined,html:not([data-theme=light]) .status-expired{background:#2a2a2a;color:#a0a0a0}html:not([data-theme=light]) .role-teacher{background:#0d2b1e;color:#4caf7a}html:not([data-theme=light]) .role-admin{background:#2b0d0d;color:#c97070}html:not([data-theme=light]) .filter-whitelist{background:#0d2b1e;color:#6ee7a0}html:not([data-theme=light]) .filter-blacklist{background:#1a1a1a;color:#e0e0e0}html:not([data-theme=light]) .spam-tag-ban{background:#2a2a2a;color:#e0e0e0}html:not([data-theme=light]) .spam-tag-sus{background:#5c1a1a;color:#f08080}}:root{--font-greek: "Times New Roman", serif}html,body{overflow-x:hidden;max-width:100vw}#app{width:100%;min-height:100vh;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media(hover:hover){a:hover{background-color:#00bd7e33}}header[data-v-7b2a1075]{line-height:1.5;max-height:100vh}.logo[data-v-7b2a1075]{display:block;margin:0 auto 2rem}nav[data-v-7b2a1075]{width:100%;font-size:12px;text-align:center;margin-top:2rem}nav a.router-link-exact-active[data-v-7b2a1075]{color:var(--color-text)}nav a.router-link-exact-active[data-v-7b2a1075]:hover{background-color:transparent}nav a[data-v-7b2a1075]{display:inline-block;padding:0 1rem;border-left:1px solid var(--color-border)}nav a[data-v-7b2a1075]:first-of-type{border:0}@media(min-width:1024px){header[data-v-7b2a1075]{display:flex;place-items:center;padding-right:calc(var(--section-gap) / 2)}.logo[data-v-7b2a1075]{margin:0 2rem 0 0}header .wrapper[data-v-7b2a1075]{display:flex;place-items:flex-start;flex-wrap:wrap}nav[data-v-7b2a1075]{text-align:left;margin-left:-1rem;font-size:1rem;padding:1rem 0;margin-top:1rem}}
