/* ===== ICC Student Registration Portal v3.0 ===== */
*{box-sizing:border-box;}
.icc-wrap{
  --icc-p:#1b4d79;--icc-a:#f6b83d;--icc-h:#0a1d30;
  max-width:900px;margin:0 auto;
  font-family:'Segoe UI',Arial,Helvetica,sans-serif;
  font-size:14px;color:#1a202c;
}

/* HEADER */
.icc-header{background:#fff;color:#1a202c;display:flex;align-items:center;justify-content:center;gap:24px;padding:22px 24px;border-radius:12px 12px 0 0;border:1px solid #e2e8f0;border-bottom:none;}
.icc-logo{width:80px;height:80px;object-fit:contain;border-radius:50%;background:#fff;padding:4px;border:3px solid var(--icc-a);flex-shrink:0;}
.icc-header-text{text-align:center;}
.icc-header-text h1{margin:0 0 4px;font-size:24px;font-weight:800;line-height:1.2;color:#1a202c;}
.icc-header-info p{margin:2px 0;font-size:13px;font-weight:600;color:var(--icc-p);}
.icc-header-info .icc-header-address{font-size:12px;font-weight:500;color:#64748b;margin-top:6px;}
.icc-form-title{background:#f1f5f9;text-align:center;padding:9px;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;border:1px solid #ddd;border-top:none;color:#334155;}

/* STEPS BAR */
.icc-steps{display:flex;align-items:center;background:#fff;padding:14px 24px;border:1px solid #e2e8f0;border-top:none;margin-bottom:20px;}
.icc-step{display:flex;align-items:center;gap:8px;cursor:pointer;}
.icc-step-num{width:34px;height:34px;border-radius:50%;border:2px solid #cbd5e1;background:#f8fafc;color:#94a3b8;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:all .25s;flex-shrink:0;}
.icc-step-lbl{font-size:13px;font-weight:600;color:#94a3b8;white-space:nowrap;transition:color .2s;}
.icc-step-line{flex:1;height:2px;background:#e2e8f0;margin:0 10px;transition:background .3s;}
.icc-step.active .icc-step-num{background:var(--icc-p);border-color:var(--icc-p);color:#fff;box-shadow:0 0 0 4px rgba(27,77,121,.15);}
.icc-step.active .icc-step-lbl{color:var(--icc-p);}
.icc-step.done .icc-step-num{background:#22c55e;border-color:#22c55e;color:#fff;}
.icc-step.done .icc-step-lbl{color:#16a34a;}
.icc-step-line.done{background:var(--icc-p);}

/* MESSAGES */
#icc-msg{margin-bottom:14px;}
.icc-success{background:#f0fff4;border:1px solid #86efac;color:#15803d;padding:14px 18px;border-radius:10px;font-size:14px;font-weight:600;line-height:1.5;}
.icc-error{background:#fff5f5;border:1px solid #fca5a5;color:#b91c1c;padding:14px 18px;border-radius:10px;font-size:14px;font-weight:600;}

/* CARD */
.icc-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-bottom:18px;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.icc-card-hd{background:var(--icc-p);color:#fff;padding:11px 18px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px;}
.icc-badge{background:rgba(255,255,255,.22);border-radius:5px;padding:1px 8px;font-size:11px;font-weight:800;letter-spacing:.5px;white-space:nowrap;}
.icc-decl-hd{background:#7c2d12!important;}
.icc-card-bd{padding:18px;}

/* PHOTO ROW */
.icc-photo-row{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;}
.icc-photo-fields{flex:1;min-width:200px;}
.icc-photo-box{width:130px;border:2px dashed #93c5fd;border-radius:10px;display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:#f8fafc;text-align:center;flex-shrink:0;}
.icc-photo-box img{width:90px;height:116px;object-fit:cover;border:2px solid #cbd5e1;border-radius:6px;margin-bottom:8px;background:#e2e8f0;}
.icc-upload-lbl{cursor:pointer;font-size:12px;font-weight:700;color:var(--icc-p);text-decoration:underline;margin-bottom:4px;}
.icc-photo-box small{font-size:10px;color:#94a3b8;}
.icc-hidden{display:none!important;}

/* FIELDS */
.icc-f{display:flex;flex-direction:column;gap:4px;}
.icc-f label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569;}
.icc-req{color:#e53e3e;}
.icc-f input,.icc-f select,.icc-f textarea{border:1.5px solid #cbd5e1;border-radius:8px;padding:9px 12px;font-size:14px;width:100%;font-family:inherit;background:#fff;transition:border .2s,box-shadow .2s;outline:none;-webkit-appearance:none;appearance:none;}
.icc-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23475569' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;}
.icc-f input:focus,.icc-f select:focus,.icc-f textarea:focus{border-color:var(--icc-p);box-shadow:0 0 0 3px rgba(27,77,121,.12);}
.icc-f input[readonly]{background:#f1f5f9;color:#64748b;cursor:default;}
.icc-f input.icc-err,.icc-f select.icc-err,.icc-f textarea.icc-err{border-color:#e53e3e!important;box-shadow:0 0 0 3px rgba(229,62,62,.1)!important;}

/* RADIO */
.icc-radios{display:flex;gap:14px;padding:8px 0;flex-wrap:wrap;align-items:center;}
.icc-radios label{font-size:13px;font-weight:500;display:flex;align-items:center;gap:5px;text-transform:none;letter-spacing:0;cursor:pointer;color:#1a202c;}
.icc-radios input[type=radio]{accent-color:var(--icc-p);width:16px;height:16px;margin:0;flex-shrink:0;}
.icc-radios.icc-err{outline:2px solid #e53e3e;border-radius:6px;padding:6px 8px;}

/* GRIDS */
.icc-g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.icc-g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
.icc-mt{margin-top:14px;}
.icc-sub-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 8px;display:flex;align-items:center;gap:5px;}

/* ACADEMIC TABLE */
.icc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.icc-table{width:100%;border-collapse:collapse;font-size:12px;min-width:650px;}
.icc-table th{background:#f1f5f9;padding:9px 7px;border:1px solid #e2e8f0;font-size:11px;font-weight:700;text-transform:uppercase;color:#475569;text-align:left;white-space:nowrap;}
.icc-table td{padding:7px;border:1px solid #e2e8f0;vertical-align:middle;}
.icc-table tr:hover td{background:#f8fafc;}
.icc-exam-lbl{font-weight:700;color:#334155;white-space:nowrap;font-size:12px;}
.icc-table input[type=text],.icc-table input[type=number]{border:1px solid #cbd5e1;border-radius:5px;padding:5px 7px;width:100%;font-size:12px;font-family:inherit;}
.icc-w70{width:70px!important;}
.icc-w60{width:58px!important;}
.icc-file{font-size:11px;max-width:120px;}
.icc-note{font-size:12px;color:#64748b;margin:10px 0 0;padding:8px 12px;background:#f8fafc;border-radius:6px;border-left:3px solid var(--icc-p);}

/* DECLARATION */
.icc-decl-box{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:14px 16px;font-size:13px;color:#713f12;line-height:1.75;max-height:160px;overflow-y:auto;margin-bottom:14px;}
.icc-decl-box p{margin:0 0 7px;}
.icc-agree-lbl{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:600;color:#1a202c;cursor:pointer;line-height:1.5;}
.icc-agree-lbl input[type=checkbox]{margin-top:3px;accent-color:var(--icc-p);width:18px;height:18px;flex-shrink:0;}

/* NAV BUTTONS */
.icc-nav{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding:4px 0 8px;}
.icc-btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .18s;font-family:inherit;letter-spacing:.2px;}
.icc-btn-back{background:#f1f5f9;color:#475569;border:1.5px solid #cbd5e1;}
.icc-btn-back:hover{background:#e2e8f0;}
.icc-btn-next{background:var(--icc-p);color:#fff;}
.icc-btn-next:hover{filter:brightness(1.12);transform:translateY(-1px);}
.icc-btn-submit{background:#15803d;color:#fff;}
.icc-btn-submit:hover{background:#166534;transform:translateY(-1px);}
.icc-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;filter:none!important;}

/* FOOTER */
.icc-footer{text-align:center;font-size:12px;color:#94a3b8;padding:14px;background:#fff;border-top:1px solid #e2e8f0;margin-top:4px;}

/* ====== MOBILE ====== */
@media (max-width:600px){
  .icc-header{flex-direction:column;text-align:center;padding:16px;border-radius:8px 8px 0 0;}
  .icc-logo{width:70px;height:70px;}
  .icc-header-text h1{font-size:18px;}
  .icc-header-info p{font-size:11px;}
  .icc-steps{padding:10px 14px;gap:4px;}
  .icc-step-lbl{display:none;}
  .icc-step-num{width:30px;height:30px;font-size:13px;}
  .icc-step-line{margin:0 6px;}
  .icc-card-bd{padding:14px;}
  .icc-g2,.icc-g3{grid-template-columns:1fr!important;}
  .icc-photo-row{flex-direction:column-reverse;align-items:stretch;}
  .icc-photo-box{width:100%;flex-direction:row;gap:14px;padding:10px;justify-content:flex-start;}
  .icc-photo-box img{width:72px;height:92px;margin-bottom:0;}
  .icc-photo-fields{min-width:0;}
  .icc-btn{padding:12px 16px;font-size:13px;}
  .icc-table-wrap{border-radius:8px;border:1px solid #e2e8f0;}
  .icc-file{max-width:100px;}
  .icc-form-title{font-size:11px;letter-spacing:.5px;}
}

@media (max-width:400px){
  .icc-btn{padding:11px 12px;font-size:12px;}
  .icc-header-text h1{font-size:16px;}
}
