/* ── Report categories grid ── */
    .report-section{display:flex;flex-direction:column;gap:0.5rem;}
    .report-section-title{
      font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.07em;
      color:var(--muted);font-weight:700;
      padding:0 0.125rem;
      display:flex;align-items:center;gap:0.5rem;
    }
    .report-section-title::after{
      content:'';flex:1;height:1px;background:var(--border);
    }
    .report-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;}

    /* ── Report card ── */
    .report-card{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:10px;
      padding:0.875rem 1rem;
      display:flex;flex-direction:column;gap:0.5rem;
      transition:box-shadow 0.15s,border-color 0.15s;
      cursor:pointer;
    }
    .report-card:hover{
      box-shadow:0 4px 16px rgba(0,0,0,0.08);
      border-color:rgba(0,48,130,0.2);
    }
    .report-card-top{display:flex;align-items:flex-start;gap:0.75rem;}
    .report-icon{
      width:36px;height:36px;border-radius:9px;
      display:flex;align-items:center;justify-content:center;
      font-size:0.9375rem;flex-shrink:0;
    }
    .report-card-info{flex:1;min-width:0;}
    .report-card-title{font-size:0.8125rem;font-weight:700;color:var(--text);line-height:1.3;}
    .report-card-desc{font-size:0.6875rem;color:var(--muted);margin-top:3px;line-height:1.4;}
    .report-card-meta{
      display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;
      padding-top:0.375rem;
      border-top:1px solid rgba(0,0,0,0.05);
    }
    .report-card-last{font-size:0.625rem;color:var(--muted);margin-left:auto;white-space:nowrap;}

    /* ── Format badges ── */
    .fmt-badge{
      padding:0.1rem 0.4rem;border-radius:4px;
      font-size:0.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;
      white-space:nowrap;
    }
    .fmt-pdf{background:rgba(220,38,38,0.1);color:#991b1b;border:1px solid rgba(220,38,38,0.2);}
    .fmt-excel{background:rgba(22,163,74,0.1);color:#14532d;border:1px solid rgba(22,163,74,0.2);}

    /* ── Report action buttons ── */
    .report-actions{display:flex;gap:0.375rem;margin-top:auto;}
    .btn-generate{
      flex:1;padding:0.3rem 0;border-radius:6px;font-size:0.6875rem;font-weight:600;
      cursor:pointer;transition:all 0.15s;border:none;display:inline-flex;align-items:center;
      justify-content:center;gap:0.3rem;font-family:inherit;
      background:var(--kai-blue);color:#fff;
    }
    .btn-generate:hover{background:#002060;}
    .btn-generate.loading{background:rgba(0,48,130,0.5);cursor:wait;}
    .btn-schedule{
      padding:0.3rem 0.625rem;border-radius:6px;font-size:0.6875rem;font-weight:600;
      cursor:pointer;transition:all 0.15s;
      border:1px solid var(--border);background:none;color:var(--muted);
      display:inline-flex;align-items:center;gap:0.3rem;font-family:inherit;
    }
    .btn-schedule:hover{border-color:var(--kai-blue);color:var(--kai-blue);}

    /* ── 2-col layout: content + quick panel ── */
    .content-with-panel{display:grid;grid-template-columns:1fr 320px;gap:1rem;align-items:start;}

    /* ── Recent exports table ── */
    .export-size{font-family:'JetBrains Mono',monospace;font-size:0.75rem;color:var(--muted);}

    /* ── Quick generate panel ── */
    .quick-panel{
      background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;
      position:sticky;top:1rem;
    }
    .quick-panel-hdr{
      padding:0.75rem 1rem;
      border-bottom:1px solid var(--border);
      background:linear-gradient(135deg,rgba(0,48,130,0.04),rgba(0,48,130,0.01));
    }
    .quick-panel-title{font-size:0.8125rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:0.5rem;}
    .quick-form{padding:1rem;display:flex;flex-direction:column;gap:0.75rem;}
    .form-group{display:flex;flex-direction:column;gap:0.25rem;}
    .form-label{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--muted);}
    .form-select,.form-input{
      padding:0.4rem 0.625rem;border:1px solid var(--border);border-radius:6px;
      font-size:0.8125rem;color:var(--text);background:var(--card);
      font-family:inherit;transition:border-color 0.15s;
    }
    .form-select:focus,.form-input:focus{outline:none;border-color:var(--kai-blue);}
    .form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;}
    .format-toggle{display:grid;grid-template-columns:1fr 1fr;gap:0.375rem;}
    .fmt-opt{
      padding:0.4rem;border-radius:6px;border:2px solid var(--border);
      font-size:0.8125rem;font-weight:700;cursor:pointer;
      display:flex;align-items:center;justify-content:center;gap:0.375rem;
      transition:all 0.15s;
    }
    .fmt-opt.sel-pdf{border-color:var(--red);background:rgba(220,38,38,0.06);color:#991b1b;}
    .fmt-opt.sel-excel{border-color:var(--green);background:rgba(22,163,74,0.06);color:#14532d;}
    .fmt-opt:not(.sel-pdf):not(.sel-excel){color:var(--muted);}
    .fmt-opt:hover:not(.sel-pdf):not(.sel-excel){border-color:var(--border);background:var(--card2);}
    .btn-generate-main{
      width:100%;padding:0.5rem;border-radius:7px;font-size:0.875rem;font-weight:700;
      cursor:pointer;transition:all 0.15s;border:none;
      background:var(--kai-blue);color:#fff;font-family:inherit;
      display:flex;align-items:center;justify-content:center;gap:0.5rem;
    }
    .btn-generate-main:hover{background:#002060;}
    .btn-generate-main:active{transform:scale(0.98);}
    .btn-generate-main.loading{
      background:rgba(0,48,130,0.5);cursor:wait;
    }

    /* ── Generate progress ── */
    .gen-progress{
      display:none;flex-direction:column;gap:0.5rem;
      padding:0.75rem 1rem;border-top:1px solid var(--border);
      background:rgba(0,48,130,0.02);
    }
    .gen-progress.show{display:flex;}
    .gen-progress-label{font-size:0.75rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:0.375rem;}
    .gen-progress-bar{height:4px;background:rgba(0,0,0,0.06);border-radius:2px;overflow:hidden;}
    .gen-progress-fill{height:100%;background:var(--kai-blue);border-radius:2px;width:0%;transition:width 0.3s ease;}

    /* ── Download btn in table ── */
    .dl-btn{
      padding:0.2rem 0.5rem;border-radius:5px;font-size:0.6875rem;font-weight:600;
      border:1px solid var(--border);background:none;color:var(--muted);
      cursor:pointer;transition:all 0.15s;font-family:inherit;
      display:inline-flex;align-items:center;gap:0.25rem;
    }
    .dl-btn:hover{border-color:var(--kai-blue);color:var(--kai-blue);}

    /* ── Modal ── */
    .modal-overlay{
      position:fixed;inset:0;background:rgba(0,0,0,0.4);
      z-index:300;display:none;align-items:center;justify-content:center;
    }
    .modal-overlay.open{display:flex;}
    .modal{
      background:var(--card);border:1px solid var(--border);border-radius:12px;
      width:420px;max-width:95vw;
      box-shadow:0 20px 60px rgba(0,0,0,0.2);overflow:hidden;
    }
    .modal-hdr{
      padding:1rem 1.25rem;border-bottom:1px solid var(--border);
      display:flex;align-items:center;gap:0.625rem;
    }
    .modal-icon{font-size:18px;}
    .modal-title{font-size:0.875rem;font-weight:800;color:var(--text);}
    .modal-subtitle{font-size:0.75rem;color:var(--muted);margin-top:2px;}
    .modal-close{
      margin-left:auto;width:28px;height:28px;background:none;
      border:1px solid var(--border);border-radius:6px;cursor:pointer;
      display:flex;align-items:center;justify-content:center;
      font-size:12px;color:var(--muted);transition:all 0.15s;font-family:inherit;
    }
    .modal-close:hover{border-color:var(--red);color:var(--red);}
    .modal-body{padding:1.25rem;}
    .modal-footer{
      padding:0.875rem 1.25rem;border-top:1px solid var(--border);
      display:flex;gap:0.5rem;justify-content:flex-end;
    }

    /* ── Schedule modal form ── */
    .sched-form{display:flex;flex-direction:column;gap:0.75rem;}
    .sched-form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;}
    .freq-toggle{display:flex;gap:0.375rem;flex-wrap:wrap;}
    .freq-opt{
      padding:0.25rem 0.625rem;border-radius:5px;border:1px solid var(--border);
      font-size:0.75rem;font-weight:600;cursor:pointer;color:var(--muted);
      transition:all 0.15s;background:none;font-family:inherit;
    }
    .freq-opt.active{background:rgba(0,48,130,0.08);border-color:var(--kai-blue);color:var(--kai-blue);}
