:root{--sp-ink:#1d1b18;--sp-muted:#6a6258;--sp-paper:#fff;--sp-bg:#f4efe7;--sp-line:#ddd3c6;--sp-teal:#007b70;--sp-red:#ac2c4c;--sp-orange:#ff662d}
.student-portal-page{margin:0;background:var(--sp-bg);color:var(--sp-ink)}
.student-public-header,.student-portal-header{display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100vw - 1420px)/2));background:#fff;border-bottom:1px solid #eee8df}
.student-public-header a,.student-brand{display:flex;align-items:center;gap:12px;color:var(--sp-ink);font-weight:800;text-decoration:none}.student-public-header img,.student-brand img{border-radius:50%}
.student-auth-shell{min-height:calc(100vh - 94px);display:grid;place-items:center;padding:40px 20px}.student-auth-card{width:min(520px,100%);box-sizing:border-box;padding:42px;border:1px solid var(--sp-line);border-radius:28px;background:#fff;box-shadow:0 24px 55px rgba(62,48,35,.1)}.student-auth-card h1{margin:8px 0 12px;font-size:clamp(2.2rem,7vw,4rem)}.student-auth-card>p{color:var(--sp-muted);line-height:1.6}.student-auth-card form{display:grid;gap:18px;margin-top:28px}.student-auth-card label{display:grid;gap:8px;font-weight:800}.student-auth-card input{min-height:58px;box-sizing:border-box;padding:0 16px;border:1px solid var(--sp-line);border-radius:14px;font:inherit}.student-auth-card input:focus{border-color:var(--sp-teal);outline:3px solid rgba(0,123,112,.15)}.student-auth-links{display:flex;justify-content:space-between;gap:20px;margin-top:24px}.student-auth-links a{color:#314e49;font-weight:700}.student-notice{margin:22px 0;padding:18px;border-radius:14px;line-height:1.55}.student-notice.error{background:#fff0f2;color:#8e1936;border:1px solid #ef9fb1}.student-notice.success{background:#e7f7f1;color:#075e53;border:1px solid #85cbbd}
.student-portal-header>div{display:flex;align-items:center;gap:18px;font-weight:800}.student-dashboard{width:min(1420px,calc(100% - 40px));margin:0 auto;padding:58px 0 90px}.student-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.student-welcome h1{font-size:clamp(2.4rem,6vw,5rem);margin:8px 0}.student-welcome p{color:var(--sp-muted)}.student-state{padding:10px 16px;border-radius:999px;background:#e3f5ed;color:#08705f;font-weight:800}.student-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:38px 0}.student-summary-grid article{display:grid;gap:9px;padding:25px;border:1px solid var(--sp-line);border-radius:20px;background:#fff}.student-summary-grid span,.student-summary-grid small{color:var(--sp-muted)}.student-summary-grid strong{font-size:1.35rem}.student-data-section,.student-admin-section{margin-top:24px;padding:30px;border:1px solid var(--sp-line);border-radius:24px;background:#fff}.student-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.student-section-heading h2{margin:5px 0;font-size:clamp(1.7rem,4vw,2.6rem)}.student-table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:16px;text-align:left;border-bottom:1px solid #eee5da;white-space:nowrap}th{color:var(--sp-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.student-status{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:.82rem;font-weight:800}.student-status.paid,.student-status.present{background:#def4e9;color:#08735f}.student-status.pending,.student-status.excused{background:#fff0cf;color:#885c00}.student-status.overdue,.student-status.absent{background:#ffe2e6;color:#a31c3c}.student-attendance-list{display:grid;gap:12px}.student-attendance-list article{display:grid;grid-template-columns:125px 1fr auto;gap:18px;align-items:center;padding:18px;border:1px solid #e8dfd4;border-radius:16px}.student-attendance-list div{display:grid;gap:5px}.student-attendance-list small,.student-attendance-list p{color:var(--sp-muted);margin:0}.student-empty{padding:28px;border-radius:16px;background:#f7f3ed;color:var(--sp-muted);text-align:center}
.credential-share-box{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0;padding:22px;border:1px solid #7dc7b9;border-radius:18px;background:#e5f6f1}.credential-share-box>div{display:flex;gap:10px;flex-wrap:wrap}.student-admin-section.urgent{border-color:#eaa0ae;background:#fffafb}.student-account-create,.student-account-reset,.student-request-list article form{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end}.student-account-create label,.student-account-reset label,.student-request-list label{display:grid;gap:7px;font-weight:800}.student-account-create .wide{grid-column:span 2}.student-account-create input,.student-account-create select,.student-account-reset input,.student-request-list input{width:100%;min-height:54px;box-sizing:border-box;padding:0 14px;border:1px solid var(--sp-line);border-radius:12px;font:inherit}.student-account-list,.student-request-list{display:grid;gap:15px}.student-account-list>article,.student-request-list>article{padding:22px;border:1px solid #e6ddd1;border-radius:18px}.student-account-main{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.student-account-main>div{display:flex;gap:10px;flex-wrap:wrap}.student-account-main>div:first-child{display:grid;gap:5px}.student-account-main span,.student-request-list article>div span,.student-request-list time{color:var(--sp-muted)}.student-account-list dl{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.student-account-list dl div{display:grid;gap:5px}.student-account-list dt{color:var(--sp-muted);font-size:.82rem;text-transform:uppercase}.student-account-list dd{margin:0;font-weight:700}.student-account-list details{border-top:1px solid #eee4d9;padding-top:14px}.student-account-list summary{cursor:pointer;color:#8f203e;font-weight:800}.student-account-reset{margin-top:16px;grid-template-columns:1fr 1fr auto}.student-toggle-form,.inline-cancel-form{margin-top:12px}.student-request-list>article{display:grid;grid-template-columns:minmax(220px,.8fr) 2fr auto;gap:18px;align-items:end}.student-request-list article>div{display:grid;gap:5px}
@media(max-width:850px){.student-summary-grid{grid-template-columns:1fr}.student-portal-header{align-items:flex-start}.student-portal-header>div{flex-direction:column;align-items:flex-end}.student-account-create,.student-account-reset,.student-request-list article form{grid-template-columns:1fr}.student-account-create .wide{grid-column:auto}.student-request-list>article{grid-template-columns:1fr}.student-account-list dl{grid-template-columns:1fr 1fr}.credential-share-box{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.student-public-header,.student-portal-header{padding:14px 16px}.student-portal-header>div>span{display:none}.student-auth-shell{padding:24px 14px}.student-auth-card{padding:28px 20px;border-radius:20px}.student-auth-links{flex-direction:column}.student-dashboard{width:min(100% - 24px,1420px);padding-top:34px}.student-welcome{flex-direction:column}.student-data-section,.student-admin-section{padding:20px 14px}.student-attendance-list article{grid-template-columns:1fr}.student-account-main{flex-direction:column}.student-account-list dl{grid-template-columns:1fr}th,td{padding:12px}.credential-share-box{padding:16px}}

/* Admin sifre talebi formu: okunakli alanlar ve dengeli butonlar */
.student-request-list>article{
  grid-template-columns:minmax(240px,.75fr) minmax(560px,1.8fr) auto;
  align-items:center;
  padding:26px 28px;
}
.student-request-list article>div{
  align-self:center;
  line-height:1.45;
}
.student-request-list article form:not(.inline-cancel-form){
  grid-template-columns:minmax(280px,1.2fr) minmax(210px,.75fr) auto;
  gap:16px;
  width:100%;
}
.student-request-list label span{
  white-space:nowrap;
}
.student-request-list input{
  min-width:0;
  min-height:58px;
  font-weight:600;
  background:#fff;
}
.student-request-list input:focus{
  border-color:var(--sp-teal);
  outline:3px solid rgba(0,123,112,.14);
}
.student-request-list .btn{
  min-height:58px;
  padding-inline:24px;
  white-space:nowrap;
}
.student-request-list .inline-cancel-form{
  display:block;
  align-self:end;
  margin:0;
}
@media(max-width:1250px){
  .student-request-list>article{grid-template-columns:1fr}
  .student-request-list .inline-cancel-form{justify-self:start}
}
@media(max-width:760px){
  .student-request-list article form:not(.inline-cancel-form){grid-template-columns:1fr}
  .student-request-list .btn{width:100%}
  .student-request-list .inline-cancel-form{width:100%}
}

/* Talep islemleri iki ayri formdur; butonlarin ust uste binmesini engelle. */
.student-request-list>article{grid-template-columns:280px minmax(0,1fr)}
.student-request-list article>div{grid-column:1;grid-row:1 / span 2}
.student-request-list article form:not(.inline-cancel-form){grid-column:2;grid-row:1}
.student-request-list .inline-cancel-form{grid-column:2;grid-row:2;justify-self:end;margin-top:14px}
@media(max-width:1250px){
  .student-request-list>article{grid-template-columns:1fr}
  .student-request-list article>div,
  .student-request-list article form:not(.inline-cancel-form),
  .student-request-list .inline-cancel-form{grid-column:1;grid-row:auto}
  .student-request-list .inline-cancel-form{justify-self:start}
}
