:root{--bg: #f7f9fc;--panel: #ffffff;--panel2: #f3f6fb;--border: #e5eaf2;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-2: #1d4ed8;--nav: #172033;--nav-hover: #24304a;--good: #16a34a;--warn: #d97706;--bad: #dc2626;--shadow: 0 8px 24px rgba(15, 23, 42, .08);--shadow-sm: 0 2px 10px rgba(15, 23, 42, .06);font:15px/150% system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}body{margin:0;overflow:hidden}#root{height:100vh;overflow:hidden}a{color:inherit;text-decoration:none}input,select,button{font:inherit}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--muted)}.small{font-size:12px}.h1{font-size:20px;font-weight:700;letter-spacing:-.2px}.pageHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.pageToolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:4px 0 14px}.toolbarActions{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding-top:2px}.appShell{display:grid;grid-template-columns:220px 1fr;height:100vh;overflow:hidden}.sidebar{padding:12px 10px;border-right:1px solid #111827;background:var(--nav);display:flex;flex-direction:column;gap:12px;height:100vh;overflow:hidden;box-sizing:border-box}.brand{font-weight:800;letter-spacing:-.2px;font-size:16px;color:#fff;padding:4px 8px 12px}.nav{display:flex;flex-direction:column;gap:3px}.nav a{padding:8px 10px;border:1px solid transparent;border-radius:4px;color:#d7dce8;font-size:14px}.nav a.active{color:#fff;border-color:#2f80ed;background:#2f80ed}.nav a:hover{background:var(--nav-hover);color:#fff}.sidebarFooter{margin-top:auto;display:flex;flex-direction:column;gap:10px;color:#d7dce8;flex:0 0 auto;padding-bottom:4px}.main{padding:0 18px 70px;background:var(--bg);height:100vh;overflow-y:auto;overflow-x:hidden}.topbar{height:45px;display:flex;align-items:center;justify-content:space-between;margin:0 -18px 14px;padding:0 18px;border-bottom:1px solid var(--border);background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbarTitle{font-weight:750;letter-spacing:-.2px}.booksPageTitle{font-size:24px;font-weight:600;margin:12px 0}.booksForm{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.booksSection{padding:18px;border-bottom:1px solid var(--border)}.booksSection.twoCol{display:grid;grid-template-columns:1fr 1fr;column-gap:26px;row-gap:14px}.booksField{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:center}.booksField span{color:#4b5563;font-size:13px}.booksField.required span:after{content:"*";color:#dc2626}.itemTableHeader{display:flex;justify-content:space-between;align-items:center;background:#f7f8fb;border:1px solid var(--border);border-bottom:none;padding:10px 12px;font-weight:600}.invoiceItemTable{border:1px solid var(--border);margin-bottom:12px}.invoiceItemHead,.invoiceItemRow{display:grid;grid-template-columns:1fr 110px 130px 130px 100px;gap:0;align-items:center}.invoiceItemHead{background:#fbfcff;color:var(--muted);font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--border)}.invoiceItemHead>div,.invoiceItemRow>*{padding:10px;border-right:1px solid var(--border)}.invoiceItemRow input{border:none;border-radius:0;box-shadow:none}.amountCell{text-align:right;font-weight:600}.invoiceBottomGrid{display:grid;grid-template-columns:1fr 360px;gap:18px 24px}.invoiceBottomGrid .booksField{grid-template-columns:1fr;grid-column:1}.totalsBox{grid-column:2;grid-row:1 / span 2;background:#f7f8fb;padding:16px;align-self:start}.totalsBox div{display:flex;justify-content:space-between;margin-bottom:12px}.totalsBox .grandTotal{border-top:1px solid var(--border);padding-top:12px;font-size:18px}.recurringPanel{margin-top:14px;padding:14px;background:#f7f9fc;border:1px solid var(--border);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}.recurringPanel .booksField{grid-template-columns:150px minmax(0,1fr)}.stickyActions{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;padding:12px 18px;background:#fffffff0;border-top:1px solid var(--border)}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow-sm)}.btn{background:var(--accent);border:1px solid rgba(37,99,235,.35);color:#fff;padding:9px 12px;border-radius:10px;cursor:pointer}.compactBtn{height:32px;min-height:32px;padding:0 12px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.primaryAction{height:32px;min-height:32px;padding:0 12px;border-radius:6px;font-weight:600;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.btn:disabled{opacity:.65;cursor:not-allowed}.btn.ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn.danger{color:#b91c1c;border-color:#fecaca}.actions{display:flex;align-items:center;gap:8px}.actions.right{justify-content:flex-end}.field{display:flex;flex-direction:column;gap:6px;margin:10px 0}.field span{color:var(--muted);font-size:12px}input,select{background:#fff;border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:10px;outline:none}textarea{min-height:110px;resize:vertical;background:#fff;border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:10px;outline:none;font:inherit}input:focus,select:focus,textarea:focus{border-color:#2563eb80;box-shadow:0 0 0 3px #2563eb1f}.error{margin-top:10px;color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;padding:10px 12px;border-radius:12px}.notice{margin-top:10px;color:#14532d;background:#f0fdf4;border:1px solid #bbf7d0;padding:10px 12px;border-radius:12px}.filters{display:grid;grid-template-columns:1fr 180px 120px;gap:10px;margin:12px 0}.invoiceFilters{grid-template-columns:minmax(260px,1fr) 160px 104px;align-items:center}.table{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow-sm)}.thead,.trow{display:grid;grid-template-columns:1.3fr 1.3fr .7fr .7fr .6fr;gap:10px;padding:12px;align-items:center}.thead{color:var(--muted);font-size:12px;border-bottom:1px solid var(--border);background:var(--panel2)}.trow{border-bottom:1px solid var(--border)}.trow:hover{background:#fafcff}.pill{display:inline-flex;padding:4px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:12px;background:#fff}.pill.sent{color:#1d4ed8;border-color:#2563eb40;background:#2563eb0f}.pill.paid,.pill.posted{color:#14532d;border-color:#16a34a40;background:#16a34a0f}.pill.draft,.pill.pending{color:#92400e;border-color:#d9770640;background:#d9770614}.pill.approved{color:#1f2937;border-color:#0f172a2e;background:#0f172a0a}.loginWrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f6f8fb,#eef3fb)}.loginCard{width:420px;max-width:92vw;padding:22px;border-radius:16px;box-shadow:var(--shadow)}.formCard{margin-top:14px;display:flex;flex-direction:column;gap:12px}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.formGrid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.sectionTitle{font-weight:700}.moduleTable{margin-top:16px}.clientsGrid{grid-template-columns:1fr 1fr .8fr 1fr 1.1fr}.accountsGrid{grid-template-columns:1fr 1fr 1fr .6fr 1.1fr}.recurringGrid{grid-template-columns:1.2fr 1fr .7fr .8fr .7fr 1fr}.inquiriesGrid{grid-template-columns:1fr 1fr .7fr .7fr .8fr}.invoiceGrid{grid-template-columns:1.25fr 1.45fr .65fr .85fr .5fr}.clientInvoiceGrid{grid-template-columns:1.2fr 1.5fr .7fr .9fr .85fr}.strongText{font-weight:700;color:#101828}.amountText{text-align:right;font-weight:700;color:#101828;white-space:nowrap}.chatLayout{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-top:16px}.chatLayout.single{grid-template-columns:minmax(0,1fr)}.chatThreads,.chatWindow{height:calc(100vh - 155px);min-height:480px}.threadItem{width:100%;display:flex;flex-direction:column;gap:3px;text-align:left;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px;margin-top:10px;color:var(--text);cursor:pointer}.threadItem.active{border-color:#2563eb73;background:#2563eb0f}.threadItem small{color:var(--muted)}.chatHeader{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:12px}.messages{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;max-height:none;overflow-y:auto;padding-right:6px}.messageBubble{max-width:76%;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:#fff}.clientMsg{align-self:flex-end;background:#2563eb0f;border-color:#2563eb33}.staffMsg{align-self:flex-start}.aiMsg{background:#f8fafc;border-color:#dbe4f0}.messageMeta{font-size:11px;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.replyBox{margin-top:14px;display:grid;grid-template-columns:1fr 96px;gap:10px;align-items:stretch;flex:0 0 auto}.replyBox textarea{min-height:58px;max-height:120px}.sendBtn{height:58px;align-self:end}.lineItems{display:flex;flex-direction:column;gap:10px}.lineItem{display:grid;grid-template-columns:1fr 110px 160px;gap:10px}.checkRow{display:flex;align-items:center;gap:8px;color:var(--text)}.loginHeader{margin-bottom:12px}.loginTitle{font-weight:850;letter-spacing:-.4px;font-size:18px}.chatbot{position:fixed;right:20px;bottom:20px;z-index:50}.chatbotFab{border-radius:999px;padding:10px 14px;border:1px solid rgba(37,99,235,.35);background:#2563eb14;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm)}.chatbotPanel{width:320px;margin-bottom:10px;border-radius:16px;border:1px solid var(--border);background:var(--panel);padding:12px;box-shadow:var(--shadow)}.chatTitle{font-weight:700;margin-bottom:10px}:root{--bg: #f4f6fa;--panel: #ffffff;--panel2: #f8fafc;--border: #dfe5ef;--text: #172033;--muted: #667085;--accent: #2f80ed;--accent-2: #1d6fd8;--nav: #141d2f;--nav-hover: #1f2b44;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);font:14px/150% Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{background:var(--bg)}.appShell{grid-template-columns:232px minmax(0,1fr)}.sidebar{padding:14px 12px;background:linear-gradient(180deg,#141d2f,#111827);border-right:0}.brand{display:flex;align-items:center;gap:10px;color:#fff;padding:2px 8px 16px;font-size:17px}.brandMark{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#2f80ed;font-size:12px;font-weight:800}.navGroupLabel{color:#8ea0bd;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:0 10px 6px}.nav a{display:flex;align-items:center;min-height:35px;padding:8px 11px;border-radius:7px;color:#c8d2e5;font-weight:500}.nav a.active{background:#2f80ed;border-color:#2f80ed;color:#fff;box-shadow:0 8px 18px #2f80ed38}.sidebarFooter{gap:12px}.userBox{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:10px;border-radius:10px;background:#ffffff0f;color:#fff}.userAvatar{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:#344563;font-weight:700}.userEmail{color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.userRole{color:#9fb0cb;font-size:11px;text-transform:capitalize}.sidebar .btn.ghost{color:#fff;border-color:#ffffff38;background:#ffffff0d;width:100%;min-height:38px;flex:0 0 auto}.main{padding:0 22px 76px}.topbar{height:50px;margin:0 -22px 18px;padding:0 22px;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 2px #1018280a}.topbarTitle{font-size:15px}.roleChip{padding:4px 10px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:12px;text-transform:capitalize}.h1,.booksPageTitle{color:#111827;letter-spacing:-.02em}.muted{color:#667085}.card,.table,.booksForm{border-color:var(--border);border-radius:10px;box-shadow:var(--shadow-sm)}.card{padding:18px}.btn{border-radius:7px;font-weight:600;min-height:36px;padding:8px 13px;background:var(--accent);border-color:var(--accent)}.btn:hover:not(:disabled){background:var(--accent-2)}.btn.ghost{color:#344054;background:#fff;border-color:#cfd7e6}.btn.ghost:hover:not(:disabled){background:#f8fafc}input,select,textarea{border-radius:7px;border-color:#d8e0ec;color:#111827}input::placeholder,textarea::placeholder{color:#98a2b3}.thead{background:#f8fafc;color:#475467;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.trow{background:#fff;color:#1f2937}.trow:hover{background:#f9fbff}.pill{border-radius:999px;font-weight:600;text-transform:capitalize}.booksForm{overflow:hidden}.booksSection{background:#fff}.booksField span{color:#344054;font-weight:600}.itemTableHeader,.invoiceItemHead{background:#f8fafc}.totalsBox{background:#f8fafc;border:1px solid var(--border);border-radius:8px}.chatWindow,.chatThreads{border-radius:10px}.chatWindow{display:flex;flex-direction:column;overflow:hidden}.messages{background:#fbfcff;border:1px solid #edf1f7;border-radius:10px;padding:14px}.messageBubble{border-radius:12px;line-height:1.45;box-shadow:0 1px 2px #1018280a}.clientMsg{background:#eaf2ff;border-color:#c7dcff}.aiMsg{background:#fff;border-color:#d8e0ec}.replyBox{grid-template-columns:minmax(0,1fr) 92px;align-items:stretch}.replyBox textarea{border-radius:8px}.sendBtn{width:92px}.error,.notice{border-radius:8px}
