:root{
    --student-tw-primary:#0f766e;
    --student-tw-primary-dark:#064e3b;
    --student-tw-accent:#2563eb;
    --student-tw-success:#16a34a;
    --student-tw-ink:#0f172a;
    --student-tw-muted:#64748b;
    --student-tw-line:#dbe5ef;
    --student-tw-panel:rgba(255,255,255,.94);
    --student-tw-shadow:0 18px 45px rgba(15,23,42,.08);
    --student-tw-radius:10px;
}

body.student-tailwind-shell{
    min-height:100vh;
    color:var(--student-tw-ink);
    background:
        radial-gradient(circle at 10% 0%,rgba(15,118,110,.16),transparent 30%),
        radial-gradient(circle at 88% 8%,rgba(37,99,235,.12),transparent 28%),
        linear-gradient(180deg,#f8fafc 0%,#eef7f3 100%) !important;
    font-family:"Segoe UI",Tahoma,sans-serif;
}

body.student-tailwind-shell .top-header{
    border-top:0 !important;
    border-bottom:1px solid rgba(209,250,229,.34);
    color:#ecfdf5;
    background:
        linear-gradient(90deg,rgba(6,78,59,.98),rgba(15,118,110,.92)),
        radial-gradient(circle at top right,rgba(37,99,235,.26),transparent 32%) !important;
    box-shadow:0 14px 34px rgba(6,78,59,.16);
}

body.student-tailwind-shell .top-header .container{
    min-height:56px;
}

body.student-tailwind-shell .top-header img{
    width:44px !important;
    height:44px !important;
    border:2px solid rgba(255,255,255,.82);
    border-radius:10px;
    background:#fff;
    object-fit:cover;
    box-shadow:0 12px 24px rgba(15,23,42,.14);
}

body.student-tailwind-shell .school-title,
body.student-tailwind-shell .top-header h1,
body.student-tailwind-shell .top-header h2,
body.student-tailwind-shell .top-header h3,
body.student-tailwind-shell .top-header h4,
body.student-tailwind-shell .top-header h5{
    max-width:min(72vw,820px);
    overflow:hidden;
    color:#fff !important;
    font-size:clamp(.92rem,1.5vw,1.08rem) !important;
    font-weight:950 !important;
    line-height:1.1;
    text-overflow:ellipsis;
    white-space:nowrap;
}

body.student-tailwind-shell .top-header small{
    color:#bbf7d0 !important;
    font-size:.72rem;
    font-weight:800;
}

body.student-tailwind-shell .student-nav,
body.student-tailwind-shell .navbar{
    border:1px solid rgba(209,250,229,.26);
    border-radius:0 0 14px 14px;
    background:
        linear-gradient(90deg,rgba(6,78,59,.98),rgba(15,118,110,.92)),
        radial-gradient(circle at top right,rgba(37,99,235,.22),transparent 28%) !important;
    box-shadow:0 18px 40px rgba(6,78,59,.14);
}

body.student-tailwind-shell .navbar .nav-link{
    display:flex;
    align-items:center;
    gap:.38rem;
    min-height:34px;
    padding:.42rem .62rem !important;
    border-radius:999px;
    color:#d1fae5 !important;
    font-size:.78rem;
    font-weight:850;
}

body.student-tailwind-shell .navbar .nav-link:hover,
body.student-tailwind-shell .navbar .nav-link.active{
    color:#fff !important;
    background:rgba(255,255,255,.13);
}

body.student-tailwind-shell .student-dashboard-brand img,
body.student-tailwind-shell .navbar-brand img{
    width:34px !important;
    height:34px !important;
    border-radius:9px;
    object-fit:cover;
}

body.student-tailwind-shell main,
body.student-tailwind-shell .container,
body.student-tailwind-shell .content{
    min-width:0;
}

body.student-tailwind-shell .card,
body.student-tailwind-shell .login-card,
body.student-tailwind-shell .profile-panel,
body.student-tailwind-shell .metric-card,
body.student-tailwind-shell .student-workspace,
body.student-tailwind-shell .dashboard-hero,
body.student-tailwind-shell .receipt,
body.student-tailwind-shell .a4-sheet,
body.student-tailwind-shell .print-sheet,
body.student-tailwind-shell .panel,
body.student-tailwind-shell .filter-card{
    border:1px solid rgba(219,229,239,.94) !important;
    border-radius:var(--student-tw-radius) !important;
    background:var(--student-tw-panel) !important;
    box-shadow:var(--student-tw-shadow) !important;
}

body.student-tailwind-shell .btn{
    border-radius:10px !important;
    font-weight:850 !important;
}

body.student-tailwind-shell .btn-success,
body.student-tailwind-shell .btn-primary,
body.student-tailwind-shell .icon-btn{
    border-color:transparent !important;
    color:#fff !important;
    background:linear-gradient(135deg,var(--student-tw-primary),var(--student-tw-accent)) !important;
    box-shadow:0 14px 28px rgba(15,118,110,.18);
}

body.student-tailwind-shell .form-control,
body.student-tailwind-shell .form-select,
body.student-tailwind-shell select,
body.student-tailwind-shell textarea,
body.student-tailwind-shell input:not([type="checkbox"]):not([type="radio"]):not([type="file"]){
    border-color:#dbe5ef !important;
    border-radius:10px !important;
    background:#fff !important;
}

body.student-tailwind-shell .form-control:focus,
body.student-tailwind-shell .form-select:focus,
body.student-tailwind-shell select:focus,
body.student-tailwind-shell textarea:focus,
body.student-tailwind-shell input:focus{
    border-color:rgba(15,118,110,.72) !important;
    box-shadow:0 0 0 4px rgba(15,118,110,.13) !important;
}

body.student-tailwind-shell .table-responsive{
    border:1px solid rgba(219,229,239,.94);
    border-radius:10px;
    background:#fff;
    box-shadow:0 12px 28px rgba(15,23,42,.05);
}

body.student-tailwind-shell table{
    font-size:.86rem;
}

body.student-tailwind-shell table thead th{
    background:#ecfdf5 !important;
    color:#064e3b !important;
    border-color:#d1fae5 !important;
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.04em;
    text-transform:uppercase;
}

body.student-tailwind-shell .student-footer,
body.student-tailwind-shell .portal-footer{
    margin-top:16px !important;
    padding:8px 0 !important;
    color:#d1fae5 !important;
    background:
        linear-gradient(90deg,rgba(6,78,59,.98),rgba(15,118,110,.92)),
        radial-gradient(circle at top right,rgba(37,99,235,.22),transparent 28%) !important;
    border-top:1px solid rgba(209,250,229,.24) !important;
    box-shadow:0 -12px 30px rgba(6,78,59,.12);
}

body.student-tailwind-shell .portal-footer-inner{
    min-height:34px;
    gap:8px;
}

body.student-tailwind-shell .portal-footer strong{
    color:#fff !important;
    font-size:.76rem !important;
    line-height:1.15;
}

body.student-tailwind-shell .portal-footer span,
body.student-tailwind-shell .portal-footer a{
    color:#d1fae5 !important;
    font-size:.68rem !important;
}

body.student-tailwind-shell .portal-footer-mark{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#064e3b !important;
    background:#ecfdf5;
}

body.student-tailwind-shell .alert{
    border-radius:10px !important;
    font-weight:800;
}

body.student-tailwind-shell .swal2-popup{
    border-radius:16px !important;
}

@media (max-width:768px){
    body.student-tailwind-shell .top-header .container{
        align-items:flex-start !important;
        gap:.65rem;
    }

    body.student-tailwind-shell .school-title{
        white-space:normal;
    }

    body.student-tailwind-shell .navbar-collapse{
        padding:.55rem 0 .35rem;
    }

    body.student-tailwind-shell .navbar-nav{
        display:grid;
        gap:.28rem;
    }

    body.student-tailwind-shell .portal-footer-inner{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media print{
    body.student-tailwind-shell{
        background:#fff !important;
    }

    body.student-tailwind-shell .top-header,
    body.student-tailwind-shell .navbar,
    body.student-tailwind-shell .portal-footer{
        box-shadow:none !important;
    }
}
