/* GPA Calculator-only tweaks. Global UI comes from cg-bootstrap-ui.css */

.cg-wrapper .cg-hero__title { color:#ffffff !important; }

/* Options card */
#cg-gpa-calculator .gpa-options-card{border:1px solid var(--cg-border,#e2e8f0);border-radius:14px;background:#fff;padding:14px;}
#cg-gpa-calculator .gpa-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:720px){#cg-gpa-calculator .gpa-options-grid{grid-template-columns:1fr;}}
#cg-gpa-calculator .gpa-toggle-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}

/* Transcript rules */
#cg-gpa-calculator .gpa-rules{margin-top:12px;padding-top:12px;border-top:1px solid var(--cg-border,#e2e8f0);}
#cg-gpa-calculator .gpa-rules-title{font-weight:800;margin-bottom:8px;color:#0f172a;}
#cg-gpa-calculator .gpa-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:720px){#cg-gpa-calculator .gpa-rules-grid{grid-template-columns:1fr;}}
#cg-gpa-calculator .gpa-rule{display:flex;align-items:center;gap:10px;}
#cg-gpa-calculator .gpa-repeat{margin-top:12px;}
#cg-gpa-calculator .gpa-repeat-label{font-weight:800;margin-bottom:6px;color:#0f172a;}
#cg-gpa-calculator .gpa-repeat-options{display:flex;flex-wrap:wrap;gap:14px;}
#cg-gpa-calculator .gpa-radio{display:inline-flex;align-items:center;gap:8px;}
#cg-gpa-calculator .gpa-repeat-note{margin-top:6px;font-size:.8125rem;color:var(--cg-text-muted,#64748b);}

/* Custom grade table */
#cg-gpa-calculator .gpa-hidden{display:none!important;}
#cg-gpa-calculator .gpa-custom-wrap{margin-top:14px;padding-top:14px;border-top:1px solid var(--cg-border,#e2e8f0);}
#cg-gpa-calculator .gpa-custom-title{font-weight:900;color:#0f172a;}
#cg-gpa-calculator .gpa-custom-sub{font-size:.8125rem;color:var(--cg-text-muted,#64748b);margin-top:4px;}
#cg-gpa-calculator .gpa-custom-table{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px;}
#cg-gpa-calculator .gpa-custom-row{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid var(--cg-border,#e2e8f0);border-radius:12px;background:#f8fafc;}
#cg-gpa-calculator .gpa-custom-row--head{background:#fff;font-weight:900;}
#cg-gpa-calculator .gpa-custom-grade{font-weight:800;color:#0f172a;}
#cg-gpa-calculator .gpa-custom-help{margin-top:10px;font-size:.8125rem;color:var(--cg-text-muted,#64748b);}

/* Planner */
#cg-gpa-calculator .gpa-planner{margin-top:14px;padding-top:14px;border-top:1px solid var(--cg-border,#e2e8f0);}
#cg-gpa-calculator .gpa-planner-title{font-weight:900;color:#0f172a;margin-bottom:10px;}
#cg-gpa-calculator .gpa-planner-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:720px){#cg-gpa-calculator .gpa-planner-grid{grid-template-columns:1fr;}}
#cg-gpa-calculator .gpa-planner-results{margin-top:10px;border:1px solid var(--cg-border,#e2e8f0);border-radius:14px;background:#f8fafc;padding:12px;}
#cg-gpa-calculator .gpa-planner-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
#cg-gpa-calculator .gpa-planner-label{font-weight:800;color:#0f172a;}
#cg-gpa-calculator .gpa-planner-value{font-weight:900;font-variant-numeric:tabular-nums;color:#0f172a;text-align:right;}
#cg-gpa-calculator .gpa-planner-sub{margin-top:6px;font-size:.8125rem;color:var(--cg-text-muted,#64748b);}

/* Semesters layout */
#cg-gpa-calculator .gpa-semesters{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
#cg-gpa-calculator .gpa-semester{border:1px solid var(--cg-border,#e2e8f0);border-radius:14px;background:#f8fafc;padding:12px;}
#cg-gpa-calculator .gpa-semester-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;}
#cg-gpa-calculator .gpa-semester-title{font-weight:800;color:#0f172a;}
#cg-gpa-calculator .gpa-semester-gpa{font-size:.875rem;color:var(--cg-text-muted,#64748b);white-space:nowrap;}
#cg-gpa-calculator .gpa-semester-gpa-value{font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums;}
#cg-gpa-calculator .gpa-semester-courses{display:flex;flex-direction:column;gap:12px;}
#cg-gpa-calculator .gpa-semester-add-course-row{margin-top:10px;}

/* Course rows */
#cg-gpa-calculator .gpa-course-row{border:1px solid var(--cg-border,#e2e8f0);border-radius:14px;background:#fff;padding:12px;}
#cg-gpa-calculator .gpa-course-row__header{font-weight:800;margin-bottom:10px;color:#0f172a;}
#cg-gpa-calculator .gpa-course-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;}
@media (max-width:720px){#cg-gpa-calculator .gpa-course-grid{grid-template-columns:1fr;}}
#cg-gpa-calculator .gpa-grade-field .cg-select{width:100%;min-width:240px;white-space:nowrap;}

/* Add buttons */
#cg-gpa-calculator .gpa-add-semester-row{margin-top:14px;}
#cg-gpa-calculator .gpa-semester-add-course-row{margin-top:12px;}
#cg-gpa-calculator .gpa-add-btn{
  display:inline-flex;align-items:center;gap:8px;
  border-radius:999px!important;
  border:2px solid var(--cg-primary,#2563eb)!important;
  background:#fff!important;
  color:var(--cg-primary,#2563eb)!important;
  font-weight:800!important;
  padding:10px 16px!important;
  line-height:1!important;
}
#cg-gpa-calculator .gpa-add-btn:hover{background:rgba(37,99,235,.06)!important;}
#cg-gpa-calculator .gpa-add-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;font-weight:900;font-size:16px;line-height:1;margin-top:-1px;}
#cg-gpa-calculator .gpa-add-btn__text{font-size:.95rem;}

/* Formula block */
#cg-gpa-calculator .gpa-formula-block{border:1px solid var(--cg-border,#e2e8f0);border-radius:14px;background:#f8fafc;padding:14px;}
#cg-gpa-calculator .gpa-formula-title{font-weight:900;color:#0f172a;margin-top:10px;}
#cg-gpa-calculator .gpa-formula-title:first-child{margin-top:0;}
#cg-gpa-calculator .gpa-formula-line{margin-top:6px;color:#0f172a;}
#cg-gpa-calculator .gpa-formula-notes{margin:8px 0 0 18px;color:#0f172a;}

/* Outputs groups */
#cg-gpa-calculator .gpa-results-group{margin-top:12px;}
#cg-gpa-calculator .gpa-results-group__title{font-weight:900;color:#0f172a;margin-bottom:8px;}

/* Semester Results cards */
#cg-gpa-calculator .gpa-semester-results{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:860px){#cg-gpa-calculator .gpa-semester-results{grid-template-columns:1fr;}}
#cg-gpa-calculator .gpa-semester-result-card{border:1px solid var(--cg-border,#e2e8f0);border-radius:14px;background:#fff;padding:12px;}
#cg-gpa-calculator .gpa-semester-result-head{font-weight:900;color:#0f172a;margin-bottom:8px;}
#cg-gpa-calculator .gpa-semester-result-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 0;}
#cg-gpa-calculator .gpa-semester-result-label{font-weight:800;color:#0f172a;}
#cg-gpa-calculator .gpa-semester-result-value{font-weight:900;color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;}
#cg-gpa-calculator .gpa-semester-result-sub{font-size:.75rem;color:var(--cg-text-muted,#64748b);margin-top:-2px;margin-bottom:6px;}
#cg-gpa-calculator .gpa-semester-result-empty{border:1px dashed var(--cg-border,#e2e8f0);border-radius:14px;padding:12px;background:#fff;color:var(--cg-text-muted,#64748b);}

/* Cumulative results list */
#cg-gpa-calculator .gpa-result-list{padding:6px;}
#cg-gpa-calculator .gpa-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 10px;border-radius:var(--cg-radius-md,12px);}
#cg-gpa-calculator .gpa-result-row + .gpa-result-row{border-top:1px solid var(--cg-border,#e2e8f0);}
#cg-gpa-calculator .gpa-result-label{font-weight:700;}
#cg-gpa-calculator .gpa-result-value{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;}
#cg-gpa-calculator .gpa-result-subline{font-size:.75rem;color:var(--cg-text-muted,#64748b);padding:0 10px 10px;}
#cg-gpa-calculator .gpa-copy,#cg-gpa-calculator .gpa-copyall{border:1px solid var(--cg-border,#e2e8f0);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer;font-size:.8125rem;}
#cg-gpa-calculator .gpa-copy.gpa-copied,#cg-gpa-calculator .gpa-copyall.gpa-copied{opacity:.85;}
@media (max-width:640px){
  #cg-gpa-calculator .gpa-result-row{grid-template-columns:1fr auto;grid-template-areas:"label copy" "value copy";align-items:start;}
  #cg-gpa-calculator .gpa-result-label{grid-area:label;}
  #cg-gpa-calculator .gpa-result-value{grid-area:value;white-space:normal;}
  #cg-gpa-calculator .gpa-copy{grid-area:copy;}
}

/* Step-by-step solution */
#cg-gpa-calculator .gpa-steps{margin-top:10px;border:1px solid var(--cg-border,#e2e8f0);border-radius:14px;padding:16px;background:#fff;}
#cg-gpa-calculator .gpa-steps-title{font-weight:800;font-size:1rem;margin-bottom:12px;color:#0f172a;}
#cg-gpa-calculator .gpa-step{padding:14px 14px;background:#f8fafc;border:1px solid var(--cg-border,#e2e8f0);border-radius:14px;margin-bottom:12px;}
#cg-gpa-calculator .gpa-step:last-child{margin-bottom:0;}
#cg-gpa-calculator .gpa-step-label{font-size:.875rem;font-weight:800;color:#64748b;margin-bottom:10px;}
#cg-gpa-calculator .gpa-step-math{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.95rem;color:#0f172a;word-break:break-word;font-weight:400;}
