/* Analysis page (dashboard + settings) — mapped to system theme variables
   so both dark and light themes work without local colors. */

.ana-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.ana-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.ana-head-actions form{margin:0}

/* Overview: main + side column */
.ana-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}
.ana-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.ana-side-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}
.ana-side-row:last-of-type{border-bottom:0}
.ana-side-row b{color:var(--text);font-weight:700;text-align:left}

/* Asset cards */
.ana-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ana-asset{display:block;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px;color:var(--text);text-decoration:none;min-height:128px;transition:border-color .15s}
.ana-asset:hover{border-color:var(--primary)}
.ana-asset-head{display:flex;gap:9px;align-items:center;margin-bottom:10px}
.ana-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--accent-soft);color:var(--accent);flex:none}
.ana-icon-fx{background:var(--success-bg);color:var(--green)}
.ana-icon-crypto{background:var(--phase-bg);color:var(--blue)}
.ana-icon-commodity{background:var(--phase-bg);color:var(--muted)}
.ana-asset-head b{display:block;font-size:13px}
.ana-asset-head small{color:var(--muted);font-size:10px}
.ana-price{font-size:21px;font-weight:800;margin:4px 0}
.ana-price small,.ana-price-lg small{font-size:11px;color:var(--muted);font-weight:400}
.ana-price-lg{font-size:28px;font-weight:800;margin-top:6px}
.ana-asset-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px}
.ana-mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.ana-mini b{color:var(--text)}

.signal{border-radius:999px;padding:4px 10px;font-size:10px;white-space:nowrap}
.signal.green{background:var(--success-bg);color:var(--green)}
.signal.red{background:var(--error-bg);color:var(--red)}
.signal.gray{background:var(--phase-bg);color:var(--muted)}

/* Main analysis card: chart + direction */
.ana-analysis-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:12px}
.ana-chart-side{padding:16px;border-inline-end:1px solid var(--line);min-width:0}
.ana-analysis-side{padding:16px;min-width:0}
.ana-chart-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ana-code{color:var(--muted);font-size:10px;display:block;margin-top:2px}
.ana-range{background:var(--panel2);border-radius:9px;padding:4px;display:flex;gap:2px;align-self:flex-start}
.ana-range a{border:0;background:none;min-width:36px;height:30px;border-radius:7px;color:var(--muted);display:grid;place-items:center;text-decoration:none;font-size:11px}
.ana-range a.active{background:var(--primary);color:var(--white)}
.ana-range a:not(.active):hover{color:var(--text)}
.ana-chart{width:100%;height:210px;margin-top:12px}
.ana-chart polyline{fill:none;stroke:var(--green);stroke-width:2}
.ana-direction{background:var(--success-bg);padding:14px;border-radius:11px;text-align:center;margin:12px 0}
.ana-direction strong{color:var(--green);display:block;font-size:22px;margin-top:6px}
.ana-direction span{font-size:11px;color:var(--muted)}
.ana-progress-row{display:grid;grid-template-columns:64px 1fr 42px;gap:8px;align-items:center;margin:9px 0;font-size:11px}
.ana-progress{height:7px;background:var(--panel2);border-radius:999px;overflow:hidden}
.ana-progress span{display:block;height:100%;border-radius:999px;background:var(--green)}
.ana-progress span.red{background:var(--red)}
.ana-progress span.gray{background:var(--muted)}
.ana-progress-row b{text-align:left}

/* Factors */
.ana-score-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:10px}
.ana-factor-row{display:grid;grid-template-columns:120px 1fr 48px;gap:10px;margin:11px 0;align-items:center;font-size:11px}
.ana-factor-row small{font-weight:400}
.ana-composite{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--muted);font-size:12px}
.ana-score{color:var(--green);font-size:40px;font-weight:800;margin:8px 0}

/* Settings */
.ana-settings{max-width:1450px}
.ana-group{margin-bottom:22px}
.ana-group-head{margin-bottom:10px}
.ana-group-title{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 16px}
.ana-group-icon{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:18px;flex:none}
.ana-group-title h2{margin:0;font-size:15px}
.ana-group-title p{margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.8}
.ana-error{background:var(--error-bg);color:var(--red);border:1px solid var(--red);border-radius:10px;padding:11px 14px;margin-bottom:12px;font-size:12px}
.ana-saved{background:var(--success-bg);color:var(--green);border:1px solid var(--green);border-radius:10px;padding:11px 14px;margin-bottom:12px;font-size:12px}
.ana-settings-status{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px}
.ana-ok{color:var(--green);font-weight:700}
.ana-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;align-items:start}
.ana-setting-card h3{margin:0 0 4px;font-size:14px}
.ana-setting-desc{color:var(--muted);font-size:11px;margin:0 0 12px;line-height:1.9}
.ana-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer}
.ana-setting-row:last-of-type{border-bottom:0}
.ana-switch{position:relative;width:40px;height:22px;flex:none}
.ana-switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ana-switch i{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:.15s;pointer-events:none}
.ana-switch i::after{content:"";width:16px;height:16px;border-radius:50%;background:var(--white);position:absolute;top:3px;inset-inline-end:3px;transition:.15s;box-shadow:0 2px 5px #0004}
.ana-switch input:checked + i{background:var(--primary)}
.ana-switch input:checked + i::after{inset-inline-end:21px}
.ana-switch input:focus-visible + i{outline:2px solid var(--focus);outline-offset:2px}
.ana-switch-locked{opacity:.55}
.ana-choices{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.ana-choices-col{flex-direction:column;align-items:stretch}
.ana-choice{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;min-height:34px;display:inline-flex;align-items:center;padding:0 11px;font-size:12px;cursor:pointer}
.ana-choice:has(input:checked){color:var(--primary);border-color:var(--primary);background:var(--success-bg)}
.ana-choice input{position:absolute;opacity:0;pointer-events:none}
.ana-field{margin:9px 0}
.ana-field label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}
.ana-field input,.ana-field select{width:100%;height:37px;border:1px solid var(--input-border);border-radius:8px;padding:0 10px;background:var(--input-bg);color:var(--input-text)}
.ana-weight-row{display:grid;grid-template-columns:82px 1fr 42px;gap:8px;align-items:center;margin:11px 0;font-size:11px}
.ana-weight-row input[type=range]{width:100%;accent-color:var(--primary)}
.ana-total{background:var(--success-bg);color:var(--green);padding:6px 10px;border-radius:999px;font-size:11px;display:inline-block}
.ana-total.bad{background:var(--warning-bg);color:var(--gold)}
.ana-preview{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--muted);font-size:11px;line-height:2.1}
.ana-preview strong{color:var(--text)}

@media (max-width:950px){
  .ana-layout{grid-template-columns:1fr}
  .ana-analysis-card{grid-template-columns:1fr}
  .ana-chart-side{border-inline-end:0;border-bottom:1px solid var(--line)}
  .ana-score-grid{grid-template-columns:1fr}
}
