:host,:root{--vector-page:#eef2f5;--vector-surface:#fff;--vector-text:#26313d;--vector-muted:#607080;--vector-shell:#343a40;--vector-primary:#0f8995;--vector-primary-dark:#0d7d88;--vector-primary-soft:#e8f5f6;--vector-info:#17a2b8;--vector-success:#28a745;--vector-warning:#ffc107;--vector-danger:#dc3545;--vector-border:#cfd9e2;--vector-border-strong:#bfcbd6;--vector-head:#f4f7f9;--vector-control:#f9fbfc;--vector-shadow:0 5px 14px rgba(44,62,80,.08);--vector-shadow-panel:0 8px 24px rgba(31,45,61,.08)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{width:100%;min-width:320px;min-height:100%;margin:0;color:var(--vector-text);background:var(--vector-page);font:13px/1.4 Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body{padding:0}body.modal-open{overflow:hidden}
#app{width:100%;min-height:calc(100vh - 48px);padding:12px 14px 44px;color:var(--vector-text);background:var(--vector-page);font:13px/1.4 Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
button,input,select{min-height:36px;color:inherit;background:var(--vector-surface);border:1px solid var(--vector-border-strong);border-radius:6px;font:inherit}
input,select{width:100%;padding:7px 9px;background:var(--vector-control)}
input::placeholder{color:#8995a1}input:focus,select:focus{background:#fff;border-color:var(--vector-primary);box-shadow:0 0 0 3px rgba(15,137,149,.12);outline:0}
button{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;cursor:pointer;font-size:12.5px;font-weight:700;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}button:hover:not(:disabled){transform:translateY(-1px);background:#f1f6f7;box-shadow:0 2px 8px rgba(44,62,80,.06)}button:disabled{cursor:not-allowed;opacity:.48}
button:focus-visible,input:focus-visible,select:focus-visible,[role=row]:focus-visible{outline:2px solid var(--vector-primary);outline-offset:2px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-bottom:10px;padding:12px 14px;background:#fff;border:1px solid var(--vector-border);border-radius:8px;box-shadow:var(--vector-shadow-panel)}
.toolbar button{min-width:112px}.toolbar button:first-child,#saveAlertButton{color:#fff;background:var(--vector-primary);border-color:var(--vector-primary-dark)}.toolbar button:first-child:hover:not(:disabled),#saveAlertButton:hover:not(:disabled){background:var(--vector-primary-dark)}#deleteAlertButton:not(:disabled){color:var(--vector-danger);background:#fff;border-color:#e5a9af}#downloadButton{color:#fff;background:var(--vector-success);border-color:#218838}#downloadButton:hover{background:#218838}#addEmailButton{color:var(--vector-primary-dark);background:#fff;border-color:#a9cfd3}
h2{margin:0;padding:11px 14px;color:#26313d;background:var(--vector-head);border-bottom:1px solid var(--vector-border);font-size:16px}h3{margin:12px 0 7px;color:#34424f;font-size:13.5px}
.form-panel,#listPanel{width:100%;margin-bottom:10px;overflow:hidden;background:#fff;border:1px solid var(--vector-border);border-radius:8px;box-shadow:var(--vector-shadow)}
.form-panel{padding:14px}.form-panel>h2{margin:-14px -14px 14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px 18px}.base-fields{width:100%}.form-grid label,.email-entry label{display:grid;grid-template-columns:minmax(150px,max-content) minmax(160px,1fr);align-items:center;gap:8px;color:#4c5b68;font-size:12px;font-weight:700}
fieldset{min-width:0;margin:12px 0;padding:12px;background:#fff;border:1px solid #d4dee6;border-radius:8px;box-shadow:0 2px 8px rgba(44,62,80,.04)}legend{padding:0 6px;color:#34424f;font-weight:700}
.check-line{display:flex!important;align-items:center;gap:8px;color:#34424f}.check-line[hidden]{display:none!important}.check-line input,.check-grid input,.column-choices input{flex:0 0 auto;width:16px;min-height:16px;height:16px;margin:0;accent-color:var(--vector-primary)}
.transfer{display:grid;grid-template-columns:minmax(190px,1fr) 42px minmax(190px,1fr);gap:10px;align-items:center;margin-top:9px}.transfer[hidden]{display:none}.search-label,.transfer-wide{grid-column:1/-1}.search-label{display:block}.search-label input{max-width:420px}.transfer-pane>label{display:block;margin-bottom:5px;color:#566574;font-size:11.8px}.transfer-select{display:block;width:100%;height:156px;padding:3px;background:#fff}.transfer-select option{padding:6px;border-radius:3px}.transfer-select option:checked{color:#fff;background:var(--vector-primary)}.transfer-controls{display:grid;gap:5px}.transfer-controls button{min-width:38px;min-height:32px;padding:4px;color:#445260;background:#fff;border-color:#bdc9d3;font-size:14px}.transfer-controls button:hover:not(:disabled){color:#fff;background:var(--vector-primary);border-color:var(--vector-primary-dark)}
.check-grid{display:flex;flex-wrap:wrap;gap:7px 14px}.check-grid label{display:flex;align-items:center;gap:6px;min-width:120px;padding:6px 8px;color:#465563;background:#fff;border:1px solid #d3dce3;border-radius:6px;font-size:12px}.check-grid label:has(input:checked){color:#0b6871;background:var(--vector-primary-soft);border-color:var(--vector-primary)}
.condition-panel{margin-top:10px;padding:11px;background:#f6fafb;border-left:4px solid var(--vector-primary);border-radius:0 6px 6px 0}.condition-panel:empty{display:none}.condition-panel label{display:flex;align-items:center;gap:8px;margin:7px 0;color:#455462;font-size:12px;font-weight:600}.condition-panel label>input:not([type=radio]),.condition-panel label>select{max-width:440px}.condition-panel label input[type=radio]{width:16px;min-height:16px;height:16px;accent-color:var(--vector-primary)}
.info{margin-bottom:8px;padding:8px 10px;color:#146373;background:#e8f6f8;border:1px solid #a8dbe2;border-radius:6px}.message,.form-result{margin:8px 0;padding:9px 10px;border:1px solid currentColor;border-radius:6px}.error{color:#a42531;background:#fff1f2}.success,.form-result{color:#206d35;background:#eff8f1}.form-result.error{color:#a42531;background:#fff1f2}
.email-entry{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.email-entry label{display:grid;grid-template-columns:1fr;gap:5px;min-width:220px}.compact{max-width:760px;margin-top:10px}.compact table{min-width:540px}.operator-toggle{margin-top:13px}#operatorMessageWrap{display:flex;align-items:center;gap:8px;margin-top:8px}#operatorMessageWrap[hidden]{display:none}#operatorMessage{max-width:560px}
.form-actions{display:flex;justify-content:flex-end;gap:8px;margin:14px -14px -14px;padding:10px 14px;background:#f9fbfc;border-top:1px solid #dce4ea}.form-actions button:first-child{min-width:127px}
.list-tools{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;background:#fff}.list-tools input{width:min(300px,50vw)}
.table-scroll{overflow:auto;border-top:1px solid var(--vector-border)}table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;font-size:12px}th,td{padding:8px 9px;text-align:left;vertical-align:middle;border-right:1px solid #e0e6eb;border-bottom:1px solid #e1e7ec}th:last-child,td:last-child{border-right:0}thead th{position:sticky;z-index:2;top:0;color:#536171;background:var(--vector-head);font-size:11.5px;font-weight:800;white-space:nowrap}.header-cell{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:3px}.sort-button,.column-menu-button{min-height:30px;padding:2px;color:inherit;background:transparent;border:0;box-shadow:none;font-weight:800}.sort-button{justify-content:flex-start;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.sort-button:hover{color:var(--vector-primary-dark);transform:none;box-shadow:none}.sort-indicator{color:var(--vector-primary)}.column-menu-button{font-size:20px}.column-menu-button:hover{background:#e3eaef;transform:none;box-shadow:none}.data-row{cursor:pointer;background:#fff}.data-row:nth-child(even){background:#fbfcfd}.data-row:hover{background:#f0f7f8}.data-row.selected{background:#e3f3f4;box-shadow:inset 4px 0 var(--vector-primary)}.config-cell{color:#68449a;text-align:center;font-weight:700}
.column-menu{position:fixed;z-index:50;display:grid;gap:3px;width:230px;max-height:310px;overflow:auto;padding:7px;background:#fff;border:1px solid var(--vector-border);border-radius:7px;box-shadow:0 12px 24px rgba(26,36,44,.22)}.column-menu>button{justify-content:flex-start;min-height:35px;color:#465563;background:transparent;border:0}.column-menu>button:hover{background:#eef4f6;transform:none}.column-menu>strong{padding:8px 7px 4px;color:#667484;border-top:1px solid #e1e7eb;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.column-choices{display:grid;gap:2px}.column-choices label{display:flex;align-items:center;gap:7px;min-height:30px;padding:4px 7px;border-radius:4px}.column-choices label:hover{background:#f2f6f8}
.modal-overlay{position:fixed;z-index:60;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(26,36,44,.52)}.modal-box{width:min(430px,100%);padding:20px;background:#fff;border:1px solid var(--vector-border);border-radius:10px;box-shadow:0 16px 30px rgba(26,36,44,.26)}.modal-box h2{margin:-20px -20px 14px;border-radius:10px 10px 0 0}.modal-box p{color:var(--vector-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-actions button:last-child{color:#fff;background:var(--vector-danger);border-color:#bd2130}
@media(max-width:760px){#app{padding:7px 7px 28px}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar button:first-child{grid-column:1/-1}.form-panel{padding:9px}.form-panel>h2{margin:-9px -9px 10px}.form-grid{grid-template-columns:1fr}.form-grid label{grid-template-columns:1fr}.transfer{grid-template-columns:1fr}.search-label,.transfer-wide{grid-column:1}.transfer-controls{grid-template-columns:repeat(4,1fr)}.email-entry{display:grid}.email-entry label{min-width:0}.list-tools{align-items:stretch;flex-direction:column}.list-tools input{width:100%}.form-actions{margin:12px -9px -9px;padding:9px}.form-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
