:root{color:#1d2430;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;min-width:0}#root{width:100%;min-width:0}a{color:inherit;text-decoration:none}.app-shell{--sidebar-width: 252px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);width:100%;min-width:0;min-height:100vh;transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{--sidebar-width: 92px}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;width:var(--sidebar-width);min-width:0;height:100vh;overflow-x:hidden;overflow-y:auto;border-right:1px solid #dce2ea;background:#fff;padding:18px 14px;transition:width .18s ease,padding .18s ease,transform .18s ease}.sidebar-header{display:flex;gap:10px;align-items:center;min-width:0;margin-bottom:20px}.brand{display:flex;flex:1;gap:14px;align-items:center;min-width:0}.brand-logo{flex:0 0 68px;width:68px;height:68px}.brand-copy,.mobile-brand-copy{display:grid;min-width:0;line-height:1.1}.brand strong,.brand span,.mobile-brand-copy strong,.mobile-brand-copy span{display:block}.brand strong,.mobile-brand-copy strong{color:#0b132b;font-size:.96rem;font-weight:800;letter-spacing:0}.brand span,.mobile-brand-copy span{color:#687385;font-size:.82rem;font-weight:700}.sidebar-toggle,.mobile-menu-button{flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;border-color:#dce2ea;background:#fff;color:#2d3748;padding:0}.sidebar-toggle:hover,.mobile-menu-button:hover{border-color:#00c2ff;background:#eefaff;color:#0b132b}.sidebar-toggle:focus-visible,.mobile-menu-button:focus-visible,.nav-link:focus-visible,.support-link:focus-visible{outline:3px solid rgb(0 194 255 / 35%);outline-offset:2px}.toggle-icon,.mobile-menu-icon,.nav-icon{width:20px;height:20px}.nav{display:grid;gap:6px;min-width:0}.nav-link{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:center;min-width:0;min-height:44px;border-radius:10px;color:#2d3748;padding:0 12px;font-weight:700;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.nav-link:hover{background:#f3f7fb;color:#0b132b}.nav-link.active{background:#e8f8ff;color:#0b132b;box-shadow:inset 3px 0 #00c2ff;font-weight:800}.nav-link.active .nav-icon{color:#008ac2}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-help{display:grid;gap:8px;margin-top:auto;border:1px solid #dce2ea;border-radius:8px;background:#f8fbfd;padding:14px}.sidebar-help p{margin:0;color:#0b132b;font-weight:800}.sidebar-help span{color:#687385;font-size:.84rem;font-weight:700}.support-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:8px;background:#0b132b;color:#fff;font-size:.84rem;font-weight:800;padding:0 12px;text-align:center}.demo-logout{width:100%}.demo-access-page,.auth-page{display:grid;min-height:100vh;place-items:center;background:#f5f7fa;padding:24px}.demo-access-panel,.auth-panel{display:grid;width:min(100%,420px);gap:18px;border:1px solid #dce2ea;border-radius:8px;background:#fff;padding:24px;box-shadow:0 18px 50px #0b132b1a}.demo-access-brand,.auth-brand{display:flex;gap:12px;align-items:center}.demo-access-brand img{width:46px;height:46px;border-radius:8px;object-fit:contain}.auth-brand{gap:14px}.auth-brand-mark{flex:0 0 68px;width:68px;height:68px}.demo-access-brand div,.auth-brand div{display:grid;line-height:1.1}.demo-access-brand strong,.auth-brand strong{color:#0b132b;font-weight:800}.demo-access-brand span,.auth-brand span{color:#687385;font-size:.84rem;font-weight:700}.demo-access-panel header p,.auth-panel header p{margin:0 0 6px;color:#647286;font-size:.82rem;font-weight:700;text-transform:uppercase}.demo-access-panel header h1,.auth-panel header h1{margin:0;font-size:1.8rem}.demo-access-form,.auth-form{display:grid;gap:14px}.demo-access-form label,.auth-form label{display:grid;gap:6px;color:#526074;font-size:.88rem;font-weight:700}.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auth-tabs button{background:#fff;color:#425066}.auth-tabs button.active{border-color:#0f6f5f;background:#eaf7f4;color:#0b4f43}.auth-help{margin:-4px 0 0;color:#687385;font-size:.84rem;font-weight:700}.auth-password-control{position:relative;display:block}.auth-password-control input{padding-right:50px}.auth-password-toggle{position:absolute;top:50%;right:6px;display:inline-grid;place-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;transform:translateY(-50%);border:0;background:transparent;color:#425066}.auth-password-toggle:hover:not(:disabled),.auth-password-toggle:focus-visible{background:#eef4fb;color:#0b132b}.auth-password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sidebar-collapsed .sidebar{padding-inline:12px}.sidebar-collapsed .sidebar-header{display:grid;justify-items:center}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-help{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;clip:rect(0 0 0 0);white-space:nowrap}.sidebar-collapsed .nav-link{grid-template-columns:1fr;justify-items:center;padding:0}.sidebar-collapsed .nav-link.active{box-shadow:inset 0 -3px #00c2ff}.mobile-topbar{display:none}.mobile-brand{display:flex;gap:14px;align-items:center;min-width:0}.mobile-brand-logo{flex:0 0 60px;width:60px;height:60px}.sidebar-overlay{display:none}.main-content{min-width:0;padding:32px}.page{min-width:0}.page header p{margin:0 0 6px;color:#647286;font-size:.82rem;font-weight:700;text-transform:uppercase}.page header h1{margin:0;font-size:2rem}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}.summary-grid article,.summary-card{border:1px solid #dce2ea;border-radius:8px;background:#fff;padding:18px}.summary-card{display:block;width:100%;min-height:auto;color:#1d2430;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.summary-card:hover{border-color:#0f6f5f;box-shadow:0 8px 22px #0f6f5f1f;transform:translateY(-1px)}.summary-grid span{display:block;color:#647286;margin-bottom:8px}.summary-grid strong{font-size:2rem}.content-grid{display:grid;gap:16px;margin-top:20px}.content-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{margin-top:20px;overflow-x:auto}.panel h2{margin:0 0 12px;font-size:1.1rem}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:22px 0 16px}.toolbar label{display:grid;gap:6px;color:#526074;font-size:.88rem;font-weight:700}.crud-form{margin-top:22px;min-width:0;border:1px solid #dce2ea;border-radius:8px;background:#fff;padding:16px}.crud-form h2{margin:0 0 14px;font-size:1rem}.form-section-title,.edit-section-title{grid-column:1 / -1;margin:4px 0 0;color:#24364f;font-size:.92rem}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:6px;color:#526074;font-size:.88rem;font-weight:700}.form-grid label.wide{grid-column:1 / -1}input,select,button,textarea,.button-link{min-height:40px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#1d2430;font:inherit}input,select,textarea{width:100%;min-width:0;padding:0 12px}textarea{min-height:84px;padding-top:10px;resize:vertical}button,.button-link{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#0f6f5f;color:#fff;font-weight:700;padding:0 16px;text-align:center}button.secondary,.button-link.secondary{background:#fff;color:#425066}button.danger{border-color:#e0a3a3;color:#9f3434}button:disabled{cursor:not-allowed;opacity:.7}.checkbox-field{align-content:center;grid-template-columns:auto 1fr;min-height:40px}.checkbox-field input{min-width:auto;width:18px;min-height:18px}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.form-message{margin-top:12px;border-radius:8px;padding:10px 12px}.form-message.error{border:1px solid #f0b8b8;background:#fff5f5;color:#9f3434}.form-message.success{border:1px solid #9fd4bc;background:#f0fbf5;color:#176241}.form-message.warning,.session-error{border:1px solid #f0d28a;background:#fff9e8;color:#7a5416}.session-error{display:block;border-radius:8px;padding:8px 10px;font-size:.8rem;font-weight:700}.row-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;min-width:0;gap:8px}.list-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(296px,100%);min-width:152px;max-width:100%}.list-row-actions:has(>button:only-child){width:min(112px,100%);min-width:88px}.list-row-actions>button{width:100%;min-width:0;height:36px;min-height:36px;padding:2px 6px;border-radius:8px;font-size:.72rem;line-height:1.05;text-align:center;white-space:normal}.list-row-actions>button:only-child{grid-column:1 / -1}.selection-summary{margin:-6px 0 12px;color:#526074;font-size:.88rem;font-weight:700}.status-badge{display:inline-flex;align-items:center;min-height:26px;border-radius:8px;padding:3px 9px;font-size:.78rem;font-weight:800}.status-active{border:1px solid #9fd4bc;background:#f0fbf5;color:#176241}.status-inactive{border:1px solid #cfd8e3;background:#f2f5f8;color:#687385}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.inline-stack{display:grid;gap:6px}.order-items-editor{display:grid;gap:12px;min-width:0;margin-top:16px;border-top:1px solid #edf1f5;padding-top:16px}.order-items-header{display:flex;flex-wrap:wrap;min-width:0;gap:10px;align-items:center;justify-content:space-between}.order-items-header h3{margin:0;font-size:1rem}.order-item-line,.quote-item-line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end;min-width:0;border:1px solid #edf1f5;border-radius:8px;background:#f8fafc;padding:12px}.quote-item-line label{display:grid;gap:6px;min-width:0;color:#526074;font-size:.88rem;font-weight:700}.quote-item-line label:nth-child(1),.quote-item-line label:nth-child(2),.quote-item-line label:nth-child(7){grid-column:span 2}.quote-item-line .line-subtotal,.quote-item-line button{min-width:0}.order-item-line label{display:grid;gap:6px;min-width:0;color:#526074;font-size:.88rem;font-weight:700}.order-item-line label:nth-child(1),.order-item-line label:nth-child(2),.order-item-line label:nth-child(7){grid-column:span 2}.order-item-line input,.order-item-line select{width:100%;min-width:0;box-sizing:border-box}.order-item-line .line-subtotal,.order-item-line>button{width:100%;min-width:0}.line-subtotal{display:grid;gap:6px}.line-subtotal span{color:#526074;font-size:.78rem;font-weight:700;text-transform:uppercase}.line-subtotal strong{font-size:1rem}.order-totals-summary{display:grid;max-width:100%;gap:8px;justify-content:end}.order-total{display:flex;gap:12px;align-items:baseline;justify-content:flex-end;color:#526074;font-weight:700}.order-total strong{color:#1d2430;font-size:1.45rem}.editing-row>td{position:sticky;left:0;z-index:1;background:#f8fafc;padding:0}.follow-up-edit-grid,.customer-edit-grid{position:sticky;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:min(100%,calc(100vw - 340px));min-width:0;max-width:100%;padding:14px}.follow-up-edit-grid label,.customer-edit-grid label{display:grid;gap:6px;min-width:0;color:#526074;font-size:.88rem;font-weight:700}.follow-up-edit-grid label.wide,.customer-edit-grid label.wide,.edit-panel-actions{grid-column:1 / -1}.follow-up-edit-grid input,.follow-up-edit-grid select,.follow-up-edit-grid textarea,.customer-edit-grid input,.customer-edit-grid select,.customer-edit-grid textarea{width:100%;min-width:0;box-sizing:border-box}.edit-panel-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.edit-panel-actions>button{min-width:124px}.details-row td{background:#f8fafc;padding:0}.order-details{display:grid;gap:12px;min-width:0;padding:14px}.order-details h3{margin:0;font-size:1rem}.order-details-meta{margin:0;color:#1d2430;font-weight:700}.order-details table{min-width:520px}table{width:100%;min-width:640px;border-collapse:collapse;overflow:hidden;border:1px solid #dce2ea;border-radius:8px;background:#fff}.table-scroll{width:100%;max-width:100%;overflow-x:auto}.quotes-table{min-width:0}.quotes-table th,.quotes-table td{overflow-wrap:anywhere}th,td{border-bottom:1px solid #edf1f5;padding:11px 12px;text-align:left;vertical-align:top}th{color:#526074;font-size:.78rem;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}tbody tr.inactive-row td{background:#f8fafc;color:#687385}td select{min-width:150px}td input,td select,td textarea{min-width:120px;width:100%}th input[type=checkbox],td input[type=checkbox]{min-width:auto;width:18px;min-height:18px}td textarea{min-height:58px}.notes-cell{max-width:260px}.location-cell{max-width:240px}.location-text{display:grid;gap:2px}.location-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamped-text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.inline-checkbox{display:grid;grid-template-columns:auto 1fr;align-items:center;color:#526074;font-size:.88rem;font-weight:700}.inline-checkbox input{min-width:auto;width:18px;min-height:18px}.pagination-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px;color:#526074;font-weight:700}.state{margin-top:16px;border:1px solid #dce2ea;border-radius:8px;background:#fff;color:#526074;padding:12px 14px}.state.error{border-color:#f0b8b8;background:#fff5f5;color:#9f3434}.state.empty{background:#f8fafc}.metric-list{display:grid;gap:8px;border:1px solid #dce2ea;border-radius:8px;background:#fff;padding:14px}.settings-panel dl{display:grid;gap:14px;margin:0}.settings-panel div{display:grid;gap:4px}.settings-panel dt{color:#526074;font-size:.82rem;font-weight:700;text-transform:uppercase}.settings-panel dd{margin:0;overflow-wrap:anywhere}@media (max-width: 1200px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-item-line{grid-template-columns:repeat(4,minmax(0,1fr))}.order-item-line{grid-template-columns:repeat(3,minmax(0,1fr))}.follow-up-edit-grid,.customer-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quotes-table th:nth-child(7),.quotes-table td:nth-child(7){display:none}}@media (min-width: 769px) and (max-width: 1199px){.main-content{padding:28px 24px}}@media (max-width: 768px){.app-shell,.app-shell.sidebar-collapsed{display:block;grid-template-columns:minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;z-index:40;top:0;bottom:0;left:0;width:min(320px,calc(100vw - 42px));max-width:calc(100vw - 42px);height:100dvh;overflow-y:auto;border-right:1px solid #dce2ea;box-shadow:18px 0 40px #0b132b2e;padding:18px;transform:translate(-104%)}.mobile-nav-open .sidebar{transform:translate(0)}.sidebar-header,.sidebar-collapsed .sidebar-header{display:flex;justify-items:initial;margin-bottom:18px}.sidebar-collapsed .brand{justify-content:flex-start}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-help{position:static;width:auto;height:auto;overflow:visible;opacity:1;clip:auto;white-space:normal}.nav,.sidebar-collapsed .nav{grid-template-columns:1fr}.nav-link,.sidebar-collapsed .nav-link{grid-template-columns:22px minmax(0,1fr);justify-items:stretch;padding:0 12px}.sidebar-collapsed .nav-link.active{box-shadow:inset 3px 0 #00c2ff}.sidebar-help{margin-top:18px}.sidebar-overlay{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:block;width:100vw;height:100vh;min-height:0;border:0;border-radius:0;background:#0b132b73;color:transparent;padding:0}.mobile-topbar{display:flex;gap:12px;align-items:center;min-width:0;margin-bottom:20px}.main-content{padding:20px 16px 28px}.page header h1{font-size:1.7rem}.summary-grid,.content-grid.two,.order-item-line{grid-template-columns:1fr}.order-item-line label:nth-child(1),.order-item-line label:nth-child(2),.order-item-line label:nth-child(7){grid-column:1 / -1}.quote-item-line{grid-template-columns:1fr}.quote-item-line label:nth-child(1),.quote-item-line label:nth-child(2),.quote-item-line label:nth-child(7){grid-column:1 / -1}input,select,button,textarea,.button-link{width:100%}.sidebar-toggle,.mobile-menu-button,.auth-password-toggle{width:36px;min-width:36px}.sidebar-overlay{width:100vw}.list-row-actions{grid-template-columns:1fr;max-width:none;min-width:128px;width:100%}.list-row-actions>button{min-width:0}.follow-up-edit-grid,.customer-edit-grid{grid-template-columns:1fr;width:100%}.edit-panel-actions{justify-content:stretch}.edit-panel-actions>button{min-width:0}.order-totals-summary{justify-content:stretch}.order-total{flex-wrap:wrap;justify-content:space-between}.form-grid{grid-template-columns:1fr}.auth-brand-mark,.brand-logo{flex-basis:60px;width:60px;height:60px}}
