:root{--bg:#f7f5f2;--card:#fff;--text:#211f1c;--muted:#746f68;--line:#e6e1db;--brand:#7c2d12;--brand2:#a6401a;--ok:#1f7a4c;--danger:#b42318;--shadow:0 10px 30px rgba(49,36,28,.06)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#211b17;color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;padding:2px 8px 22px}.brand:hover{text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#d88949,#8b3415);font-weight:800;color:#fff}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{font-size:11px;color:#c9bbb0;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{color:#d9d2cc;padding:10px 12px;border-radius:10px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#392a22;color:#fff;text-decoration:none}.sidebar-user{margin-top:auto;border-top:1px solid #473930;padding:15px 8px 0}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user strong{font-size:13px}.sidebar-user small{font-size:11px;color:#bfaea3;margin:3px 0 7px;overflow:hidden;text-overflow:ellipsis}.link-button{border:0;background:transparent;color:#eabda7;padding:0;font:inherit;cursor:pointer}.topbar{display:flex;align-items:center;gap:16px;padding:25px 32px 18px;border-bottom:1px solid var(--line);background:rgba(247,245,242,.95);position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}.topbar h1{font-size:24px;margin:0}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.topbar-date{margin-left:auto;color:var(--muted);font-size:13px}.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px}.content{padding:26px 32px 60px;max-width:1550px}.alert{padding:12px 14px;border-radius:11px;margin-bottom:18px;border:1px solid}.alert.success{background:#ecf8f1;border-color:#bfe6cf;color:#155f3a}.alert.error{background:#fff0ee;border-color:#ffc9c2;color:#8b2017}.alert ul{margin:6px 0 0;padding-left:18px}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px}.stats-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:var(--shadow)}.stat.accent{background:#2b211b;color:#fff;border-color:#2b211b}.stat span,.stat small{display:block}.stat span{font-size:12px;color:var(--muted);font-weight:600}.stat.accent span,.stat.accent small{color:#d8c8bc}.stat strong{display:block;font-size:21px;margin:7px 0 4px}.stat strong.textual{font-size:16px}.stat small{font-size:11px;color:var(--muted)}.two-col,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}.card.table-wrap{padding:0;overflow:visible}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.card h2,.card-head h2{font-size:16px;margin:0}.card-head p,.report-card p{font-size:12px;color:var(--muted);margin:4px 0 0}.table-wrap{overflow-x:auto}.table-wrap table{min-width:720px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}th{color:#625c55;font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:#fbfaf8}tr:last-child td{border-bottom:0}.money{text-align:right;white-space:nowrap}.money.in{color:var(--ok)}.money.out{color:var(--danger)}.block{display:block;color:var(--muted);font-size:11px;margin-top:3px}.empty{text-align:center;color:var(--muted);padding:30px}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eee9e4;color:#5c554e;font-size:11px;font-weight:700;text-transform:capitalize}.badge.active,.badge.paid,.badge.posted,.badge.approved{background:#e8f6ee;color:#17663e}.badge.pending,.badge.partial,.badge.partially_paid{background:#fff5d8;color:#835a00}.badge.inactive,.badge.void,.badge.rejected{background:#ffebe8;color:#942417}.badge.paused,.badge.waived,.badge.closed,.badge.draft{background:#efedf8;color:#51427a}.toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:16px}.toolbar-right{display:flex;gap:8px}.filters,.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.filters input,.filters select{min-width:145px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:#332d28;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:650;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;border-color:#cbbfb6}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand2)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.small{padding:6px 9px;font-size:11px}.btn.full{width:100%}.form-card{max-width:950px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.span-2{grid-column:span 2}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#514a44}input,select,textarea{width:100%;border:1px solid #d9d2cb;background:#fff;border-radius:9px;padding:10px 11px;font:inherit;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#b66f51;box-shadow:0 0 0 3px #f7e8e1}textarea{resize:vertical}.check{flex-direction:row;align-items:center;font-weight:500;gap:8px}.check input{width:auto}.align-end{align-self:end;padding-bottom:10px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.stack{display:flex;flex-direction:column;gap:12px}.details{display:grid;grid-template-columns:130px 1fr;gap:10px 18px;margin:8px 0 0}.details dt{font-size:11px;color:var(--muted);font-weight:700}.details dd{margin:0;font-size:13px}.dropdown{position:relative}.dropdown summary{list-style:none;cursor:pointer}.dropdown summary::-webkit-details-marker{display:none}.dropdown-panel{position:absolute;right:0;top:calc(100% + 8px);width:320px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(30,20,15,.18);z-index:20}.link-danger{color:var(--danger);cursor:pointer}.doc-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.doc-list a{border:1px solid var(--line);padding:7px 9px;border-radius:8px;background:#faf8f6;font-size:12px}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.report-card{display:flex;flex-direction:column;gap:13px;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}fieldset{border:1px solid var(--line);border-radius:10px;padding:12px}legend{font-size:12px;font-weight:700}.muted{color:var(--muted);font-size:13px}pre{max-width:500px;white-space:pre-wrap;font-size:10px;background:#f8f6f4;border-radius:8px;padding:10px;overflow:auto}.login-page{display:grid;place-items:center;min-height:100vh;padding:20px;background:radial-gradient(circle at 20% 10%,#f1d2bd,transparent 36%),var(--bg)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 25px 70px rgba(63,39,26,.12)}.login-card h1{margin:22px 0 3px;font-size:24px}.login-brand{padding:0;color:var(--text)}.pagination{display:flex;gap:4px;list-style:none;padding:0}.page-link{border:1px solid var(--line);padding:6px 9px;border-radius:7px;background:#fff}.page-item.active .page-link{background:var(--brand);color:#fff;border-color:var(--brand)}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}.report-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;transition:left .2s}.menu-open .sidebar{left:0}.menu-btn{display:block}.topbar{padding:18px}.content{padding:18px}.topbar-date{display:none}.two-col,.detail-grid{grid-template-columns:1fr}.stats-grid,.stats-grid.compact{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stats-grid,.stats-grid.compact{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.filters{display:grid;grid-template-columns:1fr 1fr}.filters .btn{grid-column:span 2}.toolbar>.btn,.toolbar>.dropdown{width:100%}.toolbar>.dropdown>.btn{width:100%}.dropdown-panel{position:fixed;left:12px;right:12px;top:20%;width:auto}.split{grid-template-columns:1fr}.inline-form{flex-direction:column;align-items:stretch}.details{grid-template-columns:100px 1fr}}

/* SAI_ANNAPOORNI_PWA_F1 */
.pwa-install-btn{
    position:fixed;
    right:18px;
    bottom:max(18px,env(safe-area-inset-bottom));
    z-index:9998;
    border:0;
    border-radius:999px;
    padding:12px 18px;
    background:#7c2d12;
    color:#fff;
    font:inherit;
    font-weight:700;
    box-shadow:0 10px 30px rgba(0,0,0,.18);
    cursor:pointer
}
.pwa-update-banner{
    position:fixed;
    left:50%;
    bottom:max(72px,calc(env(safe-area-inset-bottom) + 72px));
    transform:translateX(-50%);
    z-index:9999;
    width:min(520px,calc(100% - 28px));
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    border-radius:16px;
    background:#292524;
    color:#fff;
    box-shadow:0 14px 40px rgba(0,0,0,.24)
}
.pwa-update-banner button{
    flex:0 0 auto;
    border:0;
    border-radius:10px;
    padding:9px 14px;
    background:#fff7ed;
    color:#7c2d12;
    font:inherit;
    font-weight:700;
    cursor:pointer
}
@media (max-width:600px){
    .pwa-install-btn{
        right:14px;
        bottom:max(14px,env(safe-area-inset-bottom))
    }
    .pwa-update-banner{
        bottom:max(68px,calc(env(safe-area-inset-bottom) + 68px))
    }
}
