/* AISTEA admin panel */
:root{
  --indigo:#0B2A63; --indigo-deep:#061634; --gold:#E9A63A; --vermilion:#C22B2B;
  --paper:#F4F2EC; --line:#DCD7CA; --ink:#1B1F27; --muted:#6B7383;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Noto Sans Telugu",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;line-height:1.6;
}
a{color:var(--indigo)}
img{max-width:100%;display:block}

/* ---------- login ---------- */
.loginpage{display:grid;place-items:center;min-height:100vh;background:var(--indigo);padding:20px}
.loginbox{background:#fff;padding:36px 34px;border-radius:6px;width:100%;max-width:380px;border-top:5px solid var(--gold)}
.loginbox .fist{width:40px;height:auto;margin:0 auto 12px;display:block}
.loginbox h1{font-size:21px;text-align:center;margin:0 0 20px;color:var(--indigo)}
.loginbox label{display:block;font-weight:600;font-size:13px;margin:14px 0 5px}
.loginbox input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:4px;font-size:16px}
.loginbox button{width:100%;margin-top:22px;background:var(--indigo);color:#fff;border:0;padding:13px;border-radius:4px;font-size:16px;cursor:pointer}
.loginbox button:hover{background:var(--vermilion)}
.hint{text-align:center;font-size:13px;margin:18px 0 0}
.hint a{color:var(--muted);text-decoration:none}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
@media(max-width:820px){.shell{grid-template-columns:1fr}}
.side{background:var(--indigo-deep);color:#C3D3EC;padding:20px 0 40px}
.side .logo{display:flex;gap:11px;align-items:center;text-decoration:none;color:#fff;padding:0 20px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.side .logo svg{width:24px;height:auto}
.side .logo .admin-logo-img{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid rgba(233,166,58,.55)}
.side .logo span{font-weight:700;font-size:17px;line-height:1.1}
.side .logo small{display:block;font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.side nav{display:flex;flex-direction:column;padding-top:10px}
.side nav a{color:#C3D3EC;text-decoration:none;padding:10px 20px;font-size:14.5px;border-left:3px solid transparent}
.side nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.side nav a.on{background:rgba(233,166,58,.14);border-left-color:var(--gold);color:#fff;font-weight:600}
.side .grp{margin:16px 20px 4px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7E90B0}

.content{padding:26px clamp(16px,3vw,34px) 60px;max-width:1200px}
.bar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.bar h1{font-size:24px;margin:0;color:var(--indigo)}
.who{font-size:13px;color:var(--muted)}

/* ---------- panels ---------- */
.panel{background:#fff;border:1px solid var(--line);border-radius:4px;padding:22px 24px;margin-bottom:22px}
.panel.nopad{padding:0;overflow:hidden}
.panel.narrow{max-width:460px}
.ph{font-size:16px;margin:0 0 16px;color:var(--indigo);padding-bottom:10px;border-bottom:1px solid var(--line)}
.crumb{margin:0 0 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.muted{color:var(--muted);font-size:13.5px}

/* ---------- forms ---------- */
.fld{margin-bottom:16px}
.fld label{display:block;font-weight:600;font-size:13px;margin-bottom:5px}
.fld input[type=text],.fld input[type=password],.fld input[type=number],.fld input[type=date],
.fld input:not([type]),.fld select,.fld textarea,.galitem input{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:4px;
  font-size:15px;font-family:inherit;background:#fff;
}
.fld textarea{line-height:1.6;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.fld .inline{display:inline-flex;align-items:center;gap:7px;font-weight:400;font-size:14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:700px){.two{grid-template-columns:1fr}}
.blk{padding:14px 0;border-top:1px dashed var(--line)}
.blk:first-of-type{border-top:0;padding-top:0}
.blabel{margin:0 0 8px;font-weight:700;font-size:14px;color:var(--indigo)}

.actions{margin-top:18px;display:flex;gap:10px;align-items:center}
.actions.sticky{position:sticky;bottom:0;background:var(--paper);padding:14px 0;border-top:1px solid var(--line)}
.btn{
  display:inline-block;background:var(--indigo);color:#fff;border:0;text-decoration:none;
  padding:11px 20px;border-radius:4px;font-size:14.5px;font-family:inherit;cursor:pointer;
}
.btn:hover{background:var(--vermilion);color:#fff}
.btn.ghost{background:#fff;color:var(--indigo);border:1px solid var(--line)}
.btn.small{padding:7px 13px;font-size:13px}
.btn.danger{background:#fff;color:var(--vermilion);border:1px solid #E3B9B9}
.btn.danger:hover{background:var(--vermilion);color:#fff}
.inlineform{display:inline}

.thumbrow{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.thumbrow img{width:80px;height:80px;object-fit:cover;border:1px solid var(--line);border-radius:4px}

/* ---------- tables ---------- */
table.grid{width:100%;border-collapse:collapse}
table.grid th{
  background:var(--indigo);color:#fff;text-align:left;padding:11px 14px;font-size:13px;
  letter-spacing:.04em;font-weight:600;
}
table.grid td{padding:11px 14px;border-top:1px solid var(--line);vertical-align:top;font-size:14px}
table.grid tr:nth-child(even) td{background:#FBFAF7}
.right{text-align:right}
.nowrap{white-space:nowrap}
.tag{background:var(--gold);color:#2B1D02;border-radius:3px;padding:1px 7px;font-size:11.5px;font-weight:700}

/* ---------- dashboard ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
@media(max-width:820px){.tiles{grid-template-columns:repeat(2,1fr)}}
.tile{
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);
  border-radius:4px;padding:18px 20px;text-decoration:none;color:var(--ink);
}
.tile:hover{border-left-color:var(--vermilion)}
.tile b{display:block;font-size:29px;color:var(--indigo);line-height:1.1}
.tile span{font-size:13.5px;color:var(--muted)}
ul.help{margin:0;padding-left:20px}
ul.help li{margin-bottom:8px;font-size:14.5px}

/* ---------- gallery manager ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1000px){.gal{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gal{grid-template-columns:1fr}}
.galitem{border:1px solid var(--line);border-radius:4px;padding:10px;background:#FBFAF7}
.galitem img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;margin-bottom:9px}
.galitem input{margin-bottom:7px;padding:7px 9px;font-size:13.5px}
.galitem .row2{display:grid;grid-template-columns:1fr 78px;gap:7px}
.galitem form{margin:0}
.galitem form + form{margin-top:6px}

/* ---------- flash ---------- */
.flash{padding:12px 16px;border-radius:4px;margin:0 0 18px;font-size:14.5px}
.flash.ok{background:#E7F3E7;color:#1E5B23;border:1px solid #BEDFBE}
.flash.bad{background:#FBE6E6;color:#8E1B1B;border:1px solid #EFC4C4}
.flash.warn{background:#FFF6E0;color:#7A5600;border:1px solid #EFDCA8}
code{background:#F1EEE6;padding:2px 6px;border-radius:3px;font-size:13px}

/* ---------- branding media manager ---------- */
.media-card{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center}
.media-preview{background:#F1EEE6;border:1px solid var(--line);border-radius:6px;min-height:190px;display:grid;place-items:center;padding:12px}
.media-preview img{max-height:220px;width:100%;object-fit:contain;border-radius:5px}
.media-empty{color:var(--muted);font-size:13px}
.media-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:700px){.media-card{grid-template-columns:1fr}}

.media-form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.media-form .fld{display:flex;flex-direction:column;gap:7px}.media-form .fld label{font-weight:700;font-size:13px}.media-form .fld input,.media-form .fld select{width:100%;padding:10px;border:1px solid #ccd3df;border-radius:5px;background:#fff}@media(max-width:700px){.media-form .two{grid-template-columns:1fr}.media-form .fld[style]{grid-column:auto !important}}

/* Telugu-first content lists: keep admin data readable when English fields are blank. */
table.grid th:first-child{min-width:180px}
table.grid td{color:var(--ink);background:#fff}
table.grid tbody tr:nth-child(even) td{background:#FBFAF7}
table.grid td:empty::after{content:'—';color:#A0A7B3}
@media(max-width:900px){
  table.grid{font-size:13px}
  table.grid th,table.grid td{padding:9px 10px}
}
