:root{--navy:#071b31;--blue:#1478ff;--green:#18ae63;--red:#ff4d59;--orange:#ff9817;--purple:#8a4de8;--cyan:#23a9d8;--line:#e3e9f1;--ink:#172033;--muted:#718096}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Segoe UI,sans-serif;background:#f6f8fb;color:var(--ink)}button,input,select{font:inherit}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.45fr .85fr;background:linear-gradient(145deg,#020715,#071d40)}.hero{padding:38px;color:white}.brand{font-size:28px;font-weight:900}.tagline{color:#b9c9df;margin:6px 0 40px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}.hero-copy h1{font-size:50px;line-height:1.08;margin:0 0 24px}.hero-copy em{font-style:normal;color:#14dfea}.hero-copy p{font-size:18px;line-height:1.5}.erp{background:#18e2b2;color:#001c25;padding:0 6px;border-radius:4px;font-weight:900}.metric-row,.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:30px}.metric,.dk{padding:16px;border:1px solid #ffffff22;border-radius:14px;background:#08182dcc}.metric b{display:block;font-size:30px}.dashboard-preview{padding:18px;border:1px solid #2f84ff66;border-radius:20px;background:#07152b;transform:rotate(-2deg)}.dash-head{display:flex;justify-content:space-between}.dash-kpis{grid-template-columns:repeat(3,1fr);margin-top:15px}.dk strong{display:block;margin-top:8px}.mini-chart{height:140px;display:grid;grid-template-columns:1fr 110px;gap:10px;margin-top:12px}.chart-area{position:relative;background:#0b1f3a}.chart-area svg{width:100%;height:100%}.donut{margin:auto;width:80px;height:80px;border-radius:50%;background:conic-gradient(#ff4757 0 35%,#ff9f1c 35% 60%,#12d8ff 60% 80%,#18d89b 80%);mask:radial-gradient(circle 23px,transparent 24px,#000 25px)}.benefits{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;border:1px solid #ffffff20;border-radius:16px}.benefit{padding:16px;border-right:1px solid #ffffff18}.benefit:last-child{border-right:0}.benefit b,.benefit span{display:block}.benefit span{font-size:11px;color:#aabbd2;margin-top:6px}.secure{margin-top:16px;color:#9be7d4}.auth-wrap{display:flex;align-items:center;justify-content:center;padding:30px;background:#eaf1fb}.auth-card{width:min(560px,100%);background:#07152b;color:white;padding:30px;border-radius:26px;box-shadow:0 0 0 2px #1ddcff88,0 20px 60px #001a3b55}.auth-logo{display:flex;gap:12px;align-items:center}.auth-logo h2{font-size:30px;margin:0}.auth-logo span{color:#2ba9ff}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.tab,.demo{padding:13px;border:1px solid #ffffff22;border-radius:10px;background:#0c1b35;color:white}.tab.active,.primary{background:linear-gradient(90deg,#087cff,#2e61ff,#15c7b8);color:white;border:0}.field{margin:14px 0}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.field input{width:100%;padding:13px;border-radius:10px;border:1px solid #ffffff25;background:#061124;color:white}.row{display:flex;justify-content:space-between;font-size:12px}.row a,.legal a{color:#2eb9ff}.primary{width:100%;padding:14px;border-radius:10px;font-weight:800}.auth-msg{display:none;margin-top:12px;padding:10px;border-radius:9px}.auth-msg.ok{display:block;background:#0f7a5540;color:#bfffe5}.auth-msg.err{display:block;background:#a92b3b40;color:#ffd4d8}.divider{text-align:center;color:#8292aa;margin:14px}.demo{width:100%}.trust{display:grid;grid-template-columns:repeat(3,1fr);font-size:10px;margin-top:15px}.trust div{text-align:center}.trust b{display:block}.legal{text-align:center;font-size:10px;color:#8595ab;margin-top:15px}#app{min-height:100vh}.app-shell{display:flex;min-height:100vh}.side{width:255px;background:linear-gradient(180deg,#071b31,#08182a);color:white;padding:22px 15px;display:flex;flex-direction:column}.app-brand{font-size:20px;font-weight:900}.tenant,.sync{border:1px solid #ffffff18;border-radius:12px;padding:13px;margin:16px 0;background:#ffffff08}.tenant small,.sync small{display:block;color:#9bb0c8;margin-top:5px}.nav{display:grid;gap:4px}.nav div{padding:11px;border-radius:9px;cursor:pointer}.nav .active{background:#1c4676}.sidebar-logout{margin-top:14px;width:100%;padding:11px 12px;border:1px solid #ffffff2c;border-radius:9px;background:#ffffff0b;color:#fff;text-align:left;cursor:pointer;font-weight:700}.sidebar-logout:hover{background:#ffffff18;border-color:#ffffff55}.sync{margin-top:auto}.app-main{flex:1;padding:24px 27px}.top{display:flex;justify-content:space-between;gap:16px}.top h1{font-size:36px;margin:0}.actions{display:flex;gap:8px}.btn{background:white;border:1px solid #dce3ec;border-radius:9px;padding:10px 12px;cursor:pointer}.btn.primary{background:var(--navy);color:white}.metrics{display:grid;grid-template-columns:1.1fr repeat(5,1fr);gap:13px;margin-top:22px}.card{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 20px #0f172a09}.score,.metric{padding:18px;color:white}.score{background:linear-gradient(145deg,#092039,#0a2f57)}.score strong{display:block;font-size:38px;margin:18px 0 9px}.track{height:7px;background:#1e4367;border-radius:99px}.track span{display:block;height:100%;background:#ffb02e}.metric strong{display:block;font-size:24px;margin:18px 0 8px}.danger{background:var(--red)}.success{background:var(--green)}.warn{background:var(--orange)}.purple{background:var(--purple)}.cyan{background:var(--cyan)}.grid2{display:grid;grid-template-columns:1.12fr 1fr;gap:13px;margin-top:13px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:13px}.panel{padding:17px}.ph{display:flex;justify-content:space-between}.ph h2{font-size:15px;margin:0}.ph p{font-size:12px;color:var(--muted)}.chart{height:230px;display:flex;align-items:end;gap:10px;padding:20px 8px}.bar{flex:1;background:linear-gradient(180deg,#247af0aa,#247af015);border-top:2px solid #247af0}.finding{display:grid;grid-template-columns:72px 1fr auto;gap:9px;align-items:center;border-bottom:1px solid #edf1f6;padding:11px 0}.badge{font-size:9px;padding:5px;border-radius:5px;color:white;text-align:center;font-weight:800}.crit{background:#ef4444}.high{background:#f97316}.finding strong{font-size:12px}.finding small{display:block;font-size:10px;color:#718096;margin-top:3px}.finding b{font-size:11px}.mini-list{display:grid;gap:9px;margin-top:12px}.mini-list div{display:flex;justify-content:space-between;font-size:11px;border-bottom:1px solid #eef2f7;padding-bottom:9px}.status{margin-top:13px;background:#edfff4;border:1px solid #c6f1d5;border-radius:10px;padding:10px 14px;color:#157347;font-size:11px}.empty-state{padding:22px;color:#718096;text-align:center}.real-badge{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:99px;background:#dcfce7;color:#157a45;font-size:9px;font-weight:800}.import-modal{position:fixed;inset:0;background:#031024bb;display:grid;place-items:center;z-index:100;padding:20px}.import-box{width:min(1050px,96vw);max-height:92vh;overflow:auto;background:white;color:#172033;border-radius:22px}.import-head{display:flex;justify-content:space-between;padding:22px 24px;background:#071b31;color:white}.close-x{background:#ffffff18;color:white;border:0;border-radius:8px}.import-body{padding:22px}.import-steps,.import-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.import-grid{grid-template-columns:1fr 1fr}.step,.ibox{padding:12px;border:1px solid #e2e8f0;border-radius:10px}.ibox label{display:block;font-size:12px;font-weight:800}.ibox select{width:100%;padding:10px;margin-top:6px}.dropzone{border:2px dashed #b9c7da;border-radius:13px;padding:22px;text-align:center;cursor:pointer}.map-row{display:grid;grid-template-columns:220px 1fr 90px;gap:10px;align-items:center;padding:7px 0}.map-row select{padding:8px}.req{color:#ef4444;font-size:10px}.opt{color:#718096;font-size:10px}.preview-wrap{overflow:auto;margin-top:14px}.preview-table{border-collapse:collapse;width:100%;font-size:11px}.preview-table th,.preview-table td{padding:8px;border-bottom:1px solid #edf1f6}.import-actions{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.import-btn{padding:11px 16px;border:0;border-radius:9px;font-weight:800}.import-btn.primary{background:#1478ff;color:white}.import-note{margin-top:12px;padding:10px;background:#eefbf7;color:#176c56;border-radius:9px}@media(max-width:1200px){.auth-shell{grid-template-columns:1fr}.dashboard-preview{display:none}.metrics{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(2,1fr)}}.metric.clickable,.score.clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.metric.clickable:hover,.score.clickable:hover{transform:translateY(-2px);box-shadow:0 10px 28px #102a4322}.analysis-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.analysis-top h1{font-size:34px;margin:0 0 5px}.analysis-top p{margin:0;color:#64748b}.summary-cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:16px}.summary-card{padding:16px}.summary-card small{display:block;color:#64748b;margin-bottom:8px}.summary-card strong{font-size:24px}.data-card{padding:16px;overflow:auto}.data-card h2{margin:0 0 4px}.data-card>p{margin:0 0 14px;color:#64748b;font-size:13px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;position:sticky;top:0}.data-table th,.data-table td{padding:10px 9px;border-bottom:1px solid #e8edf4;white-space:nowrap}.data-table tr.click-row{cursor:pointer}.data-table tr.click-row:hover{background:#f4f8ff}.pill{display:inline-block;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800}.pill.good{background:#dcfce7;color:#166534}.pill.bad{background:#fee2e2;color:#991b1b}.pill.warn2{background:#ffedd5;color:#9a3412}.pill.info{background:#dbeafe;color:#1e40af}.audit-list{display:grid;gap:10px}.audit-item{display:grid;grid-template-columns:82px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #e5ebf2;border-radius:12px;background:white;cursor:pointer}.audit-item:hover{border-color:#8ebcff}.audit-item small{display:block;color:#64748b;margin-top:4px}.trace-modal{position:fixed;inset:0;background:#00142a99;display:flex;align-items:center;justify-content:center;z-index:60;padding:24px}.trace-box{width:min(1100px,96vw);max-height:90vh;background:white;border-radius:18px;box-shadow:0 24px 80px #00152a66;display:flex;flex-direction:column}.trace-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #e6edf5}.trace-head h2{margin:0}.trace-head p{margin:5px 0 0;color:#64748b}.trace-body{padding:18px 22px;overflow:auto}.trace-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.trace-kpi{background:#f8fafc;border:1px solid #e5ebf2;border-radius:11px;padding:12px}.trace-kpi small{display:block;color:#64748b}.trace-kpi b{font-size:18px;display:block;margin-top:5px}.explain{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:10px;padding:12px;margin:12px 0;font-size:13px}.quality{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quality>div{padding:13px;border-radius:10px;border:1px solid #e5ebf2}.quality b{display:block;font-size:18px}.section-actions{display:flex;gap:8px}.empty-analysis{padding:34px;text-align:center;color:#64748b}.formula{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#0f172a;color:#e2e8f0;padding:10px 12px;border-radius:8px;font-size:12px;margin-top:8px;overflow:auto}#dashboardView.analysis-mode>:not(#analysisView){display:none!important}#dashboardView.analysis-mode{display:block!important}#dashboardView.analysis-mode #analysisView{display:block!important}@media(max-width:1100px){.summary-cards,.trace-grid{grid-template-columns:repeat(2,1fr)}.quality{grid-template-columns:1fr}}

/* ERP sync progress */
.sync-primary{min-width:160px;font-weight:800}
.sync-running{min-width:240px;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.sync-progress-panel{margin-top:14px;padding:16px 18px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;font-size:14px}
.sync-progress-panel b{display:block;font-size:16px;margin-bottom:10px}
.sync-progress-panel small{display:block;margin-top:8px;font-weight:700}
.sync-progress-track{height:12px;border-radius:999px;background:#dbeafe;overflow:hidden}
.sync-progress-track span{display:block;height:100%;width:3%;border-radius:inherit;background:currentColor;transition:width .2s ease}
@media(max-width:700px){.sync-primary{width:100%;margin-top:8px}.sync-progress-panel{padding:14px}.sync-running{min-width:0}}


/* Persistent ERP connection diagnostics */
.connector-diag{margin-top:14px;padding:16px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;width:100%}
.connector-diag-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.connector-diag-head small{display:block;margin-top:3px;color:#64748b}
.connector-diag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.connector-diag-cell{padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.connector-diag-cell span,.connector-diag-cell small{display:block}.connector-diag-cell span{font-size:12px;color:#64748b}.connector-diag-cell b{display:block;font-size:20px;margin:3px 0}
.diag-good{color:#166534}.diag-zero{color:#9a3412}.diag-bad{color:#991b1b;font-size:15px!important}.diag-neutral{color:#64748b}
.connector-diag-note{margin-top:10px;font-size:12px;color:#475569}.connector-diag.diag-error{border-color:#fecaca;background:#fef2f2}
@media(max-width:800px){.connector-diag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.connector-diag-grid{grid-template-columns:1fr}.connector-diag-head{align-items:flex-start}.connector-diag{padding:12px}}


/* === Interactive ERP integrations redesign === */
.erp-sync-shell{
  margin:16px 0 20px;padding:20px;border-radius:22px;
  background:
    radial-gradient(circle at 92% 0%,rgba(106,70,255,.10),transparent 28%),
    linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #dfe7f2;box-shadow:0 14px 40px rgba(7,27,49,.08);overflow:hidden;
}
.erp-sync-titlebar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.erp-sync-titlebar h2{margin:3px 0 4px;font-size:26px}.erp-sync-titlebar p{margin:0;color:#6d7b91;font-size:13px}
.sync-kicker{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6f42ff}
.sync-title-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.sync-live-pill{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid}
.sync-live-pill i{width:8px;height:8px;border-radius:50%;display:block;box-shadow:0 0 0 4px currentColor;background:currentColor}
.sync-live-pill.ok{color:#0b8a4d;background:#ecfff5;border-color:#baf1d2}.sync-live-pill.bad{color:#c43b43;background:#fff1f2;border-color:#ffd0d4}.sync-live-pill.warn{color:#b56a00;background:#fff8e7;border-color:#ffe3a9}
.sync-ghost-btn{border:1px solid #dce4f0;background:#fff;color:#314158;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer;transition:.2s}
.sync-ghost-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(31,58,94,.1)}

.sync-overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.sync-stat-card{display:flex;align-items:center;gap:11px;min-height:98px;padding:14px;border-radius:16px;border:1px solid #e7edf5;background:#fff;position:relative;overflow:hidden;transition:.2s}
.sync-stat-card:before{content:"";position:absolute;inset:auto 0 0;height:3px;background:currentColor;opacity:.9}
.sync-stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(23,48,82,.08)}
.sync-stat-card small,.sync-stat-card em{display:block}.sync-stat-card small{color:#718096;font-size:11px}.sync-stat-card b{display:block;font-size:17px;margin:4px 0;color:#172033}.sync-stat-card em{font-style:normal;font-size:11px;color:currentColor;font-weight:800}
.sync-stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:currentColor;color:white;font-weight:900;flex:0 0 auto;box-shadow:inset 0 0 0 999px rgba(255,255,255,.08)}
.sync-stat-card.green{color:#17a85f}.sync-stat-card.blue{color:#2b78ff}.sync-stat-card.purple{color:#8756e8}.sync-stat-card.orange{color:#ff8a00}.sync-stat-card.cyan{color:#10a6b9}

.sync-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.sync-action-card{border:0;border-radius:17px;padding:15px 16px;color:#fff;display:grid;grid-template-columns:42px 1fr 22px;align-items:center;gap:10px;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(35,59,92,.14);transition:transform .18s,box-shadow .18s,filter .18s}
.sync-action-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(35,59,92,.2);filter:saturate(1.08)}
.sync-action-card:active{transform:translateY(0)}.sync-action-card:disabled{cursor:wait;opacity:.78}
.sync-action-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ffffff20;font-size:20px}.sync-action-card b,.sync-action-card small{display:block}.sync-action-card b{font-size:15px}.sync-action-card small{font-size:11px;margin-top:3px;color:#ffffffd0}.sync-action-card>i{font-style:normal;font-size:20px}
.sync-action-card.test{background:linear-gradient(135deg,#06995b,#24c96f)}
.sync-action-card.sync{background:linear-gradient(135deg,#0783ff,#7657ef 58%,#e54ebc)}
.sync-action-card.history{background:linear-gradient(135deg,#ff5b2d,#ffad0b)}
.sync-action-card.credential{background:linear-gradient(135deg,#263b73,#536acb)}
.sync-action-card.sync-running{animation:syncGlow 1.2s ease-in-out infinite alternate}
@keyframes syncGlow{from{box-shadow:0 10px 24px rgba(80,87,238,.28)}to{box-shadow:0 16px 38px rgba(229,78,188,.45)}}

.sync-tip{margin:10px 0 16px;padding:11px 13px;border-radius:12px;background:linear-gradient(90deg,#f3f1ff,#f8faff);border:1px solid #e5e1ff;color:#556179;font-size:12px}
.sync-diagnostic-card{border:1px solid #e4eaf3;border-radius:16px;background:#fbfdff;padding:15px}
.sync-section-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.sync-section-head h3{margin:0;font-size:16px}.sync-section-head p{margin:3px 0 0;color:#78869b;font-size:11px}.sync-section-head>span{font-size:11px;color:#68778d}
.sync-dataset-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.sync-dataset-mini,.sync-live-dataset{padding:11px;border-radius:12px;background:#fff;border:1px solid #e7edf5;position:relative;overflow:hidden}
.sync-dataset-mini:before,.sync-live-dataset:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:currentColor}
.sync-dataset-mini span,.sync-live-dataset span{display:block;font-size:10px;color:#718096}.sync-dataset-mini b,.sync-live-dataset b{display:block;font-size:16px;margin-top:4px;color:#172033;overflow-wrap:anywhere}
.sync-dataset-mini.green,.sync-live-dataset.green{color:#17a85f}.sync-dataset-mini.blue,.sync-live-dataset.blue{color:#2b78ff}.sync-dataset-mini.orange,.sync-live-dataset.orange{color:#ff8a00}.sync-dataset-mini.purple,.sync-live-dataset.purple{color:#9b4de8}.sync-dataset-mini.pink,.sync-live-dataset.pink{color:#dd4da4}.sync-dataset-mini.cyan,.sync-live-dataset.cyan{color:#10a6b9}
.sync-error-banner{margin-top:12px;padding:12px 14px;border:1px solid #ffc8cd;background:#fff3f4;border-radius:12px;color:#a72d37;font-size:12px}.sync-error-banner code{background:#ffe1e4;padding:3px 6px;border-radius:6px}
.sync-security-strip{margin-top:12px;padding:11px 13px;border-radius:12px;background:#f0f7ff;border:1px solid #d5e8ff;color:#41617f;font-size:11px}
.sync-security-card{border-top:3px solid #6d54e6}.sync-head-primary{background:linear-gradient(135deg,#0b7dff,#7256ef)!important;color:#fff!important;border:0!important;font-weight:900}.sync-head-secondary{font-weight:800}

.sync-progress-host{margin-top:14px}
.sync-progress-dashboard{border-radius:18px;padding:16px;background:linear-gradient(145deg,#071a32,#0a1630 60%,#17113b);color:#fff;box-shadow:0 18px 40px rgba(5,20,45,.22);border:1px solid #ffffff16}
.sync-progress-dashboard.has-error{background:linear-gradient(145deg,#35121a,#24111a)}
.sync-progress-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:14px}.sync-progress-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px}.sync-progress-head b{font-size:15px}.sync-progress-head small{grid-column:2;color:#9fb0ca;margin-top:3px;font-size:11px}.sync-progress-head code{background:#ffffff10;border:1px solid #ffffff12;border-radius:8px;padding:7px 9px;color:#a8b9d3;font-size:10px}
.sync-pulse-dot{width:10px;height:10px;border-radius:50%;background:#28dc7c;margin-top:5px;box-shadow:0 0 0 0 rgba(40,220,124,.6);animation:pulseDot 1.4s infinite}
@keyframes pulseDot{70%{box-shadow:0 0 0 8px rgba(40,220,124,0)}100%{box-shadow:0 0 0 0 rgba(40,220,124,0)}}
.sync-progress-main{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}
.sync-ring{--p:0;display:grid;place-items:center;width:138px;height:138px;margin:auto;border-radius:50%;background:conic-gradient(#31d875 calc(var(--p)*1%),#1d2b4b 0);position:relative}
.sync-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#08172e}
.sync-ring>div{z-index:1;text-align:center}.sync-ring strong{display:block;font-size:29px}.sync-ring small{color:#9eb0c9}
.sync-steps{display:grid;gap:8px}.sync-step-row{display:grid;grid-template-columns:30px 1fr 48px;gap:9px;align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:11px;padding:9px}.sync-step-row>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#ffffff10;font-size:11px}.sync-step-row b{font-size:11px}.sync-step-row>strong{font-size:11px;text-align:right;color:#8fa4c0}.sync-step-track{height:7px;margin-top:6px;background:#263451;border-radius:999px;overflow:hidden}.sync-step-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22d476,#34e77f);transition:width .25s ease}.sync-step-row.active .sync-step-track i{background:linear-gradient(90deg,#258cff,#9b5cf0)}.sync-step-row.done>span{background:#0f7d4c;color:#8fffc0}
.sync-live-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}.sync-live-dataset{background:#ffffff08;border-color:#ffffff0d}.sync-live-dataset span{color:#99aac1}.sync-live-dataset b{color:#fff;font-size:14px}
.sync-progress-note{margin-top:12px;padding-top:10px;border-top:1px solid #ffffff12;color:#95a8c4;font-size:10px}

.sync-help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sync-help-grid>div{padding:14px;border:1px solid #e5ebf4;border-radius:12px;background:#f8fbff}.sync-help-grid b,.sync-help-grid span{display:block}.sync-help-grid span{font-size:12px;color:#6b798d;margin-top:4px}.sync-history-wrap{overflow:auto}.sync-history-wrap .data-table{min-width:720px}

@media(max-width:1200px){
  .sync-overview-grid{grid-template-columns:repeat(3,1fr)}
  .sync-action-grid{grid-template-columns:repeat(2,1fr)}
  .sync-dataset-grid,.sync-live-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .erp-sync-shell{padding:14px;border-radius:16px}
  .erp-sync-titlebar{display:block}.sync-title-actions{justify-content:flex-start;margin-top:10px}
  .sync-overview-grid{grid-template-columns:1fr 1fr}
  .sync-action-grid{grid-template-columns:1fr}
  .sync-dataset-grid,.sync-live-grid{grid-template-columns:1fr 1fr}
  .sync-progress-main{grid-template-columns:1fr}.sync-ring{width:118px;height:118px}
  .sync-help-grid{grid-template-columns:1fr}
}
@media(max-width:460px){
  .sync-overview-grid,.sync-dataset-grid,.sync-live-grid{grid-template-columns:1fr}
  .sync-section-head{display:block}.sync-section-head>span{display:block;margin-top:6px}
  .sync-progress-head{display:block}.sync-progress-head code{display:inline-block;margin-top:8px}
}


/* === Global light/dark theme === */
html[data-theme="dark"],body[data-theme="dark"]{
  --navy:#071426;--blue:#2d8cff;--green:#22d07a;--red:#ff6570;--orange:#ff9c26;--purple:#8c62ff;--cyan:#24c3d6;
  --line:#1f2b45;--ink:#f7f9ff;--muted:#9aa9c1;
}
.theme-toggle{
  position:fixed;top:14px;right:14px;z-index:120;display:flex;align-items:center;gap:8px;
  border:1px solid #d9e1ec;background:#ffffff;color:#1c2940;border-radius:999px;padding:9px 12px;
  box-shadow:0 8px 24px rgba(18,34,58,.12);cursor:pointer;font-weight:800;font-size:12px;transition:.2s;
}
.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(18,34,58,.18)}
.theme-toggle-icon{font-size:16px}.theme-toggle-label{white-space:nowrap}
html[data-theme="dark"] body{background:#050b18;color:#e9eef8}
html[data-theme="dark"] .theme-toggle{background:#10182b;color:#eef4ff;border-color:#2a3a5f;box-shadow:0 8px 28px rgba(0,0,0,.35)}
html[data-theme="dark"] .app-main{background:
  radial-gradient(circle at 78% -10%,rgba(100,70,255,.11),transparent 30%),
  linear-gradient(180deg,#070d1b,#08101f 44%,#060b16);
  color:#edf3ff;min-height:100vh
}
html[data-theme="dark"] .side{background:linear-gradient(180deg,#070b19,#091126 56%,#070c18);border-right:1px solid #1d2945}
html[data-theme="dark"] .tenant,html[data-theme="dark"] .sync{background:#ffffff08;border-color:#ffffff14}
html[data-theme="dark"] .nav div{color:#c4cfe1}
html[data-theme="dark"] .nav .active{background:linear-gradient(90deg,#342067,#53238f);color:#fff;box-shadow:inset 3px 0 0 #8a64ff}
html[data-theme="dark"] .sidebar-logout{background:#ffffff08;border-color:#ffffff18}
html[data-theme="dark"] .top h1,
html[data-theme="dark"] .analysis-top h1,
html[data-theme="dark"] .analysis-top h2{color:#f8fbff}
html[data-theme="dark"] .top p,
html[data-theme="dark"] .analysis-top p{color:#93a1ba}
html[data-theme="dark"] .card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .summary-card,
html[data-theme="dark"] .data-card{
  background:linear-gradient(180deg,#10172a,#0d1424);border-color:#1f2d49;color:#eaf0fb;
  box-shadow:0 14px 35px rgba(0,0,0,.16)
}
html[data-theme="dark"] .summary-card span,
html[data-theme="dark"] .summary-card small,
html[data-theme="dark"] .metric label,
html[data-theme="dark"] .metric small,
html[data-theme="dark"] .panel p,
html[data-theme="dark"] .card p{color:#8f9db6}
html[data-theme="dark"] .btn{background:#111a2d;color:#eaf1ff;border-color:#293853}
html[data-theme="dark"] .btn:hover{background:#17233a}
html[data-theme="dark"] .btn.primary{background:linear-gradient(135deg,#1b79ff,#6947eb);border:0}
html[data-theme="dark"] .quality>div,
html[data-theme="dark"] .trace-kpi,
html[data-theme="dark"] .audit-item,
html[data-theme="dark"] .finding,
html[data-theme="dark"] .mini-list>div{
  background:#0d1527;border-color:#1f2c47;color:#edf2fb
}
html[data-theme="dark"] .data-table{color:#e8eef8}
html[data-theme="dark"] .data-table th{background:#111a2e;color:#b8c5d8;border-color:#24334f}
html[data-theme="dark"] .data-table td{border-color:#1c2942}
html[data-theme="dark"] .data-table tr:hover td{background:#111b30}
html[data-theme="dark"] .trace-box,
html[data-theme="dark"] .import-box{background:#0c1425;color:#eef3fc;border:1px solid #253451}
html[data-theme="dark"] .trace-head,
html[data-theme="dark"] .import-head{border-color:#22324e}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] select,
html[data-theme="dark"] input{background:#0a1222;color:#eef4ff;border-color:#2a3955}
html[data-theme="dark"] .explain{background:#0f1a2d;border-color:#243552;color:#b7c5d8}
html[data-theme="dark"] .status{color:#90a0b8}

/* Integration page, dark version closely matching approved mockup */
html[data-theme="dark"] .erp-sync-shell{
  background:
    radial-gradient(circle at 85% -10%,rgba(112,72,255,.15),transparent 32%),
    linear-gradient(180deg,#0b1021,#0a1123 52%,#09101e);
  border-color:#202c49;box-shadow:0 20px 55px rgba(0,0,0,.35);color:#f4f7ff
}
html[data-theme="dark"] .erp-sync-titlebar h2{color:#fff}
html[data-theme="dark"] .erp-sync-titlebar p{color:#8fa0bc}
html[data-theme="dark"] .sync-kicker{color:#a98cff}
html[data-theme="dark"] .sync-ghost-btn{background:#0f182b;border-color:#2a3a5b;color:#bfeaff}
html[data-theme="dark"] .sync-stat-card{
  background:linear-gradient(180deg,#10172a,#0d1425);border-color:#1f2d4a;box-shadow:none
}
html[data-theme="dark"] .sync-stat-card b{color:#f5f8ff}
html[data-theme="dark"] .sync-stat-card small{color:#8f9eb8}
html[data-theme="dark"] .sync-action-card{box-shadow:0 14px 34px rgba(0,0,0,.25)}
html[data-theme="dark"] .sync-tip{
  background:linear-gradient(90deg,#171735,#11172b);border-color:#2b2d59;color:#a8b3c9
}
html[data-theme="dark"] .sync-diagnostic-card{
  background:linear-gradient(180deg,#0e1628,#0b1323);border-color:#1f2c47
}
html[data-theme="dark"] .sync-section-head h3{color:#f6f9ff}
html[data-theme="dark"] .sync-section-head p,
html[data-theme="dark"] .sync-section-head>span{color:#8494ae}
html[data-theme="dark"] .sync-dataset-mini{
  background:#0d1627;border-color:#1f2d49
}
html[data-theme="dark"] .sync-dataset-mini b{color:#eef4ff}
html[data-theme="dark"] .sync-security-strip{
  background:linear-gradient(90deg,#171435,#101730);border-color:#302a61;color:#aebad0
}
html[data-theme="dark"] .sync-security-card{
  background:linear-gradient(180deg,#0f172a,#0b1323);border-color:#262f51;border-top-color:#7855ff
}
html[data-theme="dark"] .sync-live-pill.ok{background:#0b2a20;border-color:#144d38;color:#43e394}
html[data-theme="dark"] .sync-live-pill.bad{background:#2b1219;border-color:#5c2531;color:#ff8390}
html[data-theme="dark"] .sync-live-pill.warn{background:#2b2411;border-color:#5b4c1d;color:#ffc75a}
html[data-theme="dark"] .connector-diag{background:#0c1526;border-color:#263652}
html[data-theme="dark"] .connector-diag-cell{background:#10192b;border-color:#263651}
html[data-theme="dark"] .connector-diag-cell span,
html[data-theme="dark"] .connector-diag-cell small,
html[data-theme="dark"] .connector-diag-note{color:#8fa0ba}
html[data-theme="dark"] .connector-diag.diag-error{background:#2b1218;border-color:#5d2631}

/* Auth page theme */
html[data-theme="light"] .auth-shell{background:linear-gradient(145deg,#eef4ff,#dbe7f8)}
html[data-theme="light"] .hero{color:#14213a}
html[data-theme="light"] .tagline,
html[data-theme="light"] .hero-copy p{color:#53627a}
html[data-theme="light"] .dashboard-preview{background:#ffffff;color:#14213a;border-color:#b7d7ff}
html[data-theme="light"] .auth-wrap{background:#edf3fb}
html[data-theme="light"] .auth-card{background:#ffffff;color:#172033;box-shadow:0 18px 50px #14335c22}
html[data-theme="light"] .tab,
html[data-theme="light"] .demo{background:#f7f9fc;color:#223049;border-color:#dce4ef}
html[data-theme="light"] .field input{background:#fff;color:#172033;border-color:#d8e0ea}
html[data-theme="light"] .trust div{color:#46556c}
html[data-theme="light"] .legal{color:#64748b}

@media(max-width:1024px){
  .theme-toggle{top:10px;right:10px}
}
@media(max-width:520px){
  .theme-toggle{padding:8px 9px}.theme-toggle-label{display:none}
}


/* Theme control belongs to navigation; never floats over content */
.theme-toggle-slot{padding:0 12px 10px}
.theme-toggle-slot .theme-toggle{
  position:static;inset:auto;width:100%;box-sizing:border-box;justify-content:center;
  margin:0;padding:9px 11px;box-shadow:none;z-index:auto;
}
.theme-toggle-slot .theme-toggle:hover{transform:none;box-shadow:none}
@media(max-width:1024px){
  .theme-toggle-slot{padding:0 8px 8px}
  .theme-toggle-slot .theme-toggle{position:static;top:auto;right:auto}
}
@media(max-width:520px){
  .theme-toggle-slot .theme-toggle-label{display:inline}
}


/* === Approved IXC synchronization visual === */
.ixc-approved{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:#050b18;color:#f7f9ff;padding:22px;border:1px solid #1c2945;border-radius:18px;box-shadow:0 22px 60px #0005}
.ixc-page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.ixc-page-head h2{font-size:28px;margin:0 0 5px;letter-spacing:-.04em}.ixc-page-head p{margin:0;color:#8997af;font-size:12px}
.ixc-head-actions{display:flex;gap:10px;align-items:stretch}.ixc-online,.ixc-last,.ixc-refresh,.ixc-help{border-radius:11px;border:1px solid #23365d;background:#0b1427;color:#eef4ff;padding:10px 14px;font-weight:800}
.ixc-online{display:flex;align-items:center;color:#39e881;background:#092219;border-color:#123e2d}.ixc-last{display:grid;grid-template-columns:auto 1fr;column-gap:8px}.ixc-last small{color:#9aa8bd;font-size:9px}.ixc-last b{grid-column:2;font-size:12px}.ixc-refresh,.ixc-help{cursor:pointer}.ixc-refresh{background:#11172e;border-color:#5a47dc}.ixc-help{color:#31c9ff;border-color:#1676a4;background:#071725}
.ixc-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.ixc-kpis>div{display:flex;gap:12px;align-items:center;min-height:94px;padding:13px;border:1px solid #1d2d4c;border-radius:12px;background:linear-gradient(145deg,#0d1629,#0a1222)}.ixc-kpis i{display:grid;place-items:center;width:46px;height:46px;border-radius:11px;background:#ffffff0b;font-style:normal;font-size:21px}.ixc-kpis span{font-size:11px;color:#c1c9d7}.ixc-kpis b,.ixc-kpis em{display:block}.ixc-kpis b{font-size:17px;color:#fff;margin:5px 0}.ixc-kpis em{font-size:10px;font-style:normal}.ixc-kpis .green i,.ixc-kpis .green em{color:#28df7a}.ixc-kpis .purple i,.ixc-kpis .purple em{color:#8e6aff}.ixc-kpis .blue i,.ixc-kpis .blue em{color:#28a8ff}.ixc-kpis .orange i,.ixc-kpis .orange em{color:#ffa20c}
.ixc-actions{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:14px}.ixc-actions button{min-height:88px;border:0;border-radius:12px;color:#fff;display:grid;grid-template-columns:52px 1fr 40px;align-items:center;gap:10px;padding:13px 16px;text-align:left;cursor:pointer;box-shadow:0 14px 32px #0005;transition:.18s}.ixc-actions button:hover{transform:translateY(-2px);filter:brightness(1.08)}.ixc-actions i{display:grid;place-items:center;width:48px;height:48px;border-radius:11px;background:#ffffff1b;font-style:normal;font-size:23px}.ixc-actions b,.ixc-actions small{display:block}.ixc-actions b{font-size:17px}.ixc-actions small{margin-top:4px;color:#fff;font-size:11px}.ixc-actions strong{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#fff;color:#4e3fd8;font-size:19px}.ixc-actions .test{background:linear-gradient(135deg,#04945c,#16d16d)}.ixc-actions .syncnow{background:linear-gradient(115deg,#087dff 0%,#5149ed 55%,#9b25ed 100%);outline:1px solid #8a64ff;box-shadow:0 14px 35px #542de85c}.ixc-actions .history{background:linear-gradient(120deg,#ff9912,#ff4d00)}
.ixc-tip{margin:16px 0;padding:13px 15px;border:1px solid #332d6d;border-radius:10px;background:linear-gradient(90deg,#15152e,#11152d);color:#aeb9ce;font-size:11px}
.ixc-work-grid{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(270px,.85fr);gap:14px}.ixc-progress-placeholder,.ixc-log{border:1px solid #1d2d4b;border-radius:13px;background:linear-gradient(145deg,#0b1426,#09111f);padding:15px}.ixc-progress-title{font-weight:900;font-size:12px}.ixc-progress-title code{float:right;background:#171a3b;color:#a9a6df;padding:7px 9px;border-radius:7px;font-size:9px}.ixc-idle{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:20px;padding-top:18px}.ixc-idle-ring{width:142px;height:142px;border-radius:50%;margin:auto;display:grid;place-items:center;align-content:center;background:radial-gradient(circle,#0b1427 58%,transparent 60%),conic-gradient(#32df7d 0 100%,#1e2a48 0);box-shadow:0 0 30px #24d96d24}.ixc-idle-ring strong{font-size:28px}.ixc-idle-ring small{color:#a8b4c7}.ixc-idle-lines{display:grid;gap:8px}.ixc-idle-lines p{margin:0;padding:10px 12px;background:#0e1729;border:1px solid #1a2945;border-radius:8px;font-size:11px}.ixc-idle-lines b{float:right}
.ixc-log h3{font-size:12px;margin:0 0 14px}.ixc-log>div{display:grid;grid-template-columns:45px 12px 1fr;gap:7px;min-height:48px}.ixc-log time{font-size:10px;color:#9cabc0}.ixc-log>div>i{width:8px;height:8px;border-radius:50%;background:#31db75;margin-top:3px;box-shadow:0 0 10px #31db75}.ixc-log span b,.ixc-log span small{display:block}.ixc-log span b{font-size:10px}.ixc-log span small{font-size:9px;color:#8e9db4;margin-top:3px}.ixc-log button{width:100%;margin-top:8px;padding:11px;border:1px solid #26365b;border-radius:8px;background:#141b37;color:#fff;cursor:pointer}.ixc-no-log{color:#8290a7;font-size:11px}
.ixc-data-block{margin-top:14px;padding:15px;border:1px solid #1d2d4b;border-radius:13px;background:#0a1324}.ixc-data-block h3{font-size:11px;margin:0 0 12px}.ixc-data-block>div{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.ixc-dataset{border:1px solid #24324b;border-radius:10px;padding:12px;background:#0d1728}.ixc-dataset span,.ixc-dataset small{display:block}.ixc-dataset span{font-size:10px}.ixc-dataset b{display:block;font-size:18px;margin:8px 0}.ixc-dataset b em{font-style:normal;color:#8d9bb1;font-size:13px}.ixc-dataset small{font-size:9px}.ixc-dataset>i{display:block;height:4px;background:#1c2941;border-radius:99px;margin-top:8px;overflow:hidden}.ixc-dataset>i u{display:block;height:100%;background:currentColor}.ixc-dataset.green{color:#45e45e}.ixc-dataset.blue{color:#27a8ff}.ixc-dataset.orange{color:#ffae00}.ixc-dataset.purple{color:#e653e9}.ixc-dataset.cyan{color:#26c8d6}
.ixc-bottom-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:#718198;font-size:10px}.ixc-bottom-actions button{background:#111a30;color:#c8d4e7;border:1px solid #293957;border-radius:8px;padding:8px 11px;cursor:pointer}
html[data-theme="light"] .ixc-approved{background:#f6f9ff;color:#172033;border-color:#dbe4f0}.ixc-approved .sync-progress-dashboard{margin:0}
@media(max-width:1200px){.ixc-page-head{display:block}.ixc-head-actions{margin-top:12px;flex-wrap:wrap}.ixc-kpis{grid-template-columns:repeat(3,1fr)}.ixc-work-grid{grid-template-columns:1fr}.ixc-data-block>div{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ixc-approved{padding:13px}.ixc-kpis{grid-template-columns:1fr 1fr}.ixc-actions{grid-template-columns:1fr}.ixc-idle{grid-template-columns:1fr}.ixc-data-block>div{grid-template-columns:1fr 1fr}.ixc-head-actions>*{flex:1 1 45%}}
@media(max-width:460px){.ixc-kpis,.ixc-data-block>div{grid-template-columns:1fr}.ixc-head-actions>*{flex:1 1 100%}}


/* === Global action-button standardization ===
   Shared visual language for dashboard and every internal screen. */
body{
  font-family:"Segoe UI Variable","Inter","Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:-.005em;
}
.top h1,.analysis-top h1,.analysis-top h2,.ixc-page-head h2{
  font-family:"Segoe UI Variable Display","Inter","Segoe UI",Roboto,Arial,sans-serif;
  font-weight:780;
  letter-spacing:-.035em;
}
.actions,.analysis-actions,.section-actions{
  gap:10px;
}
.actions .btn,
.analysis-top .btn,
.section-actions .btn{
  min-height:42px;
  padding:10px 15px;
  border-radius:11px;
  border:1px solid #cfd9e8;
  background:linear-gradient(180deg,#ffffff,#f5f8fc);
  color:#23324a;
  font-weight:750;
  box-shadow:0 4px 12px rgba(23,48,82,.06);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease;
}
.actions .btn:hover,
.analysis-top .btn:hover,
.section-actions .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 22px rgba(23,48,82,.12);
  border-color:#b9c8dc;
}
.actions .btn:active,
.analysis-top .btn:active,
.section-actions .btn:active{
  transform:translateY(0);
}

/* Calendar / date control — same appearance wherever this control is reused. */
#periodLabel,
[data-action="period"],
.btn-period{
  background:linear-gradient(135deg,#392c80,#5c43c8)!important;
  border-color:#725cf0!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(94,70,210,.24)!important;
}
#periodLabel:hover,
[data-action="period"]:hover,
.btn-period:hover{
  filter:brightness(1.08);
  box-shadow:0 12px 28px rgba(94,70,210,.34)!important;
}

/* Refresh — vivid blue, intentionally distinct from date. */
#refreshBtn,
[data-action="refresh"],
.btn-refresh{
  background:linear-gradient(135deg,#0a75e8,#168dff)!important;
  border-color:#2a9cff!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(15,128,239,.24)!important;
}
#refreshBtn:hover,
[data-action="refresh"]:hover,
.btn-refresh:hover{
  filter:brightness(1.08);
  box-shadow:0 12px 28px rgba(15,128,239,.34)!important;
}

/* Main action — consistent blue/violet across every internal screen. */
.actions .btn.primary,
.analysis-top .btn.primary,
.section-actions .btn.primary,
.sync-head-primary{
  background:linear-gradient(135deg,#116dff 0%,#5147e8 58%,#723bd7 100%)!important;
  border-color:#6a5cf0!important;
  color:#fff!important;
  box-shadow:0 9px 24px rgba(72,72,220,.26)!important;
}
.actions .btn.primary:hover,
.analysis-top .btn.primary:hover,
.section-actions .btn.primary:hover{
  filter:brightness(1.08);
  box-shadow:0 13px 30px rgba(72,72,220,.35)!important;
}

/* Logout remains quieter so it never competes with primary actions. */
#logoutBtn{
  background:linear-gradient(180deg,#fff,#f6f8fb)!important;
  color:#526176!important;
  border-color:#d7dfeb!important;
  box-shadow:none!important;
}

/* Dark theme versions — shared across dashboard, analytics and integrations. */
html[data-theme="dark"] .actions .btn,
html[data-theme="dark"] .analysis-top .btn,
html[data-theme="dark"] .section-actions .btn{
  background:linear-gradient(180deg,#131d31,#0f1729);
  border-color:#2a3a58;
  color:#dfe8f6;
  box-shadow:0 7px 20px rgba(0,0,0,.18);
}
html[data-theme="dark"] #periodLabel,
html[data-theme="dark"] [data-action="period"],
html[data-theme="dark"] .btn-period{
  background:linear-gradient(135deg,#352974,#5a3fc8)!important;
  border-color:#7561ee!important;
  color:#fff!important;
  box-shadow:0 9px 26px rgba(91,63,200,.35)!important;
}
html[data-theme="dark"] #refreshBtn,
html[data-theme="dark"] [data-action="refresh"],
html[data-theme="dark"] .btn-refresh{
  background:linear-gradient(135deg,#075fbf,#0c89e9)!important;
  border-color:#258fe7!important;
  color:#fff!important;
  box-shadow:0 9px 26px rgba(8,111,202,.3)!important;
}
html[data-theme="dark"] #logoutBtn{
  background:#111a2c!important;
  border-color:#2a3956!important;
  color:#aebbd0!important;
}

/* Match repeated top toolbars on generated internal views. */
.analysis-top .section-actions,
.analysis-top .actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media(max-width:768px){
  .actions .btn,.analysis-top .btn,.section-actions .btn{
    min-height:40px;padding:9px 12px;
  }
}


/* Keep connection-test action visually stable while/after validation */
.ixc-actions .test.test-running{background:linear-gradient(135deg,#087d67,#15b86d);opacity:.9;cursor:wait}
.ixc-actions .test.test-running strong{font-size:13px;letter-spacing:2px}
.ixc-actions .test:disabled{filter:none}


.ixc-auto-sync{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:12px;padding:12px 14px;border:1px solid #233452;border-radius:11px;background:linear-gradient(90deg,#0d1729,#11172f);color:#dbe7f6}
.ixc-auto-sync b,.ixc-auto-sync span,.ixc-auto-sync small,.ixc-auto-sync strong,.ixc-auto-sync em{display:block}
.ixc-auto-sync b{font-size:12px}.ixc-auto-sync span{font-size:10px;color:#8fa0b9;margin-top:3px}.ixc-auto-sync small{font-size:9px;color:#8291a8}.ixc-auto-sync strong{font-size:11px;margin-top:3px}.ixc-auto-sync em{font-style:normal;font-size:9px;color:#ff7b86;margin-top:3px}
html[data-theme="light"] .ixc-auto-sync{background:#f6f9ff;border-color:#dbe5f1;color:#223049}
html[data-theme="light"] .ixc-auto-sync span,html[data-theme="light"] .ixc-auto-sync small{color:#66768d}
@media(max-width:680px){.ixc-auto-sync{display:block}.ixc-auto-sync>div+div{margin-top:10px}}


.ixc-sync-warning,.ixc-log-warning,.ixc-dataset-alert{
  margin-top:10px;padding:10px 12px;border:1px solid #6f4a16;border-radius:9px;
  background:linear-gradient(90deg,#2a1c08,#21170a);color:#ffc45b;font-size:10px
}
.ixc-sync-warning{margin-bottom:10px}
.ixc-log-warning b,.ixc-log-warning small,.ixc-dataset-alert b,.ixc-dataset-alert span{display:block}
.ixc-log-warning small,.ixc-dataset-alert span{margin-top:3px;color:#e2b66c}
html[data-theme="light"] .ixc-sync-warning,
html[data-theme="light"] .ixc-log-warning,
html[data-theme="light"] .ixc-dataset-alert{
  background:#fff7e8;border-color:#efc56d;color:#995e00
}
html[data-theme="light"] .ixc-log-warning small,
html[data-theme="light"] .ixc-dataset-alert span{color:#8b6a2e}
