.app-notifications {
    position: fixed; top: max(12px, env(safe-area-inset-top)); right: 12px; z-index: 200;
    display: flex; flex-direction: column; gap: 8px; width: min(380px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px); overflow-y: auto; pointer-events: none;
}
.app-notification {
    display: grid; grid-template-columns: 20px minmax(0, 1fr) 32px; gap: 10px; align-items: start;
    padding: 14px; border: 1px solid #d1d5db; border-left: 4px solid #2563eb; border-radius: 8px;
    background: #fff; color: #1f2937; box-shadow: 0 4px 18px rgb(17 24 39 / 16%);
    font: 14px/1.5 Arial, sans-serif; pointer-events: auto;
}
.app-notification > i { margin-top: 4px; color: #2563eb; }
.app-notification-message { min-width: 0; max-height: 180px; overflow-y: auto; overflow-wrap: anywhere; white-space: pre-line; }
.app-notification button { width: 32px; height: 32px; margin-top: -4px; border-radius: 4px; color: #4b5563; background: transparent; }
.app-notification button:hover { background: #f3f4f6; }
.app-notification button:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.app-notification-success { border-left-color: #15803d; }
.app-notification-success > i { color: #15803d; }
.app-notification-error { border-left-color: #b91c1c; }
.app-notification-error > i { color: #b91c1c; }
.app-notification-warning { border-left-color: #a16207; }
.app-notification-warning > i { color: #a16207; }
body:has(.is-navigation-open) .app-notifications { z-index: 30; }
body:has(.workspace-overlay:not(.hidden)) > .app-notifications { display: none; pointer-events: none; }
.workspace-dialog .dialog-notifications {
    position: static; flex-shrink: 0; width: auto; max-height: min(160px, 25dvh);
    margin: 12px 16px 0; overflow-y: auto; pointer-events: auto;
}
.dialog-notifications .app-notification { box-shadow: none; }
.efforts-brand-panel, .efforts-login-brand, .efforts-admin-brand { background: #171c24; color: white; }
.efforts-brand-panel { padding: 20px 16px; }
.efforts-brand-panel img { display: block; width: 152px; max-width: 100%; height: auto; margin-bottom: 12px; }
.efforts-brand-panel h1 { color: white; font-size: 14px; font-weight: 600; }
.efforts-admin-brand { margin: -16px -16px 16px; padding: 20px 16px; }
.efforts-admin-brand img { width: 180px; max-width: 100%; height: auto; }
.efforts-login-brand { display: inline-block; padding: 22px 28px; border-radius: 8px; }
.efforts-login-brand img { display: block; width: 220px; max-width: 100%; height: auto; }
#mobile-header.efforts-mobile-header { background: #171c24; color: white; }
.efforts-mobile-header img { width: 116px; height: auto; flex-shrink: 0; }
.efforts-mobile-header #navigation-toggle { color: white; }
#app-navigation:has(.efforts-brand-panel) #navigation-close { color: white; }
.form-feedback { border: 1px solid #d1d5db; border-radius: 6px; padding: 12px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.form-feedback-error { border-color: #fecaca; color: #991b1b; background: #fef2f2; }
.form-feedback-success { border-color: #bbf7d0; color: #166534; background: #f0fdf4; }
.form-feedback-warning { border-color: #fde68a; color: #854d0e; background: #fffbeb; }
.outreach-overlay { position:fixed; inset:0; z-index:100; background:rgb(17 24 39 / 55%); display:flex; align-items:center; justify-content:center; padding:16px; }
.outreach-dialog { width:min(820px,100%); max-height:calc(100dvh - 32px); background:#fff; border-radius:8px; display:flex; flex-direction:column; box-shadow:0 18px 60px rgb(0 0 0 / 20%); overflow:hidden; animation:outreach-enter 160ms ease-out; }
.outreach-header { display:flex; align-items:start; justify-content:space-between; gap:16px; padding:20px 24px; border-bottom:1px solid #e5e7eb; }
.outreach-header h2 { margin:0; font-size:20px; line-height:1.3; color:#111827; font-weight:600; }
.outreach-header p { margin:4px 0 0; font-size:14px; color:#6b7280; overflow-wrap:anywhere; }
.outreach-header button { width:36px; height:36px; flex:none; border-radius:4px; }
.outreach-body { padding:20px 24px; overflow-y:auto; min-height:0; }
.outreach-body label { display:block; font-size:13px; font-weight:500; color:#374151; margin-bottom:14px; }
.outreach-body input:not([type=checkbox]), .outreach-body select, .outreach-body textarea { display:block; width:100%; margin-top:6px; padding:9px 10px; min-height:40px; border:1px solid #d1d5db; border-radius:6px; color:#111827; font:14px/1.5 Arial,sans-serif; }
.outreach-body input:focus, .outreach-body select:focus, .outreach-body textarea:focus { outline:2px solid #2563eb; outline-offset:1px; }
.outreach-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 16px; }
.outreach-template-options { display:flex; flex-wrap:wrap; gap:0 20px; }
.outreach-template-options label { display:flex; align-items:center; gap:8px; }
.outreach-feedback { font-size:13px; color:#374151; line-height:1.5; overflow-wrap:anywhere; margin:12px 0 0; }
.outreach-footer { border-top:1px solid #e5e7eb; padding:14px 24px; display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.outreach-footer button, .outreach-replace button, .outreach-preview>button { min-height:40px; padding:8px 14px; border:1px solid #d1d5db; border-radius:6px; font-size:14px; font-weight:500; }
.outreach-footer [data-send] { color:#fff; border-color:#047857; background:#047857; }
.outreach-footer button:disabled { opacity:.45; cursor:not-allowed; }
.outreach-preview iframe { width:100%; height:480px; border:1px solid #e5e7eb; margin-top:12px; }
.outreach-replace { padding:12px; margin-bottom:14px; background:#fffbeb; color:#78350f; font-size:13px; border-left:3px solid #d97706; }
.outreach-replace button { margin:8px 8px 0 0; background:white; }
.outreach-dialog [hidden] { display:none!important; }
.outreach-template-picker { display:flex; align-items:center; gap:12px; }
.outreach-template-picker label { flex:1; min-width:0; }
.outreach-template-picker button, .schedule-item-actions button { width:40px; height:40px; border:1px solid #d1d5db; border-radius:6px; color:#374151; flex:none; }
.schedule-item-actions { display:flex; flex-wrap:wrap; gap:4px; }
.schedule-history-table { width:100%; min-width:520px; border-collapse:collapse; font-size:14px; }
.schedule-history-table th,.schedule-history-table td { padding:12px 10px; border-bottom:1px solid #e5e7eb; text-align:left; vertical-align:top; }
.schedule-history-table button { width:40px; height:40px; border:1px solid #d1d5db; border-radius:6px; }
[data-template-manager]>h3 { color:#111827; font-size:18px; }
[data-delete-confirm], [data-cancel-panel] { margin:12px 0; padding:12px; border-left:3px solid #b91c1c; background:#fef2f2; font-size:14px; line-height:1.5; }
[data-delete-confirm] button, [data-cancel-panel] button { min-height:40px; margin:10px 8px 0 0; padding:8px 12px; border:1px solid #d1d5db; border-radius:6px; background:white; }
[data-confirm-cancel], [data-confirm-delete] { color:#b91c1c; }
.ai-search-state { text-align:center; padding:32px 16px; }
.ai-search-symbol { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 20px; border-radius:8px; background:#eff6ff; color:#2563eb; font-size:24px; }
.ai-search-symbol i { animation:ai-thinking 1.8s ease-in-out infinite; }
.ai-search-state h3 { font-size:18px; line-height:1.4; color:#1f2937; margin-bottom:8px; font-weight:600; }
.ai-search-state p { color:#6b7280; font-size:14px; line-height:1.5; }
.ai-search-track { position:relative; overflow:hidden; height:4px; background:#e5e7eb; border-radius:4px; margin:18px auto 0; max-width:300px; }
.ai-search-track>div { height:100%; background:#2563eb; transition:width 400ms ease; }
.ai-search-track.is-indeterminate>div { width:30%!important; animation:ai-scan 1.7s ease-in-out infinite; }
.ai-live-label { display:inline-flex; align-items:center; gap:8px; margin-bottom:20px; font-size:11px; font-weight:600; color:#047857; text-transform:uppercase; }
.ai-live-label::before { content:''; width:6px; height:6px; background:#059669; border-radius:50%; }
@keyframes ai-thinking { 50% { opacity:.5; transform:translateY(-3px); } }
@keyframes ai-scan { from {transform:translateX(-110%);} to {transform:translateX(440%);} }
@keyframes outreach-enter { from {opacity:0; transform:translateY(8px);} to {opacity:1; transform:translateY(0);} }
@media(max-width:600px) {
    .outreach-fields {grid-template-columns:minmax(0,1fr);}
    .outreach-header,.outreach-body {padding:16px;}
    .outreach-body input:not([type=checkbox]), .outreach-body select, .outreach-body textarea {font-size:16px;}
    .outreach-footer {padding:12px 16px;gap:8px;}
    .outreach-footer button {flex:0 1 auto; min-height:42px; padding:8px 12px; font-size:13px; white-space:nowrap;}
    .outreach-overlay {padding:8px;}
    .outreach-dialog {max-height:calc(100dvh - 16px);}
    .app-notification {grid-template-columns:20px minmax(0,1fr) 40px; padding:12px;}
    .app-notification button {width:40px; height:40px;}
    .app-notifications {top:max(60px,env(safe-area-inset-top)); max-height:min(320px,calc(100dvh - 84px));}
    .schedule-history-table {min-width:0; table-layout:fixed;}
    .schedule-history-table th,.schedule-history-table td {padding:10px 5px; overflow-wrap:anywhere; font-size:12px;}
    .schedule-history-table th:last-child {width:46px;}
    .schedule-history-table th:nth-child(3) {width:70px;}
}
@media(prefers-reduced-motion:reduce) { .outreach-dialog,.ai-search-symbol i,.ai-search-track.is-indeterminate>div {animation:none;} .ai-search-track>div {transition:none;} }
