/* NGM IQAC Portal – frontend styles (v4.2)
   Scoped to IQAC containers so theme styles are not affected. */
:root{--ngm-brand:#0b3a75;--ngm-accent:#f2a900}
.ngm-iqac-wrap,.ngm-iqac-page,.ngm-fd,.ngm-iqac-list,.ngm-iqac-form,.ngm-iqac-track,.ngm-naac-dashboard,.ngm-kpi-public,.ngm-dept-dashboard,.ngm-iqac-metrics-dashboard,.ngm-v4-workspace,.ngm-iqac-feedback,.ngm-report-list{
  --ink:#172033;--ink-2:#44506a;--muted:#6b7589;--line:#e3e7ef;--soft:#f5f7fb;--card:#fff;
  --good:#16794a;--good-bg:#e5f4ec;--info:#1d5fae;--info-bg:#e6effa;--warn:#8a5a00;--warn-bg:#fff3d6;--bad:#b42318;--bad-bg:#fde8e6;
  --r:14px;color:var(--ink);box-sizing:border-box;line-height:1.55}
.ngm-iqac-page *,.ngm-fd *,.ngm-iqac-wrap *,.ngm-iqac-form *{box-sizing:border-box}

/* ---------- Buttons ---------- */
.ngm-btn{display:inline-flex;align-items:center;gap:6px;background:var(--ngm-brand);color:#fff!important;padding:9px 16px;border-radius:9px;text-decoration:none!important;border:1px solid var(--ngm-brand);cursor:pointer;font:inherit;font-size:14px;font-weight:600;line-height:1.2;transition:filter .15s,background .15s}
.ngm-btn:hover{filter:brightness(1.12)}
.ngm-btn:focus-visible{outline:3px solid var(--ngm-accent);outline-offset:2px}
.ngm-btn-sm{padding:6px 11px;font-size:13px;border-radius:7px}
.ngm-btn-ghost{background:transparent;color:var(--ngm-brand)!important;border-color:#c9d3e3}
.ngm-btn-ghost:hover{background:var(--soft);filter:none}
.ngm-btn-light{background:#fff;color:var(--ngm-brand)!important;border-color:#fff}
.ngm-btn-ghost-light{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.55)}
.ngm-btn-warn{background:#fff;color:var(--warn)!important;border-color:#e8c46a}
.ngm-btn[disabled]{opacity:.55;cursor:wait}

/* ---------- Common ---------- */
.ngm-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.ngm-empty{padding:18px;border:1px dashed #cfd7e4;border-radius:12px;color:var(--muted);background:var(--soft);margin:0}
.ngm-muted{color:var(--muted)}
.ngm-block{display:block}
.ngm-notice{padding:16px 18px;background:#fff8e5;border-left:4px solid #d99a00;border-radius:6px}
.ngm-back{margin:0 0 14px}
.ngm-iqac-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.ngm-iqac-table{width:100%;border-collapse:collapse;font-size:14.5px;margin:0}
.ngm-iqac-table th,.ngm-iqac-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ngm-iqac-table thead th{background:var(--soft);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.ngm-iqac-table tbody tr:last-child td{border-bottom:0}
.ngm-iqac-table small{color:var(--muted)}
.ngm-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent}
.ngm-badge-good{background:var(--good-bg);color:var(--good)}
.ngm-badge-info{background:var(--info-bg);color:var(--info)}
.ngm-badge-warn{background:var(--warn-bg);color:var(--warn)}
.ngm-badge-bad{background:var(--bad-bg);color:var(--bad)}
.ngm-badge-muted{background:#eef0f4;color:#4a5264}
.ngm-chip{display:inline-block;padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.18);font-size:12px;font-weight:600}
.ngm-chip-ghost{background:transparent;border:1px solid rgba(255,255,255,.4)}
.ngm-meter{height:8px;border-radius:99px;background:#e6ebf3;overflow:hidden;min-width:70px}
.ngm-meter span{display:block;height:100%;border-radius:99px;background:var(--ngm-brand)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ================= IQAC PAGE ================= */
.ngm-iqac-page{font-size:16px}
.ngm-page-hero{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(120deg,var(--ngm-brand),#123f7e 55%,#1b5aa6);color:#fff;margin-bottom:26px}
.ngm-page-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;border:44px solid rgba(255,255,255,.06)}
.ngm-page-hero-in{position:relative;padding:40px 38px 34px;max-width:880px}
.ngm-page-hero h2{color:#fff;font-size:clamp(28px,4vw,40px);line-height:1.15;margin:8px 0 10px}
.ngm-page-hero p{margin:0 0 18px;opacity:.92;max-width:640px}
.ngm-page-hero .ngm-eyebrow{color:var(--ngm-accent)}
.ngm-hero-stats{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0}
.ngm-hero-stats li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:8px 14px;display:flex;align-items:baseline;gap:8px;margin:0}
.ngm-hero-stats b{font-size:22px;color:#fff}.ngm-hero-stats span{font-size:13px;opacity:.85}
.ngm-page-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.ngm-page-nav{position:sticky;top:24px}
.ngm-page-nav nav{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px}
.ngm-page-nav ul{list-style:none;margin:0;padding:0}
.ngm-page-nav li{margin:0}
.ngm-page-nav a{display:block;padding:9px 12px;border-radius:9px;color:var(--ink-2);text-decoration:none!important;font-size:14.5px;font-weight:500;border-left:3px solid transparent}
.ngm-page-nav a:hover{background:var(--soft);color:var(--ngm-brand)}
.ngm-page-nav a[aria-current="true"]{background:#eaf1fb;color:var(--ngm-brand);font-weight:700;border-left-color:var(--ngm-accent)}
.ngm-side-block{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.ngm-side-block h5{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ngm-side-block ul{list-style:none;margin:0;padding:0}
.ngm-side-block li{margin:0;padding:5px 0;border-bottom:1px solid var(--line)}
.ngm-side-block li:last-child{border:0}
.ngm-side-block a{text-decoration:none;color:var(--ngm-brand);font-size:14px}
.ngm-page-search{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.ngm-page-search input{flex:1;padding:12px 16px 12px 42px;border:1px solid #cdd6e4;border-radius:12px;font:inherit;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%236b7589' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E") 14px center no-repeat}
.ngm-page-search input:focus{outline:3px solid #c9dcf5;border-color:var(--ngm-brand)}
.ngm-search-count{font-size:13px;color:var(--muted);white-space:nowrap}
.ngm-sec{scroll-margin-top:24px;margin-bottom:34px}
.ngm-js .ngm-sec{display:none;margin-bottom:0}
.ngm-js .ngm-sec.is-active{display:block}
.ngm-js.is-searching .ngm-sec{display:none}
.ngm-js.is-searching .ngm-sec.has-match{display:block}
.ngm-js.is-searching .ngm-sec.has-match{margin-bottom:28px}
.ngm-sec:focus{outline:none}
.ngm-sec-title{font-size:26px;margin:0 0 16px;padding-bottom:12px;border-bottom:3px solid var(--line);position:relative;color:var(--ink)}
.ngm-sec-title:after{content:"";position:absolute;left:0;bottom:-3px;width:64px;height:3px;background:var(--ngm-accent)}
.ngm-subhead{font-size:17px;margin:22px 0 12px;color:var(--ink)}
.ngm-subhead span{color:var(--muted);font-weight:500}
.ngm-intro,.ngm-prose{color:var(--ink-2)}
.ngm-prose p{margin:0 0 12px}
.ngm-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:16px 0}
.ngm-box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.ngm-box h4{margin:0 0 10px;font-size:16px;color:var(--ngm-brand)}
.ngm-box ul{margin:0;padding-left:20px}.ngm-box li{margin:0 0 7px;color:var(--ink-2)}
.ngm-box-accent{background:#fffaf0;border-color:#f3e0b0}
.ngm-vision{margin-bottom:6px}
.ngm-quote{background:linear-gradient(120deg,#f3f7fd,#fff);border:1px solid var(--line);border-left:5px solid var(--ngm-accent);border-radius:var(--r);padding:22px 24px;font-size:19px;font-weight:600;color:var(--ngm-brand)}
.ngm-quote .ngm-eyebrow{color:var(--muted);margin-bottom:6px}
.ngm-quote p{margin:0}

/* Year cards */
.ngm-years{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.ngm-year{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ngm-year-title{display:flex;justify-content:space-between;align-items:center;margin:0;padding:11px 16px;background:var(--soft);border-bottom:1px solid var(--line);font-size:16px;color:var(--ngm-brand)}
.ngm-year-title small{font-size:12px;color:var(--muted);font-weight:500}
.ngm-doclist{list-style:none;margin:0;padding:0}
.ngm-doclist > .ngm-doc{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);margin:0}
.ngm-doclist > .ngm-doc:last-child{border-bottom:0}
.ngm-iqac-page > .ngm-page-body .ngm-sec > .ngm-doclist,.ngm-sec > .ngm-intro + .ngm-doclist{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.ngm-doc-main{flex:1;min-width:0}
.ngm-doc-title{display:block;font-weight:600;color:var(--ink);overflow-wrap:break-word;hyphens:auto}
.ngm-doc-meta{display:block;font-size:13px;color:var(--muted)}
.ngm-doc-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
.ngm-ficon{flex-shrink:0;width:38px;height:44px;border-radius:6px 12px 6px 6px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;font-size:10px;font-weight:800;letter-spacing:.04em;color:#fff;background:#6b7589}
.ngm-ficon-pdf{background:#c2372b}.ngm-ficon-doc{background:#2b5fb4}.ngm-ficon-xls{background:#1d7a45}.ngm-ficon-ppt{background:#c55a11}.ngm-ficon-img{background:#7a4fb5}.ngm-ficon-link{background:#44506a}
.ngm-doc.is-hidden{display:none!important}
.ngm-year.is-hidden{display:none}
.ngm-year .ngm-doc{flex-wrap:wrap;row-gap:8px}
.ngm-year .ngm-doc-main{flex-basis:calc(100% - 52px)}
.ngm-year .ngm-doc-actions{padding-left:50px}

/* Composition */
.ngm-members-table td{vertical-align:middle}
.ngm-members-table td:first-child{width:56px;color:var(--muted)}
.ngm-member{display:flex;align-items:center;gap:10px}
.ngm-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.ngm-avatar-ph{display:inline-flex;align-items:center;justify-content:center;background:#eaf1fb;color:var(--ngm-brand);font-weight:700}
.ngm-role{display:inline-block;padding:2px 10px;border-radius:999px;background:#eef0f4;font-size:12.5px;font-weight:600;color:#3c4556;white-space:nowrap}
.ngm-role-chairperson{background:#fff1cc;color:#7a5300}
.ngm-role-coordinator{background:#e6effa;color:var(--info)}

/* Gallery */
.ngm-gallery{display:grid;gap:18px}
.ngm-album{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.ngm-album header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}
.ngm-album h4{margin:0;font-size:16px}
.ngm-album small{color:var(--muted)}
.ngm-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ngm-thumb{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:#e9edf3;border:0;padding:0;cursor:pointer}
.ngm-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s;display:block}
.ngm-thumb:hover img{transform:scale(1.05)}
.ngm-play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;background:rgba(0,0,0,.6)}
.ngm-play:after{content:"";position:absolute;left:21px;top:16px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}
.ngm-video-link{display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;color:var(--ink);text-decoration:none;font-size:13px}

/* Viewer / lightbox */
.ngm-viewer{position:fixed;inset:0;z-index:100000;background:rgba(10,16,30,.86);display:flex;flex-direction:column;padding:18px}
.ngm-viewer[hidden]{display:none}
.ngm-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff;padding:0 4px 12px}
.ngm-viewer-title{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ngm-viewer-bar .ngm-btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.5)}
.ngm-viewer-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px}
.ngm-viewer-body iframe{width:100%;height:100%;border:0;border-radius:10px;background:#fff}
.ngm-viewer-body img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.ngm-viewer-nav{background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:22px;cursor:pointer;flex-shrink:0}
html.ngm-lock{overflow:hidden}

/* ================= FRONTEND DASHBOARD ================= */
.ngm-fd{font-size:15.5px}
.ngm-fd-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:28px 30px;border-radius:18px;background:linear-gradient(120deg,var(--ngm-brand),#1b5aa6);color:#fff;margin-bottom:0}
.ngm-fd-head h2{color:#fff;margin:6px 0 6px;font-size:clamp(24px,3.2vw,32px)}
.ngm-fd-head p{margin:0;opacity:.95}
.ngm-fd-head .ngm-eyebrow{color:var(--ngm-accent)}
.ngm-fd-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.ngm-fd-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:16px 0 22px;scrollbar-width:thin}
.ngm-fd-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:11px 14px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;margin-bottom:-1px}
.ngm-fd-tabs button:hover{color:var(--ngm-brand)}
.ngm-fd-tabs button[aria-selected="true"]{color:var(--ngm-brand);border-bottom-color:var(--ngm-accent)}
.ngm-fd-tabs button:focus-visible{outline:2px solid var(--ngm-brand);outline-offset:-2px}
.ngm-count{display:inline-block;min-width:20px;padding:0 6px;border-radius:99px;background:var(--bad);color:#fff;font-size:11px;line-height:18px;text-align:center}
.ngm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}
.ngm-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:2px}
.ngm-tile-label{font-size:13px;color:var(--muted);font-weight:600}
.ngm-tile-value{font-size:30px;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums}
.ngm-tile-sub{font-size:12.5px;color:var(--muted)}
.ngm-tile-warn{border-color:#efd08a;background:#fffaf0}
.ngm-tiles-sm .ngm-tile-value{font-size:24px}
.ngm-fd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;margin-bottom:16px}
.ngm-card-box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;min-width:0}
.ngm-card-box h3{margin:0 0 14px;font-size:16px}
.ngm-bars{display:flex;flex-direction:column;gap:9px}
.ngm-bar-row{display:grid;grid-template-columns:minmax(120px,210px) 1fr 34px;gap:10px;align-items:center;font-size:13.5px}
.ngm-bar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.ngm-bar-label b{color:var(--ink)}
.ngm-bar-track{height:14px;background:#eef2f8;border-radius:4px;overflow:hidden}
.ngm-bar-fill{display:block;height:100%;background:var(--ngm-brand);border-radius:0 4px 4px 0;transition:width .6s}
.ngm-bar-row:hover .ngm-bar-fill{filter:brightness(1.25)}
.ngm-bar-val{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.ngm-cols-chart{display:flex;align-items:flex-end;gap:12px;height:190px;padding-top:10px;border-bottom:1px solid var(--line)}
.ngm-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.ngm-col-bar{width:70%;max-width:46px;background:var(--ngm-brand);border-radius:4px 4px 0 0}
.ngm-col:hover .ngm-col-bar{filter:brightness(1.25)}
.ngm-col-val{font-size:13px;font-weight:700;margin-bottom:4px}
.ngm-col-label{font-size:12px;color:var(--muted);margin-top:6px;position:relative;top:22px;white-space:nowrap}
.ngm-card-box .ngm-cols-chart{margin-bottom:26px}
.ngm-mini-list{list-style:none;margin:0;padding:0}
.ngm-mini-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);margin:0}
.ngm-mini-list li:last-child{border:0}
.ngm-mini-list small{display:block;color:var(--muted);font-size:12.5px}
.ngm-mini-list a{text-decoration:none}
.ngm-meetings{list-style:none;margin:0;padding:0}
.ngm-meetings li{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);margin:0}
.ngm-meetings li:last-child{border:0}
.ngm-meetings li > span:nth-child(2){flex:1;min-width:0}
.ngm-meetings small{display:block;color:var(--muted)}
.ngm-date{width:58px;flex-shrink:0;text-align:center;border:1px solid var(--line);border-radius:10px;font-size:11px;color:var(--muted);padding:4px 0;text-transform:uppercase}
.ngm-date b{display:block;font-size:20px;color:var(--ngm-brand);line-height:1.1}
.ngm-fd-table td{font-size:14px}
.ngm-fd-table code{font-size:12px;background:var(--soft);padding:2px 6px;border-radius:5px;white-space:nowrap}
.ngm-row-actions{white-space:nowrap}
.ngm-note{display:block;max-width:260px;font-size:13px;color:var(--warn)}
.ngm-prog-cell{min-width:120px}
.ngm-prog-cell small{font-size:12px}
.ngm-action-form{display:flex;gap:6px;align-items:center}
.ngm-action-form input{width:64px}
.ngm-action-form input,.ngm-action-form select,.ngm-filters select{padding:5px 8px;border:1px solid #cdd6e4;border-radius:7px;font:inherit;font-size:13px;background:#fff}
.ngm-filters{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:14px;font-size:14px}
.ngm-filters label{display:flex;gap:6px;align-items:center;font-weight:600}
.ngm-review-list{display:grid;gap:12px}
.ngm-review{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.ngm-review.is-done{opacity:.6}
.ngm-review h4{margin:6px 0 4px;font-size:16px}
.ngm-review p{margin:0;font-size:13.5px}
.ngm-review-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}
.ngm-review-top code{font-size:12px;background:var(--soft);padding:2px 6px;border-radius:5px}
.ngm-review-desc{font-size:14px;color:var(--ink-2);margin-top:8px}
.ngm-review-side{display:flex;flex-direction:column;gap:8px}
.ngm-review-side textarea{width:100%;border:1px solid #cdd6e4;border-radius:8px;padding:8px;font:inherit;font-size:13.5px;resize:vertical}
.ngm-review-btns{display:flex;flex-wrap:wrap;gap:6px}
.ngm-review-msg{font-size:13px;color:var(--good)}
.ngm-review-msg.is-error,.ngm-form-result.is-error{color:var(--bad)}
.ngm-metric-group{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px}
.ngm-metric-group summary{padding:12px 16px;cursor:pointer;font-weight:700}
.ngm-metric-group .ngm-iqac-table-wrap{border:0;border-top:1px solid var(--line);border-radius:0 0 var(--r) var(--r)}
.ngm-resubmit{cursor:pointer}

/* ================= FORMS ================= */
.ngm-iqac-form{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;max-width:860px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.ngm-iqac-form h3{grid-column:1/-1;margin:0 0 6px}
.ngm-iqac-form label{display:block;font-weight:600;font-size:14px;margin:10px 0}
.ngm-iqac-form label small{font-weight:400;color:var(--muted)}
.ngm-iqac-form .ngm-full{grid-column:1/-1}
.ngm-iqac-form input:not([type=file]):not([type=hidden]),.ngm-iqac-form select,.ngm-iqac-form textarea{display:block;width:100%;padding:10px 12px;margin-top:6px;border:1px solid #cdd6e4;border-radius:9px;font:inherit;font-weight:400;background:#fff}
.ngm-iqac-form input:focus,.ngm-iqac-form select:focus,.ngm-iqac-form textarea:focus{outline:3px solid #c9dcf5;border-color:var(--ngm-brand)}
.ngm-drop input[type=file]{display:block;width:100%;margin-top:6px;padding:18px;border:2px dashed #c3cedf;border-radius:12px;background:var(--soft);font:inherit}
.ngm-drop.is-over input[type=file]{border-color:var(--ngm-brand);background:#eaf1fb}
.ngm-form-result{margin-left:10px;font-weight:600;color:var(--good)}
.ngm-inline-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.ngm-inline-form label{flex:1;min-width:220px;font-weight:600;font-size:14px}
.ngm-inline-form input{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #cdd6e4;border-radius:9px;font:inherit}
.ngm-iqac-track{max-width:640px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.ngm-iqac-track h3{margin-top:0}
.ngm-track-card{margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--soft)}
.ngm-track-card p{margin:4px 0}

/* ================= LEGACY SHORTCODES (portal tiles, lists, v3/v4 dashboards) ================= */
.ngm-iqac-hero{padding:44px 36px;border-radius:20px;background:linear-gradient(135deg,#071d49,var(--ngm-brand) 45%,#174a8b);color:#fff;margin-bottom:24px}
.ngm-iqac-hero .eyebrow{font-size:12px;letter-spacing:.14em;opacity:.8}
.ngm-iqac-hero h2{font-size:clamp(28px,4vw,38px);margin:8px 0;color:#fff}
.ngm-iqac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.ngm-iqac-tile{padding:22px;border:1px solid var(--line,#e3e7ee);border-radius:16px;text-decoration:none!important;background:#fff;display:flex;flex-direction:column;gap:8px;transition:.2s;color:var(--ink,#172033)}
.ngm-iqac-tile small{color:var(--muted,#6b7589)}
.ngm-iqac-tile:hover{transform:translateY(-3px);box-shadow:0 10px 28px #12345618}
.ngm-icon{font-size:28px}
.ngm-iqac-list-head{display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.ngm-iqac-filter{max-width:300px;width:100%;padding:10px 12px;border:1px solid #cdd6e4;border-radius:9px;font:inherit}
.ngm-report-list{display:grid;gap:14px}
.ngm-report-list article{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}
.ngm-report-list h4{margin:0 0 4px}
.ngm-naac-head{padding:30px;border-radius:18px;background:var(--ngm-brand);color:#fff;margin-bottom:20px}
.ngm-naac-head h3{color:#fff;margin:6px 0}
.ngm-naac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px}
.ngm-naac-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}
.ngm-naac-card strong{display:block;font-size:34px}
.ngm-kpi-grid,.ngm-v4-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px}
.ngm-kpi-grid article,.ngm-v4-grid article{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}
.ngm-progress,.ngm-v4-progress{height:10px;background:#e8edf4;border-radius:10px;overflow:hidden;margin:12px 0}
.ngm-progress span,.ngm-v4-progress span{display:block;height:100%;background:var(--ngm-brand)}
.ngm-v4-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px;margin:15px 0;background:#fff;border:1px solid var(--line);border-radius:10px}
.ngm-v4-workspace table,.ngm-dept-dashboard table{width:100%;border-collapse:collapse;background:#fff}
.ngm-v4-workspace th,.ngm-v4-workspace td{padding:10px;border-bottom:1px solid #eee;text-align:left}
.ngm-v4-notice{padding:15px;border:1px solid #ddd;background:#fff;border-radius:8px}
.ngm-iqac-feedback{max-width:760px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px}
.ngm-iqac-feedback textarea{width:100%;border:1px solid #cdd6e4;border-radius:8px;padding:8px;font:inherit}
.ngm-feedback-result{margin-left:12px;font-weight:600}

/* ================= RESPONSIVE ================= */
@media (max-width:900px){
  .ngm-page-body{grid-template-columns:minmax(0,1fr);gap:16px}
  .ngm-page-nav{position:static;min-width:0}
  .ngm-page-nav nav{padding:6px;overflow-x:auto}
  .ngm-page-nav nav ul{display:flex;gap:4px;width:max-content}
  .ngm-page-nav a{white-space:nowrap;border-left:0;border-bottom:3px solid transparent;border-radius:8px}
  .ngm-page-nav a[aria-current="true"]{border-bottom-color:var(--ngm-accent)}
  .ngm-side-block{display:none}
  .ngm-review{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ngm-page-hero-in,.ngm-fd-head{padding:26px 20px}
  .ngm-sec-title{font-size:22px}
  .ngm-years{grid-template-columns:1fr}
  .ngm-doclist > .ngm-doc{flex-wrap:wrap}
  .ngm-doc-actions{width:100%;padding-left:50px}
  .ngm-iqac-form{grid-template-columns:1fr;padding:18px}
  .ngm-tiles{grid-template-columns:repeat(2,1fr)}
  .ngm-tile-value{font-size:24px}
  .ngm-fd-grid{grid-template-columns:1fr}
  .ngm-bar-row{grid-template-columns:90px 1fr 30px}
  .ngm-bar-label{font-size:12px}
  .ngm-viewer{padding:8px}
  .ngm-mini-list li{flex-wrap:wrap}
  .ngm-mini-list li > span:first-child{flex-basis:100%}
  .ngm-col-label{font-size:10px}
  .ngm-review-side textarea{min-height:60px}
}
@media (prefers-reduced-motion:reduce){.ngm-iqac-page *,.ngm-fd *{transition:none!important}}
@media print{.ngm-page-nav,.ngm-page-search,.ngm-doc-actions,.ngm-fd-tabs,.ngm-fd-head-actions{display:none!important}.ngm-sec{display:block!important}.ngm-page-body{display:block}}
