:root{--gold: #C9A84C;--gold-light: #E2C06A;--gold-dark: #9A7A2E;--gold-pale: #F9F3E3;--black: #0E0E0E;--charcoal: #1A1A1A;--charcoal-2: #252525;--silver: #C8CDD4;--silver-light:#EEF0F3;--silver-pale: #F7F8FA;--white: #FFFFFF;--green: #1C3A2B;--green-mid: #254D39;--green-light: #2E6147;--slate: #5A6472;--slate-light: #8A95A3;--border: #DFE3E8;--border-dark: #C8CDD4;--danger: #C0392B;--success: #1C6B3A;--shadow-sm: 0 1px 4px rgba(0,0,0,.07);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 12px 40px rgba(0,0,0,.15)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--silver-pale);color:var(--black);min-height:100vh}button,input,select{font-family:Inter,sans-serif}#login-screen{min-height:100vh;display:flex;background:var(--black)}.login-left{flex:1;background:linear-gradient(160deg,var(--green) 0%,var(--green-mid) 60%,var(--green-light) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 50%,rgba(201,168,76,.12) 0%,transparent 60%)}.login-left:after{content:"";position:absolute;bottom:-100px;right:-100px;width:400px;height:400px;border:1px solid rgba(201,168,76,.08);border-radius:50%}.login-brand{position:relative;z-index:1;text-align:center}.login-logo-img{width:180px;margin-bottom:32px;filter:drop-shadow(0 4px 24px rgba(201,168,76,.3))}.login-tagline{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:16px}.login-headline{font-family:Playfair Display,serif;font-size:32px;color:var(--white);line-height:1.2;letter-spacing:-.5px}.login-headline span{color:var(--gold)}.login-divider-line{width:60px;height:2px;background:linear-gradient(to right,var(--gold-dark),var(--gold-light));margin:24px auto}.login-desc{font-size:14px;color:var(--slate-light);line-height:1.7;max-width:320px}.login-right{width:440px;background:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 48px;box-shadow:-8px 0 40px #00000040}.login-right-title{font-size:22px;font-weight:700;color:var(--black);margin-bottom:6px;letter-spacing:-.3px;align-self:flex-start}.login-right-sub{font-size:13px;color:var(--slate-light);margin-bottom:36px;align-self:flex-start}.form-group{width:100%;margin-bottom:18px}.form-group label{display:block;font-size:11px;font-weight:700;color:var(--slate);letter-spacing:.8px;text-transform:uppercase;margin-bottom:7px}.form-group input{width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;color:var(--black);background:var(--silver-pale);transition:border-color .2s,box-shadow .2s;outline:none}.form-group input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a84c1f;background:var(--white)}.btn-login{width:100%;padding:14px;background:linear-gradient(135deg,var(--gold-dark) 0%,var(--gold) 50%,var(--gold-light) 100%);color:var(--black);border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:.3px;margin-top:8px;box-shadow:0 4px 16px #c9a84c59}.btn-login:hover{transform:translateY(-1px);box-shadow:0 6px 20px #c9a84c73}.btn-login:active{transform:scale(.99)}.btn-login:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-error{width:100%;background:#fef2f2;border:1px solid #FECACA;color:var(--danger);padding:10px 14px;border-radius:6px;font-size:13px;margin-top:12px}.login-footer{margin-top:32px;font-size:11px;color:var(--slate-light);text-align:center;align-self:flex-start}#app{display:flex;min-height:100vh;flex-direction:column;background:var(--green)}.topbar{height:64px;background:var(--black);border-bottom:1px solid rgba(201,168,76,.2);display:flex;align-items:center;padding:0 32px;gap:0;position:sticky;top:0;z-index:200;box-shadow:0 2px 16px #0006}.topbar-logo{display:flex;align-items:center;gap:14px;margin-right:48px}.topbar-logo img{height:38px;width:auto;filter:brightness(1.05)}.topbar-logo-text{display:flex;flex-direction:column}.topbar-logo-name{font-family:Playfair Display,serif;font-size:15px;color:var(--white);letter-spacing:.2px;line-height:1}.topbar-logo-sub{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:3px}.topbar-nav{display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto}.nav-tab{display:flex;align-items:center;gap:6px;padding:8px 13px;border-radius:8px;font-size:13px;font-weight:500;color:#ffffff80;cursor:pointer;transition:all .2s;border:1px solid transparent;background:none;letter-spacing:.1px;white-space:nowrap;flex-shrink:0}.nav-tab:hover{color:#ffffffd9;background:#ffffff0d}.nav-tab.active{color:var(--gold);background:#c9a84c14;border-color:#c9a84c33}.nav-tab svg{opacity:.7}.nav-tab.active svg{opacity:1}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-user{display:flex;align-items:center;gap:10px}.user-avatar{width:34px;height:34px;background:linear-gradient(135deg,var(--gold-dark),var(--gold));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--black)}.user-info{display:flex;flex-direction:column}.user-name{font-size:13px;font-weight:600;color:var(--white)}.user-role{font-size:10px;color:var(--slate-light);letter-spacing:.5px}.btn-logout{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffff80;padding:7px 14px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#ffffff1a;color:var(--white)}.page{background:transparent;flex:1;min-height:calc(100vh - 64px)}.main{max-width:1140px;margin:0 auto;padding:36px 32px}.dash-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.dash-header-left h2{font-family:Playfair Display,serif;font-size:26px;color:var(--white);letter-spacing:-.4px}.dash-header-left p{font-size:13px;color:#fff9;margin-top:3px}.date-badge{font-size:12px;color:#ffffffbf;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:6px 14px;border-radius:20px}.daily-summary{background:linear-gradient(135deg,var(--green) 0%,var(--green-mid) 55%,var(--green-light) 100%);border-radius:14px;padding:22px 28px;margin-bottom:24px;box-shadow:0 8px 24px #1c3a2b59;position:relative;overflow:hidden}.daily-summary:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold-dark),var(--gold-light))}.daily-summary-greeting{font-family:Playfair Display,serif;font-size:21px;color:var(--white);margin-bottom:10px;letter-spacing:-.2px}.daily-summary-stats{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#ffffffe0}.daily-summary-stats .dot{color:var(--gold);font-size:11px}.daily-summary-attention{display:inline-block;font-size:12.5px;font-weight:700;color:var(--gold-light);background:#0003;border:1px solid rgba(226,192,106,.4);border-radius:8px;padding:9px 16px;margin-top:14px}.daily-summary-motivation{font-size:12.5px;font-style:italic;color:#fff9;margin-top:12px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:22px 24px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold-dark),var(--gold-light))}.stat-label{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--slate-light);margin-bottom:10px}.stat-value{font-size:28px;font-weight:800;color:var(--black);letter-spacing:-1px;line-height:1}.stat-value.gold{color:var(--gold-dark)}.stat-sub{font-size:11px;color:var(--slate-light);margin-top:6px}.dash-grid{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}.panel{background:var(--white);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.panel-head{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.panel-head-icon{width:34px;height:34px;background:var(--gold-pale);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.panel-head-text h3{font-size:14px;font-weight:700;color:var(--black)}.panel-head-text p{font-size:11px;color:var(--slate-light);margin-top:1px}.panel-body{padding:24px}.drop-zone{border:2px dashed var(--border-dark);border-radius:12px;padding:48px 24px;text-align:center;cursor:pointer;transition:all .2s;background:var(--silver-pale);position:relative}.drop-zone:hover,.drop-zone.dragover{border-color:var(--gold);background:var(--gold-pale)}.drop-zone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.drop-icon{width:52px;height:52px;background:linear-gradient(135deg,var(--gold-dark),var(--gold));border-radius:14px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;box-shadow:0 4px 16px #c9a84c4d}.drop-zone h4{font-size:15px;font-weight:600;color:var(--black);margin-bottom:5px}.drop-zone p{font-size:12px;color:var(--slate-light)}.file-selected{display:flex;align-items:center;gap:10px;background:var(--gold-pale);border:1px solid var(--gold);border-radius:8px;padding:10px 16px;margin-top:16px;font-size:13px;font-weight:500;color:var(--black)}.btn-generate{width:100%;margin-top:16px;padding:14px;background:linear-gradient(135deg,var(--green) 0%,var(--green-mid) 100%);color:var(--white);border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #1c3a2b4d;letter-spacing:.2px}.btn-generate:hover{transform:translateY(-1px);box-shadow:0 6px 20px #1c3a2b66}.btn-generate:disabled{opacity:.6;cursor:not-allowed;transform:none}.sidebar-panel{display:flex;flex-direction:column;gap:16px}.quick-job{background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}.quick-job-head{background:var(--black);padding:12px 18px;display:flex;align-items:center;justify-content:space-between}.quick-job-head span{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}.quick-job-list{padding:8px 0}.quick-job-item{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--border);transition:background .15s;cursor:pointer}.quick-job-item:last-child{border-bottom:none}.quick-job-item:hover{background:var(--silver-pale)}.quick-job-addr{font-size:12px;font-weight:500;color:var(--black)}.quick-job-date{font-size:10px;color:var(--slate-light);margin-top:2px}.quick-job-total{font-size:13px;font-weight:700;color:var(--gold-dark)}.empty-jobs{padding:24px;text-align:center;font-size:12px;color:var(--slate-light);font-style:italic}.progress-steps{display:flex;flex-direction:column}.step{display:flex;align-items:flex-start;gap:16px;padding:16px 0;position:relative}.step:not(:last-child):after{content:"";position:absolute;left:17px;top:52px;bottom:0;width:2px;background:var(--border)}.step.done:after{background:var(--green)}.step-dot{width:34px;height:34px;border-radius:50%;border:2px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:700;color:var(--slate-light);transition:all .3s;z-index:1}.step.active .step-dot{border-color:var(--gold);background:var(--gold);color:var(--black);animation:pulse 1.5s infinite}.step.done .step-dot{border-color:var(--green);background:var(--green);color:var(--white)}@keyframes pulse{0%,to{box-shadow:0 0 #c9a84c80}50%{box-shadow:0 0 0 8px #c9a84c00}}.step-label{font-size:14px;font-weight:600;color:var(--black);margin-bottom:2px}.step-desc{font-size:12px;color:var(--slate-light)}.step.active .step-label{color:var(--gold-dark)}.jobs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.jobs-header h2{font-family:Playfair Display,serif;font-size:26px;color:var(--white);letter-spacing:-.4px}.jobs-header p{font-size:13px;color:#fff9;margin-top:3px}.search-bar{display:flex;align-items:center;gap:12px}.search-input{padding:10px 16px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;color:var(--black);background:var(--white);outline:none;width:260px;transition:border-color .2s}.search-input:focus{border-color:var(--gold)}.jobs-grid{display:flex;flex-direction:column;gap:12px}.job-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:20px 24px;display:flex;align-items:center;gap:20px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.job-card:hover{border-color:var(--gold);box-shadow:0 4px 20px #c9a84c1f;transform:translateY(-1px)}.job-card-icon{width:46px;height:46px;background:var(--gold-pale);border:1px solid rgba(201,168,76,.3);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.job-card-main{flex:1;min-width:0}.job-card-addr{font-size:15px;font-weight:600;color:var(--black);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card-client{font-size:12px;color:var(--slate-light)}.job-card-meta{display:flex;align-items:center;gap:24px;text-align:right}.job-meta-label{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--slate-light);margin-bottom:3px}.job-meta-val{font-size:14px;font-weight:700;color:var(--black)}.job-meta-val.gold{color:var(--gold-dark)}.job-card-arrow{color:var(--border-dark);transition:color .2s,transform .2s}.job-card:hover .job-card-arrow{color:var(--gold);transform:translate(3px)}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.status-pill.complete{background:#1c6b3a14;color:var(--success)}.status-pill.sent{background:#1c6b3a1a;color:var(--success)}.status-pill.pending{background:#b8963e1a;color:var(--gold-dark)}.jobs-empty{text-align:center;padding:64px 32px;color:var(--slate-light)}.jobs-empty h3{font-size:16px;font-weight:600;color:var(--slate);margin-bottom:8px}.jobs-empty p{font-size:13px}.back-btn{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--slate);cursor:pointer;margin-bottom:24px;transition:color .2s;background:none;border:none;padding:0}.back-btn:hover{color:var(--gold-dark)}.job-detail-header{background:var(--black);border-radius:14px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;box-shadow:var(--shadow-md)}.job-detail-title h2{font-family:Playfair Display,serif;font-size:22px;color:var(--white);letter-spacing:-.3px;margin-bottom:4px}.job-detail-title p{font-size:13px;color:#ffffff80}.job-detail-total{text-align:right}.job-detail-total-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:4px}.job-detail-total-val{font-size:32px;font-weight:800;color:var(--white);letter-spacing:-1px}.docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.doc-card{background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all .2s}.doc-card:hover{border-color:var(--gold);box-shadow:0 4px 20px #c9a84c1a}.doc-card-head{padding:18px 20px 14px;border-bottom:1px solid var(--border)}.doc-type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px}.doc-type-badge.roofr{background:#0e0e0e0f;color:var(--charcoal)}.doc-type-badge.excel{background:#1c6b3a14;color:var(--success)}.doc-type-badge.quote{background:#c9a84c1f;color:var(--gold-dark)}.doc-card-name{font-size:14px;font-weight:600;color:var(--black);margin-bottom:3px}.doc-card-date{font-size:11px;color:var(--slate-light)}.doc-card-body{padding:16px 20px}.btn-doc{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .2s;margin-bottom:8px}.btn-doc.primary{background:var(--black);color:var(--white)}.btn-doc.primary:hover{background:var(--charcoal-2)}.btn-doc.secondary{background:var(--silver-pale);color:var(--slate);border:1px solid var(--border)}.btn-doc.secondary:hover{background:var(--silver-light);color:var(--black)}.measurements-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.meas-label{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--slate-light);margin-bottom:4px}.meas-val{font-size:20px;font-weight:700;color:var(--black);letter-spacing:-.5px}.meas-unit{font-size:11px;color:var(--slate-light);font-weight:400}.settings-section-title{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-dark);margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--gold-pale)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:none}.setting-label{font-size:13px;font-weight:500;color:var(--black)}.setting-sub{font-size:11px;color:var(--slate-light);margin-top:2px}.setting-val{font-size:13px;color:var(--slate);text-align:right}.tag-pill{display:inline-flex;align-items:center;padding:3px 10px;background:var(--gold-pale);border:1px solid rgba(201,168,76,.3);border-radius:20px;font-size:11px;font-weight:600;color:var(--gold-dark)}.results-bar{background:linear-gradient(135deg,var(--black),var(--charcoal-2));border-radius:12px 12px 0 0;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(201,168,76,.2);border-bottom:none}.results-bar h3{font-family:Playfair Display,serif;font-size:18px;color:var(--white)}.results-bar p{font-size:12px;color:#ffffff80;margin-top:2px}.done-badge{display:flex;align-items:center;gap:7px;background:#1c6b3a40;border:1px solid rgba(28,107,58,.4);border-radius:20px;padding:6px 14px;color:#6ee7a0;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.results-body-wrap{background:var(--white);border:1px solid rgba(201,168,76,.2);border-top:none;border-radius:0 0 12px 12px;padding:24px}.roof-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--border);border-radius:10px;overflow:hidden;margin-bottom:24px}.roof-strip-item{background:var(--silver-pale);padding:14px 12px;text-align:center}.roof-strip-label{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--slate-light);margin-bottom:5px}.roof-strip-val{font-size:16px;font-weight:800;color:var(--black);letter-spacing:-.5px}.cost-section{margin-bottom:20px}.cost-section-title{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--slate-light);margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--border)}.cost-table{width:100%;border-collapse:collapse;font-size:13px}.cost-table th{text-align:left;padding:8px 12px;background:var(--black);color:#fff9;font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.cost-table th:last-child{text-align:right}.cost-table td{padding:9px 12px;border-bottom:1px solid var(--border)}.cost-table td:last-child{text-align:right;font-weight:500}.cost-table tr:hover td{background:var(--silver-pale)}.cost-table .sub-row td{background:var(--silver-pale);font-weight:600;border-top:2px solid var(--border)}.cost-table .total-row td{background:var(--black);color:var(--white);font-weight:700;font-size:14px;border:none}.cost-table .grand-row td{background:var(--gold);color:var(--black);font-weight:800;font-size:15px;border:none}.cost-table input.cell-input{width:100%;border:1px solid transparent;background:transparent;font-size:13px;font-family:Inter,sans-serif;color:var(--black);padding:4px 6px;border-radius:4px;text-align:right}.cost-table input.cell-input:hover{border-color:var(--border);background:var(--white)}.cost-table input.cell-input:focus{border-color:var(--gold);background:var(--white);outline:none}.quote-preview-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:20px}.quote-preview-head{background:var(--charcoal);padding:12px 18px;display:flex;align-items:center;gap:8px}.quote-preview-head span{font-size:12px;font-weight:600;color:#ffffffb3}.quote-body{padding:20px;font-size:13px;line-height:1.75;color:var(--slate);white-space:pre-wrap;max-height:280px;overflow-y:auto;background:var(--white)}.quote-body-editable{width:100%;border:none;resize:vertical;font-family:Inter,sans-serif;min-height:280px;max-height:none}.quote-body-editable:focus{outline:none;background:var(--gold-pale)}.edit-actions-row{display:flex;gap:10px;margin-bottom:16px}.btn-edit-job,.btn-delete-job,.btn-cancel-edit{border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn-edit-job{background:var(--gold);color:var(--black)}.btn-cancel-edit{background:var(--silver-pale);color:var(--slate);border:1px solid var(--border)}.btn-delete-job{background:#fff;color:#c0392b;border:1.5px solid #C0392B}.btn-delete-job:hover{background:#fdedec}.cc-chip{display:inline-flex;align-items:center;gap:6px;background:var(--gold-pale);color:var(--gold-dark);border:1px solid rgba(201,168,76,.3);border-radius:20px;padding:5px 8px 5px 12px;font-size:12px;font-weight:600}.cc-chip button{border:none;background:#c9a84c40;color:var(--gold-dark);border-radius:50%;width:16px;height:16px;font-size:10px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cc-chip button:hover{background:#c9a84c66}.tracker-empty{text-align:center;padding:32px 16px;color:var(--slate-light);font-size:13px}.tracker-list{display:flex;flex-direction:column}.tracker-row{padding:16px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.tracker-row:last-child{border-bottom:none}.tracker-row-main{display:flex;align-items:center;gap:20px}.tracker-job-num{font-size:12px;font-weight:700;color:var(--gold-dark);background:var(--gold-pale);border-radius:6px;padding:4px 10px;flex-shrink:0}.tracker-client{flex:1;min-width:0}.tracker-client-name{font-size:13px;font-weight:600;color:var(--black)}.tracker-client-addr{font-size:11px;color:var(--slate-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracker-value{font-size:14px;font-weight:700;color:var(--gold-dark);flex-shrink:0;min-width:90px;text-align:right}.tracker-sent-at{text-align:right;flex-shrink:0;min-width:150px}.tracker-sent-date,.tracker-sent-time{font-size:10px;color:var(--slate-light);margin-top:1px}.tracker-days-ago{font-size:12px;font-weight:700}.tracker-days-ago.urgency-green{color:var(--success)}.tracker-days-ago.urgency-yellow{color:#b8963e}.tracker-days-ago.urgency-red{color:#c0392b}.tracker-pipeline-summary{font-size:13px;font-weight:700;color:var(--gold-dark);background:var(--gold-pale);border:1px solid rgba(201,168,76,.3);border-radius:20px;padding:7px 16px;white-space:nowrap}.tracker-row.urgency-green{border-left:3px solid var(--success);padding-left:12px}.tracker-row.urgency-yellow{border-left:3px solid #B8963E;padding-left:12px}.tracker-row.urgency-red{border-left:3px solid #C0392B;padding-left:12px}.tracker-action-required{display:flex;align-items:center;gap:10px;background:#fdedec;border:1px solid rgba(192,57,43,.35);border-radius:8px;padding:10px 14px;font-size:12px;color:#c0392b}.tracker-outcome-actions{display:flex;gap:10px}.btn-mark-won,.btn-mark-lost{flex:1;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:700;cursor:pointer;border:1.5px solid}.btn-mark-won{background:#1c6b3a0f;color:var(--success);border-color:#1c6b3a4d}.btn-mark-won:hover{background:#1c6b3a1f}.btn-mark-lost{background:#fff;color:#c0392b;border-color:#c0392b4d}.btn-mark-lost:hover{background:#fdedec}.btn-mark-won:disabled,.btn-mark-lost:disabled{opacity:.5;cursor:not-allowed}.tracker-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--silver-pale);border:1px solid var(--border);border-radius:8px;padding:10px 14px}.tracker-stage{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.tracker-stage-label{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--slate-light)}.tracker-stage-time{font-size:10px;color:var(--slate-light)}.outcome-month-group{margin-bottom:28px}.outcome-month-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.15)}.outcome-month-head h3{font-family:Playfair Display,serif;font-size:19px;color:var(--white)}.outcome-month-total{font-size:13px;font-weight:700}.outcome-month-total.won{color:#6ee7a0}.outcome-month-total.lost{color:#e5837a}.outcome-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:18px 22px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-sm)}.outcome-card.won{border-left:3px solid var(--success)}.outcome-card.lost{border-left:3px solid #C0392B}.outcome-card-client{flex:1;min-width:0}.outcome-card-value{font-size:15px;font-weight:700;flex-shrink:0;min-width:110px}.outcome-card-value.won{color:var(--success)}.outcome-card-value.lost{color:#c0392b}.outcome-card-meta{text-align:right;font-size:11px;color:var(--slate-light);flex-shrink:0;line-height:1.6}.outcome-card-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;min-width:130px}.outcome-card-actions .btn-mark-won,.outcome-card-actions .btn-mark-lost,.outcome-card-actions .btn-return-active{flex:none;width:100%;padding:7px 12px;font-size:11px}.btn-return-active{border-radius:8px;font-weight:700;cursor:pointer;border:1.5px solid var(--border);background:#fff;color:var(--slate-light)}.btn-return-active:hover{background:var(--silver-pale);color:var(--slate)}.btn-return-active:disabled{opacity:.5;cursor:not-allowed}.sales-section-label{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#ffffff8c;margin:28px 0 12px}.sales-section-label:first-of-type{margin-top:8px}.sales-user-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sales-user-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.sales-user-name{font-family:Playfair Display,serif;font-size:17px;color:var(--black);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.sales-user-stat{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--slate);padding:6px 0}.sales-user-stat strong{font-size:13px;color:var(--black)}.sales-user-stat strong.gold{color:var(--gold-dark)}.sales-user-stat.sub{color:var(--slate-light);font-size:11px;border-top:1px dashed var(--border);margin-top:4px;padding-top:8px}.sales-trend-row{display:flex;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--border)}.sales-trend-row:last-child{border-bottom:none}.sales-trend-label{font-size:13px;font-weight:600;color:var(--black);flex:1}.sales-trend-count{font-size:11px;color:var(--slate-light)}.sales-trend-total{font-size:14px;font-weight:700;color:var(--gold-dark);min-width:100px;text-align:right}.dl-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.btn-dl{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;border:none;transition:all .2s}.btn-dl.green{background:var(--green);color:var(--white);box-shadow:0 4px 14px #1c3a2b40}.btn-dl.green:hover{background:var(--green-light);transform:translateY(-1px)}.btn-dl.outline{background:var(--white);color:var(--black);border:2px solid var(--black)}.btn-dl.outline:hover{background:var(--silver-pale);transform:translateY(-1px)}.btn-save-job{width:100%;padding:15px;background:linear-gradient(135deg,var(--green),var(--green-light));color:var(--white);border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #1c3a2b4d;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:10px}.btn-save-job:hover{transform:translateY(-1px)}.btn-save-job:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-new-est{width:100%;padding:12px;background:transparent;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-weight:500;color:var(--slate);cursor:pointer;transition:all .2s}.btn-new-est:hover{border-color:var(--gold);color:var(--gold-dark)}.job-config{margin-top:16px;border:1.5px solid var(--border);border-radius:12px;overflow:hidden}.job-config-header{background:var(--black);padding:14px 20px;display:flex;align-items:center;gap:10px}.job-config-header span.title{font-size:13px;font-weight:700;color:var(--white)}.job-config-header span.sub{font-size:11px;color:#fff6;margin-left:4px}.job-config-body{padding:20px;background:var(--white)}.mw-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}.mw-field label{display:block;font-size:11px;font-weight:700;color:var(--slate);margin-bottom:6px;letter-spacing:.5px;text-transform:uppercase}.mw-field-inner{display:flex;align-items:center;gap:6px}.mw-field-inner input{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:7px;font-size:15px;font-weight:700;color:var(--black);background:var(--silver-pale);outline:none}.mw-field-inner input:focus{border-color:var(--gold)}.mw-field-inner span{font-size:13px;color:var(--slate);flex-shrink:0}.checklist-title{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--slate-light);margin-bottom:14px}.section-label{margin-bottom:6px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold-dark)}.section-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.section-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.check-row{padding:10px 14px;background:var(--silver-pale);border-radius:8px;border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.check-row label.check-label{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1}.check-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);cursor:pointer}.check-item-title{font-size:13px;font-weight:600;color:var(--black)}.check-item-sub{font-size:11px;color:var(--slate-light)}.qty-inline{display:flex;align-items:center;gap:6px}.qty-inline span{font-size:11px;color:var(--slate)}.qty-inline input{width:52px;padding:5px 8px;border:1.5px solid var(--border);border-radius:6px;font-size:13px;font-weight:600;text-align:center;outline:none}.qty-inline input:focus{border-color:var(--gold)}.qty-inline.dollar input{width:80px}.bin-select{padding:12px 14px;background:var(--silver-pale);border-radius:8px;border:1px solid var(--border)}.bin-select label{display:block;font-size:11px;font-weight:600;color:var(--slate);margin-bottom:8px;letter-spacing:.3px}.bin-select select{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:7px;font-size:13px;font-weight:500;color:var(--black);background:var(--white);outline:none;cursor:pointer}.bin-select select:focus{border-color:var(--gold)}.bin-preview{margin-top:10px;padding:8px 12px;background:var(--gold-pale);border:1px solid rgba(201,168,76,.3);border-radius:6px;font-size:12px;color:var(--gold-dark);font-weight:600}.osb-type-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.osb-type-row label{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:12px;color:var(--slate)}.osb-type-row input[type=radio]{accent-color:var(--green)}.config-footnote{margin-top:14px;font-size:11px;color:var(--slate-light)}.toast{position:fixed;bottom:28px;right:28px;background:var(--black);color:var(--white);padding:14px 20px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);z-index:9999;transform:translateY(80px);opacity:0;transition:all .3s;display:flex;align-items:center;gap:10px;max-width:320px;pointer-events:none}.toast.show{transform:translateY(0);opacity:1}.toast.success{border-left:4px solid #6EE7A0}.toast.error{border-left:4px solid var(--danger)}
