/* RKMSM Student Portal - complete visual theme
 * Presentation only. Existing Laravel routes, auth, queries, forms and field names are preserved.
 */
:root{
  --sp-navy:#08264b;
  --sp-navy-2:#0d3a70;
  --sp-blue:#1769aa;
  --sp-gold:#e5a52b;
  --sp-gold-soft:#fff4d9;
  --sp-ink:#1d2a3a;
  --sp-muted:#6c7888;
  --sp-bg:#f4f7fb;
  --sp-card:#fff;
  --sp-border:#e1e7ef;
  --sp-success:#198754;
  --sp-danger:#c63c32;
  --sp-shadow:0 14px 40px rgba(8,38,75,.09);
}

html,body{min-height:100%;}
body.rkmsm-student-portal{
  margin:0;
  background:var(--sp-bg) !important;
  color:var(--sp-ink);
  font-family:'Poppins',Arial,sans-serif !important;
  font-size:13px;
  line-height:1.65;
}
body.rkmsm-student-portal *{box-sizing:border-box;}
body.rkmsm-student-portal a{transition:all .2s ease;}

/* Global portal header */
.student-portal-header,
.innertopsection.student-portal-header{
  position:relative;
  margin:0 !important;
  padding:28px 0 25px !important;
  background:linear-gradient(135deg,var(--sp-navy),#104f91) !important;
  color:#fff !important;
  overflow:hidden;
}
.student-portal-header:after{
  content:"";
  position:absolute;right:-90px;top:-130px;width:330px;height:330px;
  border:1px solid rgba(229,165,43,.35);border-radius:50%;
  box-shadow:0 0 0 55px rgba(229,165,43,.04),0 0 0 110px rgba(229,165,43,.025);
}
.portal-branding{
  position:relative;z-index:1;display:flex;align-items:center;gap:20px;
  min-height:92px;
}
.portal-branding img{width:82px !important;height:82px !important;object-fit:contain;margin:0 !important;}
.portal-brand-copy h1{
  margin:0 !important;color:#fff !important;font-size:25px !important;font-weight:700 !important;
  letter-spacing:-.3px;line-height:1.25;
}
.portal-brand-copy h4{
  margin:7px 0 0 !important;color:rgba(255,255,255,.78) !important;font-size:12px !important;
  font-weight:400 !important;letter-spacing:.2px;
}

/* Page title band */
.portal-title-wrap{
  background:#fff;border-bottom:1px solid var(--sp-border);box-shadow:0 2px 10px rgba(8,38,75,.04);
}
.portal-title-wrap .container{padding-top:0;padding-bottom:0;}
.portaltitle,
.portal-page-title{
  display:flex !important;align-items:center;justify-content:flex-start;gap:11px;
  width:100%;margin:0 !important;padding:17px 0 !important;
  color:var(--sp-navy) !important;background:transparent !important;
  font-size:14px !important;font-weight:700 !important;letter-spacing:.9px !important;
  text-align:left !important;
}
.portal-title-icon{
  width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  color:var(--sp-navy);background:var(--sp-gold-soft);border:1px solid #f2d28e;font-size:15px;
}

/* Main area */
.norbg.student-portal-page,
.norbg.student-dashboard-page{
  margin:0 !important;padding:30px 0 55px !important;background:var(--sp-bg) !important;
}
.student-dashboard-page > .container,
.student-portal-page > .container{display:flex;flex-wrap:wrap;align-items:flex-start;}
.portal-sidebar-column{padding-left:10px;padding-right:16px;}
.portal-main-column{padding-left:16px;padding-right:10px;}

/* Sidebar */
.portal-sidebar-column .sidebar,
.student-portal-page .sidebar{
  border:0 !important;background:transparent !important;box-shadow:none !important;margin:0 !important;min-height:0 !important;
}
.portal-sidebar-column .navbar-header{float:none;}
.portal-sidebar-column .navbar-toggle{
  float:none;margin:0 0 10px;width:100%;border:1px solid var(--sp-border);background:#fff;border-radius:10px;
}
.portal-sidebar-column .navbar-collapse{padding:0 !important;border:0 !important;box-shadow:none !important;}
.portal-sidebar-column .navbar-nav{float:none !important;width:100%;margin:0 !important;}
.portal-sidebar-column .navbar-nav>li{float:none !important;width:100%;margin:0 0 7px !important;background:#fff !important;border:1px solid var(--sp-border) !important;border-radius:10px;overflow:hidden;}
.portal-sidebar-column .navbar-nav>li>a{
  display:flex !important;align-items:flex-start;gap:9px;width:100%;padding:12px 13px !important;
  color:var(--sp-navy) !important;background:#fff !important;font-size:11px !important;font-weight:600 !important;
  line-height:1.5 !important;text-decoration:none !important;
}
.portal-sidebar-column .navbar-nav>li>a:hover{background:#f7faff !important;color:var(--sp-blue) !important;padding-left:16px !important;}
.portal-sidebar-column .navbar-nav>li>a i{flex:0 0 17px;color:var(--sp-gold);font-size:12px;margin-top:2px;text-align:center;}
.portal-sidebar-column .navbar-nav>li img{margin-left:auto;flex:0 0 auto;}
.portal-sidebar-column .navbar-nav>li.portal-sidebar-spacer{display:block;background:transparent !important;border:0 !important;box-shadow:none !important;overflow:visible;margin:5px 0 13px !important;}
.portal-sidebar-column .portal-sidebar-spacer-inner{height:1px;background:var(--sp-border);}
.portal-sidebar-column .navbar-nav>li.portal-nav-home,
.portal-sidebar-column .navbar-nav>li.portal-nav-status{border-color:#d8e3ef !important;}
.portal-sidebar-column .navbar-nav>li.portal-nav-home>a{background:#eef6ff !important;}
.portal-sidebar-column .navbar-nav>li.portal-nav-status>a{background:#fff9ea !important;}
.portal-sidebar-column .navbar-nav>li.portal-nav-logout{border-color:#f0d3cf !important;}
.portal-sidebar-column .navbar-nav>li.portal-nav-logout>a{background:#fff3f1 !important;color:#a93128 !important;}
.portal-sidebar-column .navbar-nav>li.portal-nav-logout>a i{color:#c63c32;}

/* Generic content card */
.portal-content-card,
.dashboard-card-shell{
  margin:0 !important;padding:0 !important;background:var(--sp-card) !important;border:1px solid var(--sp-border) !important;
  border-radius:16px !important;box-shadow:var(--sp-shadow) !important;overflow:hidden;
}
.portal-content-card{padding:22px !important;}

/* Dashboard */
.dashboard-card-shell{padding:24px !important;}
.dashboard-welcome{
  display:flex;align-items:center;gap:17px;padding:20px;border-radius:14px;
  background:linear-gradient(135deg,#f7fbff,#fffaf0);border:1px solid #e4ebf3;
}
.welcome-icon{width:52px;height:52px;flex:0 0 52px;border-radius:14px;background:var(--sp-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 8px 18px rgba(8,38,75,.16);}
.dashboard-kicker{display:block;color:var(--sp-gold);font-size:10px;font-weight:800;letter-spacing:1.2px;}
.welcome-copy h2{margin:3px 0 4px !important;color:var(--sp-navy) !important;font-size:22px !important;font-weight:700 !important;line-height:1.3;}
.welcome-copy p{margin:0;color:var(--sp-muted);font-size:11px;line-height:1.65;}
.student-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;}
.student-info-item{padding:14px;border:1px solid var(--sp-border);border-radius:11px;background:#fff;min-width:0;}
.student-info-label{display:block;color:var(--sp-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;}
.student-info-label i{color:var(--sp-gold);margin-right:5px;}
.student-info-item strong{display:block;color:var(--sp-navy);font-size:12px;line-height:1.45;word-break:break-word;}
.dashboard-divider{height:1px;background:var(--sp-border);margin:22px 0;}
.dashboard-section-heading h3{margin:4px 0 3px !important;color:var(--sp-navy) !important;font-size:17px !important;font-weight:700 !important;}
.dashboard-section-heading p{margin:0;color:var(--sp-muted);font-size:11px;}
.document-table-wrap{margin-top:15px;border:1px solid var(--sp-border);border-radius:12px;overflow:auto;}
.document-table{margin:0 !important;border:0 !important;min-width:610px;}
.document-table thead th{padding:12px 11px !important;background:var(--sp-navy) !important;color:#fff !important;border:0 !important;font-size:10px !important;font-weight:600 !important;letter-spacing:.35px;vertical-align:middle !important;}
.document-table tbody td{padding:13px 11px !important;border-top:1px solid var(--sp-border) !important;color:var(--sp-ink);font-size:11px;vertical-align:middle !important;background:#fff !important;}
.document-table tbody tr:hover td{background:#fbfdff !important;}
.document-date{font-weight:600;color:var(--sp-navy);white-space:nowrap;}
.semester-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:4px 8px;border-radius:99px;background:#edf5ff;color:var(--sp-blue);font-weight:700;font-size:10px;}
.document-action{display:inline-flex !important;align-items:center;justify-content:center;gap:5px;min-width:90px;padding:8px 10px !important;border:0 !important;border-radius:8px !important;font-size:10px !important;font-weight:600 !important;box-shadow:none !important;}
.document-action.btn-primary{background:var(--sp-navy) !important;color:#fff !important;}
.document-action.btn-success{background:#eaf7f0 !important;color:#147548 !important;}
.document-action:hover{transform:translateY(-1px);box-shadow:0 6px 13px rgba(8,38,75,.11) !important;}
.empty-document-state{padding:34px 15px !important;text-align:center;color:var(--sp-muted) !important;}
.empty-document-state i{display:block;font-size:28px;color:#b7c1ce;margin-bottom:8px;}
.empty-document-state strong,.empty-document-state span{display:block;}
.empty-document-state strong{color:var(--sp-navy);font-size:12px;}
.empty-document-state span{font-size:10px;margin-top:3px;}
.dashboard-note{display:flex;gap:10px;margin-top:15px;padding:12px 13px;border-radius:10px;background:#f7f9fc;border:1px solid var(--sp-border);}
.dashboard-note>i{color:var(--sp-gold);font-size:15px;margin-top:2px;}
.dashboard-note strong{display:block;color:var(--sp-navy);font-size:11px;}
.dashboard-note p{margin:2px 0 0;color:var(--sp-muted);font-size:10px;line-height:1.6;}

/* Forms and tables across admission/exam/status pages */
.portal-content-card form{border:0 !important;padding:0 !important;margin:0 !important;background:#fff;}
.portal-content-card form>table:first-child,
.portal-content-card form>table:first-child>tbody>tr:first-child>td,
.portal-content-card form>table:first-child>tbody>tr:first-child>th{border-radius:12px 12px 0 0;overflow:hidden;}
.portal-content-card form img[src*="form-head"]{display:block;width:100% !important;height:auto;border-radius:10px;}
.portal-content-card table{width:100% !important;max-width:100%;border-collapse:separate;border-spacing:0;font-size:11px;}
.portal-content-card table td,.portal-content-card table th{border-color:var(--sp-border) !important;}
.portal-content-card input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
.portal-content-card select,
.portal-content-card textarea{
  max-width:100% !important;min-height:39px;padding:9px 11px !important;border:1px solid #d8e0e9 !important;border-radius:8px !important;
  background:#fff !important;color:var(--sp-ink) !important;font-family:'Poppins',Arial,sans-serif !important;font-size:11px !important;box-shadow:none !important;
}
.portal-content-card input:focus,.portal-content-card select:focus,.portal-content-card textarea:focus{border-color:var(--sp-gold) !important;box-shadow:0 0 0 3px rgba(229,165,43,.13) !important;outline:none !important;}
.portal-content-card label{color:var(--sp-navy) !important;font-family:'Poppins',Arial,sans-serif !important;font-size:10px !important;font-weight:600 !important;}
.portal-content-card input[type="submit"],.portal-content-card button[type="submit"]{
  min-height:40px;padding:9px 18px !important;border:0 !important;border-radius:8px !important;background:var(--sp-navy) !important;color:#fff !important;
  font-family:'Poppins',Arial,sans-serif !important;font-size:11px !important;font-weight:700 !important;cursor:pointer;
}
.portal-content-card input[type="submit"]:hover,.portal-content-card button[type="submit"]:hover{background:var(--sp-gold) !important;color:var(--sp-navy) !important;}
.portal-content-card .alert{border-radius:10px !important;border:0 !important;font-size:11px !important;}
.portal-content-card .nav-tabs{margin:0 !important;border-bottom:1px solid var(--sp-border) !important;}
.portal-content-card .nav-tabs>li>a{border:0 !important;border-radius:8px 8px 0 0 !important;color:var(--sp-muted) !important;font-size:10px !important;font-weight:600 !important;padding:10px 13px !important;}
.portal-content-card .nav-tabs>li.active>a,.portal-content-card .nav-tabs>li>a:hover{color:var(--sp-navy) !important;background:#f7f9fc !important;border-bottom:2px solid var(--sp-gold) !important;}
.portal-content-card .tab-content{padding-top:15px;}
.portal-content-card .table>tbody>tr>th{background:var(--sp-navy) !important;color:#fff !important;font-size:10px !important;padding:10px !important;}
.portal-content-card .table>tbody>tr>td{padding:10px !important;font-size:10px !important;background:#fff !important;}
.portal-content-card .table>tbody>tr:nth-child(even)>td{background:#fbfcfe !important;}
.portal-content-card .btn{border-radius:8px !important;font-family:'Poppins',Arial,sans-serif !important;font-size:10px !important;font-weight:600 !important;}
.portal-content-card .btn-primary{background:var(--sp-navy) !important;border-color:var(--sp-navy) !important;}
.portal-content-card .btn-success{background:var(--sp-success) !important;border-color:var(--sp-success) !important;}
.portal-content-card .btn-warning{background:var(--sp-gold) !important;border-color:var(--sp-gold) !important;color:var(--sp-navy) !important;}

/* Remove common legacy inline presentation without touching content */
.student-portal-page [style*="background:#9bff8a"],
.student-portal-page [style*="background:#8dddec"],
.student-portal-page [style*="background:#ff4d2a"]{background:transparent !important;}

/* Flash messages */
.rkmsm-student-portal .alert{font-family:'Poppins',Arial,sans-serif;}

/* Responsive */
@media(max-width:991px){
  .student-dashboard-page > .container,.student-portal-page > .container{display:block;}
  .portal-sidebar-column,.portal-main-column{width:100%;padding-left:15px;padding-right:15px;}
  .portal-sidebar-column{margin-bottom:18px;}
  .student-info-grid{grid-template-columns:1fr;}
}
@media(max-width:767px){
  .student-portal-header{padding:20px 0 !important;}
  .portal-branding{gap:13px;min-height:72px;}
  .portal-branding img{width:62px !important;height:62px !important;}
  .portal-brand-copy h1{font-size:18px !important;}
  .portal-brand-copy h4{font-size:10px !important;}
  .norbg.student-portal-page,.norbg.student-dashboard-page{padding:18px 0 35px !important;}
  .portal-content-card,.dashboard-card-shell{padding:15px !important;border-radius:12px !important;}
  .dashboard-welcome{padding:15px;gap:12px;}
  .welcome-icon{width:44px;height:44px;flex-basis:44px;font-size:17px;}
  .welcome-copy h2{font-size:18px !important;}
  .welcome-copy p{font-size:10px;}
  .document-table{min-width:0 !important;}
  .document-table thead{display:none;}
  .document-table,.document-table tbody,.document-table tr,.document-table td{display:block;width:100% !important;}
  .document-table tr{padding:10px;border-bottom:1px solid var(--sp-border);}
  .document-table tbody tr:last-child{border-bottom:0;}
  .document-table td{display:flex !important;justify-content:space-between;align-items:center;gap:10px;padding:6px 3px !important;border:0 !important;background:#fff !important;}
  .document-table td:before{content:attr(data-label);font-size:9px;text-transform:uppercase;color:var(--sp-muted);font-weight:700;}
  .empty-document-state{display:block !important;}
  .empty-document-state:before{display:none !important;}
}
@media(max-width:480px){
  .portal-title-wrap .container{padding-left:12px;padding-right:12px;}
  .portaltitle{font-size:12px !important;padding:13px 0 !important;}
  .portal-content-card form img[src*="form-head"]{border-radius:7px;}
}

/* Print-safe: portal PDFs are separate views and should not inherit screen cards. */
@media print{
  body.rkmsm-student-portal{background:#fff !important;}
}

/* =========================================================
   RKMSM STUDENT PORTAL — ADMISSION / EXAM FORM UI
   Presentation only. Form actions, field names, validation,
   dynamic values and upload handling remain unchanged.
   ========================================================= */
.portal-form-card{padding:0 !important;overflow:hidden;}
.portal-form-inner{padding:24px;}
.portal-form-header{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:-24px -24px 22px;background:linear-gradient(135deg,var(--sp-navy),var(--sp-navy-2));color:#fff;}
.portal-form-header-icon{width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:rgba(229,165,43,.16);border:1px solid rgba(229,165,43,.38);color:var(--sp-gold);font-size:18px;}
.portal-form-header h2{margin:0 !important;color:#fff !important;font-size:17px !important;font-weight:700 !important;line-height:1.35;}
.portal-form-header p{margin:3px 0 0;color:rgba(255,255,255,.72);font-size:10px;line-height:1.5;}
.portal-form-section{margin-top:18px;padding:18px;border:1px solid var(--sp-border);border-radius:12px;background:#fff;}
.portal-form-section:first-of-type{margin-top:0;}
.portal-form-section-title{display:flex;align-items:center;gap:9px;margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid var(--sp-border);color:var(--sp-navy);font-size:13px;font-weight:700;}
.portal-form-section-title i{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--sp-gold-soft);color:#a56d00;font-size:12px;}
.portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;}
.portal-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.portal-field{min-width:0;}
.portal-field.full{grid-column:1 / -1;}
.portal-field label{display:block;margin:0 0 5px;color:var(--sp-navy) !important;font-size:10px !important;font-weight:600 !important;line-height:1.4;}
.portal-field input[type="text"],.portal-field input[type="number"],.portal-field input[type="file"],.portal-field select,.portal-field textarea{width:100%;}
.portal-field input[type="file"]{min-height:39px;padding:8px !important;background:#f8fafc !important;border:1px dashed #cbd6e2 !important;}
.portal-field input[readonly],.portal-field select:disabled{background:#f7f9fc !important;color:#526174 !important;cursor:not-allowed;}
.portal-upload-box{display:flex;align-items:flex-start;gap:16px;}
.portal-preview{width:115px;height:130px;object-fit:cover;border:1px solid var(--sp-border);border-radius:9px;background:#f7f9fc;}
.portal-signature-preview{width:330px;max-width:100%;height:75px;object-fit:contain;object-position:left center;border:1px solid var(--sp-border);border-radius:9px;background:#fafafa;}
.portal-upload-control{flex:1;min-width:0;}
.portal-meta-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.portal-meta-item{padding:11px 12px;border:1px solid var(--sp-border);border-radius:9px;background:#fbfcfe;}
.portal-meta-item span{display:block;color:var(--sp-muted);font-size:9px;text-transform:uppercase;letter-spacing:.4px;font-weight:700;margin-bottom:3px;}
.portal-meta-item strong{display:block;color:var(--sp-navy);font-size:11px;font-weight:600;line-height:1.45;overflow-wrap:anywhere;}
.portal-subject-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.portal-subject-item{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid var(--sp-border);border-radius:9px;background:#fbfcfe;cursor:pointer;transition:.2s ease;}
.portal-subject-item:hover{border-color:#c8d8e9;background:#f7fbff;}
.portal-subject-item input{margin:2px 0 0;accent-color:var(--sp-navy);}
.portal-subject-item span{color:var(--sp-ink);font-size:10px;line-height:1.5;font-weight:500;}
.portal-fee-box{padding:15px;border-radius:11px;background:#fbfcfe;border:1px solid var(--sp-border);}
.portal-fee-row{display:flex;justify-content:space-between;gap:15px;padding:6px 0;color:var(--sp-ink);font-size:10px;border-bottom:1px solid #edf1f5;}
.portal-fee-row:last-of-type{border-bottom:0;}
.portal-fee-row strong{color:var(--sp-navy);font-weight:600;}
.portal-fee-total{display:flex;justify-content:space-between;gap:15px;margin-top:10px;padding-top:11px;border-top:2px solid var(--sp-gold);color:var(--sp-navy);font-size:12px;font-weight:700;}
.portal-price-inline{display:flex;align-items:center;gap:8px;}
.portal-price-inline input{max-width:170px !important;}
.portal-declaration{padding:14px 15px;border-left:4px solid var(--sp-gold);border-radius:8px;background:#fff9eb;}
.portal-declaration label{font-size:12px !important;font-weight:700 !important;}
.portal-declaration p{margin:6px 0 10px;color:#675535;font-size:10px;line-height:1.7;}
.portal-checkline{display:flex;align-items:center;gap:7px;color:var(--sp-navy);font-size:10px;font-weight:600;}
.portal-checkline input{margin:0;accent-color:var(--sp-navy);}
.portal-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #f1d6d2;border-radius:9px;background:#fff5f3;color:#a93128;font-size:10px;font-weight:700;line-height:1.55;}
.portal-warning img{width:28px;height:28px;flex:0 0 28px;object-fit:contain;}
.portal-form-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--sp-border);}
.portal-form-actions .btn{min-width:110px !important;min-height:40px !important;padding:9px 16px !important;}
.portal-form-actions .btn-danger{background:#fff1ef !important;color:#a93128 !important;border-color:#f0d3cf !important;}
.portal-form-actions .btn-danger:hover{background:#fce3df !important;color:#8e241d !important;}
.portal-inline-rule{height:1px;background:var(--sp-border);margin:15px 0;}

/* Neutralise legacy table presentation if an old table remains around dynamic content. */
.portal-form-inner table{margin:0;}
.portal-form-inner .form-control{box-shadow:none !important;}

@media(max-width:991px){
  .portal-form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .portal-form-inner{padding:16px;}
  .portal-form-header{margin:-16px -16px 18px;padding:14px 15px;}
  .portal-form-header-icon{width:36px;height:36px;flex-basis:36px;font-size:15px;}
  .portal-form-header h2{font-size:14px !important;}
  .portal-form-section{padding:13px;margin-top:13px;}
  .portal-form-grid,.portal-form-grid.three,.portal-meta-list,.portal-subject-list{grid-template-columns:1fr;}
  .portal-field.full{grid-column:auto;}
  .portal-upload-box{display:block;}
  .portal-upload-control{margin-top:10px;}
  .portal-form-actions{align-items:stretch;}
  .portal-form-actions .btn{flex:1;min-width:0 !important;}
}
/* =========================================================
   STUDENT PORTAL HISTORY
   Theme-only styles for studentportal/history.blade.php
   ========================================================= */

.portal-history-page {
    padding-top: 24px;
}

.history-title-wrap .portal-page-title {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.history-card {
    padding: 0 !important;
    overflow: hidden;
}

.history-intro {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid var(--rkmsm-border);
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.history-intro-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    border-radius: 13px;
    background: var(--rkmsm-navy);
    color: var(--rkmsm-gold);
    font-size: 20px;
    box-shadow: 0 7px 16px rgba(0,31,67,.13);
}

.history-kicker,
.history-section-kicker,
.history-label {
    display: block;
    color: var(--rkmsm-gold-dark);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.history-intro h2 {
    margin: 2px 0 3px;
    color: var(--rkmsm-navy);
    font-size: 21px;
    font-weight: 700;
}

.history-intro p {
    margin: 0;
    color: var(--rkmsm-muted);
    font-size: 11px;
    line-height: 1.6;
}

.history-tabs {
    margin: 0 !important;
    padding: 0 24px !important;
    border-bottom: 1px solid var(--rkmsm-border) !important;
    background: #fff;
}

.history-tabs > li > a {
    margin-right: 5px !important;
    padding: 13px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--rkmsm-muted) !important;
    background: transparent !important;
    font-size: 11px;
    font-weight: 700;
    transition: all .2s ease;
}

.history-tabs > li > a i {
    margin-right: 6px;
}

.history-tabs > li > a:hover {
    color: var(--rkmsm-navy) !important;
}

.history-tabs > li.active > a,
.history-tabs > li.active > a:hover,
.history-tabs > li.active > a:focus {
    color: var(--rkmsm-navy) !important;
    border: 0 !important;
    border-bottom: 3px solid var(--rkmsm-gold) !important;
    background: transparent !important;
}

.history-tab-content {
    padding: 22px 24px 25px;
}

.history-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 14px;
}

.history-section-heading h3 {
    margin: 2px 0 0;
    color: var(--rkmsm-navy);
    font-size: 16px;
    font-weight: 700;
}

.history-session-badge,
.history-record-count {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 10px;
    border: 1px solid #e9d59b;
    border-radius: 7px;
    background: #fff9ea;
    color: #8a5a00;
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
}

.approval-card {
    overflow: hidden;
    border: 1px solid var(--rkmsm-border);
    border-radius: 12px;
    background: #fff;
}

.approval-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 15px 17px;
    background: #f8fafc;
    border-bottom: 1px solid #edf1f5;
}

.approval-form-name {
    display: flex;
    align-items: center;
    gap: 11px;
}

.approval-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37px;
    height: 37px;
    border-radius: 9px;
    background: rgba(244,160,0,.12);
    color: var(--rkmsm-gold-dark);
    font-size: 15px;
}

.approval-form-name strong {
    display: block;
    margin-top: 3px;
    color: var(--rkmsm-navy);
    font-size: 11px;
    font-weight: 700;
}

.approval-session {
    text-align: right;
}

.approval-session strong {
    display: block;
    margin-top: 3px;
    color: var(--rkmsm-text);
    font-size: 10px;
    font-weight: 700;
}

.approval-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.approval-item {
    min-height: 78px;
    padding: 14px 15px;
    border-right: 1px solid #edf1f5;
}

.approval-item:last-child {
    border-right: 0;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 9px;
    padding: 5px 8px;
    border-radius: 20px;
    font-size: 9px;
    font-weight: 700;
}

.status-pill.pending {
    background: #fff4df;
    color: #b66a00;
}

.status-pill.approved {
    background: #eaf8ef;
    color: #19733a;
}

.status-pill.declined {
    background: #fdecec;
    color: #b42323;
}

.history-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--rkmsm-border);
    border-radius: 11px;
}

.history-table {
    margin: 0 !important;
    min-width: 560px;
}

.history-table > thead > tr > th {
    padding: 11px 12px !important;
    border: 0 !important;
    background: var(--rkmsm-navy) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .05em;
    text-transform: uppercase;
    vertical-align: middle !important;
}

.history-table > tbody > tr > td {
    padding: 12px !important;
    border-top: 1px solid #edf1f5 !important;
    color: var(--rkmsm-text);
    font-size: 10px;
    vertical-align: middle !important;
}

.history-table > tbody > tr:first-child > td {
    border-top: 0 !important;
}

.history-table > tbody > tr:hover {
    background: #fbfcfe;
}

.history-date {
    color: var(--rkmsm-navy);
    font-weight: 700;
    white-space: nowrap;
}

.history-semester {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 25px;
    padding: 3px 8px;
    border: 1px solid var(--rkmsm-border);
    border-radius: 7px;
    background: #f7f9fc;
    color: var(--rkmsm-navy);
    font-size: 9px;
    font-weight: 700;
}

.history-semester-na {
    color: var(--rkmsm-muted);
}

.history-download-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 91px;
    padding: 7px 9px;
    border-radius: 7px;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.history-download-btn:hover {
    transform: translateY(-1px);
}

.history-download-btn.form-download {
    border: 1px solid #d5e2f3;
    background: #eef5fd;
    color: var(--rkmsm-navy);
}

.history-download-btn.form-download:hover {
    background: #e4effb;
    box-shadow: 0 5px 12px rgba(0,31,67,.08);
}

.history-download-btn.receipt-download {
    border: 1px solid #d9eadf;
    background: #edf9f0;
    color: #23713c;
}

.history-download-btn.receipt-download:hover {
    background: #e2f5e7;
    box-shadow: 0 5px 12px rgba(35,113,60,.08);
}

.history-empty-state {
    padding: 38px 15px !important;
    text-align: center;
}

.history-empty-state i {
    display: block;
    margin-bottom: 9px;
    color: var(--rkmsm-gold-dark);
    font-size: 27px;
}

.history-empty-state strong,
.history-empty-state span {
    display: block;
}

.history-empty-state strong {
    color: var(--rkmsm-navy);
    font-size: 12px;
}

.history-empty-state span {
    margin-top: 4px;
    color: var(--rkmsm-muted);
    font-size: 10px;
}

.history-help-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 16px;
    padding: 11px 13px;
    border-left: 3px solid var(--rkmsm-gold);
    border-radius: 7px;
    background: #fff9ea;
}

.history-help-note > i {
    margin-top: 2px;
    color: var(--rkmsm-gold-dark);
    font-size: 14px;
}

.history-help-note strong {
    color: #8a5a00;
    font-size: 10px;
}

.history-help-note p {
    margin: 2px 0 0;
    color: #725b31;
    font-size: 9px;
    line-height: 1.6;
}

@media (max-width: 991px) {
    .approval-grid {
        grid-template-columns: 1fr;
    }

    .approval-item {
        border-right: 0;
        border-bottom: 1px solid #edf1f5;
    }

    .approval-item:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 767px) {
    .portal-history-page {
        padding-top: 14px;
    }

    .history-intro {
        align-items: flex-start;
        padding: 17px 15px 15px;
    }

    .history-intro-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        font-size: 17px;
    }

    .history-intro h2 {
        font-size: 18px;
    }

    .history-intro p {
        font-size: 10px;
    }

    .history-tabs {
        padding: 0 10px !important;
    }

    .history-tabs > li > a {
        padding: 11px 8px !important;
        font-size: 9px;
    }

    .history-tabs > li > a i {
        margin-right: 3px;
    }

    .history-tab-content {
        padding: 16px 13px 18px;
    }

    .history-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .history-section-heading h3 {
        font-size: 14px;
    }

    .approval-card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .approval-session {
        width: 100%;
        text-align: left;
    }

    .approval-item {
        min-height: 68px;
    }

    .history-table-wrap {
        overflow: visible;
        border: 0;
    }

    .history-table {
        min-width: 0;
        background: transparent;
    }

    .history-table thead {
        display: none;
    }

    .history-table,
    .history-table tbody,
    .history-table tr,
    .history-table td {
        display: block;
        width: 100% !important;
    }

    .history-table > tbody > tr {
        margin-bottom: 10px;
        padding: 8px 10px;
        border: 1px solid var(--rkmsm-border);
        border-radius: 10px;
        background: #fff;
    }

    .history-table > tbody > tr > td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 2px !important;
        border-top: 0 !important;
        border-bottom: 1px solid #edf1f5 !important;
        text-align: right;
    }

    .history-table > tbody > tr > td:last-child {
        border-bottom: 0 !important;
    }

    .history-table > tbody > tr > td::before {
        content: attr(data-label);
        color: var(--rkmsm-muted);
        font-size: 8px;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .history-empty-state {
        display: block !important;
        border: 0 !important;
        text-align: center !important;
    }

    .history-empty-state::before {
        display: none !important;
    }

    .history-download-btn {
        min-width: 92px;
    }
}