:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2933;background:#f4f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.eyebrow{color:#5b3cc4;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow.light{color:#b8c6ff}h1,h2,p{margin-top:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at top left,#ebe5ff,#f7f9fc 45%)}.auth-card{width:min(100%,430px);padding:2.5rem;border-radius:24px;background:#fff;box-shadow:0 24px 70px #1f2d3d1f;border:1px solid #e7ebf0}.auth-card h1{font-size:2rem;margin:.5rem 0}.auth-card p{color:#65717e}form{display:grid;gap:1rem;margin-top:1.5rem}label{display:grid;gap:.4rem;font-size:.88rem;font-weight:700;color:#394553}input,select,textarea{width:100%;border:1px solid #cdd5df;border-radius:10px;padding:.8rem .9rem;background:#fff}input:focus,select:focus,textarea:focus{outline:3px solid #e1d9ff;border-color:#6941c6}button{border:0;border-radius:10px;padding:.8rem 1rem;color:#fff;background:#5b3cc4;font-weight:750}button:hover{background:#4930a0}.oauth-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}button.secondary{color:#384250;background:#eef1f5}button.danger{background:#a61b1b}button.link{color:#5b3cc4;background:transparent;width:100%;margin-top:.6rem}.message,.error{margin-top:1rem;padding:.75rem;border-radius:8px;background:#f3f0ff}.test-badge{display:inline-block;margin-bottom:.75rem;padding:.25rem .55rem;border-radius:999px;color:#6941c6;background:#f0ebff;font-size:.75rem;font-weight:800;text-transform:uppercase}.verified{padding:.8rem;border-radius:8px;color:#17663a;background:#edf9f1}code{padding:.1rem .25rem;border-radius:4px;background:#eef1f5}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}aside{color:#fff;background:#243b53;padding:2rem 1.25rem;display:flex;flex-direction:column;gap:2rem}aside h2{margin:.5rem 0 0}nav{display:grid;gap:.5rem}nav button{display:grid;text-align:left;color:#dce6ef;background:transparent}nav button.active,nav button:hover{background:#334e68}nav small{color:#9fb3c8;margin-top:.2rem}.signout{margin-top:auto;background:#334e68}.workspace{padding:2.5rem}.workspace header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.workspace h1{margin:.4rem 0 0}.user{color:#52606d;font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.panel{background:#fff;border:1px solid #dfe5eb;border-radius:16px;padding:1.5rem;box-shadow:0 8px 24px #1f2d3d0d}.panel.narrow{max-width:620px}dl{display:grid;gap:1rem}dl div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #edf1f5;padding-bottom:.75rem}dt{color:#65717e}dd{margin:0;font-weight:750}.error{color:#8a1c1c;background:#fff0f0}.loading{min-height:100vh;display:grid;place-items:center}.owner-transfer-panel{grid-column:1 / -1;border-color:#efc7c7}.owner-transfer-panel>button{margin-top:1rem}.owner-transfer-confirmation{margin-top:1rem;padding:1rem;border:1px solid #e6a8a8;border-radius:10px;color:#711717;background:#fff4f4}.owner-transfer-confirmation p{margin-bottom:1rem}.confirmation-actions{display:flex;flex-wrap:wrap;gap:.75rem}button:disabled{cursor:not-allowed;opacity:.55}.members-panel,.dashboard-panel{grid-column:1 / -1}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1.25rem}.metric-card{display:grid;gap:.35rem;min-height:112px;align-content:center;padding:1rem;border-radius:12px;background:#f7f5ff}.metric-card span,.metric-card small{color:#65717e}.metric-card strong{color:#243b53;font-size:1.55rem}.metric-card small{font-size:.82rem}.follow-ups-panel{grid-column:1 / -1}.follow-up-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.follow-up-list{display:grid;gap:.75rem}.follow-up-card{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-left:4px solid #5b3cc4;border-radius:8px;background:#f7f9fc}.follow-up-card.overdue{border-left-color:#b42318;background:#fff4f4}.follow-up-card strong,.follow-up-card small{display:block;margin-top:.3rem}.follow-up-card small{color:#65717e}.follow-up-card p{margin:.65rem 0 0;white-space:pre-wrap}.customers-panel,.customer-form-panel{grid-column:1 / -1}.activities-panel{grid-column:1 / -1;border-color:#cfc4f3}.opportunities-panel,.quotes-panel{grid-column:1 / -1}.quote-list{display:grid;gap:.75rem;margin:1.25rem 0}.quote-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid #dfe5eb;border-radius:12px}.quote-card strong,.quote-card small{display:block;margin-top:.35rem}.quote-card small{color:#65717e}.quote-card select{width:auto;min-width:150px}.quote-actions{display:flex;align-items:center;gap:.65rem}.quote-detail-overlay{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:2rem;background:#161f2ab8}.quote-detail-document{width:min(900px,100%);min-height:1000px;margin:0 auto;padding:3rem;background:#fff;box-shadow:0 24px 70px #00000040}.quote-detail-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-bottom:2rem}.quote-document-header,.quote-parties{display:flex;justify-content:space-between;gap:2rem}.quote-document-header{align-items:flex-start;padding-bottom:1.5rem;border-bottom:2px solid #5b3cc4}.quote-document-header h2{margin:.3rem 0;font-size:2rem}.quote-document-header>div:last-child{display:grid;gap:.25rem;text-align:right}.quote-document-header span,.quote-parties span{color:#65717e;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.quote-parties{margin:2rem 0}.quote-parties>div{display:grid;gap:.35rem;min-width:220px}.quote-parties small{color:#52606d}.quote-table-wrap{overflow-x:auto}.quote-detail-table{width:100%;margin-top:1rem;border-collapse:collapse}.quote-detail-table th,.quote-detail-table td{padding:.75rem .5rem;border-bottom:1px solid #dfe5eb;text-align:right}.quote-detail-table th:first-child,.quote-detail-table td:first-child{text-align:left}.quote-totals{width:min(360px,100%);margin:2rem 0 2rem auto}.quote-totals div{grid-template-columns:1fr auto;padding:.6rem 0}.quote-totals .quote-total{border-bottom:0;border-top:2px solid #243b53;font-size:1.15rem}.quote-notes{margin-top:2rem;padding-top:1rem;border-top:1px solid #dfe5eb}.quote-notes p{white-space:pre-wrap}.quote-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem;border-radius:12px;background:#f7f5ff}.quote-form .wide{grid-column:1 / -1}.quote-lines{border:1px solid #d8d0f3;border-radius:10px;padding:1rem}.quote-lines legend{padding:0 .4rem;font-weight:700}.quote-line{display:grid;grid-template-columns:2fr .7fr 1fr .7fr auto;gap:.75rem;align-items:end;margin-bottom:1rem}.quote-line label{margin:0}.pipeline-board{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:.75rem;margin:1.25rem 0;overflow-x:auto}.pipeline-column{min-height:150px;padding:.75rem;border-radius:12px;background:#f4f7fa}.pipeline-column h3{margin:0 0 .75rem;font-size:.9rem}.opportunity-card{display:grid;gap:.45rem;margin-bottom:.65rem;padding:.75rem;border:1px solid #dfe5eb;border-radius:10px;background:#fff}.opportunity-card small{color:#65717e}.opportunity-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem;border-radius:12px;background:#f7f5ff}.opportunity-form .wide{grid-column:1 / -1}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-heading h2{margin:.25rem 0 0}.customer-filters{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin:1.25rem 0}.customer-list{display:grid;gap:.75rem}.customer-card{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #e3e8ee;border-radius:12px}.customer-card strong{margin-right:.6rem}.customer-card small{display:block;color:#65717e;margin-top:.35rem}.customer-actions,.form-actions{display:flex;align-items:flex-start;gap:.6rem}.status{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase}.status-prospect{color:#6941c6;background:#f0ebff}.status-active{color:#17663a;background:#edf9f1}.status-inactive{color:#52606d;background:#eef1f5}.customer-form{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-form .wide{grid-column:1 / -1}.activity-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem;border-radius:12px;background:#f7f5ff}.activity-form .wide{grid-column:1 / -1}.activity-list{display:grid;gap:.75rem;margin-top:1.25rem}.activity-card{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-left:4px solid #6941c6;border-radius:8px;background:#f7f9fc}.activity-card strong{display:block;margin:.35rem 0}.activity-card small{color:#65717e}.activity-card p{margin:.65rem 0;white-space:pre-wrap}.activity-type{color:#6941c6;font-size:.72rem;font-weight:800;text-transform:uppercase}.member-list{display:grid;gap:.75rem}.member-row{display:grid;grid-template-columns:minmax(220px,1fr) 160px repeat(3,auto);gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid #edf1f5}.member-row small{display:block;color:#65717e;margin-top:.2rem}@media (max-width: 760px){.app-shell{grid-template-columns:1fr}aside{min-height:auto}.grid,.dashboard-grid,.customer-filters,.customer-form,.activity-form,.opportunity-form,.quote-form,.quote-line{grid-template-columns:1fr}.workspace{padding:1.5rem}.workspace header,.customer-card,.activity-card,.follow-up-card,.quote-card,.quote-document-header,.quote-parties{flex-direction:column;align-items:stretch}.quote-actions{align-items:stretch}.quote-actions select{flex:1}.quote-detail-overlay{padding:0}.quote-detail-document{min-height:100vh;padding:1.25rem}.member-row{grid-template-columns:1fr}.customer-form .wide,.activity-form .wide,.opportunity-form .wide,.quote-form .wide{grid-column:auto}}@media print{body{background:#fff}.app-shell>aside,.workspace>header,.workspace>section>:not(.quote-detail-overlay),.quote-detail-actions{display:none!important}.app-shell,.workspace,.workspace>section{display:block;padding:0}.quote-detail-overlay{position:static;overflow:visible;padding:0;background:#fff}.quote-detail-document{width:100%;min-height:0;padding:0;box-shadow:none}}
