/* UMT CGPA Calculator - CSS (mobile-first) */
:root{
  --primary:#F43676;
  --bg:#ffffff;
  --txt:#111;
  --muted:#666;
  --radius:12px;
  --card-shadow: 0 8px 24px rgba(16,16,16,0.06);
  --gap:14px;
}

.umt-calc{max-width:980px;margin:18px auto;padding:18px;font-family:Inter, system-ui, Arial, sans-serif;color:var(--txt);}
.umt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.umt-header h2{font-size:20px;margin:0;color:var(--primary);}

.theme-actions{display:flex;gap:8px;align-items:center;}
.btn{background:var(--primary);color:#fff;border:0;padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600}
.btn.small{padding:6px 8px;font-size:13px;border-radius:8px}
.btn.tiny{padding:6px 8px;font-size:12px;border-radius:8px}
.btn.ghost{background:transparent;color:var(--primary);border:1px solid rgba(0,0,0,0.06)}
.btn.primary{background:var(--primary);box-shadow:0 6px 18px rgba(244,54,118,0.12)}
.mode-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.mode-label{font-weight:600;color:var(--muted)}
.mode-controls{display:flex;gap:8px}
.mode-btn{padding:8px 12px;border-radius:10px;border:1px solid rgba(0,0,0,0.06);background:#fff;cursor:pointer}
.mode-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}

.panel{background:var(--bg);padding:14px;border-radius:var(--radius);box-shadow:var(--card-shadow);margin-bottom:12px}
.panel h2{margin:0 0 10px 0;font-size:16px;color:var(--primary)}
.courses-table{width:100%;border-collapse:collapse;margin-bottom:8px}
.courses-table input,.courses-table select{width:100%;padding:8px;border-radius:8px;border:1px solid #e6e6e6;font-size:13px}
.courses-table th{ text-align:left;padding:10px 8px;font-weight:600;font-size:13px;color:var(--muted)}
.courses-table td{padding:6px 8px;vertical-align:middle}

.actions-row{display:flex;gap:8px;justify-content:flex-start;margin-top:8px}
.calc-row{display:flex;justify-content:flex-end;margin-top:12px}
.result-box{margin-top:12px;padding:10px;border-radius:10px;background:#fbfbfb;border:1px solid #f0f0f0}
.result-box p{margin:6px 0;font-weight:600}
.result-actions{display:flex;gap:8px;margin-top:8px}

.legend{margin-top:8px;padding:12px;border-radius:10px;background:#fff;border:1px solid #f0f0f0}
.legend h3{margin:0 0 8px 0;font-size:14px;color:var(--primary)}
.legend-table{width:100%;border-collapse:collapse}
.legend-table th, .legend-table td{padding:6px 8px;text-align:left;border-bottom:1px solid #f5f5f5;font-size:13px}

.umt-footer{margin-top:10px;text-align:center;color:var(--muted);font-size:13px}

/* Semester card */
.semester-card{border:1px solid #f1f1f1;border-radius:10px;padding:10px;margin-bottom:10px;background:#fff}
.semester-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sem-title{margin:0;font-size:14px}
.sem-actions{display:flex;gap:8px;align-items:center}
.inline-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.inline-row label{min-width:120px;font-weight:600;color:var(--muted)}
.inline-row input{flex:1}

/* utilities */
.hidden{display:none}
.visible{display:block}

/* Dark mode */
.dark { --bg:#0f1113; --txt:#e9eef3; --muted:#9aa4b2; --card-shadow: none; background:#0f1113; color:var(--txt); }
.dark .panel, .dark .legend, .dark .semester-card, .dark .result-box{background:#101215;border:1px solid rgba(255,255,255,0.04)}
.dark .courses-table input, .dark .courses-table select{background:#0c0d0f;border:1px solid rgba(255,255,255,0.04);color:var(--txt)}
.dark .btn.ghost{color:var(--txt);border-color:rgba(255,255,255,0.04)}
.dark .mode-btn{background:transparent;color:var(--txt);border-color:rgba(255,255,255,0.04)}