@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+Bengali:wght@300;400;500;600;700;800&family=Noto+Serif+Bengali:wght@400;600;700;800&display=swap");
*{box-sizing:border-box}body{margin:0;background:#f3f8f5;color:#17352a;font-family:"Noto Sans Bengali","Noto Sans Assamese","Noto Sans",system-ui,sans-serif}.hidden{display:none}.screen{min-height:100vh;display:grid;place-items:center;padding:20px}.panel{background:#fff;border:1px solid #d8e9e0;border-radius:18px;box-shadow:0 20px 50px #0b6b4318;padding:30px;width:min(440px,100%);text-align:center}.panel.small{max-width:420px}.logo{width:90px;height:90px;object-fit:contain;border-radius:14px}.panel h1{margin:8px 0}.panel p{color:#6b7f76}.panel form{display:grid;gap:12px}.panel input,.form input,.form textarea{width:100%;padding:11px 12px;border:1px solid #cfe1d8;border-radius:9px;font:inherit}.panel button,.form button{border:0;background:#0b6b43;color:#fff;padding:11px 15px;border-radius:9px;font-weight:700;cursor:pointer}.panel #loginMsg{min-height:22px;color:#b33}.panel:after{content:"";display:block;clear:both}header{height:70px;background:#083f2b;color:#fff;padding:0 25px;display:flex;align-items:center;justify-content:space-between}header b{font-size:1.2rem}header span{margin-left:8px;color:#cde6da}header button{background:#fff;color:#083f2b;border:0;padding:9px 13px;border-radius:8px}.layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 70px)}aside{background:#fff;border-right:1px solid #dcebe3;padding:18px}aside button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:11px 12px;border-radius:8px;margin-bottom:4px;color:#284a3e;font-weight:600}aside button.active,aside button:hover{background:#eaf5ef;color:#0b6b43}main{padding:28px;max-width:1100px;width:100%}.tab{display:none}.tab.active{display:block}.form{background:#fff;border:1px solid #dcebe3;border-radius:14px;padding:20px;display:grid;gap:12px;max-width:800px}.form label{display:grid;gap:5px;font-weight:700}.msg{color:#0b6b43;font-weight:600}.hint{color:#637b70}.leader-row,.item{background:#fff;border:1px solid #dcebe3;border-radius:12px;padding:15px;margin:10px 0;display:flex;gap:14px;align-items:center}.leader-row img{width:70px;height:70px;border-radius:50%;object-fit:cover}.leader-row .grow,.item .grow{flex:1}.item button,.danger{border:0;background:#b53b3b;color:#fff;padding:7px 10px;border-radius:7px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:15px}.grid .photo{background:#fff;border:1px solid #dcebe3;border-radius:10px;overflow:hidden}.grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.grid .cap{padding:7px;font-size:.85rem}.stat{background:#fff;padding:18px;border:1px solid #dcebe3;border-radius:12px}a{color:#0b6b43}@media(max-width:800px){.layout{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid #dcebe3;display:flex;overflow:auto;gap:5px}aside button{min-width:max-content;margin:0}.grid{grid-template-columns:repeat(2,1fr)}main{padding:18px}}
.settings-logo-preview{width:110px;height:110px;object-fit:contain;border:1px solid #dcebe3;border-radius:12px;background:#fff;display:block;margin-top:8px}.logo-upload{background:#f7fbf9;border:1px solid #dcebe3;border-radius:12px;padding:12px}.gallery-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.gallery-actions button{background:#0b6b43;color:#fff;border:0;padding:6px 9px;border-radius:6px;cursor:pointer}.gallery-actions .danger{background:#b53b3b}.grid .cap{min-height:70px}
/* Assamese typography: Noto Sans Bengali provides excellent Assamese glyph coverage. */
body,button,input,textarea,select{font-family:"Noto Sans Bengali","Noto Sans Assamese","Noto Sans",system-ui,sans-serif}h1,h2,h3,h4{font-family:"Noto Serif Bengali","Noto Sans Bengali","Noto Sans Assamese",serif,sans-serif}
