*,:after,:before{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#e0f2ff,#f9fafb);color:#111827}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:linear-gradient(90deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 2px 8px rgba(15,23,42,.25)}.logo-main{font-weight:700;font-size:1.2rem;color:inherit;text-decoration:none;cursor:pointer}.logo-main:hover{text-decoration:underline}.user-info{display:flex;gap:.75rem;align-items:center;font-size:.9rem}.user-name{font-weight:500}.container{max-width:960px;margin:2rem auto;padding:0 1rem 4rem}.app-footer{text-align:center;padding:1rem;font-size:.8rem;color:#6b7280}.auth-wrapper{display:flex;justify-content:center}.auth-card{width:100%;max-width:420px;background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 10px 30px rgba(15,23,42,.15)}.section-title{margin:0 0 1rem;font-size:1.2rem;font-weight:700;color:#111827}.sub-title{margin:1rem 0 .75rem;font-size:1rem}.section-desc{margin:0 0 1rem;font-size:.9rem;color:#6b7280}.form{gap:.75rem;margin-top:.5rem}.form,.form-label{display:flex;flex-direction:column}.form-label{gap:.25rem;font-size:.9rem}input,select{border-radius:.5rem;border:1px solid #d1d5db;padding:.5rem .75rem;font-size:.9rem}input:focus,select:focus{outline:2px solid #2563eb;outline-offset:1px;border-color:transparent}.btn-danger,.btn-primary,.btn-secondary{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:.4rem 1rem;font-size:.9rem;border:none;cursor:pointer;text-decoration:none;transition:transform .05s ease,box-shadow .05s ease,background .1s ease}.btn-primary{background:linear-gradient(90deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 6px 15px rgba(37,99,235,.4)}.btn-secondary{background:#fff;border:1px solid #d1d5db;color:#111827}.btn-danger{background:#ef4444;color:#fff}.btn-small{padding:.25rem .6rem;font-size:.8rem}.btn-danger:hover,.btn-primary:hover,.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.12)}.btn-danger:active,.btn-primary:active,.btn-secondary:active{transform:translateY(0);box-shadow:none}.auth-helper{margin-top:1rem;font-size:.85rem;color:#4b5563}.auth-helper a{color:#2563eb}.hint-box{margin-top:1.5rem;padding:.75rem 1rem;border-radius:.75rem;background:#eff6ff;border:1px solid #bfdbfe;font-size:.8rem;color:#1d4ed8}.hint-title{margin:0 0 .25rem;font-weight:600}.hint-text{margin:.1rem 0}.hint-text.small{font-size:.75rem;color:#3b82f6}.grid-two{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem}@media (min-width:800px){.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 10px 30px rgba(15,23,42,.08)}.amount{margin:.25rem 0 .5rem;font-size:1.6rem;font-weight:700;color:#111827}.table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:.75rem}.table td,.table th{border-bottom:1px solid #e5e7eb;padding:.4rem .5rem;text-align:left}.table th{background:#f9fafb;font-weight:600}.col-type{width:60px;white-space:nowrap}.text-right{text-align:right}.balance-box{display:flex;justify-content:space-between;align-items:center;margin:.5rem 0 1rem;padding:.5rem .75rem;border-radius:.75rem;background:#f3f4f6;font-size:.9rem}.info-list{list-style:none;padding:0;margin:0 0 1rem;font-size:.9rem}.info-list li{margin-bottom:.25rem}.info-list strong{display:inline-block;width:4.5rem}.student-name-link{color:#2563eb;font-weight:600;text-decoration:none}.student-name-link:hover{text-decoration:underline}.admin-actions-block{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.admin-actions-block:last-of-type{border-bottom:none}.admin-requests-block{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.admin-requests-block:last-child{border-bottom:none}.form-job .form-label-inline{margin-right:.5rem}.danger-desc{color:#b91c1c;font-size:.9rem;margin-bottom:.75rem}.inline-form{gap:.25rem;margin:.1rem 0;max-width:100%}.form-inline,.inline-form{display:flex;flex-wrap:wrap;align-items:center}.form-inline{gap:.5rem;margin-top:.75rem}.form-label-inline{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.edit-inline-form{margin-top:.25rem}.edit-inline-form input,.edit-inline-form select{max-width:6rem;font-size:.8rem;padding:.25rem .4rem}.edit-inline-form input[name=description]{flex:1 1 120px;max-width:100%}a.btn-primary,a.btn-secondary{margin-top:.5rem}.pagination{margin-top:.75rem;display:flex;gap:.25rem;flex-wrap:wrap}.page-link{padding:.25rem .6rem;border-radius:999px;border:1px solid #d1d5db;font-size:.8rem;text-decoration:none;color:#374151}.page-link-active{background:#2563eb;border-color:#2563eb;color:#fff}.loading-skeleton .skeleton-line{height:1rem;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 50%,#e5e7eb 75%);background-size:200% 100%;animation:skeleton-shine 1.2s ease-in-out infinite;border-radius:.25rem;margin-bottom:.75rem}.loading-skeleton .skeleton-line.title{height:1.4rem;width:60%;margin-bottom:1rem}.loading-skeleton .skeleton-line.amount{height:2rem;width:40%;margin-bottom:1rem}.loading-skeleton .skeleton-line.short{width:80%}@keyframes skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}