@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--forest:#17454a;--deep:#153b3e;--teal:#197b77;--mint:#e9f6f2;--orange:#ec9b56;--sand:#fff7ed;--paper:#f5f7f6;--white:#fff;--ink:#253a3e;--muted:#7a8b90;--line:#e7edeb;--danger:#d65d57;--blue:#4778bd;--shadow:0 13px 50px rgba(24,60,55,.045);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Nunito,'DM Sans',sans-serif;letter-spacing:-.55px}h1{font-size:29px;font-weight:900;margin-bottom:7px}h2{font-size:20px;font-weight:900}h3{font-size:16px;font-weight:900}small,.muted{color:var(--muted)}a{color:var(--teal)}.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon.sm{height:16px;width:16px}.icon.lg{height:26px;width:26px}.app-layout{min-height:100vh;display:grid;grid-template-columns:258px minmax(0,1fr)}.sidebar{background:var(--white);border-right:1px solid var(--line);padding:29px 18px 22px;display:flex;flex-direction:column;gap:24px;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 9px}.brand-mark{width:49px;height:49px;display:grid;place-items:center;background:var(--deep);border-radius:16px;color:white;font-family:Nunito,sans-serif;font-size:21px;font-weight:900;letter-spacing:-1.5px;box-shadow:0 6px 18px #17454a24}.brand-mark .brand-word{color:white;white-space:nowrap}.brand-mark .brand-word b{color:#e7ac64}.brand-name{line-height:1.27;font-size:12px;font-weight:800;color:#36565a}.brand-name strong{font-size:16px;color:var(--deep);display:block;margin-top:3px}.nav-heading{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#a1aeb0;margin:14px 14px 9px}.nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;width:100%;border:0;border-radius:12px;background:transparent;color:#607477;text-align:left;font-weight:700;transition:.15s}.nav-item:hover{background:#f3f8f6;color:var(--deep)}.nav-item.active{background:#e9f5f0;color:#176a60}.nav-item .icon{width:20px;height:20px}.nav-item .mini-number{margin-left:auto;font-size:11px;background:#deeee9;border-radius:8px;padding:2px 7px;color:#27756e}.sidebar-bottom{margin-top:auto;display:grid;gap:11px}.school-note{background:var(--sand);padding:15px;border-radius:15px;color:#946a39;line-height:1.55;font-size:12px}.school-note strong{display:block;color:#93653d;margin-bottom:4px;font-weight:800}.profile{display:flex;align-items:center;gap:10px;padding:12px 4px;border-top:1px solid var(--line)}.avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#e2f0ec;color:#27776f;font-weight:900}.profile-meta{flex:1;min-width:0}.profile-meta strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.profile-meta small{font-size:11px}.icon-btn{border:none;background:transparent;border-radius:9px;color:#748a8b;padding:8px;display:grid;place-items:center}.icon-btn:hover{background:#edf5f2;color:var(--forest)}.main{min-width:0}.topbar{height:85px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 43px;gap:16px}.breadcrumb{display:flex;gap:10px;align-items:center;color:#8a9c9e;font-size:12px}.breadcrumb strong{color:var(--forest);font-weight:800}.top-actions{display:flex;align-items:center;gap:13px}.live-indicator{display:flex;gap:7px;align-items:center;color:#5a8981;font-size:11px;font-weight:800}.live-dot{width:8px;height:8px;border-radius:50%;background:#36ae86;box-shadow:0 0 0 4px #e9f6ef}.live-dot.offline{background:#e0aa52;box-shadow:0 0 0 4px #fff2df}.clock{font-size:11px;color:#8ca0a1}.content{max-width:1400px;margin:auto;padding:36px 43px 60px}.page-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px}.page-title-row p{color:#7a8d8c;margin-bottom:0;font-size:13px}.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;font-weight:800;border-radius:11px;transition:.15s;white-space:nowrap}.btn:hover{filter:brightness(.98);transform:translateY(-1px)}.btn.primary{background:#207a73;color:white;box-shadow:0 5px 18px #207a731c}.btn.soft{background:#ecf5f2;color:#23776e}.btn.light{background:white;color:#266d6b;border:1px solid #e5eeea}.btn.negative{background:#fff0ee;color:#c65e58}.btn.outline{background:transparent;color:var(--forest);border-color:#cedfdb}.btn.small{padding:8px 11px;font-size:12px;border-radius:9px}.btn .icon{width:17px;height:17px}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 18px;background:#fff0d7;color:#895f26;border:1px solid #f3d8ad;border-radius:13px;margin-bottom:23px;font-size:12px;line-height:1.6}.demo-banner strong{font-weight:900}.overview-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:18px;margin-bottom:21px}.balance-card{background:linear-gradient(126deg,#173e43,#236c69);color:white;min-height:193px;border-radius:19px;padding:26px 29px;position:relative;overflow:hidden;box-shadow:0 12px 26px #123d4820}.balance-card:after{content:'';position:absolute;border:38px solid #ffffff08;width:185px;height:185px;right:-95px;top:-90px;border-radius:50%}.balance-card:before{content:'';position:absolute;width:180px;height:180px;border:1px solid #ffffff14;border-radius:50%;right:4%;bottom:-125px}.balance-label{color:#c5e0db;font-size:12px;letter-spacing:.4px;font-weight:700;display:flex;align-items:center;gap:9px}.balance-value{font-family:Nunito,sans-serif;font-size:39px;font-weight:900;letter-spacing:-1.7px;margin:16px 0 7px;line-height:1.15;word-break:break-word}.balance-note{font-size:11px;color:#b6d6d1}.stat-card{background:white;box-shadow:var(--shadow);border:1px solid var(--line);padding:26px;border-radius:19px;display:flex;flex-direction:column;justify-content:space-between;gap:17px}.stat-head{display:flex;justify-content:space-between;align-items:center}.stat-head span{font-size:12px;font-weight:700;color:#75898b}.stat-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#e9f6f0;color:#269470}.stat-icon.expense{background:#fff1e9;color:#db8b4d}.stat-value{font-family:Nunito,sans-serif;font-size:27px;letter-spacing:-1px;font-weight:900;white-space:nowrap}.stat-sub{color:#8da0a0;font-size:11px;margin-top:7px}.cards-two{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr);gap:20px;margin-top:21px}.panel{background:#fff;border-radius:19px;padding:22px 24px;border:1px solid var(--line);box-shadow:var(--shadow);min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.panel-header h2{margin:0;font-size:18px}.text-link{color:#21837a;border:0;background:transparent;font-size:12px;font-weight:800;white-space:nowrap}.text-link:hover{text-decoration:underline}.quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.quick-btn{flex:1;min-width:160px;display:flex;align-items:center;gap:13px;border:1px dashed #d1e0dc;background:white;border-radius:14px;padding:16px;text-align:left;color:#33585a;font-weight:800}.quick-btn .icon-pad{width:39px;height:39px;background:#e8f6f2;color:#1e9181;border-radius:11px;display:grid;place-items:center}.quick-btn.out .icon-pad{background:#fff2e9;color:#d98a4e}.quick-btn small{display:block;margin-top:4px;font-weight:500}.tx-mini{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #f0f3f1}.tx-mini:last-child{border-bottom:0}.tx-symbol{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf6f1;color:#1f927c}.tx-symbol.expense{background:#fff2e8;color:#de9459}.tx-main{min-width:0;flex:1}.tx-main strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}.tx-main small{font-size:11px}.tx-amount{font-size:13px;white-space:nowrap;font-weight:900;color:#218d72}.tx-amount.expense{color:#d67f45}.tx-amount.void{color:#a6adad;text-decoration:line-through}.bar-item{margin:17px 0}.bar-top{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:9px}.bar-top strong{font-weight:800}.bar-top span{color:#7e9092}.bar-bg{height:8px;width:100%;background:#edf3f0;border-radius:15px;overflow:hidden}.bar-fill{height:100%;background:#3e9b8e;border-radius:15px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:33px 15px;color:#8aa09f;gap:7px}.empty .icon{height:32px;width:32px;color:#9dbdb7;margin-bottom:5px}.empty strong{color:#587372}.empty p{font-size:12px;max-width:290px;line-height:1.6;margin:0}.section-description{font-size:13px;color:#849595;margin-bottom:20px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;margin-bottom:17px}.toolbar-left,.toolbar-right{display:flex;gap:10px;flex-wrap:wrap}.search-field{position:relative}.search-field .icon{position:absolute;left:12px;top:12px;color:#91a3a2}.filter-input,.field{min-height:42px;background:white;border:1px solid #dfe8e4;border-radius:10px;color:#345156;padding:10px 12px;outline:none}.filter-input:focus,.field:focus{border-color:#3d9e8f;box-shadow:0 0 0 3px #3d9e8f18}.search-field input{padding-left:38px;width:245px}.filter-input{font-size:12px;max-width:100%}.table-shell{overflow-x:auto;border-radius:13px;border:1px solid #edf1ef}.tx-table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;min-width:740px}.tx-table th{background:#f8faf9;color:#869898;font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:900;padding:15px 16px}.tx-table td{padding:16px;border-top:1px solid #f0f3f2;font-size:12px}.tx-table tr:hover td{background:#fbfdfc}.tx-table .tx-detail{font-weight:800;max-width:260px;white-space:normal;line-height:1.45}.date-label{color:#7c8f90}.pill{font-size:10px;border-radius:20px;padding:5px 9px;display:inline-flex;align-items:center;gap:5px;font-weight:800}.pill.income{background:#e9f6ef;color:#268c72}.pill.expense{background:#fff2e8;color:#cb834d}.pill.void{background:#f0f2f2;color:#8c9a99}.table-actions{display:flex;align-items:center;gap:4px}.actions-trigger{border:1px solid #e2ece7;background:white;padding:6px 8px;color:#49756f;border-radius:8px;font-size:11px;font-weight:800;display:inline-flex;gap:5px;align-items:center}.actions-trigger:hover{background:#f2f9f6}.total-footer{color:#809294;font-size:11px;display:flex;align-items:center;justify-content:space-between;margin-top:17px;gap:16px}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.doc-card{background:white;border:1px solid var(--line);border-radius:15px;padding:17px;display:flex;flex-direction:column;gap:13px;box-shadow:var(--shadow)}.doc-top{display:flex;gap:13px;align-items:center}.doc-glyph{width:46px;height:51px;border-radius:12px;display:grid;place-items:center;background:#ecf5f2;color:#30887c}.doc-glyph.pdf{background:#fff0ed;color:#c96859}.doc-card strong{font-size:12px;overflow-wrap:anywhere;line-height:1.5}.doc-card small{font-size:11px;line-height:1.5}.doc-card .btn{align-self:flex-start}.members-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.9fr);gap:20px}.member-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eff2f0;padding:13px 0}.member-row:last-child{border:0}.member-row .avatar{width:39px;height:39px;flex-shrink:0}.member-row .name{flex:1;min-width:0}.member-row strong{font-size:12px;display:block}.member-row small{word-break:break-all}.member-role{font-size:10px;background:#eaf4ef;border-radius:15px;padding:6px 9px;color:#348577;font-weight:800}.member-role.admin{background:#fff4e8;color:#ac7840}.help-list{font-size:12px;line-height:1.75;padding-left:20px;color:#708486}.help-list li{margin:8px 0}.field-label{display:block;color:#49686a;font-weight:800;font-size:11px;margin-bottom:7px}.form-stack{display:grid;gap:15px}.field{width:100%;font-size:13px}.field::placeholder{color:#aebbb9}textarea.field{resize:vertical;min-height:84px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-hint{font-size:11px;color:#8ca09d;margin-top:6px;line-height:1.5}.form-error{background:#fff0ed;color:#ad4d48;border-radius:10px;padding:11px 13px;font-size:12px}.modal-backdrop{position:fixed;inset:0;background:#132d30a6;display:flex;align-items:center;justify-content:center;z-index:10;padding:17px;overflow-y:auto;backdrop-filter:blur(3px)}.modal{background:white;border-radius:21px;width:min(600px,100%);max-height:calc(100vh - 34px);overflow-y:auto;box-shadow:0 24px 70px #05191e40}.modal.wide{width:min(850px,100%)}.modal-header{padding:23px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0;font-size:20px}.modal-body{padding:24px 25px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:24px}.receipt-zone{border:1px dashed #bed6cf;border-radius:11px;padding:15px;background:#f8fcfa}.receipt-zone input{max-width:100%;font-size:12px}.receipt-zone p{margin:8px 0 0;color:#8b9f9b;font-size:11px}.modal-preview{max-width:100%;max-height:65vh;display:block;margin:auto;border-radius:9px}.preview-pdf{width:100%;height:65vh;border:0;border-radius:9px}.audit-row{border-left:2px solid #d8e9e5;padding:5px 15px;margin:12px 0}.audit-row strong{font-size:12px;display:block}.audit-row small{display:block;margin-top:5px}.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.78fr);background:#fff}.login-visual{padding:8vh 9%;background:linear-gradient(145deg,#153d40,#236c65);color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;overflow:hidden;position:relative}.login-visual:after{content:'';position:absolute;width:500px;height:500px;border:80px solid #ffffff09;border-radius:50%;bottom:-240px;right:-220px}.login-kicker{display:flex;gap:11px;align-items:center;font-weight:700;font-size:14px;color:#d6ede8}.login-visual h1{font-size:clamp(37px,4.5vw,69px);color:white;max-width:580px;line-height:1.1;letter-spacing:-2px;margin:40px 0 20px}.login-visual p{font-size:16px;line-height:1.8;color:#c2dfd8;max-width:460px}.login-visual .little{font-size:12px;color:#a8d0c9}.login-card-wrap{display:grid;place-items:center;padding:45px}.login-card{max-width:390px;width:100%}.login-card .eyebrow{font-size:11px;letter-spacing:1.5px;color:#248b79;font-weight:900}.login-card h2{font-size:33px;line-height:1.25;margin:11px 0 13px}.login-card p{line-height:1.8;color:#7d9190;font-size:13px;margin-bottom:30px}.login-card .btn{width:100%;margin-top:17px;min-height:47px}.login-notice{background:#eef7f2;color:#36806f;font-size:12px;padding:13px;border-radius:12px;margin-top:15px;line-height:1.55}.demo-login{background:#fff8ed;border:1px solid #f3e2be;padding:18px;border-radius:14px;margin-top:25px}.demo-login strong{display:block;color:#9c7538;font-size:13px;margin-bottom:8px}.demo-login p{font-size:12px;margin-bottom:14px}.demo-login .btn{margin:0}.login-footer{font-size:11px;color:#99aaa6;margin-top:29px;line-height:1.7}.startup{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#668985;gap:13px}.brand-monogram{background:var(--forest);color:white;font-weight:900;font-size:28px;border-radius:18px;padding:20px}.brand-monogram span{color:#e9aa63}.notice{padding:13px 16px;border:1px solid #dcece7;background:#f3faf7;border-radius:11px;font-size:12px;color:#587c76;line-height:1.6}.notice.warn{border-color:#f5d6cd;background:#fff5f2;color:#a35b51}.toast{position:fixed;right:23px;bottom:23px;padding:14px 19px;color:white;background:#205d58;box-shadow:0 13px 38px #103c3a44;border-radius:12px;z-index:20;font-size:12px;font-weight:700;max-width:350px}.toast.error{background:#b54f4a}.count-bubble{display:inline-block;background:#edf4f1;color:#57817a;border-radius:10px;padding:3px 7px;font-size:10px;font-weight:800}.divider{border:0;border-top:1px solid #eff2f1;margin:20px 0}.no-break{white-space:nowrap}.mobile-header{display:none}.hide{display:none!important}
@media(max-width:1200px){.sidebar{width:223px}.app-layout{grid-template-columns:223px minmax(0,1fr)}.topbar{padding:0 26px}.content{padding:30px 26px 55px}.overview-grid{grid-template-columns:1.3fr 1fr 1fr}.stat-card{padding:20px}.balance-card{padding:23px}.stat-value{font-size:23px}}
@media(max-width:960px){.overview-grid{grid-template-columns:1fr 1fr}.balance-card{grid-column:span 2}.cards-two,.members-layout{grid-template-columns:1fr}.nav-item{font-size:12px}}
@media(max-width:680px){.app-layout{display:block}.sidebar{position:fixed;z-index:6;width:100%;height:68px;min-height:0;bottom:0;top:auto;left:0;padding:8px 10px;background:#fff;border-top:1px solid var(--line);border-right:0;display:block;box-shadow:0 -5px 18px #123e3810}.sidebar .brand,.sidebar .nav-heading,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.nav-item{flex-direction:column;justify-content:center;gap:3px;padding:6px 2px;font-size:9px;border-radius:10px}.nav-item .icon{height:20px;width:20px}.nav-item .mini-number{display:none}.topbar{height:60px;padding:0 16px}.breadcrumb{font-size:11px}.topbar .clock{display:none}.top-actions{gap:7px}.live-indicator{font-size:10px}.content{padding:21px 15px 110px}.page-title-row{align-items:flex-start;margin-bottom:20px}.page-title-row h1{font-size:25px}.page-title-row .btn{padding:9px;font-size:11px}.page-title-row .btn .icon{width:15px;height:15px}.overview-grid{grid-template-columns:1fr 1fr;gap:11px}.balance-card{min-height:155px;padding:21px}.balance-value{font-size:35px;margin:10px 0}.stat-card{padding:17px;min-height:141px}.stat-value{font-size:20px}.stat-head span{font-size:11px}.stat-icon{height:31px;width:31px}.stat-icon .icon{height:16px;width:16px}.panel{padding:19px 16px}.search-field{flex:1}.search-field input{width:100%}.toolbar-left{width:100%}.filter-input{flex:1;min-width:125px}.toolbar-right{width:100%;justify-content:flex-end}.login-screen{display:block}.login-visual{min-height:0;padding:31px 26px}.login-visual h1{font-size:38px;margin:20px 0 15px}.login-visual p{font-size:13px;margin-bottom:4px}.login-visual .little{display:none}.login-card-wrap{padding:40px 25px}.login-card h2{font-size:27px}.modal{border-radius:16px}.form-grid{grid-template-columns:1fr}.modal-body,.modal-header{padding:19px}.demo-banner{align-items:flex-start;flex-direction:column}.total-footer{flex-direction:column;align-items:flex-start}}
@media(max-width:380px){.stat-card{padding:13px}.stat-value{font-size:18px}.balance-value{font-size:30px}.page-title-row .btn{font-size:0}.page-title-row .btn .icon{width:19px;height:19px}}

/* Canlı girişte yönetici parola alternatifi */
.admin-login{margin-top:25px;padding:15px 0;border-top:1px solid #e3ece9;border-bottom:1px solid #e3ece9}
.admin-login summary{font-size:12px;font-weight:800;color:#236f68;cursor:pointer;list-style:revert}
.admin-login[open] summary{margin-bottom:13px}
.admin-login p{font-size:12px;line-height:1.55;margin:0 0 16px}
.admin-login .btn{margin-top:13px}


/* V4: Fotoğraflı giriş ekranı + gerçek telefon uyumluluğu */
html{max-width:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{min-width:0}
button,input,select,textarea{max-width:100%}
button, a, summary, input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #66bca4;outline-offset:3px}
.mobile-logout,.mobile-crumb{display:none}

/* Görsel tasarım: yazılar resim değil, erişilebilir HTML öğeleridir. */
.login-screen{min-height:100vh;min-height:100dvh;grid-template-columns:minmax(0,1.34fr) minmax(430px,.88fr);align-items:stretch}
.login-visual{
  min-height:100vh;min-height:100dvh;padding:36px clamp(28px,4.2vw,72px) 50px;
  background-image:linear-gradient(180deg,rgba(12,53,54,.77),rgba(10,59,58,.06) 27%,rgba(12,70,64,.04) 55%,rgba(10,90,79,.93) 100%),url('classroom-illustration-1e.jpg');
  background-position:center,center 44%;background-repeat:no-repeat;background-size:cover;
  border-radius:0 23px 23px 0;justify-content:initial;gap:12px;
}
.login-visual:after{display:none}
.login-kicker{display:flex;align-items:center;gap:17px;font-size:clamp(13px,1.24vw,20px);color:#fff;position:relative;z-index:1}
.school-emblem{width:55px;height:55px;flex-shrink:0;display:grid;place-items:center;background:#155855;border-radius:14px;box-shadow:0 7px 20px #142a2a55}
.school-emblem .icon{width:28px;height:28px;color:white}
.school-identity{display:flex;align-items:center;gap:22px;min-width:0;flex-wrap:wrap;row-gap:4px;text-shadow:0 1px 6px rgba(0,0,0,.2)}
.school-identity strong{font-family:Nunito,Arial,sans-serif;font-weight:900;letter-spacing:-.35px}
.school-identity .class-name{white-space:nowrap;font-size:1.02em;font-weight:700}
.school-divider{height:29px;width:1px;background:#ffffffbb}
.login-visual-fill{flex:1;min-height:230px}
.login-photo-bottom{position:relative;z-index:1}
.login-photo-bottom p{font-size:clamp(15px,1.25vw,20px);line-height:1.52;color:#f3fffb;max-width:650px;margin:0 0 23px;font-weight:500;text-shadow:0 1px 7px rgba(0,0,0,.2)}
.login-values{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#f5fffb;font-weight:800;font-size:clamp(12px,1vw,15px)}
.login-values span{display:inline-flex;align-items:center;gap:8px;padding-right:15px;border-right:1px solid #ffffff7a}
.login-values span:last-child{border-right:0;padding-right:0}
.login-values .icon{width:23px;height:23px}
.login-card-wrap{padding:clamp(28px,4.7vw,75px) clamp(25px,5.6vw,86px);align-items:center;overflow:visible}
.login-card{max-width:490px}
.login-education-icon{display:block;width:128px;height:auto;max-height:110px;margin:0 0 22px;object-fit:contain}
.login-card .eyebrow{font-size:12px;letter-spacing:2.4px;color:#158574}
.login-card h2{font-size:clamp(30px,2.45vw,42px);line-height:1.16;letter-spacing:-1px;margin:12px 0 17px;overflow-wrap:break-word}
.login-card h2 .welcome-heart{display:inline-block;font-family:Arial,sans-serif;font-weight:400;color:#48b99e;font-size:1.2em;vertical-align:-4px;margin-left:5px}
.login-card p{font-size:clamp(13px,1.02vw,16px);line-height:1.7;color:#6c8086;margin-bottom:24px}
.login-card .field-label{font-size:13px;margin-bottom:9px;color:#21494b}
.login-card .field{font-size:16px;min-height:52px;border-radius:12px}
.login-card .btn{min-height:54px;background:linear-gradient(105deg,#269b80,#0d806d);font-size:15px;margin-top:16px}
.login-card .admin-login .btn{min-height:48px}
.login-card .login-footer{display:flex;gap:8px;align-items:center;line-height:1.6;color:#879c98}
.login-card .login-footer .icon{flex:0 0 16px}
.login-card .admin-login{margin-top:22px}
.login-card .admin-login summary{padding:2px 0;min-height:26px}
.login-card .admin-login p{font-size:12px;margin:4px 0 14px}

@media(max-width:1100px){
  .login-screen{grid-template-columns:minmax(0,1.07fr) minmax(400px,.93fr)}
  .login-visual{padding:27px 27px 35px}
  .school-identity{gap:12px}
  .login-card-wrap{padding:35px 32px}
  .login-photo-bottom p{font-size:15px}
  .login-values{gap:7px;font-size:11px}
  .login-values .icon{width:18px;height:18px}
}
@media(max-width:820px){
  .login-screen{grid-template-columns:1fr;min-height:100vh;min-height:100dvh}
  .login-visual{height:310px;min-height:310px;border-radius:0 0 22px 22px;padding:18px 23px 23px;background-position:center,center 43%}
  .school-emblem{height:42px;width:42px;border-radius:12px}
  .school-emblem .icon{height:22px;width:22px}
  .login-kicker{font-size:13px;gap:10px}
  .school-identity{gap:10px}
  .school-divider{height:18px}
  .login-visual-fill{min-height:55px}
  .login-photo-bottom p{font-size:13px;max-width:550px;margin-bottom:8px;line-height:1.45}
  .login-values{gap:10px;font-size:10px}
  .login-values span{padding-right:8px;gap:4px}
  .login-values .icon{width:15px;height:15px}
  .login-card-wrap{padding:30px 22px 45px;display:block}
  .login-card{max-width:560px;margin:0 auto}
  .login-education-icon{width:86px;max-height:82px;margin:0 0 15px}
  .login-card h2{font-size:clamp(26px,5.7vw,34px);margin:9px 0 12px}
  .login-card p{font-size:14px;margin-bottom:19px;line-height:1.58}
  .login-card .btn{font-size:14px}
  .login-screen .login-visual h1{font-size:27px;line-height:1.25}
}
@media(max-width:500px){
  .login-visual{height:232px;min-height:232px;padding:15px 16px 17px;background-position:center,center 38%}
  .school-identity strong{font-size:12px}
  .school-identity .class-name{font-size:12px}
  .login-visual-fill{min-height:34px}
  .login-photo-bottom p{font-size:11px;line-height:1.45;margin-bottom:0}
  .login-values{display:none}
  .login-card-wrap{padding:23px 19px 32px}
  .login-education-icon{width:66px;margin-bottom:12px}
  .login-card .eyebrow{font-size:11px}
  .login-card h2{font-size:28px;letter-spacing:-.7px}
  .login-card .field{min-height:50px}
  .login-card .btn{min-height:50px}
  .login-card .admin-login{margin-top:20px}
  .login-card .login-footer{margin-top:18px;font-size:10px}
}
@media(max-width:355px){
  .school-identity{gap:6px}
  .school-emblem{width:35px;height:35px}
  .school-identity strong{font-size:11px}
  .school-identity .class-name{font-size:11px}
  .login-card h2{font-size:24px}
}

/* Uygulamanın iç ekranları: tablet ve küçük telefonlar */
@media(max-width:920px){
  .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .balance-card{grid-column:1/-1}
  .cards-two,.members-layout{grid-template-columns:minmax(0,1fr)}
  .table-shell{max-width:100%}
}
@media(max-width:680px){
  .app-layout{min-height:100dvh}
  .sidebar{height:calc(65px + env(safe-area-inset-bottom));padding:5px 9px max(5px,env(safe-area-inset-bottom));z-index:7}
  .sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sidebar nav .nav-item{min-height:54px;line-height:1.12;font-size:10px}
  .sidebar nav .nav-item span:not(.mini-number){text-align:center;overflow-wrap:anywhere}
  .mobile-logout,.mobile-crumb{display:inline-flex}
  .topbar{padding:0 12px;height:61px}
  .topbar .breadcrumb{display:flex;gap:4px;white-space:nowrap;font-size:12px}
  .desktop-crumb{display:none}
  .top-actions{gap:2px}
  .top-actions .icon-btn{min-width:42px;min-height:42px}
  .top-actions .live-indicator{max-width:84px;line-height:1.2;text-align:left;font-size:9px}
  .content{padding:22px 13px calc(110px + env(safe-area-inset-bottom))}
  .page-title-row{align-items:flex-start;gap:8px}
  .page-title-row h1{font-size:25px}
  .page-title-row p{font-size:12px;line-height:1.45}
  .page-title-row .btn{min-width:44px;min-height:44px;flex-shrink:0}
  .overview-grid{gap:10px}
  .balance-card{min-height:164px}
  .balance-value{font-size:clamp(29px,7.6vw,38px);overflow-wrap:anywhere}
  .stat-card{min-width:0;padding:15px 13px;gap:13px}
  .stat-head span{font-size:11px;line-height:1.4}
  .stat-value{font-size:clamp(16px,4.55vw,23px);white-space:normal;overflow-wrap:anywhere}
  .quick-actions{margin:14px 0;display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .quick-btn{min-width:0;padding:11px 8px;gap:7px;line-height:1.3;font-size:11px}
  .quick-btn small{font-size:10px;line-height:1.35}
  .quick-btn .icon-pad{width:33px;height:33px;flex:0 0 33px}
  .quick-btn .icon-pad .icon{width:17px;height:17px}
  .panel{padding:17px 13px;border-radius:16px}
  .panel-header{flex-wrap:wrap;gap:8px}
  .panel-header h2{font-size:16px}
  .tx-mini{flex-wrap:wrap;gap:9px;padding:13px 0}
  .tx-main{flex:1 1 calc(100% - 60px)}
  .tx-amount{margin-left:auto;padding-left:49px;white-space:normal;overflow-wrap:anywhere}
  .document-grid{grid-template-columns:1fr}
  .doc-card .btn{min-height:44px}
  .toolbar-left{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .toolbar-left .search-field{grid-column:1 / -1}
  .toolbar-left .search-field input{width:100%;min-height:44px;font-size:16px}
  .toolbar-left .filter-input{min-width:0;width:100%;font-size:12px;min-height:44px}
  .toolbar-right{justify-content:flex-end}
  .toolbar-right .btn{min-height:42px}
  .table-shell{border:0;overflow:visible}
  .tx-table{min-width:0;width:100%;display:block;white-space:normal}
  .tx-table thead{display:none}
  .tx-table tbody{display:grid;gap:11px}
  .tx-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:11px;background:#fff;border:1px solid #e9eeeb;border-radius:13px;padding:14px 12px;box-shadow:0 4px 17px #153b3e08}
  .tx-table tbody tr:hover td{background:transparent}
  .tx-table td{padding:0;border:0;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:12px}
  .tx-table td:nth-child(3){grid-column:1;grid-row:1;font-size:13px;font-weight:800}
  .tx-table td:nth-child(5){grid-column:2;grid-row:1;text-align:right}
  .tx-table td:nth-child(5) .tx-amount{font-size:13px;white-space:normal;overflow-wrap:anywhere;display:block}
  .tx-table td:nth-child(1){grid-column:1;grid-row:2;color:#829393}
  .tx-table td:nth-child(2){grid-column:2;grid-row:2;text-align:right}
  .tx-table td:nth-child(4){grid-column:1/-1;grid-row:3;color:#6b8480}
  .tx-table td:nth-child(6){grid-column:1;grid-row:4}
  .tx-table td:nth-child(7){grid-column:2;grid-row:4}
  .tx-table .table-actions{justify-content:flex-end}
  .tx-table .actions-trigger{min-height:43px;min-width:43px;justify-content:center}
  .tx-table .tx-empty-row{display:block}
  .tx-table .tx-empty-row td{display:block;width:100%}
  .total-footer{line-height:1.6;gap:8px}
  .modal-backdrop{align-items:flex-end;padding:0;overscroll-behavior:contain}
  .modal,.modal.wide{width:100%;max-height:calc(100dvh - 12px);border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .modal-header,.modal-body{padding:17px 17px}
  .modal-actions{display:flex;align-items:stretch;gap:8px}
  .modal-actions .btn{min-height:45px;max-width:100%;white-space:normal}
  .preview-pdf{height:60dvh;min-height:280px}
  .modal-preview{max-height:60dvh;object-fit:contain}
  .toast{bottom:calc(80px + env(safe-area-inset-bottom));left:13px;right:13px;max-width:none;text-align:center}
  .field{min-height:44px;font-size:16px}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .member-row{min-width:0}
  .member-role{flex-shrink:0}
  .member-row .icon-btn{min-width:44px;min-height:44px}
}
@media(max-width:375px){
  .content{padding-left:10px;padding-right:10px}
  .sidebar nav .nav-item{font-size:9px;letter-spacing:-.2px}
  .panel{padding:15px 10px}
  .quick-actions{grid-template-columns:1fr}
  .quick-btn{font-size:13px;padding:13px}
  .tx-table tbody tr{padding:12px 10px;gap:9px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* V5 callback diagnostics */
.login-notice.is-error{background:#fff0ed;border:1px solid #f0c6bf;color:#9b463e;margin-bottom:17px}

/* V6: şifreli giriş, ilk şifre belirleme ve sıfırlama — responsive */
.login-spaced{margin-top:15px;margin-bottom:8px}
.auth-text-button{display:block;margin:15px auto 0;padding:9px 12px;min-height:43px;color:#167e6e;background:transparent;border:0;border-radius:8px;text-align:center;font-weight:800;font-size:13px}
.auth-text-button:hover,.auth-text-button:focus-visible{background:#edf7f3}
.auth-muted{color:#728d89;font-weight:600;margin-top:4px}
.login-card .auth-alternative{margin-top:12px;padding-top:15px}
.login-card .auth-alternative .btn.outline{background:#f1f8f5;color:#186d61;border:1px solid #cee5dc}
.login-card .auth-alternative .btn.outline:hover{background:#e5f4ee}
.auth-verified{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;line-height:1.5;background:#eff9f4;color:#236f60;padding:12px;border-radius:12px;margin:0 0 20px;overflow-wrap:anywhere}
.auth-verified .icon{flex:0 0 18px}
.login-card p.auth-hint{font-size:11px;line-height:1.55;margin:10px 0 0}
@media(max-width:500px){.auth-text-button{font-size:13px;min-height:44px}.login-spaced{margin-top:14px}}

/* V9 — Notifications are placed above the page, clear of the Netlify corner badge. */
.toast {
  top: 82px;
  bottom: auto;
  right: 22px;
  left: auto;
  width: min(370px, calc(100vw - 32px));
  max-width: none;
  line-height: 1.55;
  overflow-wrap: anywhere;
  box-sizing: border-box;
}
@media (max-width: 680px) {
  .toast {
    top: calc(70px + env(safe-area-inset-top));
    bottom: auto;
    left: 14px;
    right: 14px;
    width: auto;
    text-align: center;
  }
}

/* V10: güvenli sınıf katılımı — responsive kayıt düğmesi */
.auth-join-button { width:100%;border:1px solid #b9dcd1;background:#eaf7f1;color:#176e61;border-radius:12px;font-weight:800;font-size:13px;min-height:50px;padding:12px 14px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;margin-top:18px;line-height:1.5;text-align:center; }
.auth-join-button:hover,.auth-join-button:focus-visible {background:#dbf1e8;border-color:#87c8b4;}
.auth-join-button .icon {width:19px;height:19px;flex-shrink:0;}
@media(max-width:680px){.auth-join-button{font-size:13px;min-height:52px;}}
