:root{--tc-brand: #e95931;--tc-brand-dark: #cf4620;--tc-brand-light: #ff7a54;--tc-blue: #59a1cf;--bg: #f0f4f7;--card: #ffffff;--card-2: #eef2f5;--card-3: #f6f8fa;--line: #dbe2e8;--line-soft: #e6ebef;--text: #263139;--dim: #6b7680;--faint: #9aa4ac;--accent: var(--tc-brand);--good: #16a34a;--warn: #b8905f;--bad: #dc2626;--info: #4088b3;--status-draft: #6b7680;--status-sent: #59a1cf;--status-accepted: #e0872c;--status-invoiced: #16a34a;--status-rejected: #dc2626;--r-lg: 12px;--r-md: 10px;--r-pill: 999px;--shadow-sm: 0 1px 3px rgba(31, 41, 55, .06);--shadow-card: 0 1px 3px rgba(31, 41, 55, .05), 0 8px 26px rgba(31, 41, 55, .05);--shadow-float: 0 6px 22px rgba(31, 41, 55, .08);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Sora", "Inter", system-ui, sans-serif;--radius: var(--r-md);--surface: var(--card);--surface-2: var(--card-2);--border: var(--line);--text-muted: var(--dim);--shadow: var(--shadow-card)}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--tc-brand-dark);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin:0 0 .5rem}h1{font-size:1.5rem;font-weight:700}h2{font-size:1.05rem;font-weight:700}h3{font-size:1.2rem;font-weight:700}.muted{color:var(--dim)}.right{text-align:right}.error-text{color:var(--bad);font-size:.85rem}.g-shell{min-height:100vh}.g-topnav-wrap{position:sticky;top:0;z-index:40;padding:14px 26px 10px;background:linear-gradient(var(--bg) 72%,transparent)}.g-topnav{max-width:1180px;margin:0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 10px 8px 14px;box-shadow:var(--shadow-float)}.g-brand{display:flex;align-items:center;gap:10px;margin-right:10px;text-decoration:none}.g-brand:hover{text-decoration:none}.g-brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--tc-brand-light),var(--tc-brand-dark));display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:800;font-size:13px}.g-brand-word{font-family:var(--font-display);font-weight:700;font-size:14.5px;white-space:nowrap;color:var(--text)}.g-brand-word .g-brand-accent{color:var(--tc-brand)}.g-nav-item{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-pill);color:var(--dim);font-family:var(--font);font-size:13px;font-weight:600;text-decoration:none;border:none;background:transparent;cursor:pointer;white-space:nowrap}.g-nav-item:hover,.g-nav-item:focus-visible,.g-nav-item.active{color:var(--text);background:var(--card-2);text-decoration:none;outline:none}.g-caret{font-size:9px;color:var(--faint)}.g-nav-sep{width:1px;height:22px;background:var(--line);margin:0 6px;flex:0 0 auto}.g-nav-spacer{flex:1}.g-drop{position:relative}.g-drop-panel{position:absolute;top:100%;left:0;z-index:50;padding-top:8px;display:none;min-width:210px}.g-drop:hover .g-drop-panel,.g-drop:focus-within .g-drop-panel{display:block}.g-drop-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-float);padding:6px;display:flex;flex-direction:column;gap:1px}.g-drop-link{display:block;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:550;color:var(--dim);text-decoration:none;white-space:nowrap}.g-drop-link:hover,.g-drop-link:focus-visible,.g-drop-link.active{color:var(--text);background:var(--card-2);text-decoration:none;outline:none}.g-user{display:flex;align-items:center;gap:9px;padding:3px 4px 3px 8px}.g-avatar{width:29px;height:29px;border-radius:50%;background:var(--card-2);border:1px solid var(--line);color:var(--tc-brand-dark);display:grid;place-items:center;font-size:11px;font-weight:700;flex:0 0 auto}.g-user-who{line-height:1.15}.g-user-name{display:block;font-size:12px;font-weight:700;color:var(--text)}.g-user-cap{display:block;font-size:10.5px;color:var(--faint);text-transform:capitalize}.g-signout{background:none;border:none;color:var(--faint);cursor:pointer;padding:6px;border-radius:50%;display:grid;place-items:center;text-decoration:none}.g-signout:hover{color:var(--bad);background:var(--card-2);text-decoration:none}.g-signout svg{width:15px;height:15px}.g-main{max-width:1180px;margin:0 auto;min-width:0;padding:18px 32px 70px}.card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:20px 22px;margin-bottom:18px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.table-wrap{overflow-x:auto;border-radius:var(--r-md)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);background:var(--card)}td{padding:9px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#1f293705}th.right,td.right{text-align:right;font-variant-numeric:tabular-nums}.badge,.status{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-pill);padding:3px 10px;font-size:11.5px;font-weight:650;letter-spacing:.02em;border:1px solid var(--line);background:var(--card-2);color:var(--dim)}.badge:before,.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}.badge.role-approver{color:var(--tc-brand);background:#e959311a;border-color:#e959314d}.badge.role-quoter{color:var(--tc-blue);background:#59a1cf1f;border-color:#59a1cf52}.status.Created{color:var(--status-draft);background:#6b76801a;border-color:#6b768047}.status.Quoted{color:var(--status-sent);background:#59a1cf1f;border-color:#59a1cf52}.status.Closed{color:var(--status-invoiced);background:#16a34a1a;border-color:#16a34a47}.status.Rejected{color:var(--status-rejected);background:#dc26261a;border-color:#dc262647}label{display:block;font-weight:600;font-size:.82rem;margin-bottom:.3rem;color:var(--dim)}input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card-3);color:var(--text);font-size:13.5px;font-family:var(--font)}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:var(--card);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.field{margin-bottom:1rem}.row{display:grid;gap:1rem}.row.cols-2{grid-template-columns:1fr 1fr}.row.cols-3{grid-template-columns:1fr 1fr 1fr}fieldset{border:1px solid var(--line);border-radius:var(--r-md)}button,.btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border-radius:var(--r-pill);padding:9px 17px;font-family:var(--font);font-size:13px;font-weight:620;background:var(--card);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .06s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,filter .15s ease;text-decoration:none;line-height:1.3}button:hover,.btn:hover{border-color:var(--accent);text-decoration:none}button:active,.btn:active{transform:translateY(1px)}button.primary,.btn.primary{background:linear-gradient(135deg,var(--tc-brand),var(--tc-brand-dark));color:#fff;border-color:transparent;box-shadow:0 3px 12px color-mix(in srgb,var(--tc-brand) 32%,transparent)}button.primary:hover,.btn.primary:hover{filter:brightness(1.05);color:#fff;border-color:transparent}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:none}button.link,.btn.link,a.link{background:none;border:none;box-shadow:none;color:var(--tc-brand-dark);padding:0;font-weight:600}button.link:hover,.btn.link:hover,a.link:hover{text-decoration:underline;background:none;border:none}.btn-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.banner{padding:12px 16px;border-radius:var(--r-lg);margin-bottom:18px;font-size:13px;background:var(--card);border:1px solid var(--line-soft);border-left:3px solid var(--dim);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:1rem}.banner.warn{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 7%,var(--card))}.banner.error{border-left-color:var(--bad);background:color-mix(in srgb,var(--bad) 6%,var(--card))}.banner.ok{border-left-color:var(--good);background:color-mix(in srgb,var(--good) 7%,var(--card))}.assistant-card{border:1px solid var(--line-soft);border-radius:var(--r-lg);background:radial-gradient(520px 160px at 6% -30%,rgba(233,89,49,.08),transparent 60%),var(--card);box-shadow:var(--shadow-card);padding:16px 18px;margin-bottom:18px;max-width:760px}.assistant-head{font-weight:700;font-family:var(--font-display);margin-bottom:.5rem}.assistant-row{display:flex;gap:.75rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}.assistant-row input[type=file]{border:none;padding:0;background:none;width:auto;flex:1;box-shadow:none}.quote-line{border:1px solid var(--line-soft);border-radius:var(--r-md);padding:14px 16px;margin-bottom:.75rem;background:var(--card-3)}.line-nums{display:grid;grid-template-columns:.8fr 1fr 1fr 1fr 1fr auto;gap:.5rem;align-items:end}.line-nums>div{display:flex;flex-direction:column}.line-nums .ro-val{padding:.5rem 0;font-weight:650;font-variant-numeric:tabular-nums}.line-nums button{align-self:center}.center-screen{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-card{max-width:400px;text-align:center}@media(max-width:760px){.g-main{padding:14px 16px 60px}.g-topnav-wrap{padding:10px 12px 8px}.g-topnav{border-radius:22px}.g-user-who{display:none}.row.cols-2,.row.cols-3{grid-template-columns:1fr}}
