:root{--primary: #1D9E75;--primary-dark: #167a5a;--primary-light: #e8f7f2;--primary-mid: #c3ead9;--text: #111827;--text-muted: #6b7280;--border: #e5e7eb;--bg: #f3f4f6;--white: #ffffff;--danger: #ef4444;--danger-light: #fef2f2;--warning: #f59e0b;--success: #10b981;--shadow-sm: 0 1px 2px rgba(0,0,0,.07);--shadow: 0 1px 4px rgba(0,0,0,.1);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 10px 40px rgba(0,0,0,.15);--radius: 8px;--radius-sm: 5px;--radius-lg: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:24px;overflow-x:auto}.navbar{background:var(--white);border-bottom:1px solid var(--border);padding:0 24px;height:58px;display:flex;align-items:center;gap:0;position:sticky;top:0;z-index:200;box-shadow:var(--shadow-sm)}.navbar-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--text);white-space:nowrap;margin-right:28px;text-decoration:none}.navbar-logo{width:34px;height:34px;background:var(--primary);color:#fff;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;flex-shrink:0}.navbar-links{display:flex;gap:2px;flex:1}.nav-link{padding:7px 14px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-weight:500;font-size:14px;transition:all .15s;white-space:nowrap}.nav-link:hover{background:var(--bg);color:var(--text)}.nav-link.active{background:var(--primary-light);color:var(--primary);font-weight:600}.navbar-user{display:flex;align-items:center;gap:10px;margin-left:auto}.user-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;background:var(--primary-light);color:var(--primary);padding:3px 9px;border-radius:20px}.btn-logout{background:none;border:1px solid var(--border);padding:5px 13px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);font-size:13px;font-weight:500;transition:all .15s;font-family:inherit}.btn-logout:hover{background:var(--danger-light);color:var(--danger);border-color:#fca5a5}.btn-primary{background:var(--primary);color:#fff;border:none;padding:8px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;transition:background .15s;white-space:nowrap}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--text-muted);border:1px solid var(--border);padding:8px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;font-family:inherit;transition:all .15s}.btn-secondary:hover{background:var(--bg);color:var(--text)}.btn-full{width:100%}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf9,#dff2ea)}.login-card{background:#fff;border-radius:16px;padding:44px 40px;width:380px;box-shadow:var(--shadow-lg)}.login-logo{text-align:center;margin-bottom:32px}.login-logo-icon{width:64px;height:64px;background:var(--primary);color:#fff;border-radius:18px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:30px;margin:0 auto 14px}.login-logo h1{font-size:19px;font-weight:700;color:var(--text)}.login-logo p{color:var(--text-muted);font-size:13px;margin-top:4px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--text);background:#fff;font-family:inherit;transition:border-color .15s,box-shadow .15s;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1d9e751f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group--full{grid-column:1 / -1}.error-banner{background:var(--danger-light);color:var(--danger);border:1px solid #fca5a5;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:14px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.page-header h1{font-size:21px;font-weight:700}.pipeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.pipeline-header h1{font-size:21px;font-weight:700}.pipeline-page{display:flex;flex-direction:column;height:calc(100vh - 106px);min-height:0}.pipeline-header{flex-shrink:0}.pipeline-page--embedded{height:auto;flex:0 1 auto;min-height:0}.home-page{display:flex;flex-direction:column;height:calc(100vh - 106px);min-height:0;gap:12px}.money-bar{flex:0 0 auto;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:10px 16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.money-bar-select{font-size:12px;font-weight:700;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.money-bar-stat{display:flex;flex-direction:column;line-height:1.15}.money-bar-value{font-size:19px;font-weight:800;color:var(--text)}.money-bar-label{font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin-top:2px}.money-bar-breakdown{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--text-muted);margin-left:auto}.pipeline-board{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;overflow-y:hidden;align-items:stretch;padding-bottom:2px;scrollbar-width:auto;scrollbar-color:var(--primary) #e5e7eb}.pipeline-board::-webkit-scrollbar{height:12px}.pipeline-board::-webkit-scrollbar-track{background:#e5e7eb;border-radius:8px}.pipeline-board::-webkit-scrollbar-thumb{background:#b6c2cf;border-radius:8px;border:2px solid #e5e7eb}.pipeline-board::-webkit-scrollbar-thumb:hover{background:var(--primary)}.pipeline-column{flex:0 0 224px;min-width:224px;display:flex;flex-direction:column;min-height:0}.column-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fff;border:1px solid var(--border);border-bottom:2px solid var(--primary);border-radius:var(--radius) var(--radius) 0 0;flex-shrink:0}.column-title-wrap{display:flex;align-items:center;gap:7px;min-width:0}.column-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.column-title{font-size:11px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.6px}.column-count{background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:20px;text-align:center}.column-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;background:#f3f4f6;border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);padding:8px;display:flex;flex-direction:column;gap:7px;transition:background .15s}.column-body.drag-over{background:var(--primary-light);border-color:var(--primary-mid)}.job-card{background:#fff;border:1px solid var(--border);border-left:4px solid var(--border);border-radius:14px;padding:12px 13px;cursor:pointer;box-shadow:0 1px 3px #1018280f;transition:box-shadow .15s,transform .12s;-webkit-user-select:none;user-select:none}.job-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.job-card--dragging{box-shadow:0 10px 24px #0000002e;transform:rotate(1.5deg);opacity:.95}.job-card-title{font-weight:700;font-size:13px;color:var(--text);line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.job-card-client{font-size:11.5px;color:var(--text-muted);margin-top:2px}.job-card-amount{font-size:13px;font-weight:800;color:var(--text);white-space:nowrap}.stage-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.stage-days{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;background:#f3f4f6;color:var(--text-muted);white-space:nowrap}.stage-days--warn{background:#fffbeb;color:#b45309}.card-wrap .mark-lost-btn{position:absolute;bottom:8px;right:8px;opacity:0;padding:2px 8px;font-size:10px;font-weight:700;font-family:inherit;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;cursor:pointer;transition:opacity .15s,background .15s,color .15s;z-index:3}.card-wrap:hover .mark-lost-btn{opacity:1}.mark-lost-btn:hover{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.job-card-type{font-size:11px;color:var(--primary);font-weight:600;margin-bottom:5px}.job-card-ins{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}.ins-chip{font-size:10px;background:var(--primary-light);color:var(--primary-dark);padding:1px 6px;border-radius:4px;font-weight:500}.pay-bar{display:flex;align-items:center;gap:6px;margin-top:5px}.pay-bar-track{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.pay-bar-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s}.pay-bar-label{font-size:10px;color:var(--text-muted);white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:500;padding:20px}.modal{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:740px;max-height:92vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{font-size:18px;font-weight:700}.modal-header .status-badge{display:inline-block;margin-top:4px;font-size:11px;font-weight:600;background:var(--primary-light);color:var(--primary);padding:2px 9px;border-radius:10px}.modal-close{background:none;border:none;font-size:17px;cursor:pointer;color:var(--text-muted);padding:4px 6px;border-radius:4px;line-height:1;font-family:inherit;flex-shrink:0}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-tabs-wrapper{position:relative;display:flex;align-items:stretch;border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;overflow:hidden}.modal-tabs-scroll-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;background:#fff;border:none;cursor:pointer;color:var(--text-muted);font-size:14px;z-index:2;transition:color .15s,background .15s;padding:0}.modal-tabs-scroll-btn:hover{color:var(--primary);background:var(--bg)}.modal-tabs-scroll-btn.left{box-shadow:4px 0 6px -2px #00000014}.modal-tabs-scroll-btn.right{box-shadow:-4px 0 6px -2px #00000014}.modal-tabs{display:flex;padding:0 4px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-width:0}.modal-tabs::-webkit-scrollbar{display:none}.tab-btn{background:none;border:none;padding:11px 16px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px;font-family:inherit}.tab-btn:hover{color:var(--primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.modal-body{flex:1;overflow-y:auto;padding:22px 24px}.modal-body h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin:20px 0 12px}.modal-body h3:first-child{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.payment-tracker{display:flex;flex-wrap:wrap;gap:8px}.payment-step{display:flex;align-items:center;gap:7px;padding:8px 13px;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;background:#fff;transition:all .15s;-webkit-user-select:none;user-select:none}.payment-step:hover{border-color:var(--primary);background:var(--primary-light)}.payment-step--done{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.step-check{font-size:15px;color:var(--primary);font-weight:700}.notes-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;resize:vertical;font-family:inherit;outline:none;color:var(--text)}.notes-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1d9e751f}.field-notes{background:#f9fafb;border:1px solid var(--border);border-radius:var(--radius);padding:16px;font-size:13px;white-space:pre-wrap;line-height:1.7;font-family:Courier New,Courier,monospace;color:var(--text)}.email-list{display:flex;flex-direction:column;gap:10px}.email-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:13px 15px}.email-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px}.email-from{font-weight:600;font-size:13px}.email-date{font-size:11px;color:var(--text-muted)}.email-subject{font-weight:500;margin-bottom:4px;font-size:13px}.email-snippet{font-size:12px;color:var(--text-muted);line-height:1.5}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.photo-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);transition:transform .15s,box-shadow .15s;display:block}.photo-thumb:hover{transform:scale(1.04);box-shadow:var(--shadow-md)}.search-input{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;outline:none;width:240px}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1d9e751a}.table-wrap{background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow-x:auto}.jobs-table,.ins-table{width:100%;border-collapse:collapse}.jobs-table th,.ins-table th{padding:11px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:#f9fafb;border-bottom:1px solid var(--border);white-space:nowrap}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort:hover{color:var(--primary)}.jobs-table td,.ins-table td{padding:11px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}.job-row{cursor:pointer;transition:background .1s}.job-row:hover{background:var(--primary-light)}.job-row:last-child td{border-bottom:none}.status-pill{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:600;background:var(--primary-light);color:var(--primary)}.check-td{text-align:center}.check-yes{color:var(--success);font-weight:700;font-size:15px}.check-no{color:var(--border);font-size:15px}.settings-page{max-width:580px}.settings-section{margin-bottom:28px}.settings-section h2{font-size:15px;font-weight:700;margin-bottom:12px}.settings-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm)}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.settings-row strong{display:block;margin-bottom:3px}.settings-row p{color:var(--text-muted);font-size:13px}.connected-text{color:var(--success);font-weight:700}.settings-note{font-size:12px;color:var(--text-muted);margin-top:10px;font-style:italic}.creds-list{margin:10px 0 0 16px}.creds-list li{font-size:13px;margin-bottom:4px;font-family:monospace}.no-google{text-align:center;padding:48px 20px;color:var(--text-muted)}.no-google p{margin-bottom:14px;font-size:14px}.empty-state,.loading{text-align:center;padding:48px 20px;color:var(--text-muted);font-size:14px}.check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;cursor:pointer;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:500!important;color:var(--text)!important}.check-label input[type=checkbox]{width:auto;cursor:pointer}@media (max-width: 600px){.build-docs-panel{width:100vw!important;height:100vh!important;min-width:unset!important;min-height:unset!important;max-width:100vw!important;max-height:100vh!important;top:0!important;left:0!important;transform:none!important;border-radius:0!important}.build-docs-panel>div[style*="50vh"]{min-height:unset!important;max-height:unset!important}}@media (max-width: 768px){.main-content{padding:14px}.navbar-brand span{display:none}.form-grid{grid-template-columns:1fr}.payment-tracker{flex-direction:column}.modal{max-height:96vh}.todo-form-grid{grid-template-columns:1fr 1fr!important}.pipeline-page{height:calc(100vh - 86px)}.home-page{height:calc(100vh - 86px);gap:8px}.money-bar{padding:8px 12px;gap:12px}.money-bar-breakdown{margin-left:0;gap:10px}.modal-overlay{padding:0;align-items:flex-end}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%}}.todo-email-input:-webkit-autofill,.todo-email-input:-webkit-autofill:hover,.todo-email-input:-webkit-autofill:focus{-webkit-text-fill-color:#e2e8f0;-webkit-box-shadow:0 0 0px 1000px #161b27 inset;box-shadow:0 0 0 1000px #161b27 inset;transition:background-color 9999s ease-in-out 0s}.mp-tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 2px 20px;flex:1 1 auto;min-height:0;overflow-y:auto;align-content:start;max-width:900px;width:100%;margin:0 auto}@media (min-width: 600px){.mp-tile-grid{grid-template-columns:repeat(3,1fr);gap:14px}}@media (min-width: 1024px){.mp-tile-grid{grid-template-columns:repeat(4,1fr);gap:16px;max-width:1100px}}.mp-detail{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;max-width:900px;width:100%;margin:0 auto}.mp-detail-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:16px}@media (min-width: 1024px){.mp-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.mp-detail-list .mp-empty{grid-column:1 / -1}}.mp-tile{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fafbfa;padding:14px 12px 12px;text-align:left;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}.mp-tile:active{transform:scale(.98)}.mp-tile--wait{background:#fdf3e2;border-color:#f0d6a8}.mp-tile--active{background:var(--primary-light);border-color:var(--primary-mid)}.mp-tile--neutral{background:#f3f4f6}.mp-tile-label{font-size:11.5px;font-weight:700;letter-spacing:.01em;margin-bottom:8px;min-height:28px;line-height:1.3}.mp-tile--wait .mp-tile-label{color:#92600f}.mp-tile--active .mp-tile-label{color:var(--primary-dark)}.mp-tile--neutral .mp-tile-label{color:var(--text-muted)}.mp-tile-count{font-size:26px;font-weight:800;line-height:1;color:var(--text)}.mp-detail-header{display:flex;align-items:center;gap:10px;padding:4px 2px 14px;border-bottom:1px solid var(--border);margin-bottom:12px}.mp-back-btn{background:none;border:none;font:inherit;cursor:pointer;font-size:14px;font-weight:700;color:var(--primary-dark);padding:4px 0}.mp-detail-title{font-size:15px;font-weight:700;flex:1}.mp-detail-count{font-size:12px;color:var(--text-muted)}.mp-empty{color:var(--text-muted);font-size:13px;padding:20px 4px;text-align:center}
