@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600&family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{font-family:Space Grotesk,sans-serif;line-height:1.6;font-weight:400;color:#1c241e;background-color:#f4efe4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--font-display: "Fraunces", serif;--font-body: "Space Grotesk", sans-serif;--font-mono: "Space Mono", monospace;--ink: #1c241e;--ink-strong: #161d19;--ink-soft: #2f3a34;--muted: #657064;--accent: #e36c34;--accent-strong: #c45326;--accent-soft: rgba(227, 108, 52, .18);--surface: rgba(255, 255, 255, .85);--line: rgba(34, 44, 39, .12);--shadow-soft: 0 18px 45px rgba(24, 32, 27, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f4efe4;color:var(--ink)}#root{min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font-family:var(--font-body)}::selection{background:#e36c3438}.app{min-height:100vh;padding:3.5rem clamp(1.5rem,3vw,3rem) 4rem;position:relative;overflow:hidden}.login-shell{display:flex;align-items:center;justify-content:center}.login-card{width:min(440px,100%);padding:2.6rem 2.4rem}.login-header h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,2vw + 1.8rem,2.8rem);color:var(--ink)}.login-form{margin-top:1.6rem;display:flex;flex-direction:column;gap:.85rem}.login-form label{font-weight:600;color:var(--ink-soft)}.login-form input{border-radius:12px;border:1px solid var(--line);padding:.75rem .95rem;background:#fffaf2;color:var(--ink);font-size:.95rem}.login-form .button{margin-top:.4rem;align-self:flex-start}.app:before{content:"";position:absolute;inset:-20% 0 0;background:radial-gradient(circle at top left,rgba(227,108,52,.22),transparent 55%),radial-gradient(circle at 18% 60%,rgba(255,219,165,.4),transparent 55%),radial-gradient(circle at 80% 20%,rgba(145,199,186,.35),transparent 55%);z-index:-2}.app:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,rgba(0,0,0,.04) 0,rgba(0,0,0,.04) 1px,transparent 1px,transparent 10px);opacity:.12;pointer-events:none;z-index:-1}.app-header{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:center;margin-bottom:3rem}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.75rem;color:var(--muted);margin:0 0 .6rem}.app-header h1{font-family:var(--font-display);font-size:clamp(2.2rem,2vw + 2rem,3.2rem);margin:0;color:var(--ink)}.subhead{margin:.8rem 0 0;color:var(--ink-soft);max-width:38rem}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.header-primary-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.status-pill{padding:.35rem .8rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:600;font-size:.85rem}.view-toggle{display:flex;gap:.4rem;padding:.35rem;border-radius:999px;background:#fff9;border:1px solid var(--line)}.view-toggle button{border:none;background:transparent;padding:.45rem 1rem;border-radius:999px;font-weight:600;color:var(--muted);cursor:pointer}.view-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 10px 25px #18201b1f}.main-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem;align-items:start}.panel{background:var(--surface);border-radius:24px;padding:2rem;box-shadow:var(--shadow-soft);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:rise .6s ease forwards}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}.panel-header h2{margin:0;font-size:1.4rem;color:var(--ink-strong)}.panel-header p{margin:.4rem 0 0;color:var(--muted)}.panel-actions{display:flex;gap:.75rem;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.4rem}.field-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.field-row-actions{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.field label{font-weight:600;color:var(--ink-soft)}.field input,.field textarea,.field select{border-radius:12px;border:1px solid var(--line);padding:.7rem .9rem;background:#fffaf2;color:var(--ink);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.field-split{display:grid;grid-template-columns:minmax(140px,180px) 1fr;gap:.8rem}@media(max-width:720px){.field-split{grid-template-columns:1fr}}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e36c342e}.field textarea{resize:vertical;min-height:120px}.help{font-size:.8rem;color:var(--muted)}.attio-block input[type=search]{background:#fff}.divider{height:1px;background:var(--line);margin:2rem 0 1.5rem}.fields-grid{display:grid;gap:1.4rem}.invoice-section{display:grid;gap:1.2rem}.section-header h3{margin:0;font-size:1.1rem;color:var(--ink-strong)}.section-header p{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}.chip{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;padding:.25rem .5rem;border-radius:999px;background:#0f221c14;color:var(--muted)}.button{border:none;border-radius:999px;padding:.65rem 1.3rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.button.small{padding:.4rem .85rem;font-size:.75rem}.button.primary{background:var(--accent);color:#fff;box-shadow:0 12px 25px #e36c3440}.button.ghost{background:#0f221c14;color:var(--ink-soft)}.ai-button{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(145,199,186,.6);background:#91c7ba52;color:var(--ink)}.ai-button svg{width:14px;height:14px}.button.danger{background:#b1421a26;color:#8f2f12}.button:disabled{opacity:.6;cursor:default;box-shadow:none}.button:not(:disabled):hover{transform:translateY(-1px)}.alert{color:#b1421a;font-size:.85rem;background:#e36c341f;padding:.6rem .8rem;border-radius:10px}.success{color:#116b4d;font-size:.85rem;background:#91c7ba66;padding:.6rem .8rem;border-radius:10px}.edit-note{color:var(--muted);font-size:.8rem;padding:.35rem .2rem 0}.preview-panel{position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);height:calc(100vh - 3rem);display:flex;flex-direction:column;align-self:stretch}.missing{background:#91c7ba40;padding:.75rem 1rem;border-radius:12px;color:var(--ink-soft);margin-bottom:1.2rem;font-size:.9rem}.panel-top-messages{display:grid;gap:.35rem;margin-bottom:1rem}.pdf-shell{position:relative;flex:1 1 0;min-height:0;border-radius:16px;border:1px solid rgba(0,0,0,.08);background:#ffffffb3;overflow:hidden}.pdf-frame{width:100%;height:100%;border:none}.pdf-loading,.pdf-placeholder{display:grid;place-items:center;height:100%;color:var(--muted);font-size:.95rem;padding:2rem;text-align:center}.pdf-loading{position:absolute;inset:0;background:#ffffffc7;z-index:1}.offer-badge{margin-top:1rem;padding:.6rem .9rem;border-radius:12px;background:#e36c341f;color:var(--ink-soft);font-size:.85rem;display:inline-flex;align-items:center;gap:.4rem}.offer-badge.offer-badge-top{margin-top:0;margin-bottom:1.4rem}.offer-badge span{font-weight:600;color:var(--ink)}.archive-panel input[type=search]{border-radius:999px;background:#fff;padding-left:1rem;min-width:240px}.archive-controls,.invoice-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.invoice-filters{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.invoice-filters select,.invoice-filters input[type=date]{border-radius:999px;background:#fff;border:1px solid var(--line);padding:.55rem .9rem;font-size:.9rem;color:var(--ink)}.invoice-chart{background:#fff9;border-radius:20px;padding:1.5rem;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px #fffc;margin-bottom:1.5rem}.chart-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.chart-hover-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.chart-hover-card{display:inline-flex;flex-direction:column;gap:.2rem;background:#fffffff2;border:1px solid rgba(0,0,0,.08);box-shadow:0 12px 24px #0f221c1f;border-radius:12px;padding:.55rem .9rem;font-size:.78rem;color:var(--ink);min-width:220px;text-align:center}.chart-hover-card strong{font-size:.82rem;color:var(--ink-strong)}.chart-layout{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:stretch;position:relative}.chart-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:.75rem;color:var(--muted);text-align:right;padding-bottom:1.1rem}.chart-axis span{line-height:1}.chart-header h3{margin:0;font-size:1.1rem;color:var(--ink-strong)}.chart-legend{display:inline-flex;gap:1rem;font-size:.85rem;color:var(--muted);align-items:center}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:.4rem}.legend-dot.paid{background:#116b4dcc}.legend-dot.unpaid{background:#b1421acc}.chart-scroll{overflow-x:auto;overflow-y:visible;padding-bottom:.4rem}.chart-body{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(40px,1fr);gap:.6rem;align-items:end;height:180px;min-width:100%;overflow:visible}.chart-column{display:flex;flex-direction:column;align-items:center;gap:.4rem}.chart-body.muted .bar-paid,.chart-body.muted .bar-unpaid{opacity:.35}.chart-empty{color:var(--muted);font-size:.85rem;margin-bottom:.6rem}.chart-bar{width:100%;height:140px;background:#fffc;border-radius:14px;padding:6px;display:flex;flex-direction:column-reverse;gap:4px;border:1px solid rgba(0,0,0,.04)}.bar-paid,.bar-unpaid{width:100%;border-radius:10px;min-height:4px}.bar-paid{background:#116b4dbf}.bar-unpaid{background:#b1421abf}.chart-label{font-size:.75rem;color:var(--muted)}.archive-meta{display:flex;gap:1rem;color:var(--muted);font-size:.9rem}.offer-groups{display:grid;gap:2rem}.offer-group{background:#fff9;border-radius:20px;padding:1.5rem;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px #fffc}.group-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.group-header h3{margin:0;font-size:1.2rem;color:var(--ink-strong)}.group-header p{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}.table-wrap{width:100%;overflow-x:auto}.offer-table{width:100%;border-collapse:collapse;min-width:560px}.invoice-table{min-width:860px}.offer-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);padding-bottom:.6rem}.offer-table td{padding:.75rem 0;border-bottom:1px solid rgba(0,0,0,.08);vertical-align:top;color:var(--ink-soft);font-size:.92rem}.cell-truncate{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offer-table code{font-family:var(--font-mono);font-size:.78rem;background:#0f221c14;padding:.2rem .45rem;border-radius:6px}.offer-link{color:inherit;text-decoration:none}.offer-link:hover{text-decoration:underline}.offer-actions{display:inline-flex;gap:.5rem;flex-wrap:wrap}.status-chip{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:999px;font-size:.75rem;font-weight:600}.status-chip.paid{background:#116b4d2e;color:#116b4d}.status-chip.unpaid{background:#b1421a2e;color:#8f2f12}.amount-text{font-weight:600;color:var(--ink-strong)}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}.icon-button svg{width:20px;height:20px}.xml-button{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem}.xml-button svg{width:16px;height:16px}.icon-button:disabled svg{opacity:.6}@media(max-width:1200px){.offer-table th{font-size:.65rem}.offer-table td{font-size:.86rem;padding:.6rem 0}.cell-truncate{max-width:220px}}@media(max-width:860px){.table-wrap{overflow:visible}.offer-table{min-width:0}.offer-table thead{display:none}.offer-table,.offer-table tbody,.offer-table tr,.offer-table td{display:block;width:100%}.offer-table tr{border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:.9rem 1rem;margin-bottom:.9rem;background:#fffc}.offer-table td{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:none;padding:.35rem 0;text-align:right}.offer-table td:before{content:attr(data-label);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left}.cell-truncate{max-width:none;white-space:normal}.offer-table code{word-break:break-all}}.offer-title{font-weight:600;color:var(--ink-strong)}.offer-sub{display:block;font-size:.75rem;color:var(--muted);margin-top:.2rem}.empty-state{padding:1.5rem;border-radius:16px;border:1px dashed var(--line);color:var(--muted);text-align:center}.toast{position:fixed;right:2rem;bottom:2rem;padding:.75rem 1.1rem;border-radius:14px;background:#116b4d;color:#fff;font-weight:600;box-shadow:0 18px 35px #0f221c40;z-index:5;animation:rise .3s ease}.toast.error{background:#b1421a}.modal-backdrop{position:fixed;inset:0;background:#0f221c73;display:grid;place-items:center;padding:1.5rem;z-index:6}.modal-card{width:min(800px,100%);background:#fff;border-radius:24px;padding:1.6rem;box-shadow:0 30px 60px #0f221c40;display:grid;gap:1rem;max-height:calc(100vh - 3rem);overflow:auto}.modal-card.invoice-preview{width:min(960px,100%)}.modal-card.invoice-list{width:min(1100px,100%)}.invoice-preview .pdf-shell{height:60vh;min-height:320px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modal-header h3{margin:0;font-size:1.2rem;color:var(--ink-strong)}.modal-header p{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}.modal-body{display:grid;gap:.9rem}.modal-body input,.modal-body select{width:100%}.modal-meta{display:flex;flex-wrap:wrap;gap:.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1080px){.main-grid{grid-template-columns:1fr}.preview-panel{position:static;max-height:none;height:auto}.header-actions{align-items:flex-start}}@media(max-width:640px){.app{padding:2.5rem 1.2rem 3rem}.panel{padding:1.5rem}.panel-actions{flex-direction:column;align-items:stretch}.view-toggle{width:100%;justify-content:space-between}.invoice-preview .pdf-shell{height:50vh}}@media(prefers-reduced-motion:reduce){.panel{animation:none}.button{transition:none}}
