.purchase-icon-button{justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;padding:4px;font-size:19px;line-height:1;display:inline-flex}.phase-receipt-total{background:#23482a12;border-radius:8px;flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:10px;padding:12px 14px;display:flex}.phase-receipt-total strong{font-size:1.2rem}.phase-receipt-total small{opacity:.7}.native-date-control{align-self:stretch;min-width:0;max-width:100%;display:flex}.native-date-control>input.native-date-input{appearance:none;width:0;min-width:0;max-width:100%;box-sizing:border-box;flex:1 1 0;inline-size:0;min-inline-size:0;max-inline-size:100%;display:block}.native-date-control>input.native-date-input::-webkit-date-and-time-value{text-align:left;min-width:0}.purchase-filter-grid>label{grid-template-columns:minmax(0,1fr);min-width:0}.phase-quantity-summary{border:1px solid var(--border-color,#d5d9d2);background:#5a734d0e;border-radius:8px;flex-direction:column;gap:5px;padding:12px 14px;display:flex}.phase-quantity-summary small{opacity:.8;line-height:1.45}.phase-list-toolbar{justify-content:flex-end;margin-bottom:14px;display:flex}.phase-purchase,.phase-lines-panel{gap:18px;display:grid}.phase-purchase .detail-card,.phase-lines-panel .detail-card{padding:22px}.phase-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:16px;display:grid}.phase-field{flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.phase-field input,.phase-field select{width:100%;min-width:0;min-height:38px;padding:8px 10px;font-size:14px}.phase-check{align-self:end;align-items:center;gap:8px;min-height:38px;font-size:13px;display:flex}.phase-check input{flex:none;width:auto}.phase-line{border:1px solid #d6d9d1;border-radius:7px;margin-top:16px;padding:16px}.phase-line-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.phase-line-heading h3{margin:0}.phase-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.phase-lines-panel{margin-top:18px}.phase-lines-panel .phase-line{background:0 0}@media (width<=600px){.phase-grid{grid-template-columns:1fr}.phase-actions>*{flex:1}.phase-purchase .detail-card{padding:14px}}.collapsible-card{overflow:hidden;padding:0!important}.collapsible-card-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;list-style:none;display:flex}.collapsible-card-summary::-webkit-details-marker{display:none}.collapsible-card-summary h3{margin:0}.collapsible-card-summary p{color:#687265;margin:5px 0 0;font-size:.82rem;font-weight:400}.collapsible-card[open]>.collapsible-card-summary{border-bottom:1px solid #e6e6e0}.collapsible-card>.phase-grid,.collapsible-card>.phase-line,.collapsible-card>.phase-line-heading{margin-left:22px;margin-right:22px}.collapsible-card>.phase-grid,.collapsible-card>.phase-line:last-child{margin-bottom:22px}.phase-line-actions{justify-content:flex-end;margin-top:16px}.collapsible-chevron{font-size:1.15rem;line-height:1;transition:transform .15s}.collapsible-card[open] .collapsible-chevron{transform:rotate(180deg)}.optional-label{color:#687265;letter-spacing:.08em;text-transform:uppercase;font-family:inherit;font-size:.7rem;font-weight:700}@media (width<=600px){.collapsible-card-summary{padding:16px 14px}.collapsible-card>.phase-grid,.collapsible-card>.phase-line,.collapsible-card>.phase-line-heading{margin-left:14px;margin-right:14px}}.phase-purchase,.purchase-detail,.purchase-detail-grid,.detail-card,.purchase-edit-form,.phase-grid,.phase-field,.purchase-edit-form label{min-width:0}.phase-field input,.phase-field select,.phase-field textarea,.purchase-edit-form input,.purchase-edit-form select,.purchase-edit-form textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.purchase-detail .collapsible-detail-card{overflow:hidden;padding:0!important}.purchase-detail .collapsible-detail-card>summary{cursor:pointer;padding:20px 22px;list-style:none}.purchase-detail .collapsible-detail-card>summary::-webkit-details-marker{display:none}.purchase-detail .collapsible-detail-card[open]>summary{border-bottom:1px solid #e6e6e0}.purchase-detail .collapsible-detail-card>.collapsible-detail-body{padding:20px 22px 22px}.purchase-detail .collapsible-detail-card>summary .detail-card-header{margin:0}.purchase-detail .collapsible-detail-card>summary .collapsible-chevron{margin-left:auto}.purchase-detail .detail-summary-title{justify-content:space-between;align-items:center;gap:14px;width:100%;display:flex}.purchase-detail .detail-summary-title>div:first-child{min-width:0}@media (width<=600px){.purchase-detail .collapsible-detail-card>summary{padding:16px 14px}.purchase-detail .collapsible-detail-card>.collapsible-detail-body{padding:16px 14px 18px}}#root{min-height:100vh}*{box-sizing:border-box}:root{color:#252a24;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f3ed;font-family:PT Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:min(320px,100%);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:#20251f;font-family:Georgia,Times New Roman,serif}.eyebrow{color:#687265;letter-spacing:.15em;margin-bottom:7px;font-size:.72rem;font-weight:700}.loading-screen,.login-screen{place-items:center;min-height:100vh;display:grid}.loading-screen{color:#667063;align-content:center;gap:16px}.loading-logo{object-fit:contain;width:120px;max-height:100px}.login-screen{background:linear-gradient(#23482a0a,#23482a0a),#f4f1e9;padding:28px}.login-card{background:#fff;border:1px solid #dcdcd4;width:min(100%,440px);padding:44px;box-shadow:0 22px 60px #1e271d1a}.login-logo{object-fit:contain;width:190px;max-height:135px;margin:0 auto 35px;display:block}.login-heading{margin-bottom:28px}.login-heading h1{margin-bottom:10px;font-size:2.25rem;line-height:1.1}.login-heading>p:last-child{color:#6b7168;margin-bottom:0;line-height:1.55}form{gap:9px;display:grid}label{margin-top:9px;font-size:.87rem;font-weight:700}input,select,textarea{color:#252a24;background:#fff;border:1px solid #c9ccc5;border-radius:4px;width:100%;padding:12px 13px}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #23482a}.primary-button{color:#fff;background:#23482a;border:0;border-radius:4px;margin-top:16px;padding:12px 18px;font-weight:700}.error{color:#9b3030;margin:8px 0 0;font-size:.9rem}.business-os{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:20;color:#fff;background:#1f3523;flex-direction:column;width:260px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:13px;min-height:91px;padding:18px 20px;display:flex}.sidebar-logo{object-fit:contain;background:#fff;border-radius:3px;width:54px;height:54px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{margin-bottom:3px;font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.sidebar-brand span{color:#ffffffa8;font-size:.7rem}.sidebar-nav{flex:1;padding:16px 12px 24px;overflow-y:auto}.nav-group-label{color:#ffffff6e;letter-spacing:.14em;text-transform:uppercase;margin:22px 10px 7px;font-size:.64rem;font-weight:700}.sidebar-nav>div:first-child .nav-group-label{margin-top:0}.nav-item{color:#ffffffc4;text-align:left;background:0 0;border:0;border-radius:4px;width:100%;padding:9px 11px;font-size:.9rem}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item-active{color:#fff;background:#ffffff21;font-weight:700}.sidebar-account{border-top:1px solid #ffffff1f;padding:18px 20px 20px}.sidebar-account span,.sidebar-account strong{display:block}.sidebar-account span{color:#ffffff80;margin-bottom:4px;font-size:.68rem}.sidebar-account strong{overflow-wrap:anywhere;font-size:.73rem}.sign-out-button{color:#fff;background:0 0;border:1px solid #ffffff47;border-radius:4px;margin-top:13px;padding:7px 10px;font-size:.75rem}.main-content{grid-column:2;min-width:0}.topbar{background:#fff;border-bottom:1px solid #dedfd9;align-items:center;min-height:91px;padding:18px 42px;display:flex}.topbar h1{margin:0;font-size:1.65rem;line-height:1.1}.menu-button{display:none}.page-content{width:min(1180px,100% - 84px);margin:0 auto;padding:46px 0 70px}.welcome-panel{margin-bottom:30px}.welcome-panel h2,.placeholder-panel h2{margin-bottom:10px;font-size:clamp(1.8rem,3vw,2.45rem)}.welcome-panel>p:last-child,.placeholder-panel>p:last-child{color:#697067;max-width:700px;line-height:1.6}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-card{background:#fff;border:1px solid #ddded8;min-height:180px;padding:26px}.card-label{color:#667164;letter-spacing:.13em;text-transform:uppercase;margin-bottom:17px;font-size:.7rem;font-weight:700;display:block}.dashboard-card strong{color:#263128;margin-bottom:9px;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;display:block}.dashboard-card p{color:#737970;margin:0;font-size:.9rem;line-height:1.55}.system-card{background:#e9eee8;border:1px solid #d2d9d1;justify-content:space-between;align-items:center;gap:25px;margin-top:18px;padding:22px 26px;display:flex}.system-card h3{margin:0;font-size:1.05rem}.status-badge{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#23482a;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:700}.placeholder-panel{background:#fff;border:1px solid #ddded8;padding:34px}.mobile-overlay{display:none}@media (width<=850px){.business-os{display:block}.sidebar{width:min(290px,84vw);transition:transform .18s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.mobile-overlay{z-index:10;background:#141a1470;border:0;width:100%;display:block;position:fixed;inset:0}.main-content{min-height:100vh}.topbar{gap:18px;min-height:78px;padding:15px 22px}.menu-button{color:#23482a;background:#fff;border:1px solid #cfd2cc;border-radius:4px;flex:none;place-items:center;width:38px;height:38px;font-size:1.15rem;display:grid}.topbar h1{font-size:1.4rem}.page-content{width:auto;margin:0;padding:32px 22px 55px}.dashboard-grid{grid-template-columns:1fr}}@media (width<=500px){.login-screen{padding:18px}.login-card{padding:32px 23px}.login-logo{width:165px}.system-card{flex-direction:column;align-items:flex-start}}.module-header{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:28px;display:flex}.module-header h2{margin-bottom:8px;font-size:clamp(1.8rem,3vw,2.4rem)}.module-header>div>p:last-child{color:#697067;max-width:700px;margin-bottom:0;line-height:1.55}.module-header .primary-button{flex:none;margin-top:0}.summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.summary-card{background:#fff;border:1px solid #ddded8;padding:20px 22px}.summary-card span,.summary-card strong{display:block}.summary-card span{color:#70766d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:700}.summary-card strong{color:#263128;font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.table-card{background:#fff;border:1px solid #ddded8}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:1040px}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e6e6e0;padding:14px 16px;font-size:.84rem}.data-table th{color:#687265;letter-spacing:.09em;text-transform:uppercase;background:#f4f5f1;font-size:.67rem;font-weight:700}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafaf7}.numeric-cell{white-space:nowrap;text-align:right!important}.rebate-cell{gap:4px;display:grid}.rebate-cell span{color:#687265;font-size:.78rem}.module-state{background:#fff;border:1px solid #ddded8;padding:30px}.module-state p{color:#697067;margin:0}.module-error{background:#fff4f4;border-color:#dfbcbc}.module-error strong{color:#8f3030;margin-bottom:7px;display:block}@media (width<=850px){.module-header{flex-direction:column}.module-header .primary-button{width:100%}.summary-row{grid-template-columns:1fr}}.clickable-row{cursor:pointer}.clickable-row:hover{background:#23482a0f}.purchase-detail{flex-direction:column;gap:1.5rem;display:flex}.purchase-back-button{align-self:flex-start}.text-button,.danger-text-button{appearance:none;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.text-button{color:#23482a;font-weight:600}.text-button:hover{text-decoration:underline}.purchase-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.detail-card{background:#fff;border:1px solid #23482a1f;border-radius:12px;padding:1.25rem}.detail-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.detail-card-header h3{margin:.15rem 0 0}.detail-total{white-space:nowrap;font-size:1.35rem}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;margin:0;display:grid}.detail-list div{min-width:0}.detail-list dt{letter-spacing:.04em;text-transform:uppercase;opacity:.58;margin-bottom:.2rem;font-size:.78rem;font-weight:700}.detail-list dd{overflow-wrap:anywhere;margin:0;font-weight:600}.receipt-file-state,.receipt-empty-state{justify-content:space-between;align-items:center;gap:1rem;display:flex}.receipt-file-state p,.receipt-empty-state p{overflow-wrap:anywhere;opacity:.65;margin:.25rem 0 0}.detail-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.secondary-button{appearance:none;color:#23482a;font:inherit;cursor:pointer;background:#fff;border:1px solid #23482a40;border-radius:8px;padding:.6rem .85rem;font-weight:700}.secondary-button:hover{background:#23482a0d}.secondary-button:disabled,.danger-text-button:disabled{cursor:not-allowed;opacity:.5}.danger-text-button{color:#8b2e2e;font-weight:600}.danger-text-button:hover{text-decoration:underline}.inline-error{color:#8b2e2e;margin:1rem 0 0;font-weight:600}.purchase-lines-card{padding:0;overflow:hidden}.purchase-lines-card .detail-card-header{padding:1.25rem 1.25rem 0}.purchase-lines-card .receipt-empty-state{padding:0 1.25rem 1.25rem}.record-count{opacity:.6;font-size:.85rem;font-weight:700}.detail-notes,.muted-text{margin:0;line-height:1.6}.muted-text{opacity:.65}@media (width<=900px){.purchase-detail-grid,.detail-list{grid-template-columns:1fr}.receipt-file-state,.receipt-empty-state{flex-direction:column;align-items:flex-start}}.purchase-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.purchase-edit-form label{flex-direction:column;gap:.35rem;min-width:0;display:flex}.purchase-edit-form label>span:not(.native-date-control){letter-spacing:.04em;text-transform:uppercase;opacity:.62;font-size:.78rem;font-weight:700}.purchase-edit-form input,.purchase-edit-form select,.notes-textarea{box-sizing:border-box;width:100%;color:inherit;font:inherit;background:#fff;border:1px solid #23482a38;border-radius:8px;padding:.65rem .7rem}.purchase-edit-form input:focus,.purchase-edit-form select:focus,.notes-textarea:focus{border-color:#23482a;outline:2px solid #23482a2e}.notes-textarea{resize:vertical;line-height:1.5}@media (width<=700px){.purchase-edit-form{grid-template-columns:1fr}}.page-content:has(.purchase-list){width:calc(100% - 48px);max-width:1800px}.purchase-list,.purchase-list .table-card{min-width:0}.purchase-toolbar{gap:14px;padding:18px;display:grid}.purchase-search-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.purchase-search-row input{flex:320px;min-width:0;max-width:600px}.purchase-search-row strong{white-space:nowrap;font-size:.82rem}.purchase-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;display:grid}.purchase-filter-grid label{gap:4px;margin:0;display:grid}.purchase-filter-grid label span:not(.native-date-control){color:#687265;font-size:.73rem}.purchase-toolbar input,.purchase-toolbar select{color:#252a24;background:#fff;border:1px solid #c9ccc5;border-radius:5px;width:100%;height:38px;min-height:38px;padding:6px 10px;font-size:.84rem;line-height:1.2}.purchase-toolbar>.secondary-button{justify-self:start;padding:7px 12px;font-size:.8rem}.purchase-table{min-width:1100px}.purchase-table th,.purchase-table td{vertical-align:middle;padding:11px 10px}.purchase-table th{white-space:nowrap}.purchase-sort-button{appearance:none;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0}.purchase-sort-button:hover{color:#23482a}.purchase-edit-control{background:#fff;border:1px solid #c9ccc5;border-radius:5px;width:100%;min-width:100px;height:36px;padding:5px 7px;font-size:.82rem}.purchase-table td:has(.purchase-edit-control){min-width:135px}.purchase-table td:has(.purchase-edit-choice){min-width:180px}.purchase-edit-choice{gap:6px;min-width:0;display:grid}.purchase-receipt-cell{align-items:center;gap:7px;display:inline-flex}.purchase-row-actions{white-space:nowrap;gap:6px;display:flex}.purchase-row-actions .secondary-button{border-radius:5px;padding:6px 9px;font-size:.78rem}.purchase-extra-fields{border-top:1px solid #e6e6e0;padding:16px 18px}.purchase-extra-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.purchase-extra-grid label{gap:5px;margin:0;display:grid}.purchase-extra-grid label span{font-size:.76rem}@media (width<=1200px){.purchase-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=850px){.page-content:has(.purchase-list){width:auto;max-width:none;padding:24px 16px 50px}.purchase-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.purchase-filter-grid,.purchase-extra-grid{grid-template-columns:1fr}}.business-os{transition:grid-template-columns .18s}.sidebar{transition:transform .18s,visibility .18s}.sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}.sidebar-hidden .sidebar{visibility:hidden;pointer-events:none;transform:translate(-100%)}.sidebar-hidden .main-content{grid-column:2}.sidebar-toggle-button{color:#23482a;background:#fff;border:1px solid #cfd2cc;border-radius:4px;flex:none;place-items:center;width:38px;height:38px;margin-right:18px;font-size:1.05rem;line-height:1;display:grid}.sidebar-toggle-button:hover{background:#f4f5f1}@media (width<=850px){.sidebar-toggle-button{display:none}.sidebar-hidden{display:block}.sidebar-hidden .sidebar{visibility:visible;pointer-events:auto}}.dashboard-card-link{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;transition:border-color .14s,box-shadow .14s,transform .14s}.dashboard-card-link:hover{border-color:#23482a6b;transform:translateY(-1px);box-shadow:0 6px 18px #23482a14}.dashboard-card-link:focus-visible{outline-offset:2px;outline:3px solid #23482a33}.phase-purchase,.purchase-detail,.phase-grid,.phase-field,.purchase-edit-form,.purchase-edit-form label,.collapsible-detail-body{min-width:0}.phase-field input,.phase-field select,.phase-field textarea,.purchase-edit-form input,.purchase-edit-form select,.purchase-edit-form textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block}.expense-inline-edit-row{background:#23482a09}.expense-inline-edit-row td{vertical-align:middle}.expense-inline-control{box-sizing:border-box;width:100%;min-width:110px;max-width:100%;height:36px;color:inherit;font:inherit;background:#fff;border:1px solid #bfc5bd;border-radius:5px;padding:5px 7px;font-size:.8rem;display:block}.expense-inline-control:focus{outline-offset:1px;border-color:#23482a;outline:2px solid #23482a2e}.expense-inline-number{text-align:right;min-width:85px}.expense-row-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.expense-row-actions .secondary-button{border-radius:5px;margin:0;padding:6px 8px;font-size:.78rem}.expense-icon-button{min-width:34px;min-height:34px}.expense-full-editor{padding:1.4rem}.expense-full-editor .phase-line{margin:0}@media (width<=600px){.phase-grid,.purchase-edit-form{grid-template-columns:minmax(0,1fr)}.phase-field,.purchase-edit-form label{width:100%;min-width:0;max-width:100%;overflow:hidden}.purchase-lines-card .table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}}.page-content.workspace-wide{width:auto;min-width:0;max-width:none;margin:0;padding:32px 24px 55px}@media (width<=650px){.page-content.workspace-wide{padding:22px 12px 45px}}
