:root{color-scheme:light;--border: #dfd9cd;--ink: #2b2620;--muted: #7a7161;--accent: #4b6b3f;--bg: #faf8f3;font-family:-apple-system,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.shell{display:flex;flex:1;min-height:0}.nav{width:200px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .15s ease}.nav.collapsed{width:56px}.nav-header{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 .75rem;padding-left:80px;border-bottom:1px solid var(--border);flex-shrink:0;-webkit-app-region:drag}.nav.collapsed .nav-header{padding-left:.5rem;justify-content:center}.nav-brand{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);-webkit-app-region:no-drag}.nav-collapse-btn{border:none;background:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:.15rem .35rem;-webkit-app-region:no-drag}.nav-collapse-btn:hover{color:var(--ink)}.nav-links{padding:.75rem;flex:1;overflow-y:auto}.nav-footer{padding:.75rem;border-top:1px solid var(--border);flex-shrink:0}.nav a{display:block;padding:.5rem .6rem;border-radius:6px;color:var(--ink);text-decoration:none;font-size:.9rem}.nav.collapsed a{text-align:center;padding:.5rem .2rem}.nav a.active,.nav a:hover{background:#efe9db}.agent-panel-header{height:44px;display:flex;align-items:center;padding:0 1rem;border-bottom:1px solid var(--border);flex-shrink:0;-webkit-app-region:drag}.agent-panel-header{justify-content:space-between}.agent-title{margin:0;font-size:.85rem;font-weight:600;color:var(--ink)}.agent-clear{border:none;background:none;font-size:.75rem;color:var(--muted);padding:.1rem .3rem;-webkit-app-region:no-drag}.agent-clear:hover{color:var(--ink)}.agent-panel-body{padding:.75rem 1rem;overflow-y:auto;flex:1;min-height:0}.agent-notice{border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;background:#fff}.agent-notice p{margin:.35rem 0 0;font-size:.78rem;line-height:1.45}.agent-notice code{background:#efe9db;padding:0 .2rem;border-radius:3px}.agent-empty p{margin:0 0 .6rem;font-size:.8rem;line-height:1.45}.agent-suggestion{display:block;width:100%;text-align:left;margin-bottom:.35rem;font-size:.78rem;padding:.4rem .55rem;background:#fff;color:var(--ink)}.agent-suggestion:hover{background:#efe9db}.agent-msg{margin-bottom:.75rem;font-size:.82rem;line-height:1.5}.agent-msg.user .agent-msg-body{background:var(--accent);color:#fff;padding:.4rem .6rem;border-radius:10px 10px 2px;margin-left:1.5rem}.agent-msg.assistant .agent-msg-body{color:var(--ink);white-space:pre-wrap}.agent-sql-toggle{border:none;background:none;padding:.2rem 0;font-size:.7rem;color:var(--muted)}.agent-sql pre{background:#f2ede3;border:1px solid var(--border);border-radius:5px;padding:.4rem;font-size:.68rem;overflow-x:auto;margin:.2rem 0;white-space:pre-wrap}.agent-sql pre.failed{border-color:#d9a7a2;background:#faf0ef}.agent-error{color:#a3322b;font-size:.78rem;border:1px solid #d9a7a2;background:#faf0ef;border-radius:6px;padding:.45rem .6rem}.agent-composer{border-top:1px solid var(--border);padding:.6rem;display:flex;gap:.4rem;flex-shrink:0}.agent-composer textarea{flex:1;font:inherit;font-size:.8rem;resize:none;padding:.35rem .45rem;border:1px solid var(--border);border-radius:6px;background:#fff}.agent-composer button{align-self:flex-end;font-size:.8rem}.main{flex:1;padding:0 2rem 1.5rem;max-width:960px;overflow-y:auto;min-width:0}.main>*:first-child:not(.module-header):not(:has(>.module-header:first-child)){margin-top:1.5rem}.agent-panel{width:280px;flex-shrink:0;border-left:1px solid var(--border);color:var(--muted);font-size:.85rem;display:flex;flex-direction:column}.agent-panel.collapsed{width:32px;align-items:center;padding-top:.5rem}.agent-collapse-btn{flex-shrink:0}.module-header{height:44px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);flex-shrink:0;background:#fff;box-shadow:0 1px 3px #0000000a;margin:0 -2rem 1rem;position:sticky;top:0;z-index:6}.module-header-title{font-size:.9rem;font-weight:700}.module-header-pill{display:flex;align-items:center;padding:3px;background:var(--bg);border:1px solid var(--border);border-radius:9px;box-shadow:inset 0 1px 2px #0000000d}.module-tab{display:flex;align-items:center;padding:5px 22px;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;border-radius:6px;text-decoration:none;color:var(--muted);border:1px solid transparent;transition:background .12s,color .12s;white-space:nowrap}.module-tab:hover{background:#ffffff80;color:var(--ink)}.module-tab.active{background:#fff;color:var(--ink);border-color:#00000014;box-shadow:0 1px 4px #00000012}.standard-table-toolbar{display:flex;gap:.5rem;align-items:center;margin-bottom:.25rem;flex-wrap:nowrap;position:sticky;top:44px;z-index:5;background:var(--bg);padding-top:.5rem}.standard-table-scroll{max-height:29rem;overflow-y:auto;overflow-x:auto;margin:1rem 0}.standard-table-scroll table{margin:0}.standard-table-scroll thead th{position:sticky;top:0;background:var(--bg);z-index:4}.standard-table-scroll tfoot td{position:sticky;bottom:0;background:var(--bg);z-index:4}.standard-table-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:.5rem 0 1rem;font-size:.85rem;color:var(--muted)}.standard-table-pagination button{padding:.3rem .7rem;font-size:.85rem}.standard-table-toolbar .search{font:inherit;padding:.3rem .5rem;border:1px solid var(--border);border-radius:4px;min-width:6rem;flex:1 1 6rem}.standard-table-toolbar>*:not(.search){flex-shrink:0}@media(pointer:coarse){input,select,textarea,.cell-edit{font-size:16px}}.dots-menu{position:relative;display:inline-flex;margin-left:auto}.dots-btn{border:none;background:none;font-size:1.2rem;padding:.15rem .45rem;color:var(--muted);cursor:pointer;border-radius:4px;line-height:1}.dots-btn:hover{background:#efe9db;color:var(--ink)}.dots-dropdown{position:absolute;right:0;top:1.8rem;z-index:15;min-width:160px;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000014;padding:.25rem}.dots-dropdown button{display:block;width:100%;text-align:left;border:none;border-radius:4px;padding:.35rem .6rem;background:none;font-size:.85rem}.dots-dropdown button:hover{background:#efe9db}.dots-dropdown button[aria-disabled=true]{color:#b3aa99;cursor:not-allowed}.dots-dropdown button[aria-disabled=true]:hover{background:none}.dots-dropdown button.destructive{color:#a3322b}.dots-dropdown button.destructive[aria-disabled=true]{color:#cfa9a5}.menu-separator{height:1px;background:var(--border);margin:.25rem 0}.menu-hint{float:right;color:var(--muted);font-size:.75rem}.submenu{border-left:2px solid var(--border);margin:.1rem 0 .25rem .5rem;padding-left:.25rem;max-height:240px;overflow-y:auto}.submenu-check{display:flex;align-items:center;gap:.4rem;padding:.25rem .5rem;font-size:.82rem;cursor:pointer}.submenu-check:hover{background:#efe9db;border-radius:4px}.floating-menu{position:fixed;z-index:40}.floating-menu .dots-dropdown{position:static;min-width:200px}.col-header-btn{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;width:100%}.col-header-btn:hover{color:var(--ink)}.sort-caret{margin-left:.3rem;color:var(--accent)}.row-actions-col{width:34px;padding:0!important}.standard-table tbody tr .kebab-btn{opacity:0}.standard-table tbody tr:hover .kebab-btn,.standard-table tbody tr.long-press-active .kebab-btn,.kebab-btn[aria-expanded=true]{opacity:1}.agg-cell{position:relative}.agg-btn{border:none;background:none;padding:.1rem .3rem;font-size:.78rem;color:var(--muted);cursor:pointer;border-radius:4px}.agg-btn:hover{background:#efe9db;color:var(--ink)}.filler-row td{height:2.1rem}.draft-row{background:var(--surface-2, rgba(127, 127, 127, .08))}.draft-row td{padding-top:.3rem;padding-bottom:.3rem}.draft-row .cell-edit{width:100%;min-width:6ch}.saving-hint{font-size:.75rem;color:var(--muted)}button.danger{background:#a3322b;color:#fff;border-color:#a3322b}.new-entity-row[aria-disabled=true] td{color:#c2b9a8;cursor:not-allowed}.new-entity-row[aria-disabled=true]:hover td{background:none}.flag-col{width:22px;padding:0 2px!important}.row-flag{-webkit-user-select:none;user-select:none;font-size:.8rem;display:block}.row-flag.flagged{color:#c0392b}.standard-table tbody tr:has(.row-flag.flagged) td{background:#fdf6f5}.toast{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;font-size:.8rem;padding:.45rem .9rem;border-radius:999px;z-index:60;box-shadow:0 4px 14px #0000002e}.standard-table tbody tr.clickable{cursor:pointer}.standard-table tbody tr.clickable:hover td{background:#f5f0e8}tr.clickable,td.clickable{cursor:pointer}tr.clickable:hover td,td.clickable:hover{background:#f5f0e8}.cell-edit{width:100%;font:inherit;padding:.15rem .3rem;border:1px solid var(--accent);border-radius:3px;background:#fff}.editable-cell:hover{background:#f0ece2}.new-entity-row td{color:var(--muted);cursor:pointer;border-bottom:none;font-size:.88rem;padding:.35rem .6rem}.new-entity-row:hover td{background:#f5f0e8;color:var(--ink)}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:1.9rem;left:0;z-index:15;min-width:200px;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000014;padding:.4rem}.dropdown-menu>input{width:100%;font:inherit;padding:.3rem .4rem;border:1px solid var(--border);border-radius:4px;margin-bottom:.3rem}.dropdown-options{max-height:220px;overflow-y:auto}.dropdown-options button,.dropdown-add{display:block;width:100%;text-align:left;border:none;background:none;padding:.35rem .4rem;border-radius:4px}.dropdown-options button:hover,.dropdown-add:hover{background:#efe9db}.dropdown-options button.active{font-weight:600}.dropdown-option-row{display:flex;align-items:center}.dropdown-option-row>button:first-child{flex:1}.dropdown-option-row .lists-star{flex:0 0 auto}.dropdown-option-row:hover .lists-star,.dropdown-option-row .lists-star.starred{opacity:1}.dropdown-trigger{max-width:100%}.dropdown-trigger-text{display:inline-block;max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.dropdown[style*=width] .dropdown-trigger{width:100%;text-align:left}.dropdown-add{border-top:1px solid var(--border);margin-top:.3rem;padding-top:.5rem;color:var(--accent);font-weight:600}.dropdown-empty{padding:.3rem .4rem;margin:0}.relation-chips{display:flex;flex-wrap:wrap;gap:.25rem}.badge-muted{opacity:.5;font-style:italic}.relation-picker .dropdown-options button{display:flex;align-items:center;gap:.4rem}.relation-picker-trigger{display:inline-flex;align-items:center;gap:.3rem;text-align:left}.lists-menu-row{display:flex;align-items:center}.lists-menu-row .lists-menu-item{flex:1}.lists-star{border:none;background:none;padding:.2rem .4rem;color:var(--muted);opacity:0;cursor:pointer}.lists-menu-row:hover .lists-star,.lists-menu-row.long-press-active .lists-star{opacity:1}.lists-star.starred{opacity:1;color:#c9a227}.lists-remove{border:none;background:none;padding:.2rem .4rem;color:var(--muted);opacity:0;cursor:pointer}.lists-menu-row:hover .lists-remove,.lists-menu-row.long-press-active .lists-remove{opacity:1}.lists-remove:hover{color:var(--danger, #c0392b)}.summary-row td{font-weight:600;border-top:2px solid var(--border);color:var(--muted)}.add-row-btn{margin:.5rem 0 1rem}.insights-row{display:flex;gap:.75rem;margin:0 0 1rem;overflow-x:auto;overscroll-behavior-x:contain}.insight-card{flex:1 1 0;min-width:8.5rem;border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;background:#fff;box-shadow:0 1px 3px #0000000a}.insight-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.insight-value{font-size:1.5rem;font-weight:700;margin-top:.15rem;line-height:1.1}.insight-hint{font-size:.7rem;color:var(--muted);margin-top:.15rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.plant-card{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.plant-card img{width:100%;height:130px;object-fit:cover}.plant-card-placeholder{width:100%;height:130px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:#efe9db}.plant-card-body{padding:.6rem .8rem}.plant-card-body p{font-size:.8rem;margin:.3rem 0 0}.ingredient-code{font-family:monospace;font-size:.7rem;color:var(--muted)}.ingredient-usage{font-size:.75rem;margin-top:.35rem}.ingredient-chips{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.35rem}.chip{font-size:.65rem;font-family:monospace;background:#efe9db;border-radius:3px;padding:.05rem .25rem}.title-input{font-size:1.5rem;font-weight:700;border:none;background:none;width:100%;padding:.1rem .2rem;margin:.5rem 0 0 -.2rem;border-radius:4px;color:var(--ink);font-family:inherit}.subtitle-input{font-size:.9rem;font-style:italic;color:var(--muted);border:none;background:none;width:100%;padding:.1rem .2rem;margin-left:-.2rem;border-radius:4px;font-family:inherit}.title-input:hover,.subtitle-input:hover{background:#f0ece2}.title-input:focus,.subtitle-input:focus{background:#fff;outline:1px solid var(--accent)}.cell-input{border:1px solid transparent;background:none;font:inherit;color:inherit;padding:.1rem .25rem;border-radius:4px;width:8ch;text-align:inherit}.cell-input:hover{border-color:var(--line);background:#fff}.cell-input:focus{border-color:var(--accent);background:#fff;outline:none}.field-caption{font-size:.78rem;color:var(--muted);margin-bottom:.2rem}.field-editable{border-bottom:1px dashed var(--border);cursor:text;padding:.05rem .1rem;border-radius:3px}.field-editable:hover,.field-editable:focus-visible{background:#f0ece2;outline:none}.field-locked{color:var(--muted)}h2 .field-editable{border-bottom:none}.field-label{display:block;font-size:.78rem;color:var(--muted);margin-top:1rem}.field-label textarea,.field-label input{display:block;width:100%;font:inherit;font-size:.85rem;margin-top:.25rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:#fff;resize:vertical}.field-label input[type=checkbox]{display:inline-block;width:auto;margin-top:0;padding:0;flex:none}table{border-collapse:collapse;width:100%;margin:1rem 0}th,td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border);font-size:.9rem}th{color:var(--muted);font-weight:600}button{font:inherit;padding:.4rem .8rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;background:#efe9db}.badge.pay-paid{background:#d4edda;color:#155724}.badge.pay-partial{background:#fff3cd;color:#856404}.badge.pay-due{background:#f8d7da;color:#721c24}.kebab{position:relative;display:inline-block}.kebab-btn{border:none;background:none;font-size:1.2rem;line-height:1;padding:.1rem .4rem}.kebab-menu{position:absolute;right:0;top:1.6rem;z-index:10;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000014;min-width:180px}.kebab-menu button{display:block;width:100%;text-align:left;border:none;border-radius:0}.kebab-menu button:hover{background:#efe9db}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:20}.modal{background:#fff;border-radius:8px;padding:1.25rem;min-width:360px;max-width:90vw}.inline{display:flex;gap:.5rem;flex-wrap:wrap;align-items:end;margin:.75rem 0}.inline label{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted);gap:.2rem}.inline input,.inline select,.inline textarea{font:inherit;padding:.3rem .4rem;border:1px solid var(--border);border-radius:4px}.button-group{display:flex;gap:.5rem;align-items:center;flex:0 0 auto}.button-group.end{margin-left:auto}button.primary,button.danger{font-weight:600;padding:.45rem 1rem}@media(pointer:coarse){button,.inline input,.inline select,.field-label input,.field-label textarea{min-height:44px}.kebab-btn,.dots-btn,.lists-star,.lists-remove,.row-delete{min-width:44px}}.row-delete{border:none;background:none;color:var(--muted);opacity:0;cursor:pointer;padding:.1rem .4rem}tr:hover .row-delete,tr.long-press-active .row-delete,.row-delete:focus-visible{opacity:1}.row-delete:hover{color:#a3322b}.invoice{background:#fff;padding:2rem;border:1px solid var(--border);max-width:720px}.invoice table{margin:1rem 0}.invoice .totals{margin-left:auto;width:260px}.invoice .totals td{padding:.2rem .4rem}.notes-toolbar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.notes-meta{margin-left:auto;font-size:.78rem;color:var(--muted)}.notes-doc-text{display:block;width:100%;max-width:720px;min-height:60vh;font:inherit;font-size:.95rem;line-height:1.7;white-space:pre-wrap;padding:.8rem;border:1px solid var(--border);border-radius:6px;background:#fff;resize:vertical}.notes-doc-text:focus{outline:1px solid var(--accent)}@media print{.notes-doc-text{border:none;min-height:0;max-width:none;padding:0;resize:none}}.intel-graph{width:100%;height:70vh;min-height:380px;border:1px solid var(--border);border-radius:8px;background:var(--surface, #fff);display:block;user-select:none;-webkit-user-select:none}.intel-graph text{paint-order:stroke;stroke:var(--surface, #fff);stroke-width:3px;vector-effect:non-scaling-stroke}.intel-controls{display:flex;align-items:center;gap:.75rem;margin:.5rem 0;flex-wrap:wrap}.intel-legend{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted)}.intel-swatch{width:10px;height:10px;border-radius:50%;display:inline-block}@media print{.no-print{display:none!important}.nav,.agent-panel{display:none}.main{padding:0;max-width:none}.invoice{border:none;padding:0}body{background:#fff}}.single-record-print{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow:auto;background:var(--bg, #f7f4ee);padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.single-record-sheet{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.5rem 2rem;width:min(46rem,100%)}.single-record-fields{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0}.single-record-fields dt{color:var(--muted)}.single-record-fields dd{margin:0}.single-record-input{width:100%;border:1px solid transparent;border-radius:4px;padding:.15rem .3rem;background:transparent;font:inherit;color:inherit}.single-record-input:hover{border-color:var(--border)}.single-record-input:focus{border-color:var(--accent);background:#fff;outline:none}.single-record-actions{display:flex;gap:.5rem}@media print{.app-shell{display:none!important}.single-record-print{position:static;padding:0;background:#fff;display:block}.single-record-sheet{border:none;border-radius:0;padding:0;width:auto}.single-record-input{border-color:transparent!important;padding:0}}.toolbar-spacer{flex:1 1 auto;min-width:0}.dots-menu{margin-left:0}.new-entity-btn{white-space:nowrap}.new-entity-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.group-header-row td{background:#efe9db;font-size:.8rem;padding:.35rem .6rem;position:sticky;top:2rem;z-index:3}.standard-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;margin:1rem 0}.standard-card{border:1px solid var(--border);border-radius:10px;padding:.75rem .9rem;background:#fff;box-shadow:0 1px 3px #0000000a}.standard-card.clickable{cursor:pointer}.standard-card.clickable:hover{border-color:var(--accent)}.standard-card-title{font-weight:700;margin-bottom:.4rem}.standard-card-fields{display:grid;grid-template-columns:auto 1fr;gap:.15rem .6rem;margin:0}.standard-card-fields dt{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.standard-card-fields dd{margin:0;font-size:.85rem}.element-header{justify-content:flex-start;gap:.6rem;padding:0 2rem}.element-back{border:none;background:none;cursor:pointer;color:var(--muted);font-size:1.1rem;line-height:1;padding:.2rem .45rem;border-radius:6px}.element-back:hover{background:#efe9db;color:var(--ink)}.element-path{font-size:.85rem;color:var(--muted);min-width:0}.element-path-sep{margin:0 .4rem;opacity:.5}.element-path-current{color:var(--ink);font-weight:600}.section-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;margin:0 0 .6rem}.section-actions .spacer{flex:1 1 auto}.link-btn{border:none;background:none;padding:.1rem .3rem;color:var(--accent);cursor:pointer}
