:root{--bg:#0b0e14;--panel:#141925;--panel-2:#1b2233;--border:#263048;--text:#e6e9f0;--muted:#8a93a6;--accent:#5b8cff;--green:#3fd07f;--red:#ff6b6b;--amber:#ffb454}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--accent);text-decoration:none}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:12px 24px;background:rgba(11,14,20,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.nav-brand{font-weight:800;letter-spacing:-.02em;font-size:15px}.nav-tabs{display:flex;gap:6px}.nav-tab{padding:7px 14px;border-radius:8px;color:var(--muted);font-weight:600;font-size:14px}.nav-tab:hover{background:var(--panel-2);color:var(--text)}.nav-tab.active{background:var(--accent);color:#fff}.wrap{max-width:1240px;margin:0 auto;padding:24px 20px 80px}.hero{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}@media (max-width:980px){.hero{grid-template-columns:repeat(2,1fr)}}.bigcard{background:linear-gradient(160deg,var(--panel) 0,var(--panel-2) 100%);border:1px solid var(--border);border-radius:14px;padding:18px 20px}.bigcard .label{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.bigcard .value{font-size:30px;font-weight:800;margin-top:8px;letter-spacing:-.03em}.bigcard .value.green{color:var(--green)}.bigcard .value.red{color:var(--red)}.bigcard .value.amber{color:var(--amber)}.bigcard .sub{color:var(--muted);font-size:12px;margin-top:8px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;flex-wrap:wrap}.title{font-size:22px;font-weight:700;letter-spacing:-.02em}.subtitle{margin-top:2px}.section-title,.subtitle{color:var(--muted);font-size:13px}.section-title{text-transform:uppercase;letter-spacing:.08em;margin:32px 0 12px;font-weight:600}.grid{display:grid;grid-gap:14px;gap:14px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (max-width:980px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.card .label{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.card .value{font-size:26px;font-weight:700;margin-top:6px;letter-spacing:-.02em}.card .sub{color:var(--muted);font-size:12px;margin-top:6px}.value.green{color:var(--green)}.value.red{color:var(--red)}.value.amber{color:var(--amber)}.green{color:var(--green)}.red{color:var(--red)}.amber{color:var(--amber)}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--panel-2)}.tablecard{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.tablecard .scroll{overflow-x:auto;max-height:560px;overflow-y:auto}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.pill.green{background:rgba(63,208,127,.15);color:var(--green)}.pill.amber{background:rgba(255,180,84,.15);color:var(--amber)}.pill.muted{background:var(--panel-2);color:var(--muted)}.pill.red{background:hsla(0,100%,71%,.15);color:var(--red)}.pill.blue{background:rgba(91,140,255,.15);color:#8fb0ff}button,input,select{font:inherit}input[type=date],input[type=number],input[type=password],input[type=text]{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 10px}button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer;transition:transform .06s ease,filter .12s ease,background .12s ease}button:hover{filter:brightness(1.08)}button:active{transform:scale(.95)}button.ghost{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.btnlink,.nav-tab{transition:transform .06s ease,background .12s ease,color .12s ease}.btnlink:active,.nav-tab:active{transform:scale(.95)}.livedot{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:600}.livedot .dot{width:8px;height:8px;border-radius:999px;background:var(--green);box-shadow:0 0 0 0 rgba(63,208,127,.5);transition:box-shadow .3s ease}.livedot .dot.on{box-shadow:0 0 0 5px rgba(63,208,127,.25)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.35);border-top-color:#fff;animation:spin .6s linear infinite;vertical-align:-2px;margin-right:8px}button:disabled{opacity:.8;cursor:progress}.invoice-wrap{min-height:100vh;background:#eef0f4;padding:20px}.invoice-toolbar{max-width:820px;margin:0 auto 16px;display:flex;gap:10px;align-items:center}.invoice-toolbar .seg{display:flex;gap:4px;background:#fff;border-radius:8px;padding:3px}.ibtn{border:none;border-radius:7px;padding:8px 14px;font-weight:600;font-size:13px;cursor:pointer;background:#fff;color:#374151}.ibtn.ghost{background:transparent;border:1px solid #d1d5db}.ibtn.on,.ibtn.primary{background:linear-gradient(90deg,#7c3aed,#ec4899);color:#fff}.ix{border:none;background:transparent;color:#ec4899;font-size:18px;cursor:pointer}.invoice-doc{max-width:820px;margin:0 auto;background:#fff;color:#1f2937;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08);padding:36px 40px;font-size:13px}.inv-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid;border-image:linear-gradient(90deg,#7c3aed,#ec4899) 1;padding-bottom:16px}.inv-company{font-size:19px;font-weight:800;background:linear-gradient(90deg,#7c3aed,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}.inv-sub{color:#6b7280;font-size:11px;line-height:1.5}.inv-title{font-size:26px;font-weight:800;letter-spacing:2px;color:#7c3aed}.inv-meta{color:#6b7280;font-size:12px;margin-top:4px;display:flex;gap:6px;justify-content:flex-end;align-items:center}.inv-billto{margin:20px 0}.inv-label{font-size:10px;font-weight:700;letter-spacing:1px;color:#ec4899;margin-bottom:5px}.inv-table{width:100%;border-collapse:collapse;margin-top:6px}.inv-table thead th{background:#faf5ff;color:#7c3aed;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:9px 10px;border-bottom:2px solid #f0e6ff}.inv-table td{padding:9px 10px;border-bottom:1px solid #f1f1f4;vertical-align:middle}.inv-table .r,.inv-table th.r{text-align:right}.inv-table tbody tr:hover{background:#faf7ff!important}.invoice-doc input:hover,.invoice-doc textarea:hover{background:#f6f1ff;border-radius:4px}.invoice-doc input:focus,.invoice-doc textarea:focus{background:#f0e9ff;border-radius:4px;box-shadow:inset 0 -2px 0 #c4b5fd}.inv-totals{margin:14px 0 0 auto;width:280px}.inv-totals>div{display:flex;justify-content:space-between;padding:6px 0;color:#4b5563}.inv-totals .grand{border-top:2px solid #f0e6ff;margin-top:4px;padding-top:10px;font-size:17px;font-weight:800;color:#1f2937}.inv-totals .grand b{color:#7c3aed;-webkit-text-fill-color:#7c3aed}.inv-bottom{display:flex;gap:28px;margin-top:26px}.inv-bank,.inv-notes{flex:1 1}.inv-bank div{line-height:1.6;color:#4b5563}.inv-terms{margin-top:18px}.inv-foot{margin-top:26px;padding-top:14px;border-top:1px solid #f1f1f4;text-align:center;color:#9ca3af;font-size:12px}.invoice-doc input::placeholder,.invoice-doc textarea::placeholder{color:#c4c8d0}.inv-table input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.inv-table input[type=number]::-webkit-inner-spin-button,.inv-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@page{margin:0}@media print{.no-print{display:none!important}.invoice-wrap,body{background:#fff!important;padding:0!important}.invoice-doc{box-shadow:none!important;border-radius:0!important;max-width:100%!important;margin:0!important;padding:14mm 12mm!important}.livedot,.nav{display:none!important}.inv-company,.inv-totals .grand b{background:none!important;-webkit-text-fill-color:#7c3aed!important;color:#7c3aed!important}}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btnlink{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-weight:600;font-size:13px;cursor:pointer}.btnlink.active{background:var(--accent);color:#fff;border-color:var(--accent)}.note{background:rgba(91,140,255,.08);border:1px solid rgba(91,140,255,.3);color:#bcd0ff;border-radius:10px;padding:12px 14px;line-height:1.5}.error,.note{font-size:13px}.error{background:hsla(0,100%,71%,.1);border:1px solid var(--red);color:#ffcaca;border-radius:10px;padding:16px;white-space:pre-wrap}.muted{color:var(--muted)}.small{font-size:12px}.crm-light{--bg:#fff;--panel:#fff;--panel-2:#eef1f5;--border:#d4d9e2;--text:#14171f;--muted:#5b6472;--accent:#2563eb;--green:#0f7a41;--red:#c62828;--amber:#9a5b00;background:#f6f7f9;color:var(--text);min-height:100vh}.crm-light .bigcard{background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.05)}.crm-light .note{background:#fff8e6;border-color:#f0d79a;color:#4a3a12}.crm-light .tablecard{background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.05)}.crm-light button.ghost,.crm-light input,.crm-light select,.crm-light textarea{background:#fff;color:var(--text);border:1px solid var(--border)}.crm-light .pill.muted{background:#e7eaf0;color:#4b5565}.sheet .scroll{max-height:74vh;overflow:auto}.sheet table{border-collapse:separate;border-spacing:0;font-size:13px;background:#fff}.sheet td,.sheet th{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:5px 9px;white-space:nowrap;background:inherit}.sheet thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:#e9edf3;color:#35405a;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid #b9c2d0}.sheet .cs{left:0;width:32px;min-width:32px;text-align:center}.sheet .c0,.sheet .cs{position:-webkit-sticky;position:sticky;z-index:2}.sheet .c0{left:34px;width:34px;min-width:34px}.sheet .c1{left:68px;width:170px;min-width:170px;max-width:170px;overflow:hidden;text-overflow:ellipsis}.sheet .c1,.sheet .c2{position:-webkit-sticky;position:sticky;z-index:2}.sheet .c2{left:238px;width:124px;min-width:124px;border-right:2px solid #b9c2d0}.sheet thead .c0,.sheet thead .c1,.sheet thead .c2,.sheet thead .cs{z-index:5;background:#e9edf3}.sheet tbody .c0,.sheet tbody .c1,.sheet tbody .c2,.sheet tbody .cs{background:var(--rowbg,#fff)}.sheet tbody tr:hover .c0,.sheet tbody tr:hover .c1,.sheet tbody tr:hover .c2,.sheet tbody tr:hover .cs,.sheet tbody tr:hover td{background:#eaf1ff}.sheet .cs input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:#2563eb;margin:0}.sheet tr.ticked td{background:#e3edff!important}.crm-light .pickbar{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:80;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#1f2937;color:#fff;padding:10px 14px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.28);font-size:13px;max-width:calc(100vw - 40px)}.crm-light .pickbar button{padding:7px 13px;font-size:12.5px;border-radius:7px;cursor:pointer;background:#2563eb;color:#fff;border:1px solid #2563eb;font-weight:600}.crm-light .pickbar button.ghost{background:transparent;border-color:#4b5563;color:#d1d5db;font-weight:500}.crm-light .pickbar button:disabled{opacity:.5;cursor:not-allowed}.crm-light .pickbar .warn{color:#fbbf24}.sheet td input[list],.sheet td input[type=text]{border:1px solid transparent;background:transparent;padding:3px 6px;border-radius:4px}.sheet td input[list]:hover,.sheet td input[type=text]:hover{border-color:var(--border);background:#fff}.sheet td input[list]:focus,.sheet td input[type=text]:focus{border-color:var(--accent);background:#fff;outline:2px solid rgba(37,99,235,.18)}.sheet .rownum{color:#98a1b0;font-size:11px;text-align:center}.exportbar{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px}.exportbar label{font-size:11px;font-weight:700;color:#5b6472;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:4px}.nav-tab{position:relative}.nav-tab.pending{background:var(--panel-2);color:var(--text)}.nav-dot{display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:50%;background:var(--accent);vertical-align:middle;animation:navpulse .9s ease-in-out infinite}@keyframes navpulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.loading{display:flex;align-items:center;gap:16px;padding:28px 0 4px}.loading-title{font-size:20px;font-weight:700;letter-spacing:-.02em}.loading-sub{color:var(--muted);font-size:13px;margin-top:2px}.spinner{width:28px;height:28px;border-radius:50%;flex:none;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.skeleton{min-height:108px;position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.06),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}@media (max-width:700px){.nav{gap:10px;padding:10px 12px;flex-wrap:wrap}.nav-brand{font-size:14px}.nav-tabs{gap:4px;order:3;width:100%}.nav-tab{padding:8px 12px;font-size:13px;flex:1 1;text-align:center}.nav-logout{margin-left:0!important}.wrap{padding:14px 12px 120px}.hero{grid-template-columns:1fr 1fr;gap:10px}.bigcard{padding:14px;border-radius:12px}.bigcard .value{font-size:24px}.title{font-size:19px}.section-title{margin:24px 0 10px}.topbar{gap:10px}.row{flex-wrap:wrap}td,th{padding:8px 9px;font-size:12px}input[type=date],input[type=text],select{max-width:100%}.crm-light .pickbar{left:8px;right:8px;transform:none;bottom:10px;max-width:none;justify-content:center;gap:6px;padding:8px 10px}.crm-light .pickbar button{padding:8px 10px;font-size:12px}.sheet .c2{position:static;border-right:none}.sheet .c1{width:130px;min-width:130px;max-width:130px}}@media (max-width:420px){.hero{grid-template-columns:1fr}}.info{position:relative;display:inline-block;margin-left:4px;font-size:11px;color:var(--muted);cursor:help;text-transform:none;letter-spacing:0;vertical-align:1px;outline:none}.info:focus,.info:hover{color:var(--accent)}.info .tip{display:none;position:absolute;z-index:60;top:18px;left:50%;transform:translateX(-50%);width:260px;padding:9px 11px;border-radius:8px;background:#1b2233;color:var(--text);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.45);font-size:12px;font-weight:400;line-height:1.45;white-space:normal;text-align:left;text-transform:none;letter-spacing:0}.info:active .tip,.info:focus .tip,.info:hover .tip{display:block}th:last-child .info .tip,th:nth-last-child(2) .info .tip{left:auto;right:0;transform:none}