/* GREVOCSS global theme. Edit this section to change the ERP globally.
 * initial preserves each existing screen's role default; set a value to override.
 * Example: --grevo-theme-primary:#2d9f77; --grevo-theme-font:Inter,Arial,sans-serif;
 */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100..1000&family=Inter:wght@100..900&display=swap");
:root {
  --grevo-theme-primary: initial;
  --grevo-theme-primary-hover: initial;
  --grevo-theme-font: initial;
  --grevo-theme-bg: initial;
  --grevo-theme-surface: initial;
  --grevo-theme-ink: initial;
  --grevo-theme-border: initial;
  --grevo-type-scale: 1;
  --grevo-palette-schematic-product-1: #d2e9de;
  --grevo-palette-schematic-product-2: #d9e6f4;
  --grevo-palette-schematic-product-3: #f3dfbc;
  --grevo-palette-schematic-product-4: #e7d9ee;
  --grevo-palette-schematic-product-5: #f0d5d5;
  --grevo-palette-schematic-envelope: #52685d;
  --grevo-palette-schematic-outline: #6e8278;
  --grevo-palette-schematic-label: #000000;
  /* Role defaults and the retained palette. */
  --grevo-palette-c-b9c7d8: #b9c7d8;
  --grevo-palette-action-blue: #0242e3;
  --grevo-palette-surface: #ffffff;
  --grevo-palette-c-59cd03: #59cd03;
  --grevo-palette-c-061b2f: #061b2f;
  --grevo-palette-c-eef5ff: #eef5ff;
  --grevo-palette-c-effff2: #effff2;
  --grevo-palette-brand-green: #087b3d;
  --grevo-palette-c-0b2442: #0b2442;
  --grevo-palette-c-0b4ce8: #0b4ce8;
  --grevo-palette-c-41526b: #41526b;
  --grevo-palette-c-cfd9e5: #cfd9e5;
  --grevo-palette-c-09213f: #09213f;
  --grevo-palette-c-607089: #607089;
  --grevo-palette-c-f6f8fb: #f6f8fb;
  --grevo-palette-c-bfd4f1: #bfd4f1;
  --grevo-palette-c-d9e4ef: #d9e4ef;
  --grevo-palette-c-fbfdff: #fbfdff;
  --grevo-palette-c-rgba-9-33-63-04: rgba(9,33,63,.04);
  --grevo-palette-c-9b1c1c: #9b1c1c;
  --grevo-palette-c-fff2f2: #fff2f2;
  --grevo-palette-c-f1b8b8: #f1b8b8;
  --grevo-palette-c-17243a: #17243a;
  --grevo-palette-c-rgba-0-0-0-12: rgba(0,0,0,.12);
  --grevo-palette-c-b8e4be: #b8e4be;
  --grevo-palette-c-f0fff2: #f0fff2;
  --grevo-palette-c-075f18: #075f18;
  --grevo-palette-c-rgba-9-33-63-06: rgba(9,33,63,.06);
  --grevo-palette-c-cfe0f5: #cfe0f5;
  --grevo-palette-c-b91c1c: #b91c1c;
  --grevo-palette-border: #c7d3cc;
  --grevo-palette-ink: #243632;
  --grevo-palette-c-f7efd9: #f7efd9;
  --grevo-palette-c-755c28: #755c28;
  --grevo-palette-sidebar: #eef1ed;
  --grevo-palette-c-dde4df: #dde4df;
  --grevo-palette-muted: #65736e;
  --grevo-palette-primary-green: #12573f;
  --grevo-palette-c-234e75: #234e75;
  --grevo-palette-c-26332f: #26332f;
  --grevo-palette-c-80652f: #80652f;
  --grevo-palette-page: #f5f6f3;
  --grevo-palette-c-008239: #008239;
  --grevo-palette-c-75bf00: #75bf00;
  --grevo-palette-c-d4ddd7: #d4ddd7;
  --grevo-palette-primary-border: #9abead;
  --grevo-palette-primary-soft: #e3f1e9;
  --grevo-palette-c-b9cabf: #b9cabf;
  --grevo-palette-c-f7f9f6: #f7f9f6;
  --grevo-palette-c-dfb6b0: #dfb6b0;
  --grevo-palette-c-9b352c: #9b352c;
  --grevo-palette-c-fff5f3: #fff5f3;
  --grevo-palette-c-ddcfab: #ddcfab;
  --grevo-palette-c-f7f1e4: #f7f1e4;
  --grevo-palette-c-fff1ed: #fff1ed;
  --grevo-palette-c-d6a79e: #d6a79e;
  --grevo-palette-c-f1ece1: #f1ece1;
  --grevo-palette-c-7b6338: #7b6338;
  --grevo-palette-c-f7faf8: #f7faf8;
  --grevo-palette-c-transparent: transparent;
  --grevo-palette-c-dce6df: #dce6df;
  --grevo-palette-c-52685b: #52685b;
  --grevo-palette-c-7ca48d: #7ca48d;
  --grevo-palette-c-ccd9d0: #ccd9d0;
  --grevo-palette-c-14563d: #14563d;
  --grevo-palette-c-f3f6f3: #f3f6f3;
  --grevo-palette-c-ecefed: #ecefed;
  --grevo-palette-c-59645f: #59645f;
  --grevo-palette-c-d2ddd5: #d2ddd5;
  --grevo-palette-c-53675e: #53675e;
  --grevo-palette-c-f1f6f3: #f1f6f3;
  --grevo-palette-c-d5dfd9: #d5dfd9;
  --grevo-palette-c-82988b: #82988b;
  --grevo-palette-c-fafafa: #fafafa;
  --grevo-palette-c-c5e1d0: #c5e1d0;
  --grevo-palette-c-8a651e: #8a651e;
  --grevo-palette-c-rgba-36-54-50-08: rgba(36,54,50,.08);
  --grevo-palette-danger-soft: #f9e5e1;
  --grevo-palette-c-f8faf8: #f8faf8;
  --grevo-palette-c-eaf4ee: #eaf4ee;
  --grevo-palette-c-68766f: #68766f;
  --grevo-palette-c-e4e9e5: #e4e9e5;
  --grevo-palette-c-4f806c: #4f806c;
  --grevo-palette-c-74817c: #74817c;
  --grevo-palette-c-151716: #151716;
  --grevo-palette-c-9a7b42: #9a7b42;
  --grevo-palette-c-d7dfd9: #d7dfd9;
  --grevo-palette-c-f8faf7: #f8faf7;
  --grevo-palette-c-dcebe3: #dcebe3;
  --grevo-palette-c-8eaf9f: #8eaf9f;
  --grevo-palette-c-d5e9de: #d5e9de;
  --grevo-palette-c-eef2ee: #eef2ee;
  --grevo-palette-c-53625d: #53625d;
  --grevo-palette-c-fafbf9: #fafbf9;
  --grevo-palette-c-d8aaa4: #d8aaa4;
  --grevo-palette-danger: #8f3028;
  --grevo-palette-c-c3cbc6: #c3cbc6;
  --grevo-palette-c-3f8b68: #3f8b68;
  --grevo-palette-c-7ba78f: #7ba78f;
  --grevo-palette-c-c75c50: #c75c50;
  --grevo-palette-c-f2f4f2: #f2f4f2;
  --grevo-palette-c-ddc88d: #ddc88d;
  --grevo-palette-c-526b70: #526b70;
  --grevo-palette-c-bfd1cb: #bfd1cb;
  --grevo-palette-c-d5e0dd: #d5e0dd;
  --grevo-palette-c-e4f1eb: #e4f1eb;
  --grevo-palette-c-006266: #006266;
  --grevo-palette-c-52675e: #52675e;
  --grevo-palette-c-e3ebe6: #e3ebe6;
  --grevo-palette-c-f8faf9: #f8faf9;
  --grevo-palette-c-f0f6f2: #f0f6f2;
  --grevo-palette-c-185743: #185743;
  --grevo-palette-c-f3f7f4: #f3f7f4;
  --grevo-palette-c-d5dfda: #d5dfda;
  --grevo-palette-c-edf6f1: #edf6f1;
  --grevo-palette-c-92b8a5: #92b8a5;
  --grevo-palette-c-fae8e3: #fae8e3;
  --grevo-palette-c-992f22: #992f22;
  --grevo-palette-c-c8d9d2: #c8d9d2;
  --grevo-palette-c-33445d: #33445d;
  --grevo-palette-c-dfe7f0: #dfe7f0;
  --grevo-palette-c-rgba-15-49-81-05: rgba(15,49,81,.05);
  --grevo-palette-c-0758eb: #0758eb;
  --grevo-palette-c-cfdbe8: #cfdbe8;
  --grevo-palette-c-17457f: #17457f;
  --grevo-palette-c-f4f6f3: #f4f6f3;
  --grevo-palette-c-fffbea: #fffbea;
  --grevo-palette-c-66758a: #66758a;
  --grevo-palette-c-d3dce6: #d3dce6;
  --grevo-palette-c-64748b: #64748b;
  --grevo-palette-c-a51e26: #a51e26;
  --grevo-palette-c-fff1f2: #fff1f2;
  --grevo-palette-c-f4b9c0: #f4b9c0;
  --grevo-palette-c-744c00: #744c00;
  --grevo-palette-c-edf5ff: #edf5ff;
  --grevo-palette-c-b9d8c4: #b9d8c4;
  --grevo-palette-c-effaf3: #effaf3;
  --grevo-palette-c-125c36: #125c36;
  --grevo-palette-c-dce2e8: #dce2e8;
  --grevo-palette-c-rgba-30-62-105-08: rgba(30,62,105,.08);
  --grevo-palette-c-cfd9e6: #cfd9e6;
  --grevo-palette-c-f4f7fb: #f4f7fb;
  --grevo-palette-c-102e5e: #102e5e;
  --grevo-palette-c-rgba-2-66-227-16: rgba(2,66,227,.16);
  --grevo-palette-c-5f6d81: #5f6d81;
  --grevo-palette-c-001b38: #001b38;
  --grevo-palette-c-d9e2ec: #d9e2ec;
  --grevo-palette-c-fffbe0: #fffbe0;
  --grevo-palette-c-d9c800: #d9c800;
  --grevo-palette-c-fff3a7: #fff3a7;
  --grevo-palette-c-b9a800: #b9a800;
  --grevo-palette-c-687382: #687382;
  --grevo-palette-c-f1f7ff: #f1f7ff;
  --grevo-palette-c-edf1f5: #edf1f5;
  --grevo-palette-c-c8d1dc: #c8d1dc;
  --grevo-palette-c-edfff1: #edfff1;
  --grevo-palette-c-00723b: #00723b;
  --grevo-palette-c-rgba-30-62-105-07: rgba(30,62,105,.07);
  --grevo-palette-c-081f3f: #081f3f;
  --grevo-palette-c-111111: #111111;
  --grevo-palette-c-082447: #082447;
  --grevo-palette-c-7a8798: #7a8798;
  --grevo-palette-c-516177: #516177;
  --grevo-palette-c-69778a: #69778a;
  --grevo-palette-c-d6e2ee: #d6e2ee;
  --grevo-palette-c-dceaff: #dceaff;
  --grevo-palette-c-rgba-9-33-63-18: rgba(9,33,63,.18);
  --grevo-palette-c-d8e2ee: #d8e2ee;
  --grevo-palette-c-f8fbff: #f8fbff;
  --grevo-palette-c-e4ebf2: #e4ebf2;
  --grevo-palette-c-8f1111: #8f1111;
  --grevo-palette-c-rgba-255-255-255-28: rgba(255,255,255,.28);
  --grevo-palette-c-dc8d8d: #dc8d8d;
  --grevo-palette-c-fff1f1: #fff1f1;
  --grevo-palette-c-f2f8f4: #f2f8f4;
  --grevo-palette-c-rgba-5-35-67-11: rgba(5,35,67,.11);
  --grevo-palette-c-d8e1eb: #d8e1eb;
  --grevo-palette-c-102845: #102845;
  --grevo-palette-c-d7e0ea: #d7e0ea;
  --grevo-palette-c-243a57: #243a57;
  --grevo-palette-c-aebed0: #aebed0;
  --grevo-palette-c-f8fafc: #f8fafc;
  --grevo-palette-c-rgba-0-55-132-22: rgba(0,55,132,.22);
  --grevo-palette-c-cbd7e4: #cbd7e4;
  --grevo-palette-c-f7f9fc: #f7f9fc;
  --grevo-palette-c-36506d: #36506d;
  --grevo-palette-c-eaf1ff: #eaf1ff;
  --grevo-palette-c-a7dfbd: #a7dfbd;
  --grevo-palette-c-eaf9ef: #eaf9ef;
  --grevo-palette-c-138347: #138347;
  --grevo-palette-c-f2cf74: #f2cf74;
  --grevo-palette-c-fff8df: #fff8df;
  --grevo-palette-c-a76500: #a76500;
  --grevo-palette-c-9fc2ff: #9fc2ff;
  --grevo-palette-c-edf4ff: #edf4ff;
  --grevo-palette-c-0d52d6: #0d52d6;
  --grevo-palette-c-f0b3b3: #f0b3b3;
  --grevo-palette-c-fff0f0: #fff0f0;
  --grevo-palette-c-c62828: #c62828;
  --grevo-palette-c-cbd5e1: #cbd5e1;
  --grevo-palette-c-f1f5f9: #f1f5f9;
  --grevo-palette-c-475569: #475569;
  --grevo-palette-c-d8e0e9: #d8e0e9;
  --grevo-palette-c-f7f9fb: #f7f9fb;
  --grevo-palette-c-95a2b3: #95a2b3;
  --grevo-palette-c-e4eaf1: #e4eaf1;
  --grevo-palette-c-61738a: #61738a;
  --grevo-palette-c-223b58: #223b58;
  --grevo-palette-c-dc2626: #dc2626;
  --grevo-palette-c-rgba-220-38-38-12: rgba(220,38,38,.12);
  --grevo-palette-c-rgba-153-27-27-18: rgba(153,27,27,.18);
  --grevo-palette-c-e0e8f1: #e0e8f1;
  --grevo-palette-c-dbe5ef: #dbe5ef;
  --grevo-palette-c-718096: #718096;
  --grevo-palette-c-16314f: #16314f;
  --grevo-palette-c-dce6ef: #dce6ef;
  --grevo-palette-c-0a2442: #0a2442;
  --grevo-palette-c-536981: #536981;
  --grevo-palette-c-dce5ee: #dce5ee;
  --grevo-palette-c-f5f8fc: #f5f8fc;
  --grevo-palette-c-526780: #526780;
  --grevo-palette-c-203a58: #203a58;
  --grevo-palette-primary-green-hover: #0c4530;
  --grevo-palette-brand-accent: #74be17;
  --grevo-palette-c-rgba-255-255-255-75: rgba(255,255,255,.75);
  --grevo-palette-c-rgba-2-30-70-14: rgba(2,30,70,.14);
  --grevo-palette-c-ccd8e6: #ccd8e6;
  --grevo-palette-c-152b48: #152b48;
  --grevo-palette-c-0749e7: #0749e7;
  --grevo-palette-c-d4deea: #d4deea;
  --grevo-palette-c-18314f: #18314f;
  --grevo-palette-c-3ebc0d: #3ebc0d;
  --grevo-palette-c-eef2f7: #eef2f7;
  --grevo-palette-c-4bc900: #4bc900;
  --grevo-palette-c-68768a: #68768a;
  --grevo-palette-c-6b788b: #6b788b;
  --grevo-palette-c-45c706: #45c706;
  --grevo-palette-c-e48b0b: #e48b0b;
  --grevo-palette-c-e1e8f0: #e1e8f0;
  --grevo-palette-c-e5e7eb: #e5e7eb;
  --grevo-palette-c-174897: #174897;
  --grevo-palette-c-e9f9e6: #e9f9e6;
  --grevo-palette-c-176b1c: #176b1c;
  --grevo-palette-c-fff6db: #fff6db;
  --grevo-palette-c-825d00: #825d00;
  --grevo-palette-c-f2f4f7: #f2f4f7;
  --grevo-palette-c-596579: #596579;
  --grevo-palette-c-f1cf8b: #f1cf8b;
  --grevo-palette-c-fff9e9: #fff9e9;
  --grevo-palette-c-17345b: #17345b;
  --grevo-palette-c-f0b8b4: #f0b8b4;
  --grevo-palette-c-fff2f1: #fff2f1;
  --grevo-palette-c-8c1d18: #8c1d18;
  --grevo-palette-c-c8d5e4: #c8d5e4;
  --grevo-palette-c-6e7d91: #6e7d91;
  --grevo-palette-c-657287: #657287;
  --grevo-palette-c-b8c9de: #b8c9de;
  --grevo-palette-c-b42318: #b42318;
  --grevo-palette-c-f1f4f8: #f1f4f8;
  --grevo-palette-c-e7edf4: #e7edf4;
  --grevo-palette-c-rgba-15-49-81-06: rgba(15,49,81,.06);
  --grevo-palette-c-eaf2ff: #eaf2ff;
  --grevo-palette-c-d8e7ff: #d8e7ff;
  --grevo-palette-c-e9fbef: #e9fbef;
  --grevo-palette-c-d5f3df: #d5f3df;
  --grevo-palette-c-eff2f6: #eff2f6;
  --grevo-palette-c-e1e6ec: #e1e6ec;
  --grevo-palette-c-fff4df: #fff4df;
  --grevo-palette-c-ffe8ba: #ffe8ba;
  --grevo-palette-c-eafbe6: #eafbe6;
  --grevo-palette-c-f3f6f9: #f3f6f9;
  --grevo-palette-c-475c72: #475c72;
  --grevo-palette-c-29425e: #29425e;
  --grevo-palette-c-rgba-7-88-235-18: rgba(7,88,235,.18);
  --grevo-palette-c-46c80b: #46c80b;
  --grevo-palette-c-9ebfe6: #9ebfe6;
  --grevo-palette-c-f5f9ff: #f5f9ff;
  --grevo-palette-c-f9fbfd: #f9fbfd;
  --grevo-palette-c-e8eef4: #e8eef4;
  --grevo-palette-c-f5f8fb: #f5f8fb;
  --grevo-palette-c-6b778b: #6b778b;
  --grevo-palette-c-e2e9f0: #e2e9f0;
  --grevo-palette-action-blue-hover: #0232ac;
  --grevo-palette-c-effbe6: #effbe6;
  --grevo-palette-c-edf2ff: #edf2ff;
  --grevo-palette-c-52627a: #52627a;
  --grevo-palette-c-bfd3f9: #bfd3f9;
  --grevo-palette-c-163f86: #163f86;
  --grevo-palette-c-bdcadb: #bdcadb;
  --grevo-palette-c-9cbaff: #9cbaff;
  --grevo-palette-c-f1c0c0: #f1c0c0;
  --grevo-palette-c-9f1d1d: #9f1d1d;
  --grevo-palette-c-d6e1ed: #d6e1ed;
  --grevo-palette-c-rgba-23-36-58-08: rgba(23,36,58,.08);
  --grevo-palette-c-f3f7ff: #f3f7ff;
  --grevo-palette-c-f1fbe9: #f1fbe9;
  --grevo-palette-c-d2deed: #d2deed;
  --grevo-palette-c-244264: #244264;
  --grevo-palette-c-rgba-255-255-255-9: rgba(255,255,255,.9);
  --grevo-palette-c-rgba-30-62-105-06: rgba(30,62,105,.06);
  --grevo-palette-c-1d3e70: #1d3e70;
  --grevo-palette-c-7bc51b: #7bc51b;
  --grevo-palette-c-c9d8e9: #c9d8e9;
  --grevo-palette-c-b8c9df: #b8c9df;
  --grevo-palette-c-rgba-11-76-232-22: rgba(11,76,232,.22);
  --grevo-palette-c-073bc0: #073bc0;
  --grevo-palette-c-a83b3b: #a83b3b;
  --grevo-palette-c-fff8f8: #fff8f8;
  --grevo-palette-c-efd1d1: #efd1d1;
  --grevo-palette-c-edfaff: #edfaff;
  --grevo-palette-c-d7e1ed: #d7e1ed;
  --grevo-palette-c-edf6ff: #edf6ff;
  --grevo-palette-c-f9fffc: #f9fffc;
  --grevo-palette-c-eafaf3: #eafaf3;
  --grevo-palette-c-rgba-2-66-227-2: rgba(2,66,227,.2);
  --grevo-palette-c-48ad02: #48ad02;
  --grevo-palette-c-12345b: #12345b;
  --grevo-palette-c-rgba-255-255-255-18: rgba(255,255,255,.18);
  --grevo-palette-c-rgba-255-255-255-6: rgba(255,255,255,.6);
  --grevo-palette-c-effff6: #effff6;
  --grevo-palette-c-9ed9aa: #9ed9aa;
  --grevo-palette-c-rgba-255-255-255-35: rgba(255,255,255,.35);
  --grevo-palette-c-rgba-255-255-255-14: rgba(255,255,255,.14);
  --grevo-palette-c-eef3f8: #eef3f8;
  --grevo-palette-c-f9fbfe: #f9fbfe;
  --grevo-palette-c-bcd1f4: #bcd1f4;
  --grevo-palette-c-edf3ff: #edf3ff;
  --grevo-palette-c-8f1c13: #8f1c13;
  --grevo-palette-c-rgba-30-62-105-05: rgba(30,62,105,.05);
  --grevo-palette-c-rgba-255-255-255-48: rgba(255,255,255,.48);
  --grevo-palette-c-0c5d2e: #0c5d2e;
  --grevo-palette-c-e8ffef: #e8ffef;
  --grevo-palette-c-b8e8c7: #b8e8c7;
  --grevo-palette-c-24728f: #24728f;
  --grevo-palette-c-4bd400: #4bd400;
  --grevo-palette-c-rgba-24-63-104-13: rgba(24,63,104,.13);
  --grevo-palette-c-rgba-255-255-255-16: rgba(255,255,255,.16);
  --grevo-palette-c-dbe4ef: #dbe4ef;
  --grevo-palette-c-334155: #334155;
  --grevo-palette-c-49cf00: #49cf00;
  --grevo-palette-c-cfdbea: #cfdbea;
  --grevo-palette-c-cbd9e8: #cbd9e8;
  --grevo-palette-c-rgba-15-36-66-09: rgba(15,36,66,.09);
  --grevo-palette-c-94a3b8: #94a3b8;
  --grevo-palette-c-dce5ef: #dce5ef;
  --grevo-palette-c-f6f9fc: #f6f9fc;
  --grevo-palette-c-991b1b: #991b1b;
  --grevo-palette-c-fecdd3: #fecdd3;
  --grevo-palette-c-9a3412: #9a3412;
  --grevo-palette-c-fff7ed: #fff7ed;
  --grevo-palette-c-fed7aa: #fed7aa;
  --grevo-palette-c-f97316: #f97316;
  --grevo-palette-c-7f1d1d: #7f1d1d;
  --grevo-palette-c-rgba-15-23-42-2: rgba(15,23,42,.2);
  --grevo-palette-c-e8eef7: #e8eef7;
  --grevo-palette-c-rgba-15-36-66-04: rgba(15,36,66,.04);
  --grevo-palette-c-3fbf17: #3fbf17;
  --grevo-palette-c-17243a99: #17243a99;
  /* Font defaults, weights and scalable type sizes. */
  --grevo-font-arial: Arial,sans-serif;
  --grevo-font-serif: Georgia,serif;
  --grevo-font-navigation: "DM Sans","Segoe UI",sans-serif;
  --grevo-font-navigation-4: "DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --grevo-font-navigation-5: "DM Sans",sans-serif;
  --grevo-font-inter: Inter, Arial, Helvetica, sans-serif;
  --grevo-font-monospace: ui-monospace,SFMono-Regular,Consolas,monospace;
  --grevo-weight-700: 700;
  --grevo-weight-800: 800;
  --grevo-weight-900: 900;
  --grevo-weight-600: 600;
  --grevo-weight-500: 500;
  --grevo-weight-400: 400;
  --grevo-weight-850: 850;
  --grevo-weight-750: 750;
  --grevo-size-12px: calc(12px * var(--grevo-type-scale));
  --grevo-size-14px: calc(14px * var(--grevo-type-scale));
  --grevo-size-18px: calc(18px * var(--grevo-type-scale));
  --grevo-size-16px: calc(16px * var(--grevo-type-scale));
  --grevo-size-13px: calc(13px * var(--grevo-type-scale));
  --grevo-size-21px: calc(21px * var(--grevo-type-scale));
  --grevo-size-20px: calc(20px * var(--grevo-type-scale));
  --grevo-size-24px: calc(24px * var(--grevo-type-scale));
  --grevo-size-11px: calc(11px * var(--grevo-type-scale));
  --grevo-size-10px: calc(10px * var(--grevo-type-scale));
  --grevo-size-25px: calc(25px * var(--grevo-type-scale));
  --grevo-size-19px: calc(19px * var(--grevo-type-scale));
  --grevo-size-15px: calc(15px * var(--grevo-type-scale));
  --grevo-size-23px: calc(23px * var(--grevo-type-scale));
  --grevo-size-17px: calc(17px * var(--grevo-type-scale));
  --grevo-size-9px: calc(9px * var(--grevo-type-scale));
  --grevo-size-26px: calc(26px * var(--grevo-type-scale));
  --grevo-size-22px: calc(22px * var(--grevo-type-scale));
  --grevo-size-30px: calc(30px * var(--grevo-type-scale));
  --grevo-size-3p3vw: calc(3.3vw * var(--grevo-type-scale));
  --grevo-size-40px: calc(40px * var(--grevo-type-scale));
  --grevo-size-28px: calc(28px * var(--grevo-type-scale));
  --grevo-size-34px: calc(34px * var(--grevo-type-scale));
  --grevo-size-31px: calc(31px * var(--grevo-type-scale));
  --grevo-size-32px: calc(32px * var(--grevo-type-scale));
}

/* GREVOCSS — shared Grevo UI template. Existing module styles are retained below. */
:root { --bg:var(--grevo-theme-bg,var(--grevo-palette-c-f5f8fb)); --ink:var(--grevo-theme-ink,var(--grevo-palette-c-17243a)); --muted:var(--grevo-palette-c-6b778b); --line:var(--grevo-theme-border,var(--grevo-palette-c-e2e9f0)); --panel:var(--grevo-theme-surface,var(--grevo-palette-surface)); --blue:var(--grevo-theme-primary,var(--grevo-palette-action-blue)); --blue-deep:var(--grevo-theme-primary-hover,var(--grevo-palette-action-blue-hover)); --green:var(--grevo-palette-c-59cd03); --green-pale:var(--grevo-palette-c-effbe6); --blue-pale:var(--grevo-palette-c-edf2ff); --shadow:0 8px 24px var(--grevo-palette-c-rgba-30-62-105-07); }
:root {
  --grevo-font: var(--grevo-theme-font,var(--grevo-font-inter));
  --grevo-bg: var(--bg); --grevo-surface: var(--panel); --grevo-ink: var(--ink);
  --grevo-muted: var(--grevo-palette-c-52627a); --grevo-border: var(--line);
  --grevo-primary: var(--blue); --grevo-primary-hover: var(--blue-deep);
  --grevo-accent: var(--green); --grevo-radius: 12px; --grevo-radius-control: 7px;
  --grevo-space-1: 4px; --grevo-space-2: 8px; --grevo-space-3: 12px;
  --grevo-space-4: 16px; --grevo-space-6: 24px; --grevo-space-8: 32px;
  --grevo-shadow: var(--shadow);
}
.grevo-stack { display: grid; gap: var(--grevo-space-6); }
.grevo-row { display: flex; align-items: center; gap: var(--grevo-space-3); }
.grevo-card { padding: var(--grevo-space-8); color: var(--grevo-ink); background: var(--grevo-surface); border: 1px solid var(--grevo-border); border-radius: var(--grevo-radius); box-shadow: var(--grevo-shadow); }
.grevo-kicker { margin: 0; color: var(--grevo-muted); font-size: var(--grevo-size-11px); font-weight: var(--grevo-weight-800); letter-spacing: 1.4px; text-transform: uppercase; }
.grevo-muted { color: var(--grevo-muted); }
.grevo-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-bfd3f9)); border-radius: 5px; color: var(--grevo-palette-c-163f86); background: var(--blue-pale); font-size: var(--grevo-size-11px); font-weight: var(--grevo-weight-700); line-height: 1.3; }
.grevo-field { display: grid; gap: var(--grevo-space-2); color: var(--grevo-ink); font-size: var(--grevo-size-13px); font-weight: var(--grevo-weight-700); }
.grevo-field input, .grevo-field select, .grevo-field textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-bdcadb)); border-radius: var(--grevo-radius-control); color: var(--grevo-ink); background: var(--grevo-surface); font: var(--grevo-weight-400) var(--grevo-size-14px)/1.45 var(--grevo-font); }
.grevo-field input::placeholder { color: var(--grevo-palette-c-6b778b); opacity: 1; }
.grevo-field :is(input, select, textarea):focus-visible, .grevo-button:focus-visible, .grevo-link:focus-visible { outline: 3px solid var(--grevo-palette-c-9cbaff); outline-offset: 3px; border-color: var(--grevo-primary); }
.grevo-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; gap: var(--grevo-space-2); padding: 11px 18px; border: 1px solid var(--grevo-primary); border-radius: var(--grevo-radius-control); color: var(--grevo-palette-surface); background: var(--grevo-primary); font: var(--grevo-weight-700) var(--grevo-size-14px)/1.45 var(--grevo-font); text-decoration: none; cursor: pointer; }
.grevo-button:hover { border-color: var(--grevo-primary-hover); background: var(--grevo-primary-hover); }
.grevo-button--secondary { color: var(--grevo-ink); border-color: var(--grevo-theme-border,var(--grevo-palette-c-bdcadb)); background: var(--grevo-surface); }
.grevo-button--secondary:hover { color: var(--grevo-primary); border-color: var(--grevo-primary); background: var(--blue-pale); }
.grevo-button:disabled { opacity: .55; cursor: not-allowed; }
.grevo-link { color: var(--grevo-primary); font-weight: var(--grevo-weight-700); text-underline-offset: 3px; }
.grevo-notice { padding: var(--grevo-space-3) var(--grevo-space-4); border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-f1c0c0)); border-radius: var(--grevo-radius-control); color: var(--grevo-palette-c-9f1d1d); background: var(--grevo-palette-c-fff1f1); font-size: var(--grevo-size-13px); }
.login-page.grevo-auth { padding: 40px 24px; background: var(--grevo-bg); }
.grevo-auth-shell { display: grid; grid-template-columns: 1fr 1fr; width: min(100%, 1000px); overflow: hidden; border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-d6e1ed)); border-radius: 16px; background: var(--grevo-surface); box-shadow: 0 18px 60px var(--grevo-palette-c-rgba-23-36-58-08); }
.grevo-auth-brand { display: flex; flex-direction: column; gap: 48px; padding: 44px; border-right: 1px solid var(--grevo-border); background: linear-gradient(150deg, var(--grevo-palette-c-f3f7ff) 0%, var(--grevo-theme-surface,var(--grevo-palette-surface)) 72%, var(--grevo-palette-c-f1fbe9) 100%); }
.grevo-auth-logo { display: flex; align-items: center; gap: 12px; }
.grevo-auth-logo img { flex-shrink: 0; width: 44px; height: 44px; object-fit: contain; }
.grevo-auth-logo strong { color: var(--grevo-palette-brand-green); font-size: var(--grevo-size-24px); font-weight: var(--grevo-weight-800); letter-spacing: -.6px; }
.grevo-auth-brand h2 { margin: 12px 0 18px; max-width: 360px; font-size: clamp(var(--grevo-size-30px), var(--grevo-size-3p3vw), var(--grevo-size-40px)); line-height: 1.16; letter-spacing: -1.3px; }
.grevo-auth-brand p { max-width: 320px; color: var(--grevo-muted); line-height: 1.7; }
.grevo-auth-modules { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.grevo-auth-modules span { padding: 7px 11px; border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-d2deed)); border-radius: 6px; color: var(--grevo-palette-c-244264); background: var(--grevo-palette-c-rgba-255-255-255-9); font-size: var(--grevo-size-12px); font-weight: var(--grevo-weight-600); }
.grevo-auth-brand footer { margin-top: auto; padding-top: 24px; color: var(--grevo-muted); font-size: var(--grevo-size-11px); }
.grevo-auth-card { display: flex; flex-direction: column; justify-content: center; gap: 26px; min-width: 0; padding: 48px 44px; }
.grevo-auth-context { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.grevo-auth-card h1 { margin: 12px 0 8px; font-size: var(--grevo-size-28px); line-height: 1.2; letter-spacing: -.7px; }
.grevo-auth-card h1 + p { color: var(--grevo-muted); line-height: 1.6; }
.grevo-auth-form { display: grid; gap: 20px; }
.grevo-auth-recovery { display: flex; justify-content: flex-end; margin-top: -4px; font-size: var(--grevo-size-12px); }
.grevo-auth-caption { padding-top: 20px; border-top: 1px solid var(--grevo-border); color: var(--grevo-muted); font-size: var(--grevo-size-11px); line-height: 1.6; }
@media (max-width: 720px) {
  .login-page.grevo-auth { padding: 24px 16px; }
  .grevo-auth-shell { max-width: 460px; grid-template-columns: 1fr; border-radius: 12px; }
  .grevo-auth-brand { gap: 0; padding: 24px; border-right: 0; border-bottom: 1px solid var(--grevo-border); }
  .grevo-auth-brand > div:not(.grevo-auth-logo), .grevo-auth-brand footer { display: none; }
  .grevo-auth-card { padding: 28px 24px; }
}
* { box-sizing:border-box; }
body { margin:0; font:var(--grevo-size-14px)/1.45 var(--grevo-theme-font,var(--grevo-font-inter)); background:var(--bg); color:var(--ink); }
.topbar { position:fixed; z-index:30; inset:0 auto 0 0; display:flex; flex-direction:column; align-items:stretch; gap:14px; width:264px; min-height:100vh; padding:18px 13px 14px; background:var(--grevo-theme-surface,var(--grevo-palette-surface)); border-right:1px solid var(--grevo-theme-border,var(--grevo-palette-c-d7e0ea)); box-shadow:4px 0 18px var(--grevo-palette-c-rgba-30-62-105-06); }
.brand { display:flex; flex:0 0 auto; align-items:center; gap:8px; min-height:54px; color:var(--grevo-palette-c-1d3e70); text-decoration:none; font-size:var(--grevo-size-22px); font-weight:var(--grevo-weight-800); letter-spacing:.4px; padding:0 9px 15px; border-right:0; border-bottom:1px solid var(--line); }
.brand-mark { width:34px; height:34px; object-fit:contain; }
.topbar .brand-grevo { color:var(--grevo-palette-brand-green); } .topbar .brand-star { color:var(--grevo-palette-c-7bc51b); margin-left:-3px; }
.brand small { margin-left:auto; padding:3px 6px; color:var(--green); background:var(--green-pale); border-radius:5px; font-size:var(--grevo-size-9px); letter-spacing:1px; }
.topbar nav { display:flex; flex:1; min-height:0; flex-direction:column; align-items:stretch; gap:6px; padding:1px 2px 4px; overflow-x:hidden; overflow-y:auto; scrollbar-width:thin; } .nav-label { display:none; }
.topbar nav a { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:10px; flex:0 0 auto; min-height:50px; padding:8px 10px; color:var(--grevo-theme-ink,var(--grevo-palette-c-0b2442)); background:var(--grevo-theme-surface,var(--grevo-palette-surface)); border:1px solid var(--grevo-theme-border,var(--grevo-palette-c-d4deea)); text-decoration:none; border-radius:10px; font-size:var(--grevo-size-13px); font-weight:var(--grevo-weight-800); line-height:1.2; white-space:normal; }
.module-nav-icon { display:grid; place-items:center; width:32px; height:32px; color:var(--grevo-palette-c-17457f); background:var(--grevo-palette-c-f8fbff); border:1px solid var(--grevo-theme-border,var(--grevo-palette-c-c9d8e9)); border-radius:8px; font-size:var(--grevo-size-10px); font-weight:var(--grevo-weight-900); letter-spacing:.1px; }
.module-nav-label { min-width:0; overflow-wrap:anywhere; }
.topbar nav a.module-nav-link:hover { color:var(--blue); background:var(--blue-pale); border-color:var(--grevo-theme-border,var(--grevo-palette-c-b8c9df)); }
.topbar nav a.module-nav-link[aria-current="page"] { color:var(--grevo-palette-surface); background:var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); border-color:var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); box-shadow:0 5px 12px var(--grevo-palette-c-rgba-11-76-232-22); }
.topbar nav a.module-nav-link[aria-current="page"] .module-nav-icon { color:var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); background:var(--grevo-theme-surface,var(--grevo-palette-surface)); border-color:var(--grevo-theme-border,var(--grevo-palette-surface)); }
.topbar nav a.module-nav-link[aria-current="page"]:hover { color:var(--grevo-palette-surface); background:var(--grevo-palette-c-073bc0); }
.topbar nav a.logout { margin-top:auto; color:var(--grevo-palette-c-a83b3b); background:var(--grevo-palette-c-fff8f8); border-color:var(--grevo-theme-border,var(--grevo-palette-c-efd1d1)); }
.topbar nav a.logout .module-nav-icon { color:var(--grevo-palette-c-a83b3b); background:var(--grevo-theme-surface,var(--grevo-palette-surface)); border-color:var(--grevo-theme-border,var(--grevo-palette-c-efd1d1)); font-size:var(--grevo-size-16px); }
.content { min-height:100vh; margin:0 0 0 264px; padding:34px; max-width:none; }
.page-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:25px 28px; margin-bottom:22px; border:0; border-radius:14px; background:linear-gradient(105deg,var(--grevo-theme-primary,var(--grevo-palette-action-blue)),var(--grevo-palette-c-59cd03)); box-shadow:var(--shadow); color:var(--grevo-palette-surface); } .page-head h1,.page-head p,.page-head .eyebrow,.page-head strong,.page-head small { color:var(--grevo-palette-surface); }
.eyebrow { display:block; color:var(--green); font-size:var(--grevo-size-10px); font-weight:var(--grevo-weight-800); letter-spacing:1px; text-transform:uppercase; }
h1 { margin:5px 0 4px; font-size:var(--grevo-size-28px); letter-spacing:-.5px; } h2 { margin:6px 0; font-size:var(--grevo-size-19px); } p { margin:0; color:var(--muted); }
.profile-chip { display:flex; gap:9px; align-items:center; min-width:150px; padding:7px 10px; border:1px solid var(--line); border-radius:9px; background:var(--grevo-theme-surface,var(--grevo-palette-surface)); } .profile-chip strong,.profile-chip small { display:block; } .profile-chip small { color:var(--muted); font-size:var(--grevo-size-11px); }
.avatar { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; color:var(--grevo-palette-surface); background:var(--blue); font-weight:var(--grevo-weight-800); }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:20px; } .metrics article,.panel,.login-box { background:var(--panel); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); }
.metrics article { min-height:132px; padding:18px; border-top:3px solid var(--blue); } .metrics article:nth-child(2n) { border-top-color:var(--green); } .metrics .featured-metric { background:linear-gradient(135deg,var(--grevo-theme-primary,var(--grevo-palette-action-blue)),var(--grevo-palette-c-59cd03)); border-top-color:var(--grevo-theme-primary,var(--grevo-palette-action-blue)); color:var(--grevo-palette-surface); } .metrics .featured-metric .metric-label,.metrics .featured-metric small { color:var(--grevo-palette-c-edfaff); }
.metric-label { display:block; color:var(--muted); font-size:var(--grevo-size-12px); font-weight:var(--grevo-weight-700); } .metrics strong { display:block; margin:10px 0 5px; font-size:var(--grevo-size-25px); } .metrics small { color:var(--muted); }
.panel { padding:23px; margin-bottom:16px; overflow-x:auto; } .grid-form { display:grid; grid-template-columns:repeat(5,minmax(150px,1fr)); gap:10px; }
input,select { width:100%; border:1px solid var(--grevo-theme-border,var(--grevo-palette-c-d7e1ed)); border-radius:7px; padding:10px 11px; background:var(--grevo-theme-surface,var(--grevo-palette-surface)); color:var(--ink); font:inherit; } input:focus,select:focus { outline:3px solid var(--grevo-palette-c-dceaff); border-color:var(--blue); }
button { border:0; border-radius:7px; padding:10px 14px; color:var(--grevo-palette-surface); background:var(--blue); font-weight:var(--grevo-weight-800); cursor:pointer; } button:hover { background:var(--blue-deep); }
table { width:100%; min-width:680px; border-collapse:collapse; } th,td { padding:12px 8px; text-align:left; border-bottom:1px solid var(--line); font-size:var(--grevo-size-14px); } th { color:var(--muted); font-size:var(--grevo-size-12px); text-transform:uppercase; letter-spacing:.3px; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:linear-gradient(135deg,var(--grevo-palette-c-edf6ff) 0%,var(--grevo-palette-c-f9fffc) 55%,var(--grevo-palette-c-eafaf3) 100%); } .login-box { width:min(430px,100%); padding:30px; } .login-mark { display:block; width:54px; height:54px; margin:0 0 16px; object-fit:contain; } .login-box form { display:grid; gap:14px; } .login-box label { display:grid; gap:6px; color:var(--muted); font-weight:var(--grevo-weight-700); }
.auth-links { margin-top:16px; text-align:center; } .auth-links a { color:var(--accent); font-weight:var(--grevo-weight-700); text-decoration:none; } .auth-links a:hover { text-decoration:underline; }
.pl-page { display:grid; gap:20px; }
.pl-page-head { margin-bottom:0; }
.pl-submit { flex:0 0 auto; padding:12px 18px; background:linear-gradient(90deg,var(--grevo-theme-primary,var(--grevo-palette-action-blue)),var(--grevo-palette-c-59cd03)); box-shadow:0 4px 12px var(--grevo-palette-c-rgba-2-66-227-2); }
.pl-submit:hover { background:linear-gradient(90deg,var(--grevo-theme-primary-hover,var(--grevo-palette-action-blue-hover)),var(--grevo-palette-c-48ad02)); }
.pl-submit-top { color:var(--grevo-palette-c-12345b); background:var(--grevo-theme-surface,var(--grevo-palette-surface)); box-shadow:none; }
.pl-submit-top:hover { color:var(--grevo-palette-surface); background:var(--grevo-palette-c-rgba-255-255-255-18); outline:1px solid var(--grevo-palette-c-rgba-255-255-255-6); }
.pl-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; }
.pl-kpis article { padding:18px; background:var(--grevo-theme-surface,var(--grevo-palette-surface)); border:1px solid var(--line); border-top:3px solid var(--green); border-radius:13px; box-shadow:var(--shadow); }
.pl-kpis article:nth-child(odd) { border-top-color:var(--blue); }
.pl-kpis span,.pl-kpis small { display:block; color:var(--muted); }
.pl-kpis strong { display:block; margin:7px 0; font-size:var(--grevo-size-24px); }
.pl-kpis .featured-metric { color:var(--grevo-palette-surface); background:linear-gradient(135deg,var(--grevo-theme-primary,var(--grevo-palette-action-blue)),var(--grevo-palette-c-59cd03)); border-top-color:var(--grevo-theme-primary,var(--grevo-palette-action-blue)); }
.pl-kpis .featured-metric span,.pl-kpis .featured-metric small { color:var(--grevo-palette-c-effff6); }
.pl-model { display:grid; gap:16px; }
.pl-input-panel,.pl-calculation,.pl-rate-data { margin:0; }
.pl-panel-heading { display:flex; align-items:flex-start; gap:11px; margin-bottom:18px; }
.pl-panel-heading > span { display:grid; place-items:center; flex:0 0 auto; width:27px; height:27px; border-radius:50%; color:var(--grevo-palette-surface); background:linear-gradient(135deg,var(--grevo-theme-primary,var(--grevo-palette-action-blue)),var(--grevo-palette-c-59cd03)); font-size:var(--grevo-size-12px); font-weight:var(--grevo-weight-900); }
.pl-panel-heading h2 { margin:0 0 2px; color:var(--ink); }
.pl-panel-heading p { font-size:var(--grevo-size-13px); }
.pl-input-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(184px,1fr)); gap:14px; }
.pl-input-grid-single { grid-template-columns:minmax(184px,260px); }
.pl-input-grid label { display:grid; gap:5px; color:var(--grevo-palette-c-41526b); font-size:var(--grevo-size-12px); font-weight:var(--grevo-weight-800); text-transform:uppercase; letter-spacing:.25px; }
.input-unit { color:var(--muted); font-size:var(--grevo-size-10px); font-weight:var(--grevo-weight-700); letter-spacing:0; text-transform:none; }
.pl-input { width:100%; padding:10px 11px; border:1px solid var(--grevo-theme-border,var(--grevo-palette-c-d9c800)); border-radius:8px; background:var(--grevo-palette-c-fffbe0); color:var(--grevo-theme-ink,var(--grevo-palette-c-17243a)); font:inherit; font-weight:var(--grevo-weight-700); }
.pl-input:focus { outline:3px solid var(--grevo-palette-c-fff3a7); border-color:var(--grevo-theme-border,var(--grevo-palette-c-b9a800)); }
.pl-table { min-width:0; }
.pl-table th,.pl-table td { padding:10px 5px; border-bottom:1px solid var(--line); text-transform:none; letter-spacing:0; }
.pl-table th { color:var(--ink); font-size:var(--grevo-size-14px); font-weight:var(--grevo-weight-700); }
.pl-table td { width:190px; color:var(--grevo-palette-c-102e5e); text-align:right; font-size:var(--grevo-size-14px); font-weight:var(--grevo-weight-800); white-space:nowrap; }
.pl-table .total th,.pl-table .total td { padding-top:12px; border-top:2px solid var(--blue); color:var(--grevo-palette-c-102e5e); font-size:var(--grevo-size-17px); font-weight:var(--grevo-weight-900); }
.pl-table .pl-net-total th,.pl-table .pl-net-total td { color:var(--grevo-palette-brand-green); }
.pl-rate-data h3 { margin:23px 0 8px; color:var(--grevo-theme-primary,var(--grevo-palette-action-blue)); font-size:var(--grevo-size-15px); }
.pl-rate-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:9px; }
.pl-rate-table { width:100%; min-width:820px; border-collapse:collapse; }
.pl-rate-table th,.pl-rate-table td { padding:8px 9px; border-bottom:1px solid var(--line); color:var(--ink); font-size:var(--grevo-size-13px); text-align:left; vertical-align:middle; }
.pl-rate-table thead th { color:var(--grevo-palette-surface); background:linear-gradient(90deg,var(--grevo-theme-primary,var(--grevo-palette-action-blue)),var(--grevo-palette-c-59cd03)); font-size:var(--grevo-size-12px); letter-spacing:.2px; text-transform:uppercase; }
.pl-rate-table tbody tr:last-child th,.pl-rate-table tbody tr:last-child td { border-bottom:0; }
.pl-rate-table tbody th { min-width:245px; font-weight:var(--grevo-weight-800); }
.pl-rate-table td:nth-child(2),.pl-rate-table td:nth-child(3) { min-width:128px; }
.pl-rate-table .pl-input { min-width:105px; padding:8px; text-align:right; }
.pl-note-value { color:var(--grevo-palette-c-5f6d81) !important; background:var(--grevo-palette-c-f6f8fb); font-style:italic; font-weight:var(--grevo-weight-700); }
.pl-actions { display:flex; justify-content:flex-end; padding-top:18px; }
.alert { margin-bottom:14px; padding:10px; border:1px solid var(--grevo-theme-border,var(--grevo-palette-c-f1c0c0)); border-radius:7px; color:var(--grevo-palette-c-9f1d1d); background:var(--grevo-palette-c-fff1f1); }
.message-success { border-color:var(--grevo-theme-border,var(--grevo-palette-c-9ed9aa)) !important; color:var(--grevo-palette-c-075f18) !important; background:var(--grevo-palette-c-edfff1) !important; }
.message-error { border-color:var(--grevo-theme-border,var(--grevo-palette-c-f1c0c0)) !important; color:var(--grevo-palette-c-9f1d1d) !important; background:var(--grevo-palette-c-fff1f1) !important; }
.access-control-toolbar { max-width:320px; margin-bottom:20px; }
.access-control-toolbar label { display:grid; gap:7px; color:var(--grevo-palette-c-41526b); font-size:var(--grevo-size-12px); font-weight:var(--grevo-weight-800); text-transform:uppercase; letter-spacing:.25px; }
.access-group-picker { min-width:260px; padding:12px; border:1px solid var(--grevo-theme-border,var(--grevo-palette-c-rgba-255-255-255-35)); border-radius:10px; background:var(--grevo-palette-c-rgba-255-255-255-14); }
.access-group-picker label { display:grid; gap:7px; color:var(--grevo-palette-surface); font-size:var(--grevo-size-12px); font-weight:var(--grevo-weight-900); letter-spacing:.4px; text-transform:uppercase; }
.access-group-picker select { color:var(--ink); background:var(--grevo-theme-surface,var(--grevo-palette-surface)); }
.access-control-form { display:grid; gap:16px; }
.access-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.access-panel-heading h2 { margin:3px 0 0; }
.access-matrix th,.access-matrix td { vertical-align:top; }
.access-matrix td:first-child strong,.workflow-card h3 { display:block; color:var(--ink); }
.access-matrix td:first-child small { display:block; margin-top:3px; color:var(--muted); font-size:var(--grevo-size-11px); }
.access-check,.workflow-check { display:flex; align-items:center; gap:7px; color:var(--grevo-theme-ink,var(--grevo-palette-c-17243a)); font-size:var(--grevo-size-12px); font-weight:var(--grevo-weight-800); white-space:nowrap; }
.access-check input,.workflow-check input { width:auto; accent-color:var(--blue); }
.workflow-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
.workflow-card { padding:16px; border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:10px; background:var(--grevo-theme-surface,var(--grevo-palette-surface)); }
.workflow-card:nth-child(2n) { border-top-color:var(--green); }
.workflow-card h3 { margin:0 0 4px; font-size:var(--grevo-size-15px); }
.workflow-card p { margin-bottom:12px; font-size:var(--grevo-size-12px); }
.workflow-check { align-items:flex-start; padding:7px 0; border-top:1px solid var(--grevo-theme-border,var(--grevo-palette-c-eef3f8)); white-space:normal; }
.access-group-forms { display:grid; grid-template-columns:repeat(3,minmax(220px,1fr)); gap:14px; }
.access-group-forms-two { grid-template-columns:repeat(2,minmax(260px,1fr)); }
.access-group-form { display:grid; align-content:start; gap:11px; padding:17px; border:1px solid var(--line); border-radius:10px; background:var(--grevo-palette-c-f9fbfe); }
.access-group-form h3 { margin:0; color:var(--ink); }
.access-group-form label { display:grid; gap:5px; color:var(--grevo-palette-c-41526b); font-size:var(--grevo-size-12px); font-weight:var(--grevo-weight-800); }
.access-group-actions { display:flex; gap:9px; }
.access-protected-badge { padding:7px 10px; border:1px solid var(--grevo-theme-border,var(--grevo-palette-c-bcd1f4)); border-radius:999px; color:var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); background:var(--grevo-palette-c-edf3ff); font-size:var(--grevo-size-12px); font-weight:var(--grevo-weight-900); }
.danger-button { background:var(--grevo-palette-c-b42318); }
.danger-button:hover { background:var(--grevo-palette-c-8f1c13); }
button:disabled,.danger-button:disabled { cursor:not-allowed; opacity:.55; }
.access-delete-card p { min-height:42px; }
.group-row-actions { display:flex; align-items:center; gap:9px; }
.group-row-actions form { margin:0; }
.group-row-actions a { color:var(--blue); font-weight:var(--grevo-weight-800); text-decoration:none; }
.protected-action { color:var(--muted); font-size:var(--grevo-size-12px); font-weight:var(--grevo-weight-800); }
.compact-button { padding:7px 10px; }
main.inventory-visual-theme .danger-button { background:var(--grevo-palette-c-b42318) !important; }
main.inventory-visual-theme .danger-button:hover { background:var(--grevo-palette-c-8f1c13) !important; }
@media (max-width:900px) { .topbar { position:sticky; inset:0 auto auto 0; flex-direction:row; align-items:center; gap:12px; width:auto; min-height:76px; padding:10px 14px; border-right:0; border-bottom:1px solid var(--line); box-shadow:0 3px 16px var(--grevo-palette-c-rgba-30-62-105-05); } .brand { min-height:0; padding:0 12px 0 0; border-right:1px solid var(--line); border-bottom:0; font-size:var(--grevo-size-19px); } .topbar nav { flex-direction:row; align-items:center; gap:5px; padding:2px 0; overflow-x:auto; overflow-y:hidden; } .topbar nav a { grid-template-columns:30px auto; min-height:46px; padding:7px 10px; white-space:nowrap; } .module-nav-icon { width:30px; height:30px; } .topbar nav a.logout { margin-top:0; margin-left:auto; } .content { min-height:0; margin-left:0; padding:18px; } .metrics { grid-template-columns:repeat(2,1fr); } .pl-page-head { align-items:flex-start; flex-direction:column; } .pl-submit-top { width:100%; } }
@media (max-width:900px) { .access-group-forms { grid-template-columns:1fr; } }
@media (max-width:560px) { .page-head { padding:20px; } .profile-chip { display:none; } .metrics,.grid-form { grid-template-columns:1fr; } .pl-input-grid,.pl-input-grid-single { grid-template-columns:1fr; } .pl-kpis { grid-template-columns:1fr; } .pl-table th,.pl-table td { font-size:var(--grevo-size-13px); } .pl-table td { width:130px; } }

/* Inventory is the shared typography and colour reference for core modules. */
main.inventory-visual-theme,
main.inventory-visual-theme * { font-family:var(--grevo-theme-font,var(--grevo-font-inter)) !important; }
main.inventory-visual-theme { color:var(--ink); font-size:var(--grevo-size-14px); line-height:1.45; }
main.inventory-visual-theme h1 { font-size:var(--grevo-size-28px); }
main.inventory-visual-theme h2 { color:var(--ink); font-size:var(--grevo-size-18px); }
main.inventory-visual-theme p,
main.inventory-visual-theme small,
main.inventory-visual-theme .party-help,
main.inventory-visual-theme .sourcing-help,
main.inventory-visual-theme .pl-note,
main.inventory-visual-theme .pl-link-status { color:var(--muted) !important; }
main.inventory-visual-theme .page-head,
main.inventory-visual-theme .page-head h1,
main.inventory-visual-theme .page-head h2,
main.inventory-visual-theme .page-head p,
main.inventory-visual-theme .page-head span,
main.inventory-visual-theme .page-head strong,
main.inventory-visual-theme .page-head small { color:var(--grevo-palette-surface) !important; }
main.inventory-visual-theme .page-head .profile-chip span,
main.inventory-visual-theme .page-head .profile-chip strong,
main.inventory-visual-theme .page-head .profile-chip small { color:var(--ink) !important; }
main.inventory-visual-theme .page-head .profile-chip .avatar { color:var(--grevo-palette-surface) !important; }
main.inventory-visual-theme input,
main.inventory-visual-theme select,
main.inventory-visual-theme textarea { color:var(--ink) !important; font-size:var(--grevo-size-14px) !important; }
main.inventory-visual-theme button,
main.inventory-visual-theme .party-export { color:var(--grevo-palette-surface) !important; background:var(--blue) !important; font-size:var(--grevo-size-14px) !important; }
main.inventory-visual-theme button:hover,
main.inventory-visual-theme .party-export:hover { background:var(--blue-deep) !important; }
main.inventory-visual-theme button.secondary,
main.inventory-visual-theme .pl-action.secondary { color:var(--ink) !important; background:var(--grevo-theme-surface,var(--grevo-palette-surface)) !important; border-color:var(--line) !important; }
main.inventory-visual-theme table { color:var(--ink); font-size:var(--grevo-size-14px) !important; }
main.inventory-visual-theme th { color:var(--muted) !important; background:var(--grevo-theme-surface,var(--grevo-palette-surface)) !important; font-size:var(--grevo-size-12px) !important; font-weight:var(--grevo-weight-700) !important; }
main.inventory-visual-theme td { color:var(--ink) !important; font-size:var(--grevo-size-14px) !important; }
main.inventory-visual-theme .pl-section-row th { color:var(--ink) !important; background:var(--bg) !important; font-size:var(--grevo-size-14px) !important; }
main.inventory-visual-theme .pl-summary-card span,
main.inventory-visual-theme .metric-label { color:var(--muted) !important; font-size:var(--grevo-size-12px) !important; }
main.inventory-visual-theme .pl-summary-card strong { color:var(--ink) !important; font-size:var(--grevo-size-25px) !important; }
main.inventory-visual-theme .pl-summary-card.featured,
main.inventory-visual-theme .featured-metric { color:var(--grevo-palette-surface) !important; background:linear-gradient(135deg,var(--blue),var(--green)) !important; }
main.inventory-visual-theme .pl-summary-card.featured span,
main.inventory-visual-theme .pl-summary-card.featured strong,
main.inventory-visual-theme .pl-summary-card.featured small,
main.inventory-visual-theme .featured-metric span,
main.inventory-visual-theme .featured-metric strong,
main.inventory-visual-theme .featured-metric small { color:var(--grevo-palette-surface) !important; }
main.inventory-visual-theme .party-tab.is-active,
main.inventory-visual-theme .sourcing-tab.is-active { color:var(--grevo-palette-surface) !important; background:var(--blue) !important; }
main.inventory-visual-theme .sourcing-code,
main.inventory-visual-theme .party-code { color:var(--blue) !important; }

.graph-page-head { align-items:center; }
.graph-status { flex:0 0 auto; padding:10px 15px; border:1px solid var(--grevo-theme-border,var(--grevo-palette-c-rgba-255-255-255-48)); border-radius:999px; color:var(--grevo-palette-surface); background:var(--grevo-palette-c-rgba-255-255-255-14); font-weight:var(--grevo-weight-900); }
.graph-status.is-connected { color:var(--grevo-palette-c-0c5d2e); background:var(--grevo-palette-c-e8ffef); border-color:var(--grevo-theme-border,var(--grevo-palette-c-b8e8c7)); }
.graph-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.graph-card { margin:0; }
.graph-card h2 { margin:7px 0 10px; }
.graph-details { margin:16px 0; }
.graph-details > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.graph-details dt { color:var(--muted); font-weight:var(--grevo-weight-800); }
.graph-details dd { min-width:0; margin:0; color:var(--ink); font-weight:var(--grevo-weight-700); overflow-wrap:anywhere; }
.graph-code { font-family:var(--grevo-theme-font,var(--grevo-font-monospace)); font-size:var(--grevo-size-12px); }
.graph-actions { display:flex; align-items:center; gap:10px; margin-top:18px; }
.graph-actions form { margin:0; }
.graph-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:10px 15px; border-radius:7px; color:var(--grevo-palette-surface); background:var(--blue); font-weight:var(--grevo-weight-800); text-decoration:none; }
.graph-button:hover { background:var(--blue-deep); }
.graph-missing { margin:15px 0 0; padding-left:21px; color:var(--grevo-palette-c-9f1d1d); font-weight:var(--grevo-weight-700); }
.graph-note { margin-top:12px; }
@media (max-width:800px) { .graph-grid { grid-template-columns:1fr; } .graph-details > div { grid-template-columns:1fr; gap:3px; } }


/* Tasks module */
.tasks-hero {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 30px 38px; margin-bottom: 18px; border-radius: 22px; color: var(--grevo-palette-surface);
  background: linear-gradient(110deg, var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)) 0%, var(--grevo-palette-c-24728f) 48%, var(--grevo-palette-c-4bd400) 100%);
  box-shadow: 0 16px 38px var(--grevo-palette-c-rgba-24-63-104-13);
}
.tasks-hero h1 { color: var(--grevo-palette-surface); font-size: var(--grevo-size-40px); margin: 7px 0; }
main.inventory-visual-theme .tasks-hero p,
main.inventory-visual-theme .tasks-hero .eyebrow { color: var(--grevo-palette-surface) !important; margin: 0; }
.tasks-hero-count { min-width: 150px; padding: 16px 20px; border-radius: 16px; background: var(--grevo-palette-c-rgba-255-255-255-16); text-align: center; }
.tasks-hero-count strong, .tasks-hero-count span { display: block; color: var(--grevo-palette-surface); }
.tasks-hero-count strong { font-size: var(--grevo-size-34px); }
.tasks-tabs { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 18px; padding: 6px; border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-dbe4ef)); border-radius: 15px; background: var(--grevo-theme-surface,var(--grevo-palette-surface)); }
.tasks-tabs a { margin: 0; padding: 11px 15px; color: var(--grevo-palette-c-334155); white-space: nowrap; font-weight: var(--grevo-weight-800); border-radius: 10px; text-decoration: none; }
.tasks-tabs a[aria-current="page"] { color: var(--grevo-palette-surface); background: linear-gradient(110deg,var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)),var(--grevo-palette-c-49cf00)); }
.tasks-alert { border-radius: 12px; }
.tasks-create-panel summary, .tasks-action-card > summary, .tasks-decision-actions details > summary, .tasks-inline-actions details > summary { cursor: pointer; font-weight: var(--grevo-weight-900); color: var(--grevo-theme-ink,var(--grevo-palette-c-0b2442)); }
.tasks-create-panel > summary { font-size: var(--grevo-size-20px); }
.tasks-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.tasks-form label, .tasks-filter-form label, .tasks-action-card label, .tasks-decision-actions label, .tasks-inline-actions label { display: grid; gap: 7px; color: var(--grevo-palette-c-334155); font-weight: var(--grevo-weight-800); }
.tasks-create-form > label { align-content: start; }
.tasks-form textarea, .tasks-action-card textarea, .tasks-decision-actions textarea, .tasks-inline-actions textarea {
  width: 100%; border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-cfdbea)); border-radius: 10px; padding: 11px; font: inherit; resize: vertical;
}
.tasks-span-2 { grid-column: span 2; }
.tasks-form-actions { display: flex; align-items: end; }
.tasks-form-actions button { width: 100%; min-height: 44px; }
.tasks-section-title { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin: 24px 0 12px; }
.tasks-section-title h2 { margin: 4px 0 0; font-size: var(--grevo-size-25px); }
.tasks-section-title p { margin: 0; }
.tasks-summary-cards { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 11px; }
.tasks-summary-cards article { padding: 16px; background: var(--grevo-theme-surface,var(--grevo-palette-surface)); border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-dbe4ef)); border-top: 4px solid var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); border-radius: 13px; }
.tasks-summary-cards article.is-warning { border-top-color: var(--grevo-theme-border,var(--grevo-palette-c-dc2626)); }
.tasks-summary-cards span, .tasks-summary-cards strong { display: block; }
.tasks-summary-cards span { color: var(--grevo-palette-c-64748b); font-weight: var(--grevo-weight-700); }
.tasks-summary-cards strong { margin-top: 8px; font-size: var(--grevo-size-28px); color: var(--grevo-theme-ink,var(--grevo-palette-c-0b2442)); }
.tasks-summary-table-wrap { margin-top: 12px; }
.tasks-summary-table a { color: var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); font-weight: var(--grevo-weight-800); text-decoration: none; }
.tasks-summary-table small { color: var(--grevo-palette-c-64748b); }
.tasks-mini-split, .tasks-footnote { margin-top: 4px; color: var(--grevo-palette-c-64748b); font-size: var(--grevo-size-12px); }
.tasks-filter-form { display: grid; grid-template-columns: minmax(240px,2fr) repeat(4,minmax(140px,1fr)); gap: 10px; align-items: end; }
.tasks-check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; align-self: center; }
.tasks-check input { width: auto; }
.tasks-filter-actions { display: flex; gap: 8px; align-items: center; }
.tasks-filter-actions a { color: var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); font-weight: var(--grevo-weight-800); }
.tasks-detail { margin: 20px 0; padding: 24px; border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-cbd9e8)); border-radius: 18px; background: var(--grevo-theme-surface,var(--grevo-palette-surface)); box-shadow: 0 18px 45px var(--grevo-palette-c-rgba-15-36-66-09); }
.tasks-detail-head { display: flex; justify-content: space-between; gap: 16px; }
.tasks-detail-head h2 { margin: 5px 0 8px; font-size: var(--grevo-size-30px); color: var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); }
.tasks-detail-head p { max-width: 900px; margin: 0; color: var(--grevo-palette-c-334155); }
.tasks-close { color: var(--grevo-palette-c-64748b); font-size: var(--grevo-size-31px); text-decoration: none; line-height: 1; }
.tasks-progress { display: grid; grid-template-columns: repeat(4,1fr); padding: 0; margin: 26px 0 20px; list-style: none; }
.tasks-progress li { position: relative; text-align: center; color: var(--grevo-palette-c-94a3b8); }
.tasks-progress li::before { content: ""; position: absolute; left: -50%; right: 50%; top: 9px; height: 4px; background: var(--grevo-palette-c-dce5ef); z-index: 0; }
.tasks-progress li:first-child::before { display: none; }
.tasks-progress li span { position: relative; display: block; width: 22px; height: 22px; margin: 0 auto 8px; border: 4px solid var(--grevo-theme-border,var(--grevo-palette-c-dce5ef)); border-radius: 50%; background: var(--grevo-theme-surface,var(--grevo-palette-surface)); z-index: 1; }
.tasks-progress li.is-complete { color: var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); }
.tasks-progress li.is-complete::before, .tasks-progress li.is-complete span { border-color: var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); background: var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); }
.tasks-progress li strong { font-size: var(--grevo-size-13px); }
.tasks-detail-meta { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.tasks-detail-meta div { padding: 12px; border-radius: 10px; background: var(--grevo-palette-c-f6f9fc); }
.tasks-detail-meta span, .tasks-detail-meta strong { display: block; }
.tasks-detail-meta span { color: var(--grevo-palette-c-64748b); font-size: var(--grevo-size-12px); }
.tasks-detail-meta strong { margin-top: 4px; overflow-wrap: anywhere; color: var(--grevo-theme-ink,var(--grevo-palette-c-0b2442)); }
.tasks-overdue, .tasks-delay, .tasks-blocked, .tasks-cancelled-banner { display: flex; gap: 8px; align-items: center; margin-top: 12px; padding: 12px 15px; border-radius: 10px; }
.tasks-overdue, .tasks-blocked { color: var(--grevo-palette-c-991b1b); background: var(--grevo-palette-c-fff1f2); border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-fecdd3)); }
.tasks-delay { color: var(--grevo-palette-c-9a3412); background: var(--grevo-palette-c-fff7ed); border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-fed7aa)); }
.tasks-cancelled-banner { justify-content: space-between; color: var(--grevo-palette-c-475569); background: var(--grevo-palette-c-f1f5f9); border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-cbd5e1)); }
.tasks-actions-grid { display: flex; flex-wrap: wrap; gap: 10px; align-items: start; margin: 18px 0; }
.tasks-actions-grid > form, .tasks-actions-grid > details { flex: 1 1 220px; }
.tasks-action-card, .tasks-decision-actions details, .tasks-inline-actions details { padding: 12px; border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-dbe4ef)); border-radius: 11px; background: var(--grevo-palette-c-f8fafc); }
.tasks-action-card form, .tasks-decision-actions form, .tasks-inline-actions form { display: grid; gap: 10px; margin-top: 12px; }
.tasks-detail-columns { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-top: 18px; }
.tasks-detail-columns > section { min-width: 0; }
.tasks-detail-columns h3 { margin: 0 0 10px; color: var(--grevo-theme-ink,var(--grevo-palette-c-0b2442)); }
.tasks-issue-card, .tasks-instruction-card { padding: 14px; margin-bottom: 10px; border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-dbe4ef)); border-left: 5px solid var(--grevo-theme-border,var(--grevo-palette-c-dc2626)); border-radius: 11px; background: var(--grevo-theme-surface,var(--grevo-palette-surface)); }
.tasks-issue-card.is-delay { border-left-color: var(--grevo-theme-border,var(--grevo-palette-c-f97316)); }
.tasks-issue-card.is-no_delay { border-left-color: var(--grevo-theme-border,var(--grevo-palette-c-dc2626)); }
.tasks-issue-title { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.tasks-issue-flag { position: relative; color: var(--grevo-palette-c-dc2626); font-size: var(--grevo-size-20px); cursor: help; outline-offset: 3px; }
.tasks-issue-flag::after { content: attr(data-tooltip); position: absolute; z-index: 20; left: 50%; bottom: calc(100% + 8px); width: min(300px,70vw); padding: 9px 11px; border-radius: 8px; color: var(--grevo-palette-surface); background: var(--grevo-palette-c-7f1d1d); font: var(--grevo-weight-600) var(--grevo-size-12px)/1.35 var(--grevo-theme-font,var(--grevo-font-arial)); box-shadow: 0 8px 20px var(--grevo-palette-c-rgba-15-23-42-2); opacity: 0; visibility: hidden; transform: translate(-50%,4px); transition: .15s ease; pointer-events: none; }
.tasks-issue-flag:hover::after, .tasks-issue-flag:focus::after, .tasks-issue-flag.is-open::after { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.tasks-state-pill, .tasks-status { padding: 4px 8px; border-radius: 999px; background: var(--grevo-palette-c-e8eef7); color: var(--grevo-palette-c-334155); font-size: var(--grevo-size-12px); font-weight: var(--grevo-weight-800); text-transform: capitalize; }
.tasks-issue-card small, .tasks-instruction-card small { display: block; margin-top: 5px; color: var(--grevo-palette-c-64748b); }
.tasks-decision-actions, .tasks-inline-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.tasks-danger { background: var(--grevo-palette-c-b91c1c); }
.tasks-danger:hover { background: var(--grevo-palette-c-991b1b); }
.tasks-timeline { padding-left: 19px; border-left: 2px solid var(--grevo-theme-border,var(--grevo-palette-c-dbe4ef)); list-style: none; }
.tasks-timeline li { position: relative; padding: 0 0 16px 14px; }
.tasks-timeline li::before { content: ""; position: absolute; left: -24px; top: 3px; width: 10px; height: 10px; border: 3px solid var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); border-radius: 50%; background: var(--grevo-theme-surface,var(--grevo-palette-surface)); }
.tasks-timeline strong, .tasks-timeline span { display: block; }
.tasks-timeline span { margin-top: 3px; color: var(--grevo-palette-c-64748b); font-size: var(--grevo-size-12px); }
.tasks-card-list { display: grid; gap: 10px; }
.tasks-card { border: 1px solid var(--grevo-theme-border,var(--grevo-palette-c-dbe4ef)); border-left: 5px solid var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); border-radius: 14px; background: var(--grevo-theme-surface,var(--grevo-palette-surface)); box-shadow: 0 5px 16px var(--grevo-palette-c-rgba-15-36-66-04); }
.tasks-card.is-overdue, .tasks-card.is-blocked { border-left-color: var(--grevo-theme-border,var(--grevo-palette-c-dc2626)); }
.tasks-card-main { display: block; padding: 16px 18px; color: inherit; text-decoration: none; }
.tasks-card-top { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.tasks-serial { color: var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); font-size: var(--grevo-size-18px); }
.tasks-card p { margin: 10px 0; color: var(--grevo-palette-c-334155); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tasks-card-meta { display: flex; gap: 16px; flex-wrap: wrap; color: var(--grevo-palette-c-64748b); font-size: var(--grevo-size-13px); }
.tasks-card-meta strong { color: var(--grevo-palette-c-334155); }
.tasks-overdue-text, .tasks-delay-icon { color: var(--grevo-palette-c-dc2626); font-weight: var(--grevo-weight-900); }
.tasks-progress-compact { display: flex; gap: 0; margin: 13px 0 0; }
.tasks-progress-compact span { flex: 1; height: 5px; background: var(--grevo-palette-c-dbe4ef); }
.tasks-progress-compact span:first-child { border-radius: 99px 0 0 99px; }
.tasks-progress-compact span:last-child { border-radius: 0 99px 99px 0; }
.tasks-progress-compact span.is-complete { background: linear-gradient(90deg,var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)),var(--grevo-palette-c-3fbf17)); }
.tasks-empty { text-align: center; padding: 35px; }
.tasks-empty-small { padding: 16px; border-radius: 10px; background: var(--grevo-palette-c-f8fafc); }
.tasks-notification-list { display: grid; gap: 7px; }
.tasks-notification-list a { display: grid; grid-template-columns: 110px 1fr auto; gap: 10px; padding: 11px; border-radius: 9px; color: var(--grevo-palette-c-334155); text-decoration: none; background: var(--grevo-palette-c-f8fafc); }
.tasks-notification-list a.is-unread { background: var(--grevo-palette-c-eaf1ff); box-shadow: inset 4px 0 var(--grevo-theme-primary,var(--grevo-palette-c-0b4ce8)); }
.tasks-notification-list small { color: var(--grevo-palette-c-64748b); }
.tasks-empty-small { color: var(--grevo-palette-c-64748b); }
@media (max-width: 1150px) {
  .tasks-summary-cards { grid-template-columns: repeat(3,1fr); }
  .tasks-detail-meta { grid-template-columns: repeat(3,1fr); }
  .tasks-filter-form { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 760px) {
  .tasks-hero { align-items: flex-start; padding: 23px; }
  .tasks-hero h1 { font-size: var(--grevo-size-32px); }
  .tasks-hero-count { display: none; }
  .tasks-form, .tasks-filter-form, .tasks-detail-columns { grid-template-columns: 1fr; }
  .tasks-span-2 { grid-column: auto; }
  .tasks-summary-cards, .tasks-detail-meta { grid-template-columns: repeat(2,1fr); }
  .tasks-section-title { align-items: flex-start; flex-direction: column; }
  .tasks-notification-list a { grid-template-columns: 1fr; }
  .tasks-progress li strong { font-size: var(--grevo-size-11px); }
  .tasks-card-meta { display: grid; gap: 5px; }
  .tasks-card p { white-space: normal; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
}
/* Customer quotation — GREVOCSS */
.grevo-quotation{min-width:0;width:100%;color:var(--grevo-ink)}
.grevo-quotation .grevo-card{padding:24px;min-width:0}
.grevo-quotation h2{font-size:var(--grevo-size-25px);margin:0 0 10px}.grevo-quotation h3{font-size:var(--grevo-size-18px);margin:0 0 20px}
.grevo-quotation-heading{justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap}
.grevo-quotation-actions{justify-content:flex-end;gap:12px;flex-wrap:wrap}
.grevo-quotation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grevo-quotation .grevo-field{min-width:0;gap:7px;display:flex;flex-direction:column;font-size:var(--grevo-size-13px);font-weight:var(--grevo-weight-600)}
.grevo-quotation .grevo-field input,.grevo-quotation .grevo-field select,.grevo-quotation .grevo-field textarea{width:100%;min-width:0;box-sizing:border-box}
.grevo-quotation input[readonly]{background:var(--grevo-bg);color:var(--grevo-muted)}
.grevo-quotation-wide{grid-column:span 2}.grevo-quotation-table-scroll{overflow-x:auto;margin:8px 0 16px}
.grevo-quotation-table{width:100%;min-width:760px;border-collapse:collapse}
.grevo-quotation-table th{font-size:var(--grevo-size-11px);text-transform:uppercase;letter-spacing:.04em;color:var(--grevo-muted);background:var(--grevo-bg);white-space:nowrap}
.grevo-quotation-table td,.grevo-quotation-table th{padding:12px 8px;border-bottom:1px solid var(--grevo-border);text-align:left;vertical-align:top}
.grevo-quotation-table th:first-child{width:35%}.grevo-quotation-table input{width:90px;box-sizing:border-box}.grevo-quotation-table textarea{width:100%;min-width:180px;box-sizing:border-box}
.grevo-quotation-table input,.grevo-quotation-table textarea{border:1px solid var(--grevo-border);border-radius:var(--grevo-radius-control);padding:10px;font:inherit;background:var(--grevo-theme-surface,var(--grevo-palette-surface));color:var(--grevo-ink)}
.grevo-quotation-table output{display:block;white-space:nowrap;padding-top:10px;font-variant-numeric:tabular-nums}
.grevo-quotation-summary{display:grid;grid-template-columns:1fr minmax(260px,40%);gap:36px}
.grevo-quotation-totals{margin:0}.grevo-quotation-totals>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0}.grevo-quotation-totals dd{margin:0;font-variant-numeric:tabular-nums}
.grevo-quotation-grand{border-top:1px solid var(--grevo-border);font-size:var(--grevo-size-19px);font-weight:var(--grevo-weight-700);color:var(--grevo-primary)}
.grevo-quotation-files{margin-top:24px}.grevo-quotation-preview{border:1px solid var(--grevo-border);border-radius:var(--grevo-radius);padding:32px;width:min(960px,calc(100vw - 32px));max-height:90vh;box-sizing:border-box;color:var(--grevo-ink)}
.grevo-quotation-preview::backdrop{background:var(--grevo-palette-c-17243a99)}.grevo-quotation-preview-actions{justify-content:flex-end;gap:12px;margin-bottom:24px}.grevo-quotation-preview article p,.grevo-quotation-preview td{white-space:pre-wrap;overflow-wrap:anywhere}.grevo-quotation-preview table{width:100%;border-collapse:collapse}.grevo-quotation-preview td,.grevo-quotation-preview th{padding:10px 6px;text-align:left;border-bottom:1px solid var(--grevo-border);font-size:var(--grevo-size-12px)}
@media(max-width:1100px){.grevo-quotation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grevo-quotation-summary{grid-template-columns:1fr;gap:20px}}
@media(max-width:640px){.grevo-quotation .grevo-card{padding:16px}.grevo-quotation-grid{grid-template-columns:1fr}.grevo-quotation-wide{grid-column:auto}.grevo-quotation-actions>*{flex:1}.grevo-quotation-heading h2{font-size:var(--grevo-size-22px)}.grevo-quotation-preview{padding:16px}.grevo-quotation-preview article{overflow-x:auto}}
@media print{body:has([data-cq-dialog][open]) *{visibility:hidden!important}body:has([data-cq-dialog][open]) [data-cq-preview-content],body:has([data-cq-dialog][open]) [data-cq-preview-content] *{visibility:visible!important}[data-cq-dialog][open]{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;max-height:none!important;border:0!important;overflow:visible!important;margin:0!important;padding:0!important}[data-cq-dialog][open]::backdrop{background:var(--grevo-theme-surface,var(--grevo-palette-surface))}.grevo-quotation-preview-actions{display:none!important}}
body.grevo-workspace main.grevo-module-theme .grevo-quotation .grevo-button{background:var(--grevo-primary)!important;border-color:var(--grevo-primary)!important;color:var(--grevo-palette-surface)!important;min-height:44px}
body.grevo-workspace main.grevo-module-theme .grevo-quotation .grevo-button--secondary{background:var(--grevo-surface)!important;border-color:var(--grevo-border)!important;color:var(--grevo-ink)!important}
@media(max-width:640px){.grevo-quotation-actions>p{flex-basis:100%}.grevo-quotation-actions .grevo-button{min-width:120px}}
.job-shell .job-stage-workspace:has(.grevo-quotation){grid-template-columns:minmax(0,1fr)!important}
.job-shell .job-stage-workspace:has(.grevo-quotation)>.job-item-sidebar{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px;min-width:0}
.job-stage-workspace:has(.grevo-quotation)>.job-item-sidebar>.job-named-menu-title{grid-column:1/-1}
.grevo-quotation{container-type:inline-size}
@container(max-width:700px){.grevo-quotation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grevo-quotation-summary{grid-template-columns:1fr;gap:20px}}
@container(max-width:460px){.grevo-quotation-grid{grid-template-columns:1fr}.grevo-quotation-wide{grid-column:auto}}
@media(max-width:640px){.job-shell .job-stage-workspace:has(.grevo-quotation)>.job-item-sidebar{display:flex!important;overflow-x:auto}.job-stage-workspace:has(.grevo-quotation)>.job-item-sidebar>.job-named-menu-title{display:none}.job-stage-workspace:has(.grevo-quotation)>.job-item-sidebar>.job-item-nav{flex:0 0 170px}}
.grevo-shipping-schematic .grevo-shipping-envelope{fill:var(--grevo-theme-surface,var(--grevo-palette-surface));stroke:var(--grevo-theme-border,var(--grevo-palette-schematic-envelope))}
.grevo-shipping-schematic rect:not(.grevo-shipping-envelope){stroke:var(--grevo-theme-border,var(--grevo-palette-schematic-outline))}
.grevo-shipping-product-1{fill:var(--grevo-palette-schematic-product-1)}
.grevo-shipping-product-2{fill:var(--grevo-palette-schematic-product-2)}
.grevo-shipping-product-3{fill:var(--grevo-palette-schematic-product-3)}
.grevo-shipping-product-4{fill:var(--grevo-palette-schematic-product-4)}
.grevo-shipping-product-5{fill:var(--grevo-palette-schematic-product-5)}
.grevo-shipping-schematic .grevo-shipping-label{font-size:var(--grevo-size-11px);fill:var(--grevo-theme-ink,var(--grevo-palette-schematic-label))}
