:root{ --accent:#1f6feb; --accent2:#d62f2f; --axis:#cbd5e1; --grid:#eef2f7; --text:#111827; }
  html,body{height:100%}
  body{margin:0; font-family:Inter,system-ui,Arial,sans-serif; background:#fff; color:#0f172a}
  .wrap{max-width:1100px; margin:26px auto; padding:0 16px; display:grid; gap:18px; grid-template-columns: 420px 1fr;}
  .card{background:#fff; border:1px solid #e5e7eb; border-radius:14px;}
  .panel{padding:16px 16px 12px}
  h2{font-size:18px; margin:4px 0 14px}
  label{font-size:13px; color:#334155; display:block; margin-bottom:6px}
  input{width:100%; box-sizing:border-box; border-radius:10px; padding:9px 11px; font-size:14px; background:#fff; color:#0f172a; border:1px solid #e5e7eb; outline:none}
  input:focus{border-color:#93c5fd; box-shadow:0 0 0 3px rgba(59,130,246,.15)}
  .btn{width:100%; padding:10px 12px; border-radius:10px; border:1px solid #2563eb; background:linear-gradient(180deg,#3b82f6,#2563eb); color:#fff; font-weight:600; cursor:pointer}
  .row{display:flex; gap:10px}
  .divider{height:1px; background:#e5e7eb; margin:12px 0}
  .panel-grid{display:grid; grid-template-columns: 1fr 1fr; gap:16px}
  .panel-col{display:flex; flex-direction:column; gap:12px}
  .warn{font-size:12px; color:#b91c1c; margin-top:-6px}
  /* Chart */
  #chart{height:560px; padding:8px}
  .chart-wrap{position:relative; padding:12px 12px 4px}
  .legend-bottom{padding:8px 0 12px; display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap}
  .legend-item{display:inline-flex; align-items:center; gap:10px; padding:6px 10px; border-radius:999px; background:#fff; border:1px solid #e5e7eb}
  .legend-line{display:inline-block; width:54px; height:0; border-top-width:3px; border-top-style:solid}
  .legend-solid{border-top-color:var(--accent)}
  .legend-dashed{border-top-color:var(--accent2); border-top-style:dashed}
  .tbl{margin-top:12px; border-collapse:collapse; width:100%; font-size:13px}
  .tbl th,.tbl td{border:1px solid #e5e7eb; padding:6px 8px; text-align:center}
  .tbl th{background:#f8fafc; color:#0f172a}