:root{--primary: #0f766e;--primary-light: #14b8a6;--primary-dark: #115e59;--accent: #0d9488;--accent-light: #5eead4;--success: #2ECC71;--warning: #F39C12;--danger: #E74C3C;--info: #3498DB;--bg-primary: #F5F7FA;--bg-secondary: #FFFFFF;--bg-card: #FFFFFF;--bg-hover: #F0F2F5;--text-primary: #1A1A2E;--text-secondary: #555770;--text-tertiary: #8E8EA9;--text-inverse: #FFFFFF;--border-color: #E8EBF0;--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px;--border-radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(20, 184, 166, .18);--card-blue: #E8F4FD;--card-pink: #FDE8F0;--card-green: #E8FDF0;--card-purple: #F0E8FD;--card-orange: #FDF0E8;--card-teal: #E8FDF8;--card-yellow: #FDFBE8;--card-beige: #F5F0E8;--font-family: "Roboto", -apple-system, BlinkMacSystemFont, sans-serif;--nav-height: 64px;--bottom-nav-height: 72px}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body,#root{min-height:100vh;min-height:100dvh}a{text-decoration:none;color:inherit}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-family);outline:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,to{box-shadow:0 0 5px #14b8a633}50%{box-shadow:0 0 20px #14b8a666}}.fade-in{animation:fadeIn .3s ease-out}.slide-up{animation:slideUp .3s ease-out}.app-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;border:1px solid rgba(148,163,184,.14);background:#f1f5f9f5;color:#475569}.app-pill--code{color:#1d4ed8;background:#3b82f61f}.app-pill--credit{color:#475569;background:#f1f5f9f5}.app-pill--semester{color:#0f766e;background:#14b8a61f}.app-pill--type{color:#7c3aed;background:#8b5cf61f}.app-metric-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.app-metric-strip--compact{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.app-metric-strip--compact::-webkit-scrollbar{display:none}.app-metric-pill{min-width:94px;border-radius:999px;padding:10px 12px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,#fffffff5,#f1f5f9f5);display:flex;flex-direction:column;gap:2px;flex:0 0 auto}.app-metric-pill__label{font-size:11px;font-weight:700;color:#64748b}.app-metric-pill__value{font-size:18px;color:#0f172a}.app-metric-strip--compact .app-metric-pill{min-width:84px;padding:8px 10px}.app-metric-strip--compact .app-metric-pill__value{font-size:16px}.app-result-card{border-radius:20px;border:1px solid rgba(148,163,184,.14);background:#ffffffe0;padding:12px}.app-result-card--passed{background:linear-gradient(180deg,#fffffffa,#dcfce7eb)}.app-result-card--failed{background:linear-gradient(180deg,#fffffffa,#fee2e2f0)}.app-result-card--pending{background:linear-gradient(180deg,#fffffffa,#f1f5f9f0)}.app-result-card__header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.app-result-card__content{min-width:0;display:flex;flex-direction:column;gap:6px}.app-result-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.app-result-card__title{min-width:0}.app-result-card__aside{min-width:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;text-align:right}.app-result-card__footer{margin-top:10px}.app-result-card__extra{margin-top:8px}.app-grade-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;font-weight:800;line-height:1;flex:0 0 auto}.app-grade-badge--compact{min-width:50px;min-height:38px;padding:0 14px;font-size:18px}.app-grade-badge--orb{width:56px;height:56px;border-radius:50%;font-size:24px;box-shadow:inset 0 0 0 1px #ffffff8a}.app-grade-badge--good{color:#166534;background:#22c55e24}.app-grade-badge--strong{color:#1d4ed8;background:#3b82f624}.app-grade-badge--warn{color:#92400e;background:#f59e0b29}.app-grade-badge--pass{color:#0f766e;background:#14b8a624}.app-grade-badge--failed{color:#b91c1c;background:#f8717129}.app-grade-badge--neutral{color:#334155;background:#94a3b829}@media (max-width: 720px){.app-result-card__header{gap:10px}.app-metric-strip:not(.app-metric-strip--compact) .app-metric-pill{flex:1 1 calc(50% - 8px)}}.attendance-ring{transform:rotate(-90deg)}.tab-active{background:var(--primary);color:#fff;font-weight:500}.tab-inactive{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 4px}@media (max-width: 480px){.feature-grid{grid-template-columns:repeat(3,1fr);gap:12px}}
