@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Sans+Devanagari:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&family=Noto+Serif+Devanagari:wght@400;600&display=swap");:root{--ink:#1e293b;--muted:#64748b;--base:#f8fafc;--card-border:#e2e8f0;--kumkum:#b91c1c;--turmeric:#ca8a04;--patra:#15803d;--indigo:#4338ca;--indigo-soft:#eef2ff;--font-display:"Fraunces",serif;--font-deva:"Noto Serif Devanagari",serif;--font-body:"IBM Plex Sans","IBM Plex Sans Devanagari",sans-serif;--font-mono:"IBM Plex Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--base);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh}#launch-screen.active{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:32px 24px;text-align:center;position:relative;overflow:hidden}.brand-lockup{display:flex;align-items:center;gap:14px;margin-bottom:38px}.brand-text{text-align:left}.brand-deva{font-family:var(--font-deva);font-size:23px;font-weight:600;color:var(--ink);line-height:1.15}.brand-eng{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--muted);margin-top:2px}.org-footer{position:absolute;bottom:60px;left:0;right:0;display:flex;flex-direction:column;align-items:center}.org-footer-logo{display:block;width:110px;height:auto;opacity:.92}.shloka{font-family:var(--font-deva);font-size:clamp(28px,6vw,40px);font-weight:600;line-height:1.6;color:var(--ink);max-width:420px;margin-bottom:56px}.oauth-btn{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:14px 28px;font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:box-shadow .15s ease,transform .15s ease}.oauth-btn:hover{box-shadow:0 4px 14px rgba(15,23,42,.08);transform:translateY(-1px)}.oauth-btn:active{transform:translateY(0)}.g-icon{width:18px;height:18px;flex-shrink:0}#admin-screen,#dashboard-screen,#duty-detail-screen,#extension-review-screen{max-width:480px;margin:0 auto;min-height:100vh;background:var(--base);position:relative}.topbar{justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--card-border);background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar,.topbar-brand{display:flex;align-items:center}.topbar-brand{gap:9px}.topbar-brand-text{display:flex;flex-direction:column;line-height:1.15}.topbar-deva{font-family:var(--font-deva);font-size:15.5px;font-weight:600;color:var(--ink)}.topbar-eng{font-size:7.5px;letter-spacing:.12em;color:var(--muted)}.back-btn,.topbar-eng{font-family:var(--font-body);font-weight:600}.back-btn{font-size:13px;color:var(--ink);background:none;border:none;cursor:pointer;padding:6px 0}.bell-btn{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid var(--card-border);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.bell-btn svg{width:18px;height:18px;stroke:var(--ink)}.bell-badge{position:absolute;top:-5px;right:-5px;width:16px;height:16px;border-radius:50%;background:var(--kumkum);color:#fff;font-family:var(--font-mono);font-size:9px;display:flex;align-items:center;justify-content:center}.topbar-icons{display:flex;gap:8px}.team-member-card{background:#fff;border:1px solid var(--card-border);border-radius:14px;padding:14px 14px 12px;margin-bottom:12px}.team-member-name{font-family:var(--font-body);font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:2px}.content{padding:22px 20px 90px}.darshana-title{font-family:var(--font-deva);font-size:24px;font-weight:600;margin-bottom:2px}.darshana-sub{font-family:var(--font-body);font-size:13px;color:var(--muted);margin-bottom:24px}.nidhi-card{background:#fff;border:1px solid var(--card-border);border-radius:16px;padding:28px 22px 22px;text-align:center;margin-bottom:18px}.nidhi-eyebrow{font-family:var(--font-deva);font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--muted);margin-bottom:12px}.star-value{font-family:var(--font-display);font-weight:600;color:var(--ink);line-height:1}.nidhi-star-value{font-size:44px}.dial-star-value{font-size:22px;margin-top:6px}.star-rating{position:relative;display:inline-block;line-height:1}.star-fill,.star-track{white-space:nowrap;letter-spacing:2px}.star-track{color:#e2e8f0}.star-fill{position:absolute;top:0;left:0;overflow:hidden;width:0;color:var(--indigo)}.nidhi-stars{font-size:26px;margin-top:10px}.dial-stars{font-size:15px;margin-top:6px}.rank-line{font-family:var(--font-body);font-size:11.5px;color:var(--muted);margin-top:10px}.rank-line.top{color:var(--indigo);font-weight:600}.dial-rank{font-size:10.5px;margin-top:8px}.gauge-row{display:flex;gap:14px;margin-bottom:22px}.gauge-card{flex:1 1;background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:16px 12px 14px;text-align:center}.gauge-label{font-family:var(--font-body);font-size:12.5px;font-weight:500;color:var(--muted)}.breakdown{display:flex;gap:8px;margin-bottom:26px}.chip{flex:1 1;border-radius:10px;padding:10px 8px;text-align:center;font-family:var(--font-body);cursor:pointer;transition:box-shadow .15s ease}.chip:hover{box-shadow:0 2px 10px rgba(15,23,42,.08)}.chip .n{font-family:var(--font-mono);font-size:18px;font-weight:500;display:block}.chip .l{font-size:11px;margin-top:2px;opacity:.85}.chip.on-time{background:var(--patra-soft);color:var(--patra)}.chip.delayed{background:var(--turmeric-soft);color:var(--turmeric)}.chip.failed{background:var(--kumkum-soft);color:var(--kumkum)}.section-label{font-family:var(--font-body);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:22px 0 10px}.duty-card{background:#fff;border:1px solid var(--card-border);border-radius:12px;padding:14px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;cursor:pointer;transition:box-shadow .15s ease}.duty-card:hover{box-shadow:0 2px 10px rgba(15,23,42,.06)}.duty-title{font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:4px}.duty-meta,.duty-title{font-family:var(--font-body)}.duty-meta{font-size:12px;color:var(--muted)}.duty-due{font-family:var(--font-mono);font-size:11.5px;margin-top:6px;color:var(--muted)}.status-badge{font-family:var(--font-body);font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;white-space:nowrap}.status-badge.delayed{background:var(--turmeric-soft);color:var(--turmeric)}.status-badge.on-time{background:var(--patra-soft);color:var(--patra)}.status-badge.failed{background:var(--kumkum-soft);color:var(--kumkum)}.status-badge.pending{background:#f1f5f9;color:var(--muted)}.status-badge.accepted{background:var(--patra-soft);color:var(--patra)}.type-pill{display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--indigo-soft);color:var(--indigo)}.detail-type-row{display:flex;gap:8px;align-items:center}.detail-title{font-family:var(--font-display);font-size:26px;font-weight:600;margin:14px 0 18px;line-height:1.25}.detail-meta-card{background:#fff;border:1px solid var(--card-border);border-radius:14px;padding:4px 16px;margin-bottom:16px}.meta-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f1f5f9}.meta-row:last-child{border-bottom:none}.meta-label{font-size:12.5px;color:var(--muted)}.meta-label,.meta-value{font-family:var(--font-body)}.meta-value{font-size:13.5px;font-weight:600;color:var(--ink)}.meta-value.mono{font-family:var(--font-mono);font-weight:500}.grace-notice{background:var(--turmeric-soft);color:#92650a;font-family:var(--font-body);font-size:12.5px;line-height:1.5;padding:12px 14px;border-radius:10px;margin-bottom:18px}.detail-actions{display:flex;flex-direction:column;gap:10px}.btn-outline-kumkum,.btn-primary,.btn-secondary{font-family:var(--font-body);font-size:14.5px;font-weight:600;padding:14px;border-radius:11px;cursor:pointer;width:100%}.btn-primary{background:var(--indigo);border:none;color:#fff}.btn-secondary{background:#fff;border:1px solid var(--card-border);color:var(--ink)}.btn-outline-kumkum{background:var(--kumkum-soft);border:1px solid #fca5a5;color:var(--kumkum)}.archive-link{display:block;width:100%;text-align:center;background:none;border:none;margin-top:18px;padding:8px;font-family:var(--font-body);font-size:12.5px;font-weight:500;color:var(--muted);text-decoration:underline;cursor:pointer}.sheet{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;background:#fff;border-radius:20px 20px 0 0;padding:10px 22px 26px;transform:translateY(100%);transition:transform .25s ease;z-index:31;box-shadow:0 -8px 30px rgba(15,23,42,.12)}.sheet.open{transform:translateY(0)}.sheet-handle{width:36px;height:4px;background:var(--card-border);border-radius:99px;margin:6px auto 16px}.sheet-title{font-family:var(--font-display);font-size:19px;font-weight:600;margin-bottom:4px;text-align:center}.sheet-sub{font-family:var(--font-body);font-size:12px;color:var(--muted);text-align:center;margin-bottom:18px}.roller-wrap{position:relative;height:176px;margin-bottom:14px}.roller-highlight{position:absolute;top:50%;left:0;right:0;height:40px;transform:translateY(-50%);border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border);pointer-events:none}.roller-track{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;padding:68px 0;scrollbar-width:none;-ms-overflow-style:none}.roller-track::-webkit-scrollbar{display:none}.roller-item{height:40px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:15px;color:#cbd5e1;scroll-snap-align:center;transition:color .15s ease,font-size .15s ease}.roller-item.selected{color:var(--ink);font-size:19px;font-weight:600}.roller-selected{text-align:center;font-family:var(--font-body);font-size:13px;color:var(--muted);margin-bottom:20px}.roller-selected span#roller-value{font-family:var(--font-mono);font-size:16px;font-weight:600;color:var(--indigo)}.sheet-actions{display:flex;gap:10px}.sheet-actions button{flex:1 1}.request-card{background:#fff;border:1px solid var(--card-border);border-radius:14px;padding:18px 16px}.request-head{display:flex;gap:8px;margin-bottom:12px}.request-title{font-family:var(--font-display);font-size:19px;font-weight:600;margin-bottom:8px}.request-body{font-family:var(--font-body);font-size:13.5px;color:var(--ink);line-height:1.5;margin-bottom:16px}.request-actions{display:flex;flex-direction:column;gap:9px}.counter-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--card-border);display:none}.counter-stepper{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:8px}.counter-stepper button{width:34px;height:34px;border-radius:50%;border:1px solid var(--card-border);background:#fff;font-size:18px;cursor:pointer}.counter-stepper span{font-family:var(--font-mono);font-size:18px;font-weight:600;min-width:24px;text-align:center;display:inline-block}.request-result{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--patra);margin-top:14px;text-align:center}.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--card-border);border-radius:12px;padding:12px 14px;margin-bottom:16px}.search-box svg{width:16px;height:16px;stroke:var(--muted);flex-shrink:0}.search-box input{border:none;outline:none;font-family:var(--font-body);font-size:14px;width:100%;color:var(--ink);background:none}.admin-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--card-border);border-radius:12px;padding:12px 14px;margin-bottom:8px;cursor:pointer}.admin-row-name{font-family:var(--font-body);font-size:14px;font-weight:600}.admin-row-dept{font-family:var(--font-body);font-size:11.5px;color:var(--muted)}.admin-stat-row{display:flex;gap:10px;margin-top:14px}.admin-stat{flex:1 1;background:#fff;border:1px solid var(--card-border);border-radius:12px;padding:14px 8px;text-align:center}.admin-stat .v{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--ink);display:block}.admin-stat .l{font-family:var(--font-body);font-size:10.5px;color:var(--muted);margin-top:4px}.overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:20}.overlay.open{opacity:1;pointer-events:auto}.tray{position:fixed;top:0;right:0;width:min(340px,88vw);height:100%;background:#fff;border-left:1px solid var(--card-border);transform:translateX(100%);transition:transform .25s ease;z-index:21;display:flex;flex-direction:column}.tray.open{transform:translateX(0)}.tray-head{padding:18px 20px;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;align-items:center}.tray-head h3{font-size:15px;font-weight:600}.tray-close,.tray-head h3{font-family:var(--font-body)}.tray-close{cursor:pointer;color:var(--muted);font-size:13px;border:none;background:none}.tray-tabs{display:flex;gap:4px;padding:12px 20px 0}.tray-tab{flex:1 1;padding:9px;border:none;background:#f1f5f9;border-radius:8px 8px 0 0;font-family:var(--font-body);font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}.tray-tab.active{background:#fff;color:var(--indigo);border-bottom:2px solid var(--indigo)}.given-hint{font-family:var(--font-body);font-size:12px;color:var(--muted);line-height:1.5;margin:14px 0 16px}.given-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid #f1f5f9}.given-title{font-family:var(--font-body);font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:3px}.given-receiver{font-family:var(--font-body);font-size:11.5px;color:var(--muted)}.tray-body{padding:8px 20px 20px;overflow-y:auto}.tray-group-label{font-family:var(--font-body);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 8px}.notif-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #f1f5f9}.notif-dot{width:7px;height:7px;border-radius:50%;margin-top:6px;flex-shrink:0}.notif-dot.kumkum{background:var(--kumkum)}.notif-dot.turmeric{background:var(--turmeric)}.notif-dot.patra{background:var(--patra)}.notif-text{font-family:var(--font-body);font-size:13px;color:var(--ink);line-height:1.4}.notif-time{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);margin-top:3px}.type-toggle{display:flex;background:#f1f5f9;border-radius:11px;padding:4px;margin-bottom:10px}.type-toggle-btn{flex:1 1;padding:10px;border:none;background:none;border-radius:8px;font-family:var(--font-body);font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer}.type-toggle-btn.active{background:#fff;color:var(--indigo);box-shadow:0 1px 3px rgba(15,23,42,.08)}.form-label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:16px 0 6px}.form-input,.form-label{font-family:var(--font-body)}.form-input{width:100%;background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:12px 14px;font-size:14px;color:var(--ink);outline:none}.form-input:focus{border-color:var(--indigo)}.suggestion-row{background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:10px 12px;margin-top:6px;cursor:pointer;font-family:var(--font-body);font-size:13.5px}.suggestion-row:hover{border-color:var(--indigo)}.freq-pills{display:flex;gap:8px;flex-wrap:wrap}.freq-pill{padding:9px 14px;border-radius:999px;border:1px solid var(--card-border);background:#fff;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}.freq-pill.active{background:var(--indigo);border-color:var(--indigo);color:#fff}.fab-wrap{position:fixed;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;height:0;pointer-events:none;z-index:15;display:block}.fab{position:absolute;right:20px;bottom:70px;width:56px;height:56px;border-radius:50%;background:var(--indigo);color:#fff;border:none;font-size:28px;line-height:1;align-items:center;box-shadow:0 6px 18px rgba(67,56,202,.35);cursor:pointer;pointer-events:auto}.fab,.proto-nav{display:flex;justify-content:center}.proto-nav{position:fixed;bottom:0;left:0;right:0;background:#1e293b;gap:4px;padding:8px 10px;z-index:50;overflow-x:auto}.proto-nav button{font-family:var(--font-body);font-size:10.5px;font-weight:500;color:#cbd5e1;background:none;border:none;padding:7px 10px;border-radius:6px;white-space:nowrap;cursor:pointer}.proto-nav button.current{background:#334155;color:#fff}