:root{--ink:#0b0f17;--ink-2:#5b6472;--ink-3:#8a93a3;--line:#e8ebf0;--line-2:#f0f2f6;--bg:#f6f7f9;--card:#fff;--brand:#4f46e5;--brand-2:#7c3aed;--brand-ink:#3730a3;--brand-soft:#eef0fe;--grad:linear-gradient(120deg,#4f46e5,#7c3aed);--side:#0e1320;--side-2:#1a2233;--side-active:#232c43;--accent:#ffd54a;--link:#4f46e5;--price:#0b0f17;--ok:#0a7d33;--ok-bg:#e6f6ec;--warn:#8a5a00;--warn-bg:#fff4d6;--err:#c0341d;--err-bg:#fde9e5;--radius:16px;--radius-sm:10px;--shadow-xs:0 1px 2px rgba(11,15,23,.05);--shadow-sm:0 1px 3px rgba(11,15,23,.06),0 1px 2px rgba(11,15,23,.04);--shadow-md:0 6px 20px rgba(11,15,23,.08);--shadow-lg:0 14px 40px rgba(11,15,23,.14);--ring:0 0 0 3px rgba(79,70,229,.25);--ease:cubic-bezier(0.2,0.7,0.2,1);--dur:0.2s}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none;transition:color var(--dur) var(--ease)}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}::selection{background:rgba(79,70,229,.18)}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--side);color:#fff;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid #1c2433}.brand{display:flex;align-items:baseline;gap:1px;font-weight:800;font-size:24px;letter-spacing:-1px;padding:22px 22px 4px}.brand .dot{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:28px}.brand-sub{padding:0 22px 18px;font-size:11px;color:#7f8aa0;letter-spacing:.02em}.side-nav{display:flex;flex-direction:column;padding:8px 12px;gap:2px}.side-nav a{color:#aeb6c6;padding:11px 14px;font-size:14px;display:flex;gap:11px;align-items:center;border-radius:12px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.side-nav a:hover{background:var(--side-2);color:#fff;text-decoration:none}.side-nav a.active{background:var(--side-active);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--brand)}.side-foot{padding:16px 22px;font-size:11px;color:#7f8aa0;border-top:1px solid #1c2433;margin-top:8px}.content{padding:28px 32px 52px;max-width:1240px;animation:fadeUp .32s var(--ease) both}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:16px;flex-wrap:wrap}.page-head h1{font-size:26px;margin:0;letter-spacing:-.6px;font-weight:800}.page-head p{margin:3px 0 0;color:var(--ink-2);font-size:13.5px}.panel{background:var(--card);border-radius:var(--radius);padding:22px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.panel+.panel{margin-top:20px}.panel h2{font-size:16px;margin:0 0 16px;font-weight:800;letter-spacing:-.3px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:18px;gap:18px;margin-bottom:22px}.stat{background:var(--card);border-radius:var(--radius);padding:20px;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);animation:rise .4s var(--ease) both}.stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.stat .label{font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.stat .value{font-size:30px;font-weight:800;margin-top:8px;letter-spacing:-1px}.stat .value.money:before{content:"₹";font-size:18px;position:relative;top:-5px;margin-right:1px;color:var(--ink-2)}.stat .sub{font-size:12px;color:var(--ink-3);margin-top:5px}table{width:100%;border-collapse:collapse;font-size:13.5px}td,th{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:700}tbody tr{transition:background var(--dur) var(--ease)}tr:hover td{background:#fafbfd}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.err{background:var(--err-bg);color:var(--err)}.badge.muted{background:var(--line-2);color:var(--ink-2)}.btn{border:none;border-radius:10px;padding:10px 17px;font-size:13.5px;font-weight:700;background:var(--grad);color:#fff;box-shadow:0 4px 14px rgba(79,70,229,.26);transition:transform .08s var(--ease),box-shadow var(--dur) var(--ease),filter var(--dur) var(--ease)}.btn:hover{filter:brightness(1.06);box-shadow:0 8px 22px rgba(79,70,229,.34)}.btn:active{transform:translateY(1px) scale(.99)}.btn.secondary{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:var(--shadow-xs)}.btn.secondary:hover{background:var(--line-2);filter:none;border-color:#d8dde6}.btn.danger{background:var(--err-bg);color:var(--err);box-shadow:none}.btn.danger:hover{background:#fbd9d2;filter:none}.btn.sm{padding:6px 12px;font-size:12px;border-radius:8px;box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}input,select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:14px;outline:none;background:#fff;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--ring)}.field{margin-bottom:14px}.field label{display:block;font-weight:700;margin-bottom:5px;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 16px;gap:0 16px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.toolbar .spacer{flex:1 1}.tabs{display:flex;gap:6px;background:var(--line-2);padding:4px;border-radius:999px}.tabs button{background:transparent;border:none;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;color:var(--ink-2);transition:all var(--dur) var(--ease)}.tabs button.on{background:#fff;color:var(--brand-ink);box-shadow:var(--shadow-xs)}.empty{text-align:center;padding:56px 20px}.empty,.muted{color:var(--ink-2)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.notice{background:var(--warn-bg);border:1px solid #f0d68a;border-radius:var(--radius-sm);color:var(--warn)}.error,.notice{padding:12px 15px;font-size:13.5px}.error{background:var(--err-bg);border:1px solid #f3b6ab;border-radius:var(--radius-sm);color:var(--err)}.spinner{width:18px;height:18px;border:2.5px solid rgba(79,70,229,.2);border-top:2.5px solid var(--brand);border-radius:50%;animation:spin .7s linear infinite;display:inline-block;vertical-align:middle}@keyframes spin{to{transform:rotate(1turn)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-bg{position:fixed;inset:0;background:rgba(11,15,23,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding-top:72px;z-index:100;animation:fadeUp .18s var(--ease) both}.modal{background:#fff;border-radius:var(--radius);padding:24px;width:520px;max-width:92vw;box-shadow:var(--shadow-lg)}.modal h2{margin-top:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.bar{height:8px;background:var(--line-2);border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--grad);transition:width .5s var(--ease)}.divider{height:1px;background:var(--line);margin:16px 0;border:0}@media (max-width:820px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.side-nav{flex-direction:row;overflow-x:auto}.side-nav a.active{box-shadow:inset 0 -3px 0 var(--brand)}.form-grid{grid-template-columns:1fr}}