@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Devanagari:wght@400;600;700&family=Baloo+2:wght@400;600;700;800&display=swap');
:root{--bg:#f3f6fb;--card:#fff;--text:#101828;--muted:#344054;--border:#cfd8e3;--primary:#0f5f9c;--primary-soft:#e7f2fb;--font:'Baloo 2','Noto Sans Devanagari',Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);padding:16px;font-size:14px}
.app{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:285px minmax(0,1fr);gap:10px;align-items:start}
.panel,.sheet{background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.panel{padding:7px;position:sticky;top:6px}
.panel h1{font-size:15px;color:#0b2742;margin-bottom:2px}
.panel .subtitle{font-size:10px;font-weight:700;color:var(--primary);margin-bottom:6px}
.back-link{display:inline-block;font-size:11px;font-weight:800;color:var(--primary);text-decoration:none;margin-bottom:4px}
.back-link:hover{text-decoration:underline}
label{display:block;font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800;margin:3px 0 1px}
input,select{width:100%;border:1px solid var(--border);border-radius:5px;padding:4px 6px;font-family:var(--font);font-size:11px;font-weight:600;color:var(--text);outline:none;background:#fff}
input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px}
.btn{width:100%;border:0;border-radius:6px;padding:5px 7px;font-family:var(--font);font-size:11px;font-weight:800;cursor:pointer;background:var(--primary);color:#fff;margin-top:5px}
.btn.secondary{background:#475467}
.btn.compact{padding:4px 6px;margin-top:3px}
.hidden-field{display:none}
.width-popup{display:none;border:1px solid var(--border);border-radius:8px;background:#f8fafc;margin-top:5px;padding:6px}
.width-popup h2{font-size:12px;color:#0b2742;margin-bottom:5px}
.width-row{display:grid;grid-template-columns:1fr 42px 24px 24px;gap:4px;align-items:center;border-bottom:1px solid #e4e7ec;padding:3px 0}
.width-row:last-child{border-bottom:0}
.width-head{font-size:11px;font-weight:800;color:#101828;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.width-mm{font-size:11px;font-weight:800;text-align:center;color:#344054}
.arrow-btn{border:1px solid var(--border);border-radius:5px;background:#fff;color:#101828;font-size:10px;font-weight:900;line-height:1;padding:4px 0;cursor:pointer}
.arrow-btn:active{background:var(--primary-soft)}
.count{font-size:13px;color:var(--muted);font-weight:700;margin-top:8px}
.staff-list{max-height:145px;overflow:auto;border:1px solid var(--border);border-radius:8px;margin-top:5px}
.staff-item{display:flex;gap:5px;align-items:flex-start;padding:4px 6px;border-bottom:1px solid #edf1f5;font-size:12px}
.staff-item input{width:auto;margin-top:3px}
.staff-main{font-weight:800;color:#101828}
.staff-sub{font-size:12px;color:#475467}
.temp-badge{display:inline-block;font-size:9px;font-weight:800;background:#fde68a;color:#92400e;border-radius:4px;padding:0 4px;vertical-align:middle}
.unit-filter-box{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;max-height:110px;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:5px;background:#fff}
.unit-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;background:#f1f5f9;border:1px solid var(--border);border-radius:14px;padding:2px 8px;cursor:pointer;user-select:none}
.unit-chip input{width:auto;margin:0}
.unit-chip:has(input:checked){background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}
.unit-none{font-size:11px;color:#98a2b3;font-weight:700;padding:2px}
.unit-clear{font-size:10px;font-weight:800;color:var(--primary);background:none;border:0;cursor:pointer;padding:0;margin-left:4px}
.sheet{padding:18px;overflow:auto}
.print-page{background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:18mm 15mm;border:1px solid #d0d5dd;color:#000;position:relative}
.doc-title{text-align:center;font-size:20px;font-weight:800;margin-bottom:6px;text-decoration:underline}
.doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #111;margin:8px 0 10px;font-size:13.5px;font-weight:700}
.meta-row{display:grid;grid-template-columns:80px 1fr;border-bottom:1px solid #111;min-height:26px}
.meta-row.full{grid-column:1/-1}
.meta-row:nth-last-child(-n+2){border-bottom:0}
.meta-row:nth-child(odd):not(.full){border-right:1px solid #111}
.nda-meta .meta-row:nth-child(2){border-bottom:1px solid #111}
.nda-meta .meta-row.full{border-bottom:0}
.meta-label{background:#f2f4f7;border-right:1px solid #111;padding:4px 6px;text-align:center}
.meta-value{padding:4px 7px}
.nh-lines{line-height:1.35}
.paragraph{font-size:13.5px;line-height:1.45;margin:8px 0 10px;text-align:left}
table{width:100%;border-collapse:collapse;font-size:12.5px}
th,td{border:1px solid #111;padding:4px 5px;text-align:center;vertical-align:middle;line-height:1.25}
th{text-align:center;font-weight:800;background:#f2f4f7}
.name-cell{text-align:center}
.editable-cell{min-width:58px;height:22px;background:#fff}
.editable-cell:focus{outline:2px solid #7bb8e8;outline-offset:-2px}
.nh-options{display:none}
.duty-select{border:0;background:transparent;font-family:var(--font);font-size:12px;font-weight:700;width:100%;padding:0;text-align:center}
.duty-custom{border:0;border-top:1px dashed #999;border-radius:0;font-size:11px;padding:1px 2px;margin-top:2px;text-align:center}
.duty-custom:focus{box-shadow:none}
.print-duty{display:none}
.footer{display:grid;grid-template-columns:1fr 240px;gap:20px;margin-top:28px;font-size:14px;font-weight:700}
.signature{text-align:center}
.signature-name{margin-top:34px}
.empty{padding:20px;text-align:center;color:#667085;font-weight:700}
.save-overlay{position:fixed;inset:0;background:#020617aa;display:none;align-items:center;justify-content:center;z-index:50;padding:16px}
.save-box{width:min(340px,100%);background:#fff;border:1px solid var(--primary);border-radius:10px;padding:16px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.save-box h2{font-size:17px;margin-bottom:8px;color:#0b2742}
.save-choice{display:flex;gap:8px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:7px 0;font-weight:800}
.save-choice input{width:auto}
.muster-page{--name-w:25mm;--remark-w:18mm;--top-m:3mm;--bottom-m:9mm;--row-h:auto;--muster-font:12px;--page-w:297mm;--page-h:210mm;background:#fff;color:#000;width:var(--page-w);min-height:var(--page-h);margin:0 auto 12px;padding:var(--top-m) 4mm var(--bottom-m);border:1px solid #cbd5e1;border-radius:2px;box-shadow:0 6px 20px rgba(15,23,42,.08);page-break-after:always;position:relative}
.muster-title{text-align:center;font-size:15px;font-weight:800;letter-spacing:.3px;margin-bottom:2px}
.muster-sub{text-align:center;font-size:12px;font-weight:700;margin-bottom:5px;color:#1f2937}
.muster-table th{background:#eef2f7}
.muster-table td,.muster-table th{border-color:#000}
.muster-table{font-size:var(--muster-font);table-layout:fixed;width:100%;font-weight:700}
.muster-table th,.muster-table td{padding:0}
.muster-table tbody td{height:var(--row-h)}
.muster-table .name-col{width:var(--name-w);text-align:center;font-weight:700}
.muster-table .sn-col{width:11mm}
.muster-table .remark-col{width:var(--remark-w)}
.muster-emp{line-height:1.08}
.muster-emp .meta{font-size:calc(var(--muster-font) - 2px);font-weight:700}
.fit-preview .print-page,.fit-preview .cta-page{transform:scale(var(--fit-scale,.7));transform-origin:top left;margin-bottom:calc(12px - (1 - var(--fit-scale,.7))*160mm)}
/* muster uses real zoom (reflows) so no leftover horizontal scroll */
.muster-page{zoom:var(--fit-zoom,1)}
.muster-only-hidden{display:none!important}
.month-head{height:5mm;text-align:center;vertical-align:middle;font-weight:800}
.day-head{height:5mm;vertical-align:middle;text-align:center}
.day-head span{display:block;margin:0 auto;white-space:nowrap;line-height:1}
.day-cell{vertical-align:middle!important;text-align:center!important}
.vertical-write{min-height:100%;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);white-space:nowrap;outline:none;font-size:var(--muster-entry-font,var(--muster-font))}
.vertical-write:focus{box-shadow:inset 0 0 0 2px #7bb8e8}
.remark-edit{min-height:8mm;outline:none;text-align:left;vertical-align:top;font-size:var(--muster-remark-font,var(--muster-font))}
.remark-col{vertical-align:top!important;text-align:left!important}
.remark-head{text-align:center!important;vertical-align:middle!important}
.center-mark{position:absolute;left:50%;top:var(--center-mark-top,0mm);transform:translateX(-50%);font:800 16px/1 Arial,sans-serif;color:#000}
.remark-edit:focus{box-shadow:inset 0 0 0 2px #7bb8e8}
.page-no{position:absolute;right:4mm;top:2mm;font-size:10px;font-weight:800}
.cta-page{background:#fff;color:#000;width:210mm;min-height:297mm;margin:0 auto 12px;padding:13mm 10mm;border:1px solid #d0d5dd;page-break-after:always;position:relative;font-size:var(--cta-font,11px)}
.cta-head{font-size:1.08em;line-height:1.45;margin-bottom:6px;text-align:left}
.cta-to{padding-left:26px}
.cta-meta{text-align:left;font-size:1.08em;font-weight:800;margin:5px 0}
.cta-table{width:100%;border-collapse:collapse;font-size:1em;table-layout:fixed}
.cta-table th,.cta-table td{border:1px solid #111;padding:3px 2px;text-align:center;vertical-align:middle}
.cta-table tbody td{height:var(--cta-row-h,auto)}
.cta-table .name-col{text-align:left;width:32mm}
.cta-table .pf-col{width:24mm}.cta-table .sn-col{width:8mm}.cta-table .small-col{width:12mm}
.cta-edit{min-height:14px;outline:none}
.cta-cert{font-size:1em;line-height:1.5;margin-top:10px;text-align:justify}
.cta-sign{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;font-weight:800;text-align:center}
.cta-sign-name{margin-top:34px}
@media(max-width:900px){.app{grid-template-columns:1fr}.panel{position:static}.print-page,.muster-page,.cta-page{width:100%;min-height:auto;padding:14px}}
@media print{body{background:#fff;padding:0}.panel{display:none}.app{display:block;max-width:none}.sheet{border:0;box-shadow:none;padding:0}.print-page,.muster-page,.cta-page{width:auto;min-height:auto;border:0;margin:0;box-shadow:none}.muster-page{zoom:1!important}.print-page,.cta-page{padding:0!important}.duty-select,.duty-custom{display:none}.print-duty{display:inline;font-weight:700}}
