*{box-sizing:border-box}
:root{--bg:#080b12;--panel:#111722;--panel2:#0d1119;--border:#202938;--text:#f5f7fa;--muted:#9ba7b8;--subtle:#66758c;--blue:#3298f5;--green:#54c58a;--amber:#e8b44b;--red:#ed7373}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}.container{width:min(1440px,calc(100% - 40px));margin:auto}
.site-header{border-bottom:1px solid var(--border);background:#0b1019}.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:19px;font-weight:800;letter-spacing:2px}.logo span{color:var(--blue)}.nav-links{display:flex;gap:25px;color:var(--muted);font-size:14px}.nav-links a:hover{color:white}
.page{padding-bottom:80px}.back-row{padding:25px 0 35px}.button,.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #34445b;border-radius:6px;background:#151e2b;color:#eaf1f8;padding:10px 14px;font-weight:700;font-size:13px;cursor:pointer}.button:hover,.btn:hover{border-color:var(--blue);background:#19283a}.hero{padding:0 0 28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--blue);margin:0 0 10px}.hero h1{font-size:clamp(34px,5vw,54px);letter-spacing:-1.8px;line-height:1.08;margin:0 0 16px}.intro{max-width:780px;color:var(--muted);font-size:17px;margin:0}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:20px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.panel h2{font-size:23px;margin:0 0 6px}.panel h3{font-size:17px}.muted{color:var(--muted);margin:0;font-size:13px}.small{font-size:12px}.status-pill{border:1px solid #315b48;color:var(--green);border-radius:20px;padding:5px 10px;font-size:11px;white-space:nowrap}
.setup-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px}.setup-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px}.setup-grid input,.setup-grid select{width:100%;background:var(--panel2);border:1px solid #2b3749;border-radius:5px;color:white;padding:10px;font:inherit}.toolbar{display:flex;gap:10px;margin-top:16px}.btn.secondary{border-color:#315d87;color:#b8dcff}.btn.ghost{background:transparent;color:var(--muted)}.btn.danger{background:#24171b;border-color:#69404a;color:#f0a1a8}.btn.danger:hover{background:#351d24;border-color:#b65c6b;color:#ffd9dd}
.tabs{display:flex;gap:7px;overflow-x:auto;margin:24px 0 14px;padding-bottom:2px}.tab{white-space:nowrap;border:1px solid var(--border);background:#0d131d;color:var(--muted);border-radius:6px;padding:12px 18px;font-weight:700;cursor:pointer}.tab.active{background:#13253a;border-color:#286da9;color:#d9edff}.tab-panel{display:none}.tab-panel.active{display:block}
.table-scroll{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:7px}table{width:100%;border-collapse:collapse;min-width:760px;font-size:13px}th,td{padding:10px 11px;border-bottom:1px solid #202938;text-align:right;white-space:nowrap}th{background:#0c121c;color:#91a1b6;font-size:11px;text-transform:uppercase;letter-spacing:.7px}th:first-child,td:first-child{text-align:left;min-width:230px;position:sticky;left:0;background:#111722;z-index:1}thead th:first-child{background:#0c121c;z-index:2}tbody tr:last-child td{border-bottom:0}.section-row td{background:#0d1520!important;color:#8fbde7;font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:1px}.total-row td{background:#141f2e!important;font-weight:800}.calculated-row td{color:#b9d9f6}.negative{color:#f08b8b!important}.cell-input{width:112px;max-width:100%;padding:7px 8px;border:1px solid #29384c;border-radius:4px;background:#0b111a;color:#f5f7fa;text-align:right;font:inherit;font-variant-numeric:tabular-nums}.cell-input:focus,.line-label:focus{outline:1px solid var(--blue);border-color:var(--blue)}.line-label{width:100%;min-width:170px;background:transparent;border:1px solid transparent;color:#e8edf4;padding:6px;border-radius:4px;font:inherit;text-align:left}.remove-row{background:transparent;border:0;color:#74849a;cursor:pointer;font-size:16px}.remove-row:hover{color:var(--red)}
.notice{padding:13px 15px;border-left:3px solid var(--amber);background:#1b1a16;color:#d9c79d;font-size:12px;margin-bottom:18px;border-radius:3px}.subheading{margin:25px 0 7px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.metric-card{background:var(--panel2);border:1px solid var(--border);border-radius:7px;padding:15px}.metric-card span{display:block;color:var(--subtle);font-size:10px;text-transform:uppercase;letter-spacing:1px}.metric-card strong{display:block;font-size:21px;margin-top:5px;font-variant-numeric:tabular-nums}.check-list{display:grid;gap:10px}.check-card{padding:15px;border:1px solid var(--border);background:var(--panel2);border-radius:7px;display:flex;justify-content:space-between;gap:15px;align-items:center}.check-card strong{display:block}.check-card p{margin:3px 0 0;color:var(--muted);font-size:12px}.check-status{font-size:11px;font-weight:800;white-space:nowrap}.ok{color:var(--green)}.warn{color:var(--amber)}.bad{color:var(--red)}.footer-note{color:var(--muted);font-size:12px;padding:8px 2px 30px}.footer-note strong{color:#dbe5f0}.footer-note p{max-width:900px}footer{border-top:1px solid var(--border);padding:25px 0;color:var(--subtle);font-size:12px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
@media(max-width:800px){.container{width:min(100% - 24px,1440px)}.panel{padding:17px}.setup-grid{grid-template-columns:1fr 1fr}.panel-heading{flex-direction:column}.panel-heading .btn{align-self:flex-start}.metric-grid{grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column}.nav-links{gap:12px}}
@media(max-width:480px){.setup-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:36px}.tab{padding:10px 13px}.logo{font-size:16px}}

/* Financial ratios tab */
.ratio-summary-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:4px 0 13px}.ratio-summary-head h3{margin:0;font-size:19px}.ratio-health-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:22px}.ratio-health-card,.ratio-chart-card{background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:14px}.ratio-health-card>span{display:block;color:var(--muted);font-size:11px;min-height:32px}.ratio-health-card strong{display:block;font-size:23px;font-variant-numeric:tabular-nums;margin:5px 0 8px}.signal{display:inline-block;font-style:normal;font-size:9px;font-weight:800;letter-spacing:.6px;padding:4px 7px;border-radius:20px;white-space:nowrap}.signal.good{background:#123126;color:#75d6a5}.signal.caution{background:#332a16;color:#f0c76d}.signal.risk{background:#351d24;color:#f39aa4}.signal.neutral{background:#202a38;color:#aab7c8}.ratio-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}.ratio-chart-card h3{font-size:13px;margin:0 0 8px;color:#dce8f5}.ratio-chart-card svg{display:block;width:100%;height:auto;overflow:visible}.ratio-chart-card svg text{fill:#8292a8;font-size:11px}.ratio-table{min-width:1080px}.ratio-table td:nth-child(2){text-align:left;color:var(--muted);font-size:11px;min-width:245px;white-space:normal}.ratio-table td:first-child{min-width:225px}.ratio-table .signal{vertical-align:middle}.ratio-note{margin-top:18px}
@media(max-width:1000px){.ratio-health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.ratio-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ratio-chart-grid{grid-template-columns:1fr}.ratio-summary-head{align-items:flex-start;flex-direction:column}}

/* Financial projections */

.projection-section {
  margin-bottom: 25px;
  padding: 18px;
  background: var(--panel2);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.projection-section h3 {
  margin: 0 0 15px;
  font-size: 17px;
}

.projection-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}

.projection-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}

.projection-grid input,
.projection-grid select {
  width: 100%;
  min-width: 0;
  padding: 9px;
  border: 1px solid #2b3749;
  border-radius: 5px;
  background: #0b111a;
  color: white;
  font: inherit;
}

.projection-grid input:focus,
.projection-grid select:focus {
  outline: 1px solid var(--blue);
  border-color: var(--blue);
}

.projection-output {
  margin-top: 20px;
}

.projection-output h3 {
  margin: 25px 0 10px;
}

.projection-metrics {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.projection-metric {
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #101a28;
}

.projection-metric span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .8px;
}

.projection-metric strong {
  display: block;
  margin-top: 5px;
  font-size: 19px;
  font-variant-numeric: tabular-nums;
}

.projection-table {
  min-width: 850px;
}

.projection-table td:first-child {
  min-width: 250px;
}

.projection-highlight td {
  background: #14243a !important;
  color: #c4e2ff;
  font-weight: 800;
}

.projection-positive {
  color: var(--green);
}

.projection-negative {
  color: var(--red);
}

.projection-note {
  margin-top: 15px;
}

.projection-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 15px 0;
}

@media(max-width:1000px) {
  .projection-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .projection-metrics {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media(max-width:550px) {
  .projection-grid {
    grid-template-columns: 1fr 1fr;
  }

  .projection-metrics {
    grid-template-columns: 1fr 1fr;
  }
}

/* =========================================
   PROJECTION TAB
========================================= */

.projection-section {
    margin-bottom: 24px;
}

.projection-section h3 {
    margin: 0 0 14px;
    color: var(--text);
}

.projection-card {
    background: var(--panel2);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 18px;
}

.projection-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.projection-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.projection-field label {
    color: var(--muted);
    font-size: 12px;
}

.projection-field input,
.projection-field select {
    width: 100%;
    box-sizing: border-box;
}

.projection-table-wrap {
    overflow-x: auto;
    margin-top: 12px;
}

.projection-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.projection-table th,
.projection-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    text-align: right;
    white-space: nowrap;
}

.projection-table th:first-child,
.projection-table td:first-child {
    text-align: left;
}

.projection-table th {
    color: var(--muted);
    font-size: 12px;
}

.projection-table .projected-column {
    color: var(--green);
    background: rgba(84, 197, 138, 0.06);
}

.projection-table .historical-column {
    color: var(--text);
}

.projection-note {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
    margin-top: 10px;
}

.projection-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.projection-kpi {
    background: var(--panel2);
    border: 1px solid var(--border);
    border-radius: 9px;
    padding: 15px;
}

.projection-kpi .label {
    color: var(--muted);
    font-size: 12px;
}

.projection-kpi .value {
    color: var(--text);
    font-size: 22px;
    font-weight: 600;
    margin-top: 7px;
}

.projection-kpi .value.positive {
    color: var(--green);
}

.projection-kpi .value.negative {
    color: var(--red);
}

@media (max-width: 700px) {
    .projection-card {
        padding: 12px;
    }

    .projection-table th,
    .projection-table td {
        padding: 8px;
    }
}
