:root{
  --navy:#0b2545; --navy2:#13315c; --blue:#2f8fdc; --sky:#4fa3dc; --green:#7cb82f; --lime:#8cc63f;
  --red:#e0474c; --amber:#f2a33a; --violet:#7b61ff; --teal:#14a39a;
  --bg:#f2f5fa; --card:#fff; --line:#e3e8f0; --ink:#14213d; --muted:#64748b; --soft:#f7f9fc;
  --r:14px; --sh:0 1px 2px rgba(16,24,40,.05),0 4px 14px rgba(16,24,40,.06);
  --font:"Plus Jakarta Sans","Hind Siliguri",system-ui,sans-serif;
}
html[lang=bn]{--font:"Hind Siliguri","Plus Jakarta Sans",system-ui,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--blue)}
.hidden{display:none!important}
.boot{position:fixed;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#e8f3fc,#f4fbe9);z-index:50}
.boot-card{text-align:center;color:var(--muted)}
.boot-logo img{width:220px}
.spinner{width:34px;height:34px;border:3px solid #cfe3f5;border-top-color:var(--blue);border-radius:50%;margin:18px auto;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Layout */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{background:var(--navy);color:#cfd8e6;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column}
.side::-webkit-scrollbar{width:6px}.side::-webkit-scrollbar-thumb{background:#ffffff22;border-radius:6px}
.brand{padding:16px 16px 10px;background:#fff;margin:12px;border-radius:12px;text-align:center}
.brand img{max-width:100%;height:52px;object-fit:contain}
.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.nav{padding:4px 10px 20px;flex:1}
.nav h6{margin:14px 10px 6px;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#7f93b2;font-weight:700}
.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:#d5deeb;text-decoration:none;font-weight:500;font-size:13.5px}
.nav a:hover{background:#ffffff10;color:#fff}
.nav a.on{background:linear-gradient(90deg,var(--blue),#3aa0e6);color:#fff;box-shadow:0 4px 12px #2f8fdc55}
.nav a .ic{width:18px;text-align:center;opacity:.9}
.nav a .cnt{margin-left:auto;background:var(--red);color:#fff;border-radius:20px;font-size:10.5px;padding:1px 7px}
.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:20;background:#ffffffe8;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:10px 22px}
.top .ttl{font-weight:700;font-size:17px;margin-right:auto;display:flex;align-items:center;gap:10px}
.burger{display:none}
.clock-mini{font-variant-numeric:tabular-nums;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:12.5px;color:var(--navy2);font-weight:600}
.content{padding:22px;max-width:1500px;width:100%}
.mode-badge{font-size:11px;padding:3px 8px;border-radius:20px;background:#e8f7ee;color:#1d7a46;font-weight:600}
.mode-badge.warn{background:#fff4e0;color:#a35b00}

/* Controls */
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 13px;cursor:pointer;font-weight:600;font-size:13px;white-space:nowrap;transition:.15s}
.btn:hover{border-color:#c5d0df;background:var(--soft)}
.btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.pri:hover{background:#2479c2}
.btn.grn{background:var(--green);border-color:var(--green);color:#fff}
.btn.red{background:#fff;border-color:#f3c5c7;color:var(--red)}
.btn.red:hover{background:#fdeeee}
.btn.ghost{border-color:transparent;background:transparent}
.btn.sm{padding:5px 9px;font-size:12px;border-radius:8px}
.btn.xs{padding:3px 7px;font-size:11.5px;border-radius:7px}
.btn[disabled]{opacity:.5;pointer-events:none}
.iconbtn{position:relative;border:1px solid var(--line);background:#fff;border-radius:10px;width:38px;height:38px;cursor:pointer;display:grid;place-items:center;font-size:16px}
.iconbtn .dot{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;border-radius:20px;font-size:10px;padding:1px 5px;font-weight:700}
input,select,textarea{border:1px solid #d6dee9;border-radius:9px;padding:8px 10px;background:#fff;width:100%;outline:none;font-size:13.5px}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f8fdc22}
textarea{min-height:70px;resize:vertical}
label.f{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#475569}
label.f.chk{flex-direction:row;align-items:center;gap:8px}
label.f.chk input{width:auto}
.grid{display:grid;gap:12px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
.span2{grid-column:span 2}.span3{grid-column:span 3}.spanall{grid-column:1/-1}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.end{justify-content:flex-end}
.sp{flex:1}
.muted{color:var(--muted)}.small{font-size:12px}.b{font-weight:700}
.right{text-align:right}.center{text-align:center}
.mt{margin-top:14px}.mb{margin-bottom:14px}

/* Cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:16px}
.card h3{margin:0 0 12px;font-size:15px;display:flex;align-items:center;gap:8px}
.card h3 .sp{flex:1}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.kpi{position:relative;overflow:hidden;border-radius:var(--r);padding:16px;color:#fff;box-shadow:var(--sh)}
.kpi .l{font-size:12.5px;opacity:.9;font-weight:600}
.kpi .v{font-size:23px;font-weight:800;margin-top:6px;letter-spacing:-.02em}
.kpi .s{font-size:11.5px;opacity:.85;margin-top:3px}
.kpi .bg{position:absolute;right:-8px;bottom:-14px;font-size:64px;opacity:.16}
.k1{background:linear-gradient(135deg,#2f8fdc,#1b5fa8)}.k2{background:linear-gradient(135deg,#7cb82f,#4c8a18)}
.k3{background:linear-gradient(135deg,#f2795a,#d5434b)}.k4{background:linear-gradient(135deg,#7b61ff,#5038c9)}
.k5{background:linear-gradient(135deg,#14a39a,#0b6f69)}.k6{background:linear-gradient(135deg,#f2a33a,#d0761a)}
.dash{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}
.dash .col{display:flex;flex-direction:column;gap:16px;min-width:0}
.clocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.clk{background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:9px 10px}
.clk .c{font-size:11px;color:var(--muted);font-weight:600}
.clk .t{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--navy)}
.clk .d{font-size:10.5px;color:var(--muted)}
.clk.main{background:linear-gradient(135deg,#0b2545,#1d4b85);color:#fff;border:0}
.clk.main .c,.clk.main .d{color:#c9d6ea}.clk.main .t{color:#fff}
.list{display:flex;flex-direction:column}
.li{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px dashed var(--line)}
.li:last-child{border-bottom:0}
.av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;flex:none;font-size:13px;background:var(--sky);overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.li .t1{font-weight:600}.li .t2{font-size:12px;color:var(--muted)}
.empty{padding:22px;text-align:center;color:var(--muted);font-size:13px}

/* Tables */
.tbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.tbar .search{max-width:300px}
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
table.t{width:100%;border-collapse:collapse;font-size:13px}
table.t th{background:#f6f8fc;text-align:left;padding:10px 12px;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:#5b6b82;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0}
table.t td{padding:10px 12px;border-bottom:1px solid #eef2f7;vertical-align:middle}
table.t tr:last-child td{border-bottom:0}
table.t tbody tr:hover{background:#fafcff}
table.t tr.click{cursor:pointer}
table.t tfoot td{background:#f6f8fc;font-weight:700}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.pill{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:700;background:#eef2f7;color:#475569;white-space:nowrap}
.pill.blue{background:#e6f1fb;color:#1b6dbb}.pill.green{background:#e8f6e0;color:#3d7a12}.pill.red{background:#fdecec;color:#c43a3f}
.pill.amber{background:#fff3df;color:#a55f00}.pill.violet{background:#efebff;color:#5a43d6}.pill.teal{background:#e0f5f3;color:#0c7b74}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}
.tabs button{border:0;background:none;padding:9px 13px;cursor:pointer;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button.on{color:var(--blue);border-color:var(--blue)}
.seg{display:inline-flex;background:#eef2f7;border-radius:10px;padding:3px}
.seg button{border:0;background:none;padding:5px 11px;border-radius:8px;cursor:pointer;font-weight:600;font-size:12.5px;color:var(--muted)}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0001}

/* Modal */
.ov{position:fixed;inset:0;background:#0b254566;backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px;z-index:100;overflow:auto}
.md{background:#fff;border-radius:16px;width:100%;max-width:720px;box-shadow:0 20px 60px #0b254540;display:flex;flex-direction:column;max-height:92vh}
.md.lg{max-width:1000px}.md.xl{max-width:1220px}.md.sm{max-width:440px}
.md-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.md-h h2{margin:0;font-size:16px;flex:1}
.md-b{padding:18px;overflow:auto}
.md-f{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--line);background:#fafbfd;border-radius:0 0 16px 16px;flex-wrap:wrap}
.x{border:0;background:#f1f4f8;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:16px}
.drop{border:2px dashed #b9cbe0;border-radius:14px;padding:26px;text-align:center;background:#f8fbff;cursor:pointer;color:var(--muted);transition:.15s}
.drop:hover,.drop.over{border-color:var(--blue);background:#eef6fd;color:var(--blue)}
.drop b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.sec{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);margin:16px 0 8px;display:flex;align-items:center;gap:8px}
.sec:after{content:"";flex:1;height:1px;background:var(--line)}
.rep{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--soft);margin-bottom:8px;position:relative}
.rep .rm{position:absolute;top:6px;right:6px}

/* Toast */
#toasts{position:fixed;bottom:18px;right:18px;z-index:300;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--navy);color:#fff;padding:11px 16px;border-radius:11px;box-shadow:var(--sh);font-weight:500;max-width:380px;animation:tin .2s}
.toast.err{background:var(--red)}.toast.ok{background:#2c8a3c}
@keyframes tin{from{transform:translateY(10px);opacity:0}}

/* Notification panel */
.panel{position:fixed;top:60px;right:16px;width:380px;max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px #0b254530;z-index:90}
.panel .ph{padding:12px 14px;border-bottom:1px solid var(--line);font-weight:700;display:flex;align-items:center}
.nt{padding:10px 14px;border-bottom:1px solid #f0f3f7;cursor:pointer}
.nt.unread{background:#f2f8fe}
.nt .a{font-weight:700;font-size:13px}.nt .b{font-size:12px;color:var(--muted)}

/* Auth */
.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.auth .art{background:linear-gradient(160deg,#0b2545 0%,#1d5fa0 60%,#4fa3dc 100%);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth .art h1{font-size:38px;margin:0;line-height:1.15;letter-spacing:-.02em}
.auth .art p{opacity:.85;max-width:420px}
.auth .art .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.auth .art .chips span{background:#ffffff1f;border:1px solid #ffffff33;padding:6px 11px;border-radius:20px;font-size:12.5px}
.auth .art .circle{position:absolute;border-radius:50%;background:#ffffff10}
.auth .form{display:grid;place-items:center;padding:30px;background:#fff}
.auth .box{width:100%;max-width:380px}
.auth .box img{height:70px;margin-bottom:10px}
.auth .box h2{margin:6px 0 4px}

/* Chat */
.chat{display:grid;grid-template-columns:230px 1fr;height:calc(100vh - 150px);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.chat .ch{border-right:1px solid var(--line);overflow:auto;background:var(--soft)}
.chat .ch a{display:flex;gap:8px;align-items:center;padding:10px 12px;cursor:pointer;color:var(--ink);text-decoration:none;font-weight:600;font-size:13px}
.chat .ch a.on{background:#e6f1fb;color:var(--blue)}
.chat .msgs{display:flex;flex-direction:column;min-height:0}
.chat .stream{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.bub{max-width:70%;padding:9px 12px;border-radius:14px;background:#f1f4f8;align-self:flex-start}
.bub.me{align-self:flex-end;background:var(--blue);color:#fff}
.bub .w{font-size:11px;font-weight:700;opacity:.75;margin-bottom:2px}
.bub .tm{font-size:10px;opacity:.6;margin-top:3px;text-align:right}
.chat .send{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}

/* Pipeline */
.kan{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow:auto;padding-bottom:6px}
.kcol{background:#eef2f7;border-radius:12px;padding:10px;min-height:120px}
.kcol h4{margin:0 0 8px;font-size:12.5px;display:flex;justify-content:space-between}
.kcard{background:#fff;border-radius:10px;padding:9px;margin-bottom:8px;box-shadow:0 1px 2px #0001;cursor:pointer;font-size:12.5px}
.steps{display:flex;gap:4px;flex-wrap:wrap}
.steps span{font-size:11px;padding:3px 8px;border-radius:20px;background:#eef2f7;color:var(--muted);font-weight:600}
.steps span.done{background:#e8f6e0;color:#3d7a12}
.steps span.cur{background:var(--blue);color:#fff}

/* Doc preview */
.docview{background:#5d6b7e;padding:20px;border-radius:12px;overflow:auto;max-height:70vh}
.docview .a4{margin:0 auto 20px;transform-origin:top center;box-shadow:0 10px 30px #0006}
.pin-dots{display:flex;gap:10px;justify-content:center;margin:12px 0}
.pin-in{font-size:28px;letter-spacing:14px;text-align:center;font-weight:800}

@media (max-width:1100px){.dash{grid-template-columns:1fr}.g4,.g5,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;left:-270px;width:260px;z-index:80;transition:.2s}
  .side.open{left:0}
  .burger{display:grid}
  .g2,.g3{grid-template-columns:1fr}
  .auth{grid-template-columns:1fr}.auth .art{display:none}
  .content{padding:14px}.chat{grid-template-columns:1fr}.chat .ch{display:none}
  .top .hide-m{display:none}
}

/* ============ A4 DOCUMENTS ============ */
.a4{width:210mm;min-height:297mm;height:297mm;background:#fff;position:relative;overflow:hidden;color:#1b2536;font-family:"Plus Jakarta Sans","Hind Siliguri",sans-serif;font-size:10.5pt;display:flex;flex-direction:column}
.a4.land{width:297mm;height:210mm;min-height:210mm}
.dh{position:relative;padding:9mm 12mm 7mm;color:#fff;display:flex;align-items:center;gap:6mm;overflow:hidden}
.dh .lg{background:#fff;border-radius:3mm;padding:2.5mm 4mm;display:flex;align-items:center}
.dh .lg img{height:15mm;max-width:52mm;object-fit:contain}
.dh .co{flex:1;line-height:1.35}
.dh .co .n{font-size:15pt;font-weight:800;letter-spacing:-.01em}
.dh .co .a{font-size:8pt;opacity:.92}
.dh .ttlbox{text-align:right}
.dh .ttlbox .k{font-size:7.5pt;text-transform:uppercase;letter-spacing:.18em;opacity:.85}
.dh .ttlbox .v{font-size:17pt;font-weight:800;letter-spacing:.01em}
.dh .ttlbox .no{font-size:9pt;opacity:.9;margin-top:1mm}
.dh .wave{position:absolute;inset:auto 0 0 0;height:3mm}
.db{flex:1;padding:7mm 12mm 3mm;position:relative}
.dnote{margin:0 12mm 3mm;padding:3mm 4mm;border-left:1.2mm solid;background:#f5f8fc;font-size:7.6pt;line-height:1.45;color:#3c4a5e;border-radius:0 2mm 2mm 0}
.dnote b{display:block;font-size:8pt;margin-bottom:.8mm;text-transform:uppercase;letter-spacing:.06em}
.df{color:#fff;padding:3.5mm 12mm;display:flex;align-items:center;gap:5mm;font-size:7.8pt}
.df .codes{display:flex;align-items:center;gap:3mm;background:#fff;border-radius:2mm;padding:1.5mm 2.5mm}
.df .codes svg,.df .codes img{display:block}
.df .fi{flex:1;line-height:1.5}
.df .fi b{font-size:8.5pt}
.dmeta{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:.3mm solid #dbe3ee;border-radius:2.5mm;overflow:hidden;margin-bottom:5mm}
.dmeta div{padding:2.4mm 3mm;border-right:.3mm solid #dbe3ee}
.dmeta div:last-child{border-right:0}
.dmeta i{display:block;font-style:normal;font-size:6.8pt;text-transform:uppercase;letter-spacing:.08em;color:#6b7a90;font-weight:700}
.dmeta span{font-weight:700;font-size:9.5pt}
.dsec{font-size:8pt;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin:5mm 0 2mm;display:flex;align-items:center;gap:2mm}
.dsec:after{content:"";flex:1;height:.3mm;background:#dbe3ee}
table.dt{width:100%;border-collapse:collapse;font-size:9pt}
table.dt th{color:#fff;text-align:left;padding:2mm 2.5mm;font-size:7.6pt;text-transform:uppercase;letter-spacing:.05em}
table.dt td{padding:2.2mm 2.5mm;border-bottom:.3mm solid #e6ebf2;vertical-align:top}
table.dt tr:nth-child(even) td{background:#f8fafd}
table.dt .r{text-align:right}
.seg-card{border:.3mm solid #dbe3ee;border-radius:3mm;margin-bottom:3mm;overflow:hidden}
.seg-card .sh{display:flex;justify-content:space-between;align-items:center;padding:1.8mm 3.5mm;color:#fff;font-size:8.5pt;font-weight:700}
.seg-card .sb{display:grid;grid-template-columns:1fr 26mm 1fr 42mm;align-items:center;padding:3mm 3.5mm;gap:3mm}
.seg-card .ap{font-size:19pt;font-weight:800;letter-spacing:.02em;line-height:1}
.seg-card .ct{font-size:7.6pt;color:#5d6b80;margin-top:.8mm;line-height:1.3}
.seg-card .tm{font-size:11pt;font-weight:800;margin-top:1mm}
.seg-card .mid{text-align:center;font-size:7.5pt;color:#6b7a90}
.seg-card .mid .ln{height:.4mm;background:#c9d4e3;margin:1.5mm 0;position:relative}
.seg-card .mid .ln:after{content:"✈";position:absolute;left:50%;top:-2.2mm;transform:translateX(-50%);font-size:9pt;background:#fff;padding:0 1mm}
.seg-card .info{font-size:7.8pt;line-height:1.55;border-left:.3mm dashed #dbe3ee;padding-left:3mm}
.tot{margin-left:auto;width:92mm;font-size:9.5pt}
.tot div{display:flex;justify-content:space-between;padding:1.4mm 0;border-bottom:.3mm solid #eef2f7}
.tot .g{font-size:11pt;font-weight:800;border:0;color:#fff;padding:2.5mm 3mm;border-radius:2mm;margin-top:1.5mm}
.stamp{display:inline-block;border:.7mm solid;border-radius:2mm;padding:1mm 3mm;font-weight:800;text-transform:uppercase;letter-spacing:.1em;transform:rotate(-6deg);font-size:10pt}
.sigs{display:flex;justify-content:space-between;margin-top:14mm;font-size:8.5pt}
.sigs div{width:55mm;border-top:.3mm solid #8a97ab;padding-top:1.5mm;text-align:center;color:#556377}
.kv{display:grid;grid-template-columns:38mm 1fr;gap:1.6mm 3mm;font-size:9.5pt}
.kv i{font-style:normal;color:#6b7a90}
.kv b{font-weight:700}
.hl{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm;margin:4mm 0}
.hl div{border-radius:3mm;padding:3.5mm;color:#fff}
.hl i{display:block;font-style:normal;font-size:7pt;text-transform:uppercase;letter-spacing:.1em;opacity:.9}
.hl b{font-size:13pt}
.wm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-25deg);font-size:70pt;font-weight:900;opacity:.04;white-space:nowrap;pointer-events:none}
.letter{font-size:10.5pt;line-height:1.75}
.letter p{margin:0 0 3.5mm}
.idc{width:85.6mm;height:54mm;border-radius:3mm;overflow:hidden;position:relative;box-shadow:0 0 0 .2mm #c9d4e3;background:#fff}
.day{display:grid;grid-template-columns:16mm 1fr;gap:3mm;margin-bottom:3mm}
.day .dn{border-radius:2.5mm;color:#fff;text-align:center;padding:2mm 1mm;font-weight:800;font-size:8pt;line-height:1.2}
.day .dn b{display:block;font-size:14pt}
.day .dc{border-bottom:.3mm dashed #dbe3ee;padding-bottom:2.5mm}
.day .dc h4{margin:0 0 1mm;font-size:10pt}
.day .dc p{margin:0;font-size:8.8pt;color:#3c4a5e;line-height:1.5}
ul.dl{margin:0;padding-left:4.5mm;font-size:9pt;line-height:1.6}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:5mm}
/* pad (letterhead) style */
.a4.pad{background-size:100% 100%;background-repeat:no-repeat}
.ptitle{display:flex;align-items:center;gap:4mm;padding:0 14mm 2mm;flex:none}
.ptitle .pk{flex:1;font-size:7.5pt;letter-spacing:.16em;text-transform:uppercase;color:#6b7a90;font-weight:700}
.ptitle .pp{color:#fff;font-weight:800;font-size:12.5pt;letter-spacing:.08em;text-transform:uppercase;padding:1.6mm 7mm;border-radius:6mm;box-shadow:0 .6mm 0 #0002}
.ptitle .pn{flex:1;text-align:right;font-size:8.6pt;line-height:1.45;color:#1b2536}
.a4.pad .db{padding:4mm 14mm 2mm}
.a4.pad .dnote{margin:0 14mm 2mm}
.pcodes{display:flex;align-items:center;gap:4mm;padding:1mm 14mm 0;flex:none}
.pcodes .codes{display:flex;align-items:center;gap:3mm}
.pcodes .codes svg{display:block}
.pci{font-size:7pt;color:#6b7a90;line-height:1.4}
.lpadh{display:flex;align-items:flex-start;flex:none;background:linear-gradient(135deg,#bfe6fb 0%,#fff 22%)}
.lpadf{display:flex;flex:none;align-items:flex-end;height:17mm}
.words{font-size:11.5px;color:#2c8a3c;font-weight:600;margin-top:3px;line-height:1.3}
.credit{padding:10px 16px 14px;font-size:11px;color:#8fa3c0;border-top:1px solid #ffffff14}
.credit b{color:#cfe3ff}
/* stage tabs */
.stabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.stabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:600;font-size:12.5px;color:#475569;display:inline-flex;gap:7px;align-items:center}
.stabs button span{background:#eef2f7;border-radius:20px;padding:0 7px;font-size:11px;color:#334155;min-width:20px;text-align:center}
.stabs button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.stabs button.on span{background:#ffffff33;color:#fff}
/* spreadsheet */
.sheetwrap{overflow:auto;max-height:58vh;border:1px solid #c9d4e3;border-radius:8px;outline:none;background:#fff}
table.sheet{border-collapse:collapse;font-size:12px;table-layout:fixed;font-family:Arial,"Hind Siliguri",sans-serif}
table.sheet th{position:sticky;top:0;background:#1f3b63;color:#fff;font-size:11px;padding:6px 6px;border:1px solid #2c4a77;cursor:pointer;user-select:none;z-index:1;white-space:nowrap}
table.sheet td{border:1px solid #e1e7ef;padding:0 6px;height:26px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:cell;user-select:none}
table.sheet td.n{text-align:right;font-variant-numeric:tabular-nums}
table.sheet td.rn,table.sheet th.rn{width:46px;background:#f3f6fa;color:#64748b;text-align:center;font-size:10.5px;position:sticky;left:0}
table.sheet th.rn{background:#1f3b63;color:#fff}
table.sheet tr.pay td{color:#1d4ed8;font-weight:700}
table.sheet tr.ref td{background:#fffbd1}
table.sheet tr.auto td:not(.rn){background:#f7f9fc;color:#475569}
table.sheet tr.auto.pay td:not(.rn){color:#1d4ed8}
table.sheet td.sel{background:#dbeafe!important}
table.sheet td.cur{outline:2px solid #2563eb;outline-offset:-2px}
table.sheet td.neg{color:#c43a3f}
table.sheet td .cin{width:100%;height:24px;border:0;padding:0 2px;border-radius:0;box-shadow:none;font:inherit;background:#fff}
table.sheet tr.addr td{color:#64748b;font-style:italic;cursor:pointer;background:#fbfcfe}
.a4 .db{flex:1 1 0;min-height:0;overflow:hidden}
