:root{--bg:#f5f7fb;--panel:#fff;--panel-muted:#f8fafc;--panel-soft:#eef5fb;--ink:#182336;--muted:#667085;--subtle:#8a98ad;--line:#e2e8f0;--line-strong:#cbd5e1;--accent:#176baa;--accent-strong:#105789;--accent-soft:#e8f2fb;--brand-navy:#5b6883;--brand-red:#d7192a;--danger:#b4232a;--danger-soft:#fef2f2;--ok:#0f7b45;--ok-soft:#ecfdf3;--warn:#a15c07;--warn-soft:#fffbeb;--shadow-xs:0 1px 2px rgba(15,23,42,.05);--shadow-sm:0 8px 24px rgba(15,23,42,.06);--shadow-md:0 18px 48px rgba(15,23,42,.12);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--focus-ring:0 0 0 3px rgba(23,107,170,.18)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45}button,input,select{font:inherit}button{border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;min-height:40px;padding:0 14px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}button:hover{border-color:var(--accent);box-shadow:var(--shadow-xs)}button:disabled{cursor:not-allowed;opacity:.65}button:disabled:hover{border-color:var(--line);box-shadow:none;transform:none}button:focus-visible,input:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(23,107,170,.18)}button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.actions button,button.icon{align-items:center;display:inline-flex;gap:8px;justify-content:center}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}input,select{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);min-height:40px;padding:9px 11px;width:100%;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input::placeholder{color:var(--subtle)}input:disabled,select:disabled{background:#f8fafc;color:var(--subtle)}input[type=checkbox]{accent-color:var(--accent);height:16px;min-height:auto;padding:0;width:16px}a{font-weight:700}.file-path,a{color:var(--accent-strong)}.file-path{display:inline-block;font-weight:750;max-width:520px;overflow-wrap:anywhere}.boot-shell{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.boot-panel{align-items:center;color:var(--brand-navy);display:grid;grid-gap:10px;gap:10px;justify-items:center;font-size:13px;font-weight:800}.boot-panel img{height:64px;width:64px}.login-shell{align-items:center;display:flex;min-height:100vh;justify-content:center;padding:32px 20px}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;grid-gap:20px;gap:20px;max-width:420px;padding:32px;width:100%}.login-brand{align-items:center;display:grid;grid-gap:4px;gap:4px;justify-items:start}.login-brand img{height:64px;margin-bottom:4px;width:64px}.login-panel label{display:grid;grid-gap:8px;gap:8px;font-size:13px;font-weight:800}.eyebrow{color:var(--accent-strong);font-size:11px;font-weight:800;letter-spacing:.04em;margin:0 0 4px;text-transform:uppercase}h1,h2,h3{letter-spacing:0;margin:0}h1{color:var(--ink);font-size:28px;font-weight:800;line-height:1.1}h2{font-size:18px;line-height:1.2}h3{color:var(--ink);font-size:16px;font-weight:850;line-height:1.25}.error{background:var(--danger-soft);border:1px solid #fecaca;border-radius:var(--radius-sm);color:var(--danger);margin:0;padding:10px 12px}.admin-layout{grid-template-columns:280px minmax(0,1fr)}.admin-layout,.sidebar{display:grid;min-height:100vh}.sidebar{align-self:start;background:#fff;border-right:1px solid var(--line);box-shadow:var(--shadow-xs);color:var(--ink);grid-template-rows:auto 1fr auto;grid-gap:22px;gap:22px;padding:24px 20px;position:-webkit-sticky;position:sticky;top:0}.brand-block{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:52px 1fr}.brand-block img{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-xs);height:52px;padding:5px;width:52px}.brand-block h1{color:var(--ink);font-size:20px}.sidebar .eyebrow{color:var(--muted)}.nav-list{display:grid;align-content:start;grid-gap:6px;gap:6px}.nav-list button,.sidebar-footer button{align-items:center;background:transparent;border-color:transparent;color:var(--muted);display:flex;font-weight:750;gap:11px;justify-content:flex-start;min-height:44px}.nav-list button.active,.nav-list button:hover,.sidebar-footer button:hover{background:var(--accent-soft);border-color:transparent;box-shadow:none;color:var(--accent-strong)}.sidebar-footer{align-self:end;border-top:1px solid var(--line);padding-top:16px}.sidebar-footer button{width:100%}.content-shell{align-content:start;display:grid;grid-gap:20px;gap:20px;padding:24px}.panel,.run-band,.toolbar-band,.topbar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.topbar{align-items:center;border-left:4px solid var(--accent);display:flex;justify-content:space-between;min-height:58px;padding:12px 14px 12px 16px}.topbar>div{display:grid;grid-gap:2px;gap:2px}.topbar .eyebrow{line-height:1;margin:0}.topbar h2{color:var(--ink);font-size:17px;font-weight:800;line-height:1.2}.topbar .actions button{height:38px;min-height:38px;padding:0 9px;width:38px}.actions{display:flex;gap:8px}.notice{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);font-size:13px;font-weight:750;padding:12px 14px}.notice.info{background:var(--accent-soft);border-color:#bfdbfe;color:var(--accent-strong)}.notice.success{background:var(--ok-soft);border-color:#86efac;color:var(--ok)}.notice.error{background:var(--danger-soft);border-color:#fecaca;color:var(--danger)}.run-band{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(160px,240px) auto;padding:18px}.toolbar-band{align-items:center;display:flex;justify-content:space-between;padding:16px 18px}.toolbar-band div{display:grid;grid-gap:4px;gap:4px}.toolbar-band span{color:var(--muted);font-size:13px}.grid{display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr)}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.page-stack{display:grid;grid-gap:22px;gap:22px}.summary-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);display:grid;grid-gap:8px;gap:8px;padding:18px}.summary-card small,.summary-card span{color:var(--muted);font-size:13px}.summary-card strong{color:var(--ink);font-size:30px;font-weight:850;line-height:1}.summary-card.ok{border-color:#bbf7d0}.summary-card.warn{border-color:#fde68a}.dashboard-grid{display:grid;grid-gap:22px;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.insight-list{display:grid;grid-gap:10px;gap:10px;padding:16px}.insight-item{align-items:center;background:var(--panel-muted);border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:12px}.dashboard-detail p,.flow-summary-card dt,.flow-summary-card span,.insight-item span,.timeline-item span{color:var(--muted);font-size:13px}.insight-item strong{font-size:16px}.dashboard-detail{display:grid;grid-gap:10px;gap:10px;padding:16px}.dashboard-detail p{margin:0}.danger-text{color:var(--danger)!important}.timeline-list{display:grid;grid-gap:10px;gap:10px;padding:16px}.timeline-item{align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);display:grid;grid-gap:12px;gap:12px;grid-template-columns:10px minmax(0,1fr) auto;padding:12px}.timeline-item>div{display:grid;grid-gap:3px;gap:3px}.timeline-dot{background:var(--muted);border-radius:999px;height:10px;width:10px}.timeline-dot.completed{background:var(--ok)}.timeline-dot.failed{background:var(--danger)}.timeline-dot.prepared,.timeline-dot.queued,.timeline-dot.running{background:var(--warn)}.flow-summary-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px}.flow-summary-card{border:1px solid var(--line);border-radius:var(--radius-md);display:grid;grid-gap:14px;gap:14px;padding:14px}.flow-summary-card>div{align-items:center;display:flex;gap:10px;justify-content:space-between}.flow-summary-card dl{display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr auto;margin:0}.flow-summary-card dd,.flow-summary-card dt{margin:0}.flow-summary-card dd{color:var(--ink);font-weight:800;text-align:right}.tab-bar{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);display:flex;gap:8px;padding:8px}.tab-bar button{border-color:transparent;border-radius:var(--radius-sm);min-height:38px}.tab-bar button.active{background:var(--accent);border-color:var(--accent);color:#fff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);overflow:hidden}.panel.wide{grid-row:span 2;overflow-x:auto}.panel-title{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:16px 18px}.panel-title>div{display:grid;grid-gap:4px;gap:4px}.panel-subtitle{color:var(--muted);font-size:13px}.table-controls{background:#fff;border-bottom:1px solid var(--line);gap:12px;justify-content:space-between;padding:12px 16px}.search-field,.table-controls{align-items:center;display:flex}.search-field{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);gap:8px;max-width:420px;padding:0 10px;transition:border-color .16s ease,box-shadow .16s ease,color .16s ease;width:min(100%,420px)}.search-field:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring);color:var(--accent-strong)}.search-field input{background:transparent;border:0;box-shadow:none;min-height:38px;padding:6px 0}.search-field input:focus{box-shadow:none;outline:none}.pager{align-items:center;color:var(--muted);display:flex;font-size:13px;gap:8px;white-space:nowrap}.pager button{height:36px;min-height:36px;padding:0;width:36px}.empty-state{background:var(--panel-muted);color:var(--muted);font-size:13px;margin:0;padding:16px}table{border-collapse:collapse;min-width:860px;width:100%}td,th{border-bottom:1px solid var(--line);font-size:13px;padding:13px 12px;text-align:left;vertical-align:middle}td input{min-width:110px}th{background:var(--panel-muted);color:var(--muted);font-size:12px;font-weight:850;letter-spacing:.02em;text-transform:uppercase}tbody tr{transition:background .14s ease}tbody tr:hover{background:#f9fbfd}tbody tr:last-child td{border-bottom:0}.status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;line-height:1;padding:6px 9px}.status.completed{background:var(--ok-soft);color:var(--ok)}.status.failed{background:var(--danger-soft);color:var(--danger)}.status.prepared,.status.queued,.status.running{background:var(--warn-soft);color:var(--warn)}.danger-button{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.stack{display:grid;grid-gap:12px;gap:12px;padding:16px}.row-card{align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:12px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.row-card:hover{background:#fbfdff;border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.row-card>div:not(.inline-actions):not(.switch-list){display:grid;grid-gap:4px;gap:4px}.row-card span{color:var(--muted);font-size:13px}.inline-actions,.switch-list{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.inline-actions button,.pill{align-items:center;display:inline-flex;gap:6px}.pill{border-radius:999px;font-size:12px;justify-content:center;min-height:32px;padding:0 11px}.pill.enabled{background:var(--ok-soft);border-color:#86efac;color:var(--ok);font-weight:800}.partner-edit{display:grid;grid-gap:8px;gap:8px;grid-template-columns:70px 1fr minmax(160px,1.4fr) 38px}.partner-edit button{padding:0}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(15,23,42,.48);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:20}.modal-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:620px;overflow:hidden;width:100%}.modal-panel.email-modal{max-height:calc(100vh - 48px);max-width:900px;overflow-y:auto}.modal-panel.schedule-modal{max-height:calc(100vh - 48px);max-width:860px;overflow-y:auto}.schedule-grid{padding:18px}.schedule-card,.schedule-grid{display:grid;grid-gap:12px;gap:12px}.schedule-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:16px}.modal-actions,.schedule-card-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.schedule-card-head>div{display:grid;grid-gap:4px;gap:4px}.schedule-card-head span{color:var(--muted);font-size:13px}.check-inline{align-items:center;display:inline-flex;gap:8px;font-size:13px;font-weight:800}.check-inline input{min-height:auto}.schedule-controls{display:grid;grid-gap:10px;gap:10px;grid-template-columns:150px minmax(160px,1fr)}.schedule-controls label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:800}.weekday-list{display:flex;flex-wrap:wrap;gap:8px}.weekday-toggle{min-height:32px;padding:0 10px}.weekday-toggle.active{background:var(--accent-soft);border-color:#86bde5;color:var(--accent-strong);font-weight:800}.modal-actions{border-top:1px solid var(--line);padding:14px 18px}.detail-list{display:grid;grid-template-columns:180px 1fr;margin:0;padding:18px}.email-detail-list{padding-bottom:4px}.email-body{display:grid;grid-gap:10px;gap:10px;padding:0 18px 18px}.email-body pre{background:var(--panel-muted);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:Arial,Helvetica,sans-serif;line-height:1.5;margin:0;overflow-x:auto;padding:14px;white-space:pre-wrap}.detail-list dd,.detail-list dt{border-bottom:1px solid var(--line);margin:0;padding:10px 0}.detail-list dt{color:var(--muted);font-weight:800}@media (max-width:980px){.admin-layout{grid-template-columns:1fr}.sidebar{box-shadow:none;grid-template-rows:auto auto auto;min-height:auto;position:static}.sidebar-footer{align-self:auto}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.content-shell{padding:18px}.dashboard-grid,.grid,.grid.two,.run-band{grid-template-columns:1fr}.flow-summary-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel.wide{grid-row:auto}}@media (max-width:720px){.admin-layout{display:block}.sidebar{gap:16px;padding:18px}.brand-block{grid-template-columns:44px 1fr}.brand-block img{height:44px;width:44px}.flow-summary-grid,.nav-list,.summary-grid{grid-template-columns:1fr}.content-shell{padding:12px}.topbar{align-items:flex-start;gap:12px}h1{font-size:22px}table{min-width:860px}.panel.wide{overflow-x:auto}.partner-edit{grid-template-columns:1fr}.modal-actions,.schedule-card-head{align-items:stretch;display:grid}.schedule-controls{grid-template-columns:1fr}.toolbar-band,.topbar{display:grid;justify-items:stretch}.table-controls{align-items:stretch;display:grid}.search-field{max-width:none;width:100%}.pager{justify-content:space-between}.detail-list{grid-template-columns:1fr}.login-panel{padding:24px}}