:root{
  --bg:#f4f6f9;
  --bg-2:#f1f5f9;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --surface-hover:#f1f5f9;
  --border:rgba(0,0,0,.06);
  --border-strong:rgba(0,0,0,.02);
  --rule:rgba(0,0,0,.06);
  --text:#0f172a;
  --text-2:#334155;
  --muted:#64748b;
  --gold:#b4850d;
  --gold-2:#d4af37;
  --gold-soft:#fef08a;
  --cyan:#0284c7;
  --emerald:#059669;
  --emerald-glow:rgba(5,150,105,.15);
  --amber:#d97706;
  --amber-glow:rgba(217,119,6,.15);
  --crimson:#dc2626;
  --crimson-glow:rgba(220,38,38,.15);
  --shadow-lg:0 16px 40px -8px rgba(0,0,0,.06), 0 6px 16px -6px rgba(0,0,0,.015);
  --shadow-glow:0 0 15px rgba(180,133,13,.15);
}
  
  *{box-sizing:border-box;margin:0;padding:0}
  
  html{scroll-behavior:smooth}
  body{
    background:var(--bg);color:var(--text);
    font-family:'Inter',system-ui,sans-serif;font-size:14px;line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    background-image:
      radial-gradient(ellipse 800px 400px at 20% 0%, rgba(212,175,55,.08) 0%, transparent 50%),
      radial-gradient(ellipse 600px 300px at 80% 5%, rgba(2,132,199,.06) 0%, transparent 50%);
    background-attachment:fixed;
  }
  
  body::before{
    content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
    background-image:
      linear-gradient(to right, rgba(0,0,0,.015) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(0,0,0,.015) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse 70% 50% at 50% 0%, black 0%, transparent 80%);
  }
  
  ::selection{background:var(--gold);color:var(--bg)}
  
  /* ============== TOP NAV ============== */
  .topnav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border-bottom:1px solid var(--border);
  }
  .nav-inner{
    max-width:1600px;margin:0 auto;padding:14px 32px;
    display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .brand{display:flex;align-items:center;gap:14px}
  .brand-mark{
    width:38px;height:38px;border-radius:10px;
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 50%, #b8901e 100%);
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-weight:700;color:var(--bg);font-size:16px;
    box-shadow:0 0 24px rgba(212,175,55,.3), inset 0 1px 0 rgba(0,0,0,.04);
    position:relative;
  }
  .brand-mark::after{
    content:'';position:absolute;inset:-2px;border-radius:12px;
    background:linear-gradient(135deg, transparent, rgba(212,175,55,.4));
    z-index:-1;filter:blur(8px);
  }
  .brand-text{
    display:flex;flex-direction:column;line-height:1.1;
  }
  .brand-name{font-family:'Fraunces',serif;font-size:18px;font-weight:600;letter-spacing:.5px}
  .brand-sub{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:1.8px;color:var(--text-2);text-transform:uppercase;margin-top:2px}
  
  .nav-tabs{display:flex;gap:4px;background:var(--surface);padding:4px;border-radius:10px;border:1px solid var(--border)}
  .nav-tab{
    padding:8px 16px;font-size:12.5px;font-weight:500;color:var(--text-2);
    background:transparent;border:none;border-radius:7px;cursor:pointer;
    transition:all .25s ease;
    font-family:inherit;letter-spacing:.2px;
  }
  .nav-tab:hover{color:var(--text);background:var(--surface-2)}
  .nav-tab.active{
    color:var(--bg);
    background:linear-gradient(135deg, var(--gold), var(--gold-2));
    box-shadow:0 4px 12px rgba(212,175,55,.3);
    font-weight:600;
  }
  
  .nav-actions{display:flex;align-items:center;gap:12px}
  .icon-btn{
    width:36px;height:36px;border-radius:10px;
    background:var(--surface);border:1px solid var(--border);
    color:var(--text-2);cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;
    transition:all .2s ease;
  }
  .icon-btn:hover{background:var(--surface-2);color:var(--gold);border-color:var(--border-strong)}
  .icon-btn svg{width:16px;height:16px}
  
  .live-pill{
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 14px;background:rgba(16,185,129,.1);
    border:1px solid rgba(16,185,129,.3);border-radius:99px;
    font-family:'JetBrains Mono',monospace;font-size:10px;line-height:1.35;
    color:var(--emerald);text-transform:uppercase;letter-spacing:1px;
    max-width:min(58vw, 620px);white-space:normal;
  }
  .live-pill::before{
    content:'Live';
    flex:0 0 auto;
    padding:2px 7px;
    border-radius:99px;
    background:var(--emerald);
    color:white;
    font-size:9px;
    font-weight:700;
    letter-spacing:.8px;
  }
  @keyframes pulse{
    0%,100%{opacity:1;transform:scale(1)}
    50%{opacity:.5;transform:scale(1.3)}
  }
  
  /* ============== LAYOUT ============== */
  .container{max-width:1600px;margin:0 auto;padding:32px;position:relative;z-index:1}
  
  /* ============== HERO ============== */
  .hero{
    margin-bottom:32px;
    display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;
    padding-bottom:24px;border-bottom:1px solid var(--rule);
  }
  .hero-eyebrow{
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2.5px;
    color:var(--gold);text-transform:uppercase;font-weight:500;
    display:flex;align-items:center;gap:14px;margin-bottom:14px;
  }
  .hero-eyebrow::before{content:'';width:32px;height:1px;background:var(--gold)}
  .hero-title{
    font-family:'Fraunces',serif;font-size:56px;font-weight:600;
    letter-spacing:-1px;line-height:1.05;
    color:var(--text);
  }
  .hero-title .sponsor{
    font-style:italic;font-weight:700;
    color:var(--gold);
  }
  .hero-sub{
    font-size:15px;color:var(--text-2);max-width:640px;margin-top:14px;line-height:1.6;
  }
  .hero-meta-cards { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; } .meta-card {
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
    transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.2s; background: rgba(0,0,0, 0.03); border: 1px solid rgba(0,0,0, 0.1); padding: 12px 16px; border-radius: 8px; display: flex; flex-direction: column; gap: 6px; min-width: 130px; transition: background 0.2s; } .meta-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.05); background: rgba(0,0,0, 0.05); } .meta-card-label { font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: 1.5px; color: var(--muted); text-transform: uppercase; } .meta-card-value { font-size: 13px; color: var(--text); font-weight: 500; }
  
  
  .hero-stamp{
    text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end;
  }
  .stamp-label{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}
  .stamp-value{font-family:'Fraunces',serif;font-size:24px;font-weight:600;color:var(--text);letter-spacing:.3px}
  .stamp-detail{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold);letter-spacing:.5px}
  
  /* ============== SECTION HEADER ============== */
  .section-head{
    display:flex;align-items:baseline;gap:14px;margin:48px 0 20px;
  }
  .section-head:first-of-type{margin-top:8px}
  .section-num{
    font-family:'Fraunces',serif;font-size:14px;font-weight:600;color:var(--gold);
    font-variant-numeric:tabular-nums;letter-spacing:1px;
    border:1px solid var(--gold);border-radius:6px;padding:3px 9px;
  }
  .section-title{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--text);letter-spacing:-.3px}
  .section-spacer{flex:1;height:1px;background:linear-gradient(to right, var(--rule), transparent);margin-left:8px}
  .section-action{
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1.5px;
    color:var(--text-2);text-transform:uppercase;
  }
  
  /* ============== KPI CARDS ============== */
  .kpi-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
  }
  .kpi-card{
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.02);
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.3s;
    background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
    border:1px solid var(--border);border-radius:24px;
    padding:22px 22px 20px;position:relative;overflow:hidden;
    cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);
  }
  .kpi-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(to right, transparent, var(--accent-color, var(--gold)), transparent);
    opacity:.7;
  }
  .kpi-card::after{
    content:'';position:absolute;top:-50%;right:-30%;width:200px;height:200px;
    background:radial-gradient(circle, var(--accent-glow, rgba(212,175,55,.08)) 0%, transparent 70%);
    pointer-events:none;
  }
  .kpi-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.06);

    transform:translateY(-3px);
    border-color:var(--border-strong);
    box-shadow:var(--shadow-lg);
  }
  .kpi-card.danger{--accent-color:var(--crimson);--accent-glow:rgba(239,68,68,.1)}
  .kpi-card.success{--accent-color:var(--emerald);--accent-glow:rgba(16,185,129,.1)}
  .kpi-card.warn{--accent-color:var(--amber);--accent-glow:rgba(245,158,11,.1)}
  .kpi-card.info{--accent-color:var(--cyan);--accent-glow:rgba(0,217,255,.1)}
  
  .kpi-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
  .kpi-label{
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1.8px;
    color:var(--text-2);text-transform:uppercase;font-weight:500;
  }
  .kpi-icon{
    width:32px;height:32px;border-radius:8px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(0,0,0,.03);
    color:var(--accent-color, var(--gold));
  }
  .kpi-icon svg{width:16px;height:16px}
  
  .kpi-value{
    font-family:'Fraunces',serif;font-size:42px;font-weight:600;
    line-height:1;letter-spacing:-1px;
    background:linear-gradient(135deg, var(--text) 0%, var(--accent-color, var(--gold)) 120%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    display:flex;align-items:baseline;gap:4px;
  }
  .kpi-suffix{font-size:18px;color:var(--text-2);font-weight:500;-webkit-text-fill-color:var(--text-2)}
  
  .kpi-foot{
    margin-top:14px;display:flex;justify-content:space-between;align-items:center;
    font-size:11.5px;color:var(--text-2);
  }
  .kpi-trend{
    display:inline-flex;align-items:center;gap:4px;
    padding:3px 8px;border-radius:6px;font-family:'JetBrains Mono',monospace;
    font-size:10px;font-weight:600;letter-spacing:.3px;
  }
  .kpi-trend.up{color:var(--emerald);background:rgba(16,185,129,.1)}
  .kpi-trend.down{color:var(--crimson);background:rgba(239,68,68,.1)}
  .kpi-trend.neutral{color:var(--text-2);background:rgba(0,0,0,.04)}
  
  .kpi-bar{
    margin-top:12px;height:4px;background:rgba(0,0,0,.05);border-radius:2px;overflow:hidden;
    position:relative;
  }
  .kpi-bar-fill{
    height:100%;border-radius:2px;
    background:linear-gradient(to right, var(--accent-color, var(--gold)), var(--accent-color, var(--gold-2)));
    box-shadow:0 0 12px var(--accent-glow);
    width:0;
    transition:width 1.2s cubic-bezier(.4,0,.2,1);
  }
  
  /* ============== PANELS ============== */
  .panel{
    box-shadow: var(--shadow-lg);
    background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
    border:1px solid var(--border);border-radius:24px;
    padding:24px;position:relative;
    transition:border-color .3s ease;
  }
  .panel:hover{border-color:var(--border-strong); transform:translateY(-2px); box-shadow: 0 24px 48px -12px rgba(0,0,0,.08), 0 8px 24px -8px rgba(0,0,0,.04);}
  
  .panel-head{
    display:flex;justify-content:space-between;align-items:flex-start;
    margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--rule);
  }
  .panel-head-left{display:flex;flex-direction:column;gap:4px}
  .panel-eyebrow{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;font-weight:500}
  .panel-title{font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--text);letter-spacing:-.2px}
  .panel-tools{display:flex;gap:6px}
  
  .seg-control{
    display:inline-flex;background:rgba(0,0,0,.04);border-radius:8px;padding:3px;border:1px solid var(--border);
  }
  .seg-btn{
    padding:6px 12px;font-size:11px;font-weight:500;
    background:transparent;border:none;border-radius:5px;cursor:pointer;
    color:var(--text-2);font-family:inherit;letter-spacing:.3px;
    transition:all .2s ease;
  }
  .seg-btn:hover{color:var(--text)}
  .seg-btn.active{background:var(--gold);color:var(--bg);font-weight:600}
  
  /* ============== MAIN GRID ============== */
  .grid-main{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}
  .detail-chart-grid{grid-template-columns:1fr 1fr}
  .detail-chart-row{margin-top:20px}
  
  .chart-canvas{height:340px;position:relative}
  .chart-canvas.tall{height:400px}

  /* ============== WEEKLY IMAGE SLIDER ============== */
  @keyframes slideInFromRight {from{transform:translateX(103%)} to{transform:translateX(0)}}
  @keyframes slideInFromLeft  {from{transform:translateX(-103%)} to{transform:translateX(0)}}
  @keyframes slideOutToLeft   {from{transform:translateX(0)} to{transform:translateX(-103%)}}
  @keyframes slideOutToRight  {from{transform:translateX(0)} to{transform:translateX(103%)}}
  .weekly-slider-panel{overflow:hidden}
  .week-image-wrap{
    position:relative;overflow:hidden;border-radius:10px;min-height:240px;
  }
  .week-image-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;
  }
  .week-image-grid.slide-in-right {animation:slideInFromRight .38s cubic-bezier(0.22,1,0.36,1) both}
  .week-image-grid.slide-in-left  {animation:slideInFromLeft  .38s cubic-bezier(0.22,1,0.36,1) both}
  .week-image-grid.slide-out-left {animation:slideOutToLeft   .38s cubic-bezier(0.22,1,0.36,1) both;position:absolute;top:0;left:0;right:0}
  .week-image-grid.slide-out-right{animation:slideOutToRight  .38s cubic-bezier(0.22,1,0.36,1) both;position:absolute;top:0;left:0;right:0}
  .week-image-card{
    min-height:210px;border:1px solid var(--border);border-radius:12px;
    background:
      linear-gradient(135deg, rgba(0,217,255,.12), rgba(212,175,55,.08)),
      repeating-linear-gradient(45deg, rgba(0,0,0,.035) 0 1px, transparent 1px 12px),
      rgba(0,0,0,.06);
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:16px;position:relative;overflow:hidden;
  }
  
  
  .week-image-card::before{
    content:'';position:absolute;inset:18px;border:1px dashed rgba(0,0,0,.16);
    border-radius:10px;z-index:2;
  }
  .week-image-card img{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;border-radius:12px;z-index:0;
  }
  .week-image-card::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 55%);
    border-radius:12px;z-index:1;
  }
  .week-image-tag{
    position:relative;z-index:3;font-family:'JetBrains Mono',monospace;font-size:10px;
    letter-spacing:1.5px;color:var(--gold);text-transform:uppercase;
  }
  .week-image-title{
    position:relative;z-index:3;margin-top:6px;
    font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--text);
  }
  .week-slider-foot{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    margin-top:14px;color:var(--text-2);font-size:12px;
  }
  .week-dots{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
  .week-dot{
    width:8px;height:8px;border-radius:50%;border:1px solid var(--border-strong);
    background:rgba(0,0,0,.05);cursor:pointer;flex-shrink:0;
  }
  .week-dot.active{background:var(--gold);box-shadow:0 0 8px rgba(212,175,55,.5)}
  
  /* ============== EVM TILES ============== */
  .evm-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
  .evm-tile{
    background:rgba(0,0,0,.04);border:1px solid var(--rule);border-radius:10px;
    padding:14px;transition:all .25s ease;cursor:default;
  }
  .evm-tile:hover{background:rgba(212,175,55,.04);border-color:var(--border-strong);transform:translateY(-1px)}
  .evm-tile-label{
    font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:1.5px;
    color:var(--muted);text-transform:uppercase;font-weight:500;
  }
  .evm-tile-value{
    font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--text);
    margin-top:4px;line-height:1.1;letter-spacing:-.3px;
  }
  .evm-tile-value.danger{color:var(--crimson)}
  .evm-tile-value.success{color:var(--emerald)}
  .evm-tile-value.warn{color:var(--amber)}
  .evm-tile-foot{font-size:10.5px;color:var(--text-2);margin-top:3px}
  
  /* ============== VERDICT ============== */
  .verdict-card{
    margin-top:14px;padding:18px;border-radius:12px;
    background:linear-gradient(135deg, rgba(212,175,55,.08), rgba(245,158,11,.04));
    border:1px solid rgba(212,175,55,.25);position:relative;overflow:hidden;
  }
  .verdict-card::before{
    content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
    background:linear-gradient(to bottom, var(--gold), transparent);
  }
  .verdict-label{
    font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:2.5px;
    color:var(--gold);text-transform:uppercase;margin-bottom:8px;
    display:flex;align-items:center;gap:8px;
  }
  .verdict-label::before{content:'◆';font-size:8px}
  .verdict-text{font-family:'Fraunces',serif;font-size:17px;font-weight:600;line-height:1.4;color:var(--text);letter-spacing:.1px}
  .verdict-detail{font-size:12.5px;color:var(--text-2);line-height:1.6;margin-top:8px}
  
  /* ============== FILTER BAR ============== */
  .filter-bar{
    display:flex;flex-wrap:wrap;gap:14px;align-items:center;
    margin-bottom:18px;padding:14px 18px;
    background:var(--surface);border:1px solid var(--border);border-radius:12px;
  }
  .search-box{
    flex:1;min-width:240px;position:relative;
  }
  .search-input{
    width:100%;padding:9px 14px 9px 38px;
    background:rgba(0,0,0,.04);border:1px solid var(--border);border-radius:8px;
    color:var(--text);font-family:inherit;font-size:13px;
    transition:all .2s ease;
  }
  .search-input::placeholder{color:var(--muted)}
  .search-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.1)}
  .search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);width:16px;height:16px}
  
  .filter-chips{display:flex;flex-wrap:wrap;gap:6px}
  .chip{
    padding:6px 12px;font-size:11px;font-weight:500;
    background:rgba(0,0,0,.03);border:1px solid var(--border);border-radius:99px;
    color:var(--text-2);cursor:pointer;transition:all .2s ease;
    font-family:inherit;letter-spacing:.2px;
  }
  .chip:hover{background:rgba(212,175,55,.08);border-color:var(--border-strong);color:var(--text)}
  .chip.active{background:var(--gold);border-color:var(--gold);color:var(--bg);font-weight:600}
  
  /* ============== ACTIVITY TABLE ============== */
  .table-wrap{
    background:var(--surface);border:1px solid var(--border);border-radius:14px;
    overflow:hidden;
  }
  .data-table{width:100%;border-collapse:collapse}
  .data-table thead th{
    background:rgba(0,0,0,.04);
    padding:14px 12px;text-align:left;
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1.5px;
    color:var(--text-2);text-transform:uppercase;font-weight:500;
    border-bottom:1px solid var(--border);
    cursor:pointer;user-select:none;
    transition:color .2s ease;
  }
  .data-table thead th:hover{color:var(--gold)}
  .data-table thead th.num{text-align:right}
  .data-table thead th.ctr{text-align:center}
  .data-table thead th.sortable::after{
    content:'⇅';margin-left:6px;opacity:.4;font-size:10px;
  }
  .data-table thead th.sorted-asc::after{content:'↑';opacity:1;color:var(--gold)}
  .data-table thead th.sorted-desc::after{content:'↓';opacity:1;color:var(--gold)}
  
  .data-table tbody tr{
    border-bottom:1px solid var(--rule);transition:all .2s ease;
    cursor:pointer;
  }
  .data-table tbody tr:hover{background:rgba(212,175,55,.04)}
  .data-table tbody tr.expanded{background:rgba(212,175,55,.06)}
  .data-table tbody tr.hidden{display:none}
  
  .data-table tbody td{
    padding:11px 12px;font-size:12.5px;color:var(--text);
  }
  .data-table tbody td.num{text-align:right;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:500}
  .data-table tbody td.ctr{text-align:center}
  .data-table tbody td.sno{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold);font-weight:500}
  .data-table tbody td.cat{
    font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:1px;
    color:var(--text-2);text-transform:uppercase;
  }
  .data-table tbody td.act{font-weight:500}
  
  .progress-cell{display:flex;align-items:center;gap:10px;min-width:160px}
  .progress-track{
    flex:1;height:6px;background:rgba(0,0,0,.05);border-radius:3px;
    position:relative;overflow:hidden;
  }
  .progress-plan{
    position:absolute;left:0;top:0;height:100%;border-radius:3px;
    background:rgba(168,180,200,.2);
  }
  .progress-actual{
    position:absolute;left:0;top:0;height:100%;border-radius:3px;
    background:var(--gold);box-shadow:0 0 6px rgba(212,175,55,.4);
  }
  .progress-actual.ahead{background:var(--emerald);box-shadow:0 0 6px var(--emerald-glow)}
  .progress-actual.behind{background:var(--crimson);box-shadow:0 0 6px var(--crimson-glow)}
  .progress-actual.complete{background:linear-gradient(90deg, var(--emerald), var(--cyan))}
  
  .badge{
    display:inline-flex;align-items:center;gap:4px;
    padding:3px 9px;border-radius:99px;
    font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:1px;
    text-transform:uppercase;font-weight:500;
    border:1px solid;
  }
  .badge-complete{color:var(--emerald);border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.08)}
  .badge-ahead{color:var(--cyan);border-color:rgba(0,217,255,.4);background:rgba(0,217,255,.08)}
  .badge-track{color:var(--gold);border-color:rgba(212,175,55,.4);background:rgba(212,175,55,.08)}
  .badge-behind{color:var(--crimson);border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.08)}
  .badge-pending{color:var(--muted);border-color:rgba(107,117,137,.4);background:rgba(107,117,137,.06)}
  
  /* Expanded row */
  .row-detail{
    background:rgba(0,0,0,.06);
    padding:0 24px;
    overflow:hidden;
  }
  .row-detail-inner{
    padding:18px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  }
  .detail-block{display:flex;flex-direction:column;gap:4px}
  .detail-label{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px}
  .detail-value{font-family:'Fraunces',serif;font-size:18px;font-weight:600;color:var(--text)}
  .detail-value.danger{color:var(--crimson)}
  .detail-value.success{color:var(--emerald)}

  /* ============== DATA INPUT ============== */
  .data-input-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-bottom:20px}
  .data-input-actions{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    margin-bottom:18px;padding:14px 20px;border:1px solid var(--border);
    border-radius:12px;background:var(--surface);
  }
  .input-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .input-summary-item{
    border:1px solid var(--rule);border-radius:10px;background:rgba(0,0,0,.03);
    padding:14px;cursor:default;
    transition:border-color .2s ease, background .2s ease;
  }
  .input-summary-item:focus-within{
    border-color:rgba(212,175,55,.4);background:rgba(212,175,55,.04);
  }
  .input-summary-label{
    font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1.5px;
    color:var(--muted);text-transform:uppercase;margin-bottom:4px;
  }
  .input-summary-value{
    margin-top:5px;font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--text);
  }
  .input-field{
    width:100%;margin-top:4px;padding:8px 10px;
    border:1px solid var(--rule);
    border-radius:7px;background:rgba(0,0,0,.04);color:var(--text);
    font-family:'JetBrains Mono',monospace;font-size:12px;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .input-field:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.12);background:rgba(0,0,0,.08)}
  .input-table .input-field{min-width:90px;margin:0;padding:5px 7px;font-size:11.5px}
  .input-table .wide-input{min-width:200px}
  .current-week-card{
    display:grid;grid-template-columns:1fr 1fr;gap:10px;
  }
  .current-week-card .input-summary-item:first-child{grid-column:1/-1}
  .data-input-panel{margin-top:20px}
  .input-table-wrap{max-height:560px;overflow:auto;border:1px solid var(--rule);border-radius:12px}
  .input-table tbody tr{cursor:default}
  .input-table tbody tr:hover{background:rgba(212,175,55,.03)}
  .input-table tbody tr:nth-child(even) td{background:rgba(0,0,0,.02)}
  
  /* ============== RISK CARDS ============== */
  .risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .risk-card{
    background:var(--surface);border:1px solid var(--border);border-radius:14px;
    padding:18px;cursor:pointer;transition:all .3s ease;
    position:relative;overflow:hidden;
  }
  .risk-card::before{
    content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  }
  .risk-card.critical::before{background:var(--crimson);box-shadow:0 0 12px var(--crimson-glow)}
  .risk-card.high::before{background:var(--amber);box-shadow:0 0 12px var(--amber-glow)}
  .risk-card.medium::before{background:var(--gold);box-shadow:0 0 12px rgba(212,175,55,.25)}
  
  .risk-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-lg)}
  
  .risk-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
  .risk-id{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1.5px;color:var(--gold);font-weight:500}
  .risk-sev{
    font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1.2px;
    text-transform:uppercase;padding:2px 8px;border-radius:99px;font-weight:600;
  }
  .risk-sev.critical{color:var(--crimson);background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3)}
  .risk-sev.high{color:var(--amber);background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3)}
  .risk-sev.medium{color:var(--gold);background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.3)}
  .risk-title{font-family:'Fraunces',serif;font-size:17px;font-weight:600;color:var(--text);line-height:1.3;margin-bottom:8px;letter-spacing:-.1px}
  .risk-body{font-size:12.5px;color:var(--text-2);line-height:1.55}
  
  .risk-action{
    margin-top:12px;padding-top:12px;border-top:1px dashed var(--rule);
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1px;
    color:var(--gold);text-transform:uppercase;line-height:1.5;
    display:flex;align-items:flex-start;gap:6px;
  }
  .risk-action::before{content:'→';font-weight:bold}
  
  /* ============== FOOTER ============== */
  footer{
    margin-top:64px;padding:32px 0 24px;border-top:1px solid var(--rule);
    display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
  }
  .foot-block-label{
    font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:2px;
    color:var(--gold);text-transform:uppercase;margin-bottom:6px;
  }
  .foot-block-value{font-family:'Fraunces',serif;font-size:16px;color:var(--text);font-weight:600;line-height:1.3}
  .foot-block-detail{font-size:11.5px;color:var(--text-2);margin-top:3px}
  
  .stamp-bar{
    margin-top:24px;padding:14px 20px;text-align:center;
    background:var(--surface);border:1px solid var(--border);border-radius:10px;
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2.5px;
    color:var(--gold);text-transform:uppercase;
  }
  
  /* ============== ANIMATIONS ============== */
  .fade-in{animation:fadeIn .8s ease both}
  @keyframes fadeIn{
    from{opacity:0;transform:translateY(12px)}
    to{opacity:1;transform:translateY(0)}
  }
  
  .stagger > *{animation:fadeIn .8s ease both}
  .stagger > *:nth-child(1){animation-delay:.05s}
  .stagger > *:nth-child(2){animation-delay:.10s}
  .stagger > *:nth-child(3){animation-delay:.15s}
  .stagger > *:nth-child(4){animation-delay:.20s}
  .stagger > *:nth-child(5){animation-delay:.25s}
  .stagger > *:nth-child(6){animation-delay:.30s}
  
  /* ============== TABS ============== */
  .tab-content{display:none}
  .tab-content.active{display:block;animation:fadeIn .4s ease both}
  
  /* ============== TOAST ============== */
  .toast{
    position:fixed;bottom:24px;right:24px;z-index:100;
    padding:12px 20px;background:var(--surface);border:1px solid var(--gold);border-radius:10px;
    color:var(--text);font-size:13px;
    box-shadow:var(--shadow-lg);
    transform:translateY(100px);opacity:0;
    transition:all .3s ease;
  }
  .toast.show{transform:translateY(0);opacity:1}
  
  /* ============== MOBILE BOTTOM NAV ============== */
  .mobile-nav{
    display:none;
    position:fixed;bottom:0;left:0;right:0;z-index:60;
    background:rgba(7,11,20,.96);
    backdrop-filter:blur(24px) saturate(180%);
    -webkit-backdrop-filter:blur(24px) saturate(180%);
    border-top:1px solid var(--border);
    grid-template-columns:repeat(4,1fr);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  .mob-tab{
    display:flex;flex-direction:column;align-items:center;gap:3px;
    padding:10px 4px 9px;background:none;border:none;
    color:var(--muted);font-size:9.5px;font-family:'JetBrains Mono',monospace;
    letter-spacing:.8px;text-transform:uppercase;font-weight:500;
    cursor:pointer;transition:color .2s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .mob-tab svg{width:21px;height:21px;transition:filter .2s ease}
  .mob-tab.active{color:var(--gold)}
  .mob-tab.active svg{filter:drop-shadow(0 0 6px rgba(212,175,55,.5))}

  /* ============== RESPONSIVE ============== */

  /* ── Overflow fixes (apply at all sizes) ── */
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .input-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .filter-bar{min-width:0}

  /* ── 1200px — large tablet / small laptop ── */
  @media (max-width:1200px){
    .nav-inner{padding:12px 24px}
    .container{padding:24px}
    .hero-title{font-size:48px}
  }

  /* ── 1100px — tablet ── */
  @media (max-width:1100px){
    .mobile-nav{display:grid}
    body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}
    .nav-tabs{display:none}
    .live-pill{max-width:42vw;font-size:9px}
    .container{padding:20px 20px}
    .kpi-grid{grid-template-columns:repeat(2,1fr)}
    .grid-main{grid-template-columns:1fr}
    .detail-chart-grid{grid-template-columns:1fr}
    .risk-grid{grid-template-columns:repeat(2,1fr)}
    footer{grid-template-columns:repeat(2,1fr)}
    .hero{grid-template-columns:1fr;gap:18px}
    .hero-stamp{align-items:flex-start;text-align:left;flex-direction:row;gap:20px}
    .hero-title{font-size:40px}
    .week-image-grid{grid-template-columns:repeat(2,1fr)}
    .data-input-grid{grid-template-columns:1fr}
    .data-input-actions{align-items:stretch;flex-direction:column;gap:12px}
    .btn-primary{justify-content:center}
    .input-summary-grid{grid-template-columns:repeat(2,1fr)}
    .evm-tiles{grid-template-columns:repeat(3,1fr)}
  }

  /* ── 768px — phablet / large phone ── */
  @media (max-width:768px){
    .container{padding:16px}
    .hero-title{font-size:34px}
    .hero-sub{font-size:13.5px}
    .hero-meta-cards { gap: 10px; margin-top: 16px; } .meta-card { min-width: calc(50% - 5px); padding: 10px 12px; }
    .hero-stamp{flex-direction:column;gap:4px}
    .section-head{flex-wrap:wrap;gap:8px;margin:36px 0 16px}
    .section-spacer{display:none}
    .section-action{width:100%;order:3}
    .section-title{font-size:22px}
    .kpi-grid{gap:12px}
    .kpi-value{font-size:34px}
    .kpi-card{padding:16px 16px 14px}
    .chart-canvas{height:260px}
    .chart-canvas.tall{height:300px}
    .panel{padding:18px}
    .panel-head{flex-wrap:wrap;gap:10px}
    .panel-title{font-size:17px}
    .panel-tools{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
    .panel-tools::-webkit-scrollbar{display:none}
    .seg-control{flex-wrap:nowrap}
    .month-tabs{flex-shrink:0}
    .filter-bar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}
    .search-box{min-width:0;width:100%}
    .filter-chips{gap:5px;flex-wrap:wrap}
    .chip{padding:5px 10px;font-size:10.5px}
    .week-image-grid{grid-template-columns:1fr}
    .week-image-card{min-height:180px}
    .risk-grid{grid-template-columns:1fr}
    .evm-tiles{grid-template-columns:repeat(2,1fr)}
    .input-summary-grid{grid-template-columns:repeat(2,1fr)}
    .row-detail-inner{grid-template-columns:repeat(2,1fr)}
    .grid-main{gap:14px}
    .detail-chart-row{margin-top:14px}
  }

  /* ── 480px — small phone ── */
  @media (max-width:480px){
    .container{padding:12px}
    .nav-inner{padding:10px 14px}
    .brand-text{display:none}
    .live-pill{display:none}
    .nav-actions{gap:8px}
    .hero-title{font-size:28px}
    .hero-eyebrow{font-size:9.5px;letter-spacing:1.5px}
    .kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .kpi-value{font-size:28px}
    .kpi-foot{flex-direction:column;align-items:flex-start;gap:4px}
    .kpi-card{padding:14px 12px}
    .chart-canvas{height:220px}
    .chart-canvas.tall{height:260px}
    .risk-grid{grid-template-columns:1fr}
    .footer{grid-template-columns:1fr}
    .row-detail-inner{grid-template-columns:1fr}
    .section-title{font-size:20px}
    .evm-tiles{grid-template-columns:repeat(3,1fr);gap:6px}
    .evm-tile{padding:10px 8px}
    .evm-tile-value{font-size:15px}
    .evm-tile-foot{font-size:9px}
    footer{grid-template-columns:1fr}
    .stamp-bar{font-size:8.5px;letter-spacing:1.5px}
    .input-summary-grid{grid-template-columns:1fr}
    .current-week-card{grid-template-columns:1fr}
    .data-table tbody td{padding:8px 6px;font-size:11px}
    .data-table thead th{padding:10px 6px;font-size:8.5px}
    .week-slider-foot{flex-direction:column;align-items:flex-start;gap:8px}
    .week-dots{justify-content:flex-start}
    .panel-head{gap:8px}
    .verdict-text{font-size:15px}
    .risk-title{font-size:15px}
    .panel{padding:14px}
    .panel-head{flex-wrap:wrap}
    .panel-tools{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:2px}
    .panel-tools::-webkit-scrollbar{display:none}
  }

  /* ── Primary action button ── */
  .btn-primary {
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 22px;border-radius:9px;
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 100%);
    color:var(--bg);font-weight:700;font-size:13px;letter-spacing:.3px;
    border:none;cursor:pointer;font-family:inherit;
    transition:all .2s ease;
    box-shadow:0 4px 14px rgba(212,175,55,.3);
    flex-shrink:0;
  }
  .btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(212,175,55,.4)}
  .btn-primary:active{transform:translateY(0)}
  .btn-primary svg{width:14px;height:14px}

  /* ── Edit status indicator ── */
  .edit-status-text {
    display:flex;align-items:center;gap:10px;
    font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.8px;
    color:var(--text-2);
  }
  .edit-status-dot {
    width:7px;height:7px;border-radius:50%;
    background:var(--muted);flex-shrink:0;
    transition:all .3s ease;
  }
  .edit-status-dot.dirty{background:var(--amber);box-shadow:0 0 8px var(--amber-glow)}
  .edit-status-dot.saved{background:var(--emerald);box-shadow:0 0 8px var(--emerald-glow)}

  /* ── Input group label ── */
  .input-group-label {
    grid-column:1/-1;
    font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:2.5px;
    color:var(--gold);text-transform:uppercase;font-weight:600;
    padding:10px 0 7px;
    border-bottom:1px solid var(--rule);
    display:flex;align-items:center;gap:8px;
    margin-top:4px;
  }
  .input-group-label::before{content:'◈';font-size:8px;opacity:.7}
  .input-group-label:first-child{padding-top:0;margin-top:0}

  /* ── Risk card metadata row ── */
  .risk-meta {
    display:flex;flex-wrap:wrap;align-items:center;gap:6px;
    margin:8px 0 10px;
  }
  .risk-meta-chip {
    display:inline-flex;align-items:center;gap:5px;
    padding:3px 9px;border-radius:99px;
    background:rgba(0,0,0,.04);border:1px solid var(--rule);
    font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.8px;
    color:var(--muted);
  }
  .risk-meta-chip strong{color:var(--text-2);font-weight:600}
  .risk-likelihood-dot {
    width:5px;height:5px;border-radius:50%;flex-shrink:0;
  }
  .risk-likelihood-dot.high{background:var(--crimson);box-shadow:0 0 6px var(--crimson-glow)}
  .risk-likelihood-dot.medium{background:var(--amber);box-shadow:0 0 6px var(--amber-glow)}
  .risk-likelihood-dot.low{background:var(--emerald);box-shadow:0 0 6px var(--emerald-glow)}

  /* ── Row expand chevron ── */
  .expand-chevron {
    display:inline-flex;align-items:center;justify-content:center;
    width:17px;height:17px;border-radius:4px;
    background:rgba(0,0,0,.04);border:1px solid var(--rule);
    color:var(--muted);font-size:11px;
    transition:all .25s cubic-bezier(.4,0,.2,1);
    margin-right:9px;vertical-align:middle;flex-shrink:0;
    font-style:normal;font-family:monospace;
    line-height:1;
  }
  .data-table tbody tr:hover .expand-chevron{border-color:var(--border-strong);color:var(--text-2)}
  .data-table tbody tr.expanded .expand-chevron {
    background:rgba(212,175,55,.14);border-color:rgba(212,175,55,.45);
    color:var(--gold);transform:rotate(90deg);
  }

  /* ── Row detail expand animation ── */
  .row-detail{animation:expandReveal .22s ease both}
  @keyframes expandReveal{
    from{opacity:0;transform:translateY(-5px)}
    to{opacity:1;transform:translateY(0)}
  }

  /* ── Risk count badge in section head ── */
  .section-head .risk-count-badge {
    font-family:'JetBrains Mono',monospace;font-size:9.5px;
    padding:3px 10px;border-radius:99px;
    background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);
    color:var(--crimson);font-weight:600;letter-spacing:.5px;
  }

  /* ── Print header/footer elements (hidden on screen) ── */
  .print-head, .print-foot { display:none; }

  /* ============================================================
     PRINT — A4 portrait · 2 pages
     Page 1 : Letterhead + Hero + KPIs + S-Curve + EVM Tiles
     Page 2 : Activity Register
     ============================================================ */
  @media print {
    @page { size:A4 portrait; margin:10mm 13mm; }

    *, *::before, *::after {
      -webkit-print-color-adjust:exact !important;
      print-color-adjust:exact !important;
    }

    /* ── Base ── */
    body { background:#fff !important; color:#111827 !important; font-size:10px !important; line-height:1.4 !important; background-image:none !important; }

    /* ── Hide all screen-only elements ── */
    .topnav, .hero-stamp, .hero-eyebrow, .section-head,
    .weekly-slider-panel, .grid-main .panel:first-child,
    .detail-chart-row, .panel-tools, .panel-eyebrow,
    .kpi-icon, .kpi-bar, .verdict-card, .filter-bar,
    .row-detail-row, th.sortable::after, th.sortable::before,
    .tab-content[data-tab="data-input"],
    .tab-content[data-tab="risks"],
    footer, .stamp-bar, #toast
    { display:none !important; }

    /* ── Remove sort arrows from th text ── */
    th.sortable { cursor:default !important; }

    /* ── Container ── */
    .container { max-width:100% !important; padding:0 !important; margin:0 !important; }

    /* ── Print letterhead (real HTML elements) ── */
    .print-head {
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;
      border-bottom:1.5px solid #b8960d !important;
      padding-bottom:4px !important;
      margin-bottom:9px !important;
    }
    .ph-title {
      font-family:'JetBrains Mono',monospace;
      font-size:7.5px !important;
      font-weight:700 !important;
      letter-spacing:1.5px !important;
      text-transform:uppercase !important;
      color:#111827 !important;
    }
    .ph-meta {
      font-family:'JetBrains Mono',monospace;
      font-size:7px !important;
      letter-spacing:1.2px !important;
      text-transform:uppercase !important;
      color:#6b7280 !important;
    }
    .print-foot {
      display:block !important;
      text-align:center !important;
      font-family:'JetBrains Mono',monospace;
      font-size:6.5px !important;
      letter-spacing:1.5px !important;
      text-transform:uppercase !important;
      color:#9ca3af !important;
      border-top:1px solid #b8960d !important;
      padding-top:5px !important;
      margin-top:10px !important;
    }

    /* ── Hero ── */
    .hero {
      display:block !important;
      padding:0 0 9px !important;
      margin-bottom:9px !important;
      border-bottom:1px solid #e5e7eb !important;
      background:none !important;
      box-shadow:none !important;
    }
    .hero-title   { font-size:22px !important; color:#111827 !important; line-height:1.15 !important; margin:0 !important; }
    .hero-title .sponsor { color:#b8960d !important; }
    .hero-sub     { font-size:8.5px !important; color:#4b5563 !important; max-width:100% !important; margin-top:3px !important; }
    .hero-meta-cards { display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin-top:12px !important; } .meta-card { padding: 8px 10px; min-width: auto; flex: 1 1 auto; }
    

    /* ── KPI Cards ── */
    .tab-content[data-tab="overview"] { display:block !important; }
    .kpi-grid {
      display:grid !important;
      grid-template-columns:repeat(4,1fr) !important;
      gap:7px !important;
      margin-bottom:9px !important;
    }
    .kpi-card {
      background:#f9fafb !important;
      border:1px solid #e5e7eb !important;
      border-radius:6px !important;
      padding:9px 11px !important;
      box-shadow:none !important;
    }
    .kpi-card.success { border-top:3px solid #10b981 !important; }
    .kpi-card.danger  { border-top:3px solid #ef4444 !important; }
    .kpi-card.warn    { border-top:3px solid #f59e0b !important; }
    .kpi-card.info    { border-top:3px solid #0ea5e9 !important; }
    .kpi-label  { font-size:7px !important; letter-spacing:1.5px !important; color:#6b7280 !important; font-weight:600 !important; }
    .kpi-value  { font-size:20px !important; color:#111827 !important; font-weight:700 !important; margin:3px 0 !important; line-height:1.1 !important; }
    .kpi-suffix { font-size:11px !important; }
    .kpi-foot   { display:flex !important; justify-content:space-between !important; font-size:7.5px !important; color:#6b7280 !important; margin-top:3px !important; }
    .kpi-trend.up   { color:#059669 !important; font-weight:700 !important; }
    .kpi-trend.down { color:#dc2626 !important; font-weight:700 !important; }

    /* ── S-Curve panel ── */
    #scurvePanel {
      background:#f9fafb !important;
      border:1px solid #e5e7eb !important;
      border-radius:6px !important;
      padding:10px !important;
      box-shadow:none !important;
      margin-bottom:8px !important;
      overflow:hidden !important;
    }
    #scurvePanel .panel-head { margin-bottom:6px !important; }
    #scurvePanel .panel-title { font-size:10px !important; color:#111827 !important; font-weight:700 !important; }
    #scurvePanel .chart-canvas.tall {
      height:210px !important;
      overflow:hidden !important;
      position:relative !important;
    }
    #scurvePanel .chart-canvas.tall canvas {
      width:100% !important;
      height:210px !important;
      max-height:210px !important;
      display:block !important;
    }

    /* ── EVM Tiles (mainChart panel hidden, tiles full width) ── */
    .grid-main { display:block !important; margin-bottom:0 !important; }
    .grid-main .panel:last-child {
      background:#f9fafb !important;
      border:1px solid #e5e7eb !important;
      border-radius:6px !important;
      padding:9px 11px !important;
      box-shadow:none !important;
    }
    .grid-main .panel-head { margin-bottom:6px !important; }
    .grid-main .panel-title { font-size:9px !important; color:#111827 !important; font-weight:700 !important; }
    .evm-tiles {
      display:grid !important;
      grid-template-columns:repeat(6,1fr) !important;
      gap:6px !important;
    }
    .evm-tile {
      background:#fff !important;
      border:1px solid #e5e7eb !important;
      border-radius:5px !important;
      padding:7px 5px !important;
      text-align:center !important;
    }
    .evm-tile-label { font-size:7px !important; font-weight:800 !important; letter-spacing:1px !important; color:#6b7280 !important; text-transform:uppercase !important; }
    .evm-tile-value { font-size:12px !important; font-weight:700 !important; color:#111827 !important; margin:3px 0 !important; }
    .evm-tile-value.danger  { color:#dc2626 !important; }
    .evm-tile-value.success { color:#059669 !important; }
    .evm-tile-value.warn    { color:#d97706 !important; }
    .evm-tile-foot { font-size:6.5px !important; color:#9ca3af !important; }

    /* ── Page 2: Activity Register ── */
    .tab-content[data-tab="activities"] {
      display:block !important;
      page-break-before:always !important;
      break-before:page !important;
    }
    #printHeader2 { margin-bottom:9px !important; }
    .table-wrap { overflow:visible !important; }
    .data-table {
      width:100% !important;
      font-size:8px !important;
      border-collapse:collapse !important;
    }
    .data-table tr { page-break-inside:avoid !important; }
    .data-table th,
    .data-table td {
      padding:5px 6px !important;
      border:1px solid #e5e7eb !important;
      color:#111827 !important;
      background:#fff !important;
      vertical-align:middle !important;
    }
    .data-table thead th {
      background:#111827 !important;
      color:#fff !important;
      font-size:7px !important;
      letter-spacing:0.5px !important;
      font-weight:700 !important;
      text-transform:uppercase !important;
    }
    .data-table tbody tr:nth-child(4n+1) td,
    .data-table tbody tr:nth-child(4n+2) td { background:#f9fafb !important; }

    .badge { font-size:7px !important; padding:2px 5px !important; border-radius:3px !important; font-weight:700 !important; letter-spacing:0.3px !important; }
    .badge-complete { background:#059669 !important; color:#fff !important; }
    .badge-ahead    { background:#0ea5e9 !important; color:#fff !important; }
    .badge-behind   { background:#dc2626 !important; color:#fff !important; }
    .badge-track    { background:#d97706 !important; color:#fff !important; }
    .badge-pending  { background:#9ca3af !important; color:#fff !important; }

    .progress-track           { background:#e5e7eb !important; height:5px !important; border-radius:2px !important; }
    .progress-plan            { background:#0ea5e9 !important; height:5px !important; }
    .progress-actual          { background:#b8960d !important; height:5px !important; }
    .progress-actual.behind   { background:#dc2626 !important; }
    .progress-actual.ahead,
    .progress-actual.complete { background:#059669 !important; }
  }

  /* ============== TRUCK PROGRESS ANIMATION ============== */
  .truck-progress-section {
    margin: 30px 0;
    padding: 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
  }
  .truck-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
  }
  .truck-label {
    font-family: 'Fraunces', serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--text);
  }
  .truck-pct {
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    color: var(--gold);
    font-weight: 500;
  }
  .truck-track-wrap {
    position: relative;
    padding: 0 10px;
  }
  .truck-track {
    height: 8px;
    background: rgba(0,0,0, 0.05);
    border-radius: 4px;
    position: relative;
  }
  .truck-track-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: var(--gold);
    border-radius: 4px;
    transition: width 1.5s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.3);
  }
  .truck-icon-wrap {
    position: absolute;
    top: -24px;
    transform: translateX(-50%);
    width: 32px;
    height: 32px;
    color: var(--text);
    transition: left 1.5s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 2;
  }
  .truck-svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
  }
  .truck-markers {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: var(--muted);
  }
  .truck-tooltip {
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    font-weight: 700;
    color: var(--gold);
    white-space: nowrap;
  }
