.gcc{--o:#f59e0b;--ink:#0f172a;--mut:#475569;--g:#059669;--r:#dc2626;max-width:920px;margin:24px auto;padding:28px;background:#fff;border:2px solid #fde3b4;border-radius:22px;box-shadow:0 10px 30px rgba(245,158,11,.12);font-family:Inter,system-ui,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.4;color:var(--ink);box-sizing:border-box}
.gcc *,.gcc *::before,.gcc *::after{box-sizing:border-box}
.gcc[data-type=gpa]{--cols:minmax(0,2fr) minmax(0,1.2fr) 110px 44px}
.gcc[data-type=cgpa]{--cols:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1fr) 44px}
.gcc h3{margin:0!important;padding:0!important;font:700 28px/1.2 Inter,system-ui,"Segoe UI",Arial,sans-serif!important;color:var(--ink)!important;letter-spacing:0!important;text-transform:none!important}

/* fields */
.gcc input[type=text],.gcc input[type=number],.gcc select{display:block;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:12px 14px!important;border:1px solid #d1d5db!important;border-radius:10px!important;background-color:#fff!important;color:var(--ink)!important;font:400 16px/1.4 Inter,system-ui,"Segoe UI",Arial,sans-serif!important;box-shadow:none!important;outline:0;overflow:visible!important}
.gcc select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:38px!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M5 7l5 6 5-6' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:14px!important;text-overflow:clip}
.gcc input:focus,.gcc select:focus{border-color:var(--o)!important;box-shadow:0 0 0 3px rgba(245,158,11,.25)!important}
.gcc input[type=checkbox]{width:20px!important;height:20px!important;margin:0!important;accent-color:#d97706}
.gcc-f{display:block;min-width:0;margin:0}
.gcc-l{display:none;margin-bottom:6px;font-size:14px;color:var(--mut)}
.gcc-chk{display:flex;align-items:center;gap:8px;min-height:48px;margin:0;cursor:pointer}

/* card */
.gcc-card{padding:24px;margin-bottom:18px;border:1px solid #fbd9b0;border-radius:16px;background:linear-gradient(135deg,#fff8f0,#ffecec)}
.gcc-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.gcc-badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gcc-badge{padding:10px 16px;background:#fff;border:1px solid #fbbf6b;border-radius:12px;color:var(--mut)}
.gcc-badge b{font-size:22px;color:var(--g)}
.gcc-bad{color:var(--r)!important}

/* rows */
.gcc-hd,.gcc-row{display:grid;grid-template-columns:var(--cols);gap:16px;align-items:center}
.gcc-hd{padding:0 18px;margin-bottom:8px;font-weight:700;color:#334155}
.gcc-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.gcc-row{padding:14px 18px;background:#fff;border-radius:14px;box-shadow:0 2px 8px rgba(15,23,42,.08)}
.gcc-row.gcc-fail{box-shadow:0 0 0 2px #fca5a5}
.gcc-row.gcc-fail select{border-color:var(--r)!important;background-color:#fef2f2!important}

/* buttons */
.gcc button{font:600 15px/1.2 Inter,system-ui,"Segoe UI",Arial,sans-serif!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important;transition:background .15s}
.gcc button.gcc-b{padding:12px 20px!important;border:1.5px solid var(--o)!important;border-radius:10px!important;background:#fff!important;color:#b45309!important;box-shadow:none!important}
.gcc button.gcc-b:hover{background:#fff7ed!important}
.gcc button.gcc-b.gcc-p{border-color:#b45309!important;background:#b45309!important;color:#fff!important}
.gcc button.gcc-b.gcc-p:hover{background:#92400e!important}
.gcc button.gcc-b[hidden]{display:none!important}
.gcc button.gcc-x{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0!important;border:0!important;border-radius:50%!important;background:#fee2e2!important;color:var(--r)!important;font-size:24px!important;line-height:1!important;box-shadow:none!important}
.gcc button.gcc-x:hover{background:#fecaca!important}
.gcc-xt{display:none}
.gcc-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.gcc-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-weight:600}
.gcc-bar select{width:auto!important;min-width:150px}

/* result */
.gcc-result{display:flex;flex-wrap:wrap;gap:12px;padding:20px;background:#fff;border:1px solid #fbd9b0;border-radius:16px}
.gcc-stat{flex:1 1 140px;text-align:center}
.gcc-stat small{display:block;margin-bottom:4px;color:var(--mut);font-size:14px}
.gcc-stat b{font-size:28px;color:var(--g)}

@media(max-width:640px){
.gcc{margin:16px 0;padding:14px;border-radius:18px}
.gcc-card{padding:16px}
.gcc h3{font-size:24px!important}
.gcc-hd{display:none}
.gcc-row{grid-template-columns:1fr 1fr;gap:12px;padding:14px}
.gcc-f.gcc-n,.gcc button.gcc-x{grid-column:1/-1}
.gcc-l{display:block}
.gcc button.gcc-x{width:100%;height:auto;padding:12px!important;border-radius:12px!important;font-size:16px!important}
.gcc-xi{display:none}
.gcc-xt{display:inline}
.gcc-actions .gcc-b{flex:1 1 100%}
}
