html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{background:#f4f7fb;min-width:320px}button,input{font:inherit}*{box-sizing:border-box}body{background:#f4f7fb;margin:0;font-family:Arial,Helvetica,sans-serif}.portal-page{background:radial-gradient(circle at 0 0,#2f4fbe24,#0000 35%),linear-gradient(135deg,#f8faff,#edf2f8);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:22px;width:100%;max-width:430px;padding:42px;box-shadow:0 20px 60px #1e325a1f}.portal-badge{color:#2348c7;letter-spacing:1.2px;background:#eef3ff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-block}h1{color:#17213d;margin-top:20px;margin-bottom:10px;font-size:32px}.subtitle{color:#68738a;margin-bottom:28px;line-height:1.6}form{flex-direction:column;display:flex}label{color:#28334d;margin-bottom:8px;font-size:14px;font-weight:600}input[type=text],input[type=password]{border:1px solid #d8deea;border-radius:12px;outline:none;width:100%;margin-bottom:18px;padding:14px 16px;font-size:15px}input[type=text]:focus,input[type=password]:focus{border-color:#3459e6;box-shadow:0 0 0 4px #3459e61a}.form-options{justify-content:space-between;align-items:center;margin-bottom:22px;font-size:14px;display:flex}.remember{align-items:center;gap:7px;margin:0;font-weight:500;display:flex}.form-options a{color:#3459e6;font-weight:600;text-decoration:none}button{color:#fff;cursor:pointer;background:#2348c7;border:none;border-radius:12px;padding:15px;font-size:16px;font-weight:700}button:hover{background:#1b3ca9}.security-note{text-align:center;color:#8993a6;margin-top:22px;font-size:12px}.dashboard-page{color:#1d2942;background:#f4f7fb;min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e4e9f2;flex-direction:column;justify-content:space-between;width:260px;min-height:100vh;padding:28px 22px;display:flex}.student-mini-profile{margin-top:28px;margin-bottom:30px}.student-mini-profile h2{color:#18233f;margin:0;font-size:20px}.student-mini-profile p{color:#8791a6;margin:6px 0 0;font-size:14px}.sidebar-menu{flex-direction:column;gap:8px;display:flex}.menu-item{text-align:left;color:#526079;background:0 0;border-radius:10px;width:100%;padding:12px 14px;font-size:14px;font-weight:600}.menu-item:hover{color:#2348c7;background:#f3f6fc}.menu-item.active{color:#2348c7;background:#edf2ff}.signout-button{color:#39445a;background:#f4f6fa}.signout-button:hover{background:#e9edf5}.dashboard-content{flex:1;padding:38px;overflow-x:hidden}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.dashboard-header h1{margin:4px 0 0;font-size:30px}.welcome-small{color:#8a94a8;margin:0;font-size:14px}.student-id-box{color:#4e5b72;background:#fff;border:1px solid #dfe5ef;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.summary-card,.dashboard-section{background:#fff;border:1px solid #e3e8f1;border-radius:16px;padding:22px;box-shadow:0 8px 24px #1f2f520d}.summary-card h3{color:#18233f;margin:10px 0 6px;font-size:22px}.card-label,.section-label{color:#8a94a8;letter-spacing:.8px;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.card-note{color:#8a94a8;margin:0;font-size:13px}.dashboard-section{margin-bottom:24px}.dashboard-section h2{color:#18233f;margin:8px 0 18px;font-size:21px}.section-header{justify-content:space-between;align-items:center;display:flex}.table-container{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #edf0f5;padding:15px 12px}th{color:#798397;text-transform:uppercase;letter-spacing:.5px;font-size:12px}td{color:#3d4960;font-size:14px}.status{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-block}.status.paid{color:#23834a;background:#eaf8ef}.status.pending{color:#a16a00;background:#fff4df}.dashboard-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.detail-row{border-bottom:1px solid #edf0f5;justify-content:space-between;gap:20px;padding:13px 0;font-size:14px;display:flex}.detail-row:last-child{border-bottom:none}.detail-row span{color:#7d879a}.document-item{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.document-item:last-child{border-bottom:none}.document-item p{color:#8a94a8;margin:4px 0 0;font-size:13px}.small-button{color:#2348c7;background:#edf2ff;border-radius:8px;width:auto;padding:8px 12px;font-size:13px}.small-button:hover{background:#dfe8ff}.student-dashboard-content{position:relative}.student-dashboard-content:before{content:"";opacity:.16;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:50;background-image:url(/sanya-logo.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:420px;height:150px;position:fixed;bottom:28px;right:30px}.student-dashboard-content>*{z-index:1;position:relative}@media (width<=1000px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (width<=760px){.dashboard-page{flex-direction:column}.sidebar{border-bottom:1px solid #e4e9f2;border-right:none;width:100%;min-height:auto}.sidebar-menu{grid-template-columns:repeat(2,1fr);display:grid}.dashboard-content{padding:22px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:14px}.summary-grid{grid-template-columns:1fr}.student-dashboard-content:before{opacity:.14;width:260px;height:100px;bottom:14px;right:14px}}.forgot-password-link{color:#2563eb;cursor:pointer;box-shadow:none;background:0 0;border:none;margin:0;padding:0;font-size:14px}.forgot-password-link:hover{text-decoration:underline}
