@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-ext-400-normal-DWiEslNC.woff2) format("woff2"),url(/assets/bebas-neue-latin-ext-400-normal-HFKRJXnW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2) format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.pdfx-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.pdfx-modal{background:var(--card-bg);border-radius:12px;width:100%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;border:1px solid var(--card-border)}.pdfx-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--card-border);flex-shrink:0}.pdfx-header h2{font-size:16px;font-weight:700;margin:0}.pdfx-close{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:4px}.pdfx-close:hover{background:var(--main-bg);color:var(--text-primary)}.pdfx-body{flex:1;overflow-y:auto;padding:20px}.pdfx-upload{border:2px dashed var(--card-border);border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:border-color .2s}.pdfx-upload:hover{border-color:#ff6b35}.pdfx-upload-icon{font-size:36px;margin-bottom:8px;opacity:.5}.pdfx-upload-text{font-size:14px;color:var(--text-secondary)}.pdfx-upload input[type=file]{display:none}.pdfx-loading{text-align:center;padding:40px;color:var(--text-secondary);font-size:14px}.pdfx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pdfx-thumb{position:relative;border:2px solid var(--card-border);border-radius:6px;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s;background:#fff}.pdfx-thumb:hover{border-color:#ff6b35;box-shadow:0 2px 8px #ff6b3533}.pdfx-thumb.selected{border-color:#ff6b35;box-shadow:0 0 0 2px #ff6b354d}.pdfx-thumb-img{width:100%;aspect-ratio:8.5/11;object-fit:contain;display:block;background:#f5f5f5}.pdfx-thumb-label{font-size:11px;font-weight:600;text-align:center;padding:4px;color:var(--text-secondary);background:var(--main-bg);border-top:1px solid var(--card-border)}.pdfx-thumb-check{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#ff6b35;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 1px 4px #0003}.pdfx-name-input{width:100%;padding:4px 6px;font-size:11px;border:1px solid var(--card-border);border-radius:3px;background:var(--card-bg);color:var(--text-primary);text-align:center;margin-top:-1px}.pdfx-name-input:focus{outline:none;border-color:#ff6b35}.pdfx-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--card-border);flex-shrink:0}.pdfx-footer-info{font-size:12px;color:var(--text-secondary)}.pdfx-footer-actions{display:flex;gap:8px}.pdfx-btn{padding:8px 18px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:background .15s}.pdfx-btn.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--card-border)}.pdfx-btn.ghost:hover{background:var(--main-bg)}.pdfx-btn.primary{background:#ff6b35;color:#fff}.pdfx-btn.primary:hover{background:#e55a28}.pdfx-btn:disabled{opacity:.5;cursor:not-allowed}.pdfx-job-select{margin-bottom:16px}.pdfx-job-select label{font-size:12px;font-weight:600;color:var(--text-secondary);display:block;margin-bottom:4px}.pdfx-job-select select{width:100%;padding:8px 10px;font-size:13px;border:1px solid var(--card-border);border-radius:6px;background:var(--card-bg);color:var(--text-primary)}.pdfx-file-info{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--main-bg);border-radius:6px;margin-bottom:16px;font-size:12px}.pdfx-file-name{font-weight:600;color:var(--text-primary)}.pdfx-file-pages{color:var(--text-secondary)}.pdfx-file-change{margin-left:auto;color:#ff6b35;cursor:pointer;font-weight:600;background:none;border:none;font-size:12px}@media (max-width: 768px){.pdfx-grid{grid-template-columns:repeat(2,1fr)}.pdfx-modal{max-height:90vh}.pdfx-overlay{padding:12px}}@media (max-width: 480px){.pdfx-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.jd-page{padding:0}.jd-header{margin-bottom:24px}.jd-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-top:12px}.jd-title{font-size:28px;font-weight:800;margin:0 0 6px;background:linear-gradient(180deg,#fff,#999);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.15}.jd-meta{font-size:13px;color:var(--text-secondary)}.jd-meta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}.jd-meta-item{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text-secondary)}.jd-meta-icon{font-size:14px;opacity:.7}.jd-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0}.jd-actions-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--card-border)}.jd-action-btn{padding:7px 13px;border-radius:8px;font-size:12px;font-weight:600;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-primary);cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:5px}.jd-action-btn:hover{border-color:var(--accent);color:var(--accent)}.jd-action-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.jd-action-btn.primary:hover{opacity:.9;color:#fff}.jd-action-btn.success{background:#2e7d32;border-color:#2e7d32;color:#fff}.jd-action-btn.success:hover{opacity:.9;color:#fff}.jd-action-btn.danger{border-color:#c62828;color:#c62828}.jd-action-btn.danger:hover{background:#c62828;color:#fff}.jd-action-btn:disabled{opacity:.5;cursor:not-allowed}.jd-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:stretch}.jd-grid>div{display:flex;flex-direction:column}.jd-grid>div>.jd-card:last-child{flex:1}@media (max-width: 960px){.jd-grid{grid-template-columns:1fr}}.jd-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:20px;margin-bottom:20px}.jd-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-secondary);margin:0 0 14px}.jd-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.jd-card-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0 0 14px}.jd-card-toggle .jd-card-title{margin:0}.jd-card-toggle-icon{font-size:10px;color:var(--text-secondary);transition:transform .2s;flex-shrink:0;margin-left:8px}.jd-card-toggle-icon.collapsed{transform:rotate(-90deg)}.jd-card-body{transition:none}.jd-card-body.collapsed{display:none}.jd-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}.jd-stat-item{background:var(--main-bg);border-radius:8px;padding:14px;border:1px solid var(--card-border)}.jd-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:5px}.jd-stat-value{font-size:24px;font-weight:800;color:var(--text-primary);line-height:1.1}.jd-stat-value.accent{color:var(--accent)}.jd-stat-value.success{color:#4caf50}.jd-stat-value.warning{color:#ff9800}.jd-stat-value.muted{color:var(--text-secondary)}.jd-stat-value.gradient-orange{background:linear-gradient(135deg,#ff6b35,#ff9f1c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.jd-stat-value.gradient-green{background:linear-gradient(135deg,#4caf50,#81c784);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.jd-stat-sub{font-size:11px;color:var(--text-secondary);margin-top:3px}.jd-stat-subtitle{font-size:12px;color:var(--text-secondary);margin-top:4px}.jd-tl-heading{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:14px;border-top:1px solid var(--card-border);padding-top:16px}.jd-tl-list{display:flex;flex-direction:column}.jd-tl-item{display:flex;gap:12px;padding-bottom:18px;position:relative}.jd-tl-item:last-child{padding-bottom:0}.jd-tl-item:not(:last-child):before{content:"";position:absolute;left:11px;top:26px;width:2px;bottom:0;background:var(--card-border)}.jd-tl-item.done:not(:last-child):before{background:#4caf50}.jd-tl-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--card-border);background:var(--main-bg);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;z-index:1;color:var(--text-secondary)}.jd-tl-item.done .jd-tl-dot{background:#4caf50;border-color:#4caf50;color:#fff}.jd-tl-item.current .jd-tl-dot{border-color:#ff9800;background:#ff9800;color:#fff}.jd-tl-content{flex:1}.jd-tl-label{font-size:13px;font-weight:600;color:var(--text-primary);line-height:24px}.jd-tl-item.pending .jd-tl-label{color:var(--text-secondary);font-weight:500}.jd-tl-date{font-size:11px;color:var(--text-secondary);margin-top:1px}.jd-tl-amount{font-size:14px;font-weight:700;margin-top:3px}.jd-tl-item.done .jd-tl-amount{color:#4caf50}.jd-tl-item.current .jd-tl-amount{color:#ff9800}.jd-tl-item.pending .jd-tl-amount{color:var(--text-secondary)}.jd-docs-list{display:flex;flex-direction:column;gap:8px}.jd-doc-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--main-bg);border-radius:8px;border:1px solid var(--card-border);transition:border-color .15s,background .15s}.jd-doc-item:hover{border-color:var(--accent);background:var(--card-bg)}.jd-doc-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.jd-doc-icon.pdf{background:#ff6b3526;color:var(--accent)}.jd-doc-icon.inv{background:#ff980026;color:#ff9800}.jd-doc-icon.sr{background:#2196f326;color:#2196f3}.jd-doc-icon.nto{background:#9c27b026;color:#9c27b0}.jd-doc-icon.photo,.jd-doc-icon.co{background:#4caf5026;color:#4caf50}.jd-doc-icon.co-rejected{background:#f4433626;color:#f44336}.jd-doc-icon.co-pending{background:#ff980026;color:#ff9800}.jd-doc-info{flex:1;min-width:0}.jd-doc-name{font-size:13px;font-weight:600;color:var(--text-primary)}.jd-doc-meta{font-size:11px;color:var(--text-secondary);margin-top:1px}.jd-doc-action{font-size:12px;color:var(--accent);text-decoration:none;cursor:pointer;background:none;border:none;padding:4px 8px;border-radius:4px;white-space:nowrap;font-weight:600}.jd-doc-action:hover{text-decoration:underline}.jd-doc-actions{display:flex;gap:6px;flex-shrink:0}.jd-doc-action-btn{font-size:12px;padding:5px 12px;border-radius:6px;border:1px solid var(--card-border);background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:600;white-space:nowrap;text-decoration:none;transition:border-color .15s,color .15s}.jd-doc-action-btn:hover{border-color:var(--accent);color:var(--accent)}.jd-doc-none{font-size:13px;color:var(--text-secondary);font-style:italic}.jd-activity-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.jd-activity-item{display:flex;flex-direction:column;padding:12px 14px;border-left:3px solid var(--card-border);background:var(--main-bg);border-radius:0 8px 8px 0}.jd-activity-item.success{border-left-color:#4caf50}.jd-activity-item.info{border-left-color:#42a5f5}.jd-activity-item.warning{border-left-color:#ff9800}.jd-activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.jd-activity-title{font-size:13px;font-weight:600;color:var(--text-primary)}.jd-activity-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}.jd-activity-meta{margin-top:6px;padding-top:6px;border-top:1px solid var(--card-border);font-size:11px;color:var(--text-secondary)}.jd-activity-time{font-size:11px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.jd-detail-section{margin-bottom:18px}.jd-detail-section:last-child{margin-bottom:0}.jd-detail-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:8px;font-weight:700}.jd-detail-divider{height:1px;background:var(--card-border);margin:16px 0}.jd-dl{display:flex;flex-direction:column;gap:7px}.jd-dl-row{display:flex;justify-content:space-between;gap:12px;font-size:13px}.jd-dl-row dt{color:var(--text-secondary);flex-shrink:0}.jd-dl-row dd{font-weight:500;text-align:right;color:var(--text-primary);word-break:break-word}.jd-gc-flag{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.jd-gc-flag.warn{background:#eab30826;color:#eab308}.jd-gc-flag.danger{background:#ef444426;color:#ef4444}.jd-gc-flag.info{background:#3b82f626;color:#3b82f6}@keyframes spin{to{transform:rotate(360deg)}}.jd-stage-wrap{display:flex;gap:8px;align-items:center}.jd-stage-select{flex:1;background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--text-primary);cursor:pointer}.jd-stage-select:disabled{opacity:.5}.jd-sub-card{background:var(--main-bg);border-radius:10px;padding:16px;border:1px solid var(--card-border);margin-bottom:10px}.jd-sub-card:last-child{margin-bottom:0}.jd-sub-header{display:flex;gap:12px;align-items:center;margin-bottom:14px}.jd-sub-info{flex:1;min-width:0}.jd-sub-name{font-weight:700;font-size:15px;color:var(--text-primary)}.jd-sub-phone{font-size:13px;color:var(--text-secondary)}.jd-sub-phase{font-size:11px;color:var(--text-secondary);margin-top:2px}.jd-sub-change-btn{font-size:11px;color:var(--text-secondary);background:none;border:1px solid var(--card-border);cursor:pointer;padding:4px 10px;border-radius:6px;font-weight:600;transition:border-color .15s,color .15s;flex-shrink:0}.jd-sub-change-btn:hover{color:var(--accent);border-color:var(--accent)}.jd-sub-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0}.jd-sub-progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.jd-sub-progress-title{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-secondary)}.jd-sub-progress-pct{font-size:12px;font-weight:600;color:#4caf50}.jd-sub-progress-bar-track{height:7px;background:var(--card-border);border-radius:4px;overflow:hidden;margin-bottom:12px}.jd-sub-progress-bar-fill{height:100%;background:#4caf50;border-radius:4px;transition:width .3s}.jd-sub-step-row{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px}.jd-sub-step-row .step-icon{width:20px;text-align:center;flex-shrink:0;font-size:14px}.jd-sub-step-row.done,.jd-sub-step-row.active{color:var(--text-primary)}.jd-sub-step-row.pending{color:var(--text-secondary)}.jd-sub-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.jd-sub-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 0;border-radius:8px;font-size:13px;font-weight:500;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-primary);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}.jd-sub-action-btn:hover{background:#ffffff0f;border-color:#fff3}.jd-sub-action-btn:disabled{opacity:.4;cursor:default}.jd-sub-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.jd-sub-stat-box{background:var(--card-bg);border-radius:8px;padding:10px 12px;border:1px solid var(--card-border)}.jd-sub-stat-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.jd-sub-stat-value{font-size:22px;font-weight:700;color:#4caf50}.jd-progress-track{height:5px;background:var(--card-border);border-radius:3px;overflow:hidden;margin-bottom:8px}.jd-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.jd-steps{display:flex;gap:4px}.jd-step-dot{width:20px;height:20px;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700;border:1.5px solid var(--card-border);background:var(--card-bg);color:var(--text-secondary)}.jd-step-dot.done{background:#4caf50;border-color:#4caf50;color:#fff}.jd-step-dot.current{background:var(--accent);border-color:var(--accent);color:#fff}.jd-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.jd-modal{background:var(--card-bg);border-radius:12px;padding:28px;width:100%;max-width:600px;border:1px solid var(--card-border);max-height:90vh;overflow-y:auto}.jd-modal-title{font-size:18px;font-weight:700;margin:0 0 20px}.jd-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.jd-pa-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}@media (max-width: 700px){.jd-pa-stats-grid{grid-template-columns:1fr}}.jd-pa-stat-box{background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;padding:16px;text-align:center}.jd-pa-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px}.jd-pa-stat-value{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:3px}.jd-pa-stat-value.accent{color:var(--accent)}.jd-pa-stat-value.success{color:#4caf50}.jd-pa-stat-value.warning{color:#ff9800}.jd-pa-stat-value.danger{color:#ef4444}.jd-pa-stat-sub{font-size:11px;color:var(--text-secondary)}.jd-pa-cadence{display:flex;flex-direction:column;gap:8px}.jd-pa-cadence-step{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--main-bg);border-radius:8px;border:1px solid var(--card-border)}.jd-pa-cadence-step.done{opacity:.7;border-color:var(--card-border)}.jd-pa-cadence-step.active{background:#f59e0b14;border-color:#ff9800}.jd-pa-step-indicator{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;border:2px solid var(--card-border);background:var(--card-bg);color:var(--text-secondary)}.jd-pa-cadence-step.done .jd-pa-step-indicator{background:#4caf50;border-color:#4caf50;color:#fff}.jd-pa-cadence-step.active .jd-pa-step-indicator{background:#ff9800;border-color:#ff9800;color:#fff}.jd-pa-step-body{flex:1}.jd-pa-step-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:3px}.jd-pa-cadence-step.active .jd-pa-step-title{color:#ff9800}.jd-pa-step-desc{font-size:11px;color:var(--text-secondary);margin-bottom:8px}.jd-pa-step-actions{display:flex;gap:8px;flex-wrap:wrap}.jd-pa-comm-list{display:flex;flex-direction:column;max-height:340px;overflow-y:auto}.jd-pa-comm-item{display:flex;gap:12px;padding:10px 12px;border-left:3px solid var(--card-border);border-bottom:1px solid var(--card-border);background:var(--main-bg);margin-bottom:0}.jd-pa-comm-item:last-child{border-bottom:none}.jd-pa-comm-item.call{border-left-color:#3b82f6}.jd-pa-comm-item.email{border-left-color:var(--accent)}.jd-pa-comm-item.note{border-left-color:var(--card-border)}.jd-pa-comm-icon{font-size:16px;flex-shrink:0;width:24px;text-align:center}.jd-pa-comm-body{flex:1;min-width:0}.jd-pa-comm-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.jd-pa-comm-desc{font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.jd-pa-comm-time{font-size:11px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;margin-top:2px}.jd-pa-win-prob-box{text-align:center;padding:20px 16px 16px;background:var(--main-bg);border-radius:10px;border:1px solid var(--card-border);margin-bottom:16px}.jd-pa-win-pct{font-size:52px;font-weight:800;line-height:1;margin-bottom:4px}.jd-pa-win-pct.high{color:#4caf50}.jd-pa-win-pct.medium{color:#ff9800}.jd-pa-win-pct.low{color:#ef4444}.jd-pa-win-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:14px}.jd-pa-win-basis{font-size:11px;color:var(--text-secondary)}.jd-pa-score-rows{margin-top:14px}.jd-pa-score-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.jd-pa-score-label{font-size:11px;color:var(--text-secondary);width:80px;flex-shrink:0;text-align:left}.jd-pa-score-bar-track{flex:1;height:5px;background:var(--card-border);border-radius:3px;overflow:hidden}.jd-pa-score-bar-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .4s ease}.jd-pa-score-bar-fill.green{background:#4caf50}.jd-pa-score-bar-fill.orange{background:#ff9800}.jd-pa-score-bar-fill.red{background:#ef4444}.jd-pa-score-pts{font-size:11px;font-weight:600;color:var(--text-primary);width:38px;text-align:right;flex-shrink:0}.jd-pa-opp-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--card-border)}.jd-pa-opp-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.jd-pa-opp-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:8px}.jd-pa-opp-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:4px 0}.jd-pa-opp-row dt{color:var(--text-secondary);flex-shrink:0}.jd-pa-opp-row dd{font-weight:600;color:var(--text-primary);text-align:right}.jd-sub-assign-trigger{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:2px dashed var(--card-border);border-radius:10px;cursor:pointer;color:var(--text-secondary);font-size:14px;font-weight:600;transition:border-color .15s,color .15s,background .15s;margin-top:10px}.jd-sub-assign-trigger:hover{border-color:var(--accent);color:var(--accent);background:#ff6b350d}.jd-sub-assign-icon{font-size:18px;font-weight:700;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ff6b3526;color:var(--accent)}.jd-sub-assign-card{background:var(--main-bg);border-radius:10px;padding:16px;border:1px solid var(--accent);margin-top:10px}.jd-sub-assign-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.jd-sub-assign-title{font-size:14px;font-weight:700;color:var(--text-primary)}.jd-sub-assign-form{display:flex;flex-direction:column;gap:12px}.jd-sub-assign-field{display:flex;flex-direction:column;gap:4px;flex:1}.jd-sub-assign-field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.jd-sub-assign-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jd-enrichment-summary{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ff6b3514;border-radius:6px;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;flex-wrap:wrap}.jd-labor-cost{padding:10px 12px;background:#4caf501a;border-radius:6px;font-size:14px;font-weight:700;color:#4caf50}.jd-labor-cost span{font-size:11px;font-weight:500;color:var(--text-secondary);margin-left:4px}.jd-detail-cards-row{margin-top:4px}.jd-view-toggle{display:inline-flex;gap:2px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:3px}.jd-view-tab{padding:6px 16px;border-radius:6px;font-size:12px;font-weight:600;border:none;cursor:pointer;background:transparent;color:var(--text-secondary);transition:all .15s}.jd-view-tab.active{background:var(--accent);color:#fff}.jd-view-tab:not(.active):hover{color:var(--text-primary)}.wf-progress{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:14px 18px;margin-bottom:14px}.wf-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.wf-progress-title{font-size:13px;font-weight:700;color:var(--text-primary)}.wf-progress-counts{display:flex;gap:16px}.wf-progress-stat{text-align:center}.wf-progress-stat-val{font-size:16px;font-weight:700;color:var(--accent)}.wf-progress-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.wf-progress-bar{background:#ffffff0f;height:6px;border-radius:3px;overflow:hidden}.wf-progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:3px;transition:width .5s ease}.wf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}@media (max-width: 700px){.wf-stats{grid-template-columns:repeat(2,1fr)}}.wf-stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:10px 12px;text-align:center}.wf-stat-val{font-size:15px;font-weight:700;margin-bottom:1px}.wf-stat-val.green{color:#4caf50}.wf-stat-val.orange{color:#ff9800}.wf-stat-val.red{color:#f44336}.wf-stat-val.neutral{color:var(--text-primary)}.wf-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary)}.wf-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:14px;margin-bottom:14px}.wf-section-title{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.wf-step{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:8px;border:1.5px solid var(--card-border);background:#ffffff05;margin-bottom:8px;transition:border-color .2s}.wf-step:last-child{margin-bottom:0}.wf-step:hover{border-color:#ffffff1f}.wf-step.completed{border-color:#4caf5066;background:#4caf500d}.wf-step.in-progress{border-color:#ff980080;background:#ff98000d}.wf-step.blocked{border-color:#f4433680;background:#f443360d}.wf-step-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.wf-step-icon.completed{background:#4caf50;color:#fff}.wf-step-icon.in-progress{background:#ff9800;color:#fff}.wf-step-icon.blocked{background:#f44336;color:#fff}.wf-step-icon.pending{background:#ffffff14;color:var(--text-secondary)}.wf-step-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:1px}.wf-step-meta{font-size:11px;color:var(--text-secondary)}.wf-step-meta.completed{color:#4caf50}.wf-step-meta.in-progress{color:#ff9800}.wf-step-meta.blocked{color:#f44336}.wf-step-actions{display:flex;gap:8px;flex-shrink:0}.wf-action-btn{padding:5px 10px;border-radius:5px;font-size:11px;font-weight:600;border:none;cursor:pointer;white-space:nowrap;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.wf-action-btn.primary{background:var(--accent);color:#fff}.wf-action-btn.primary:hover{opacity:.9}.wf-action-btn.secondary{background:#ffffff0f;border:1px solid var(--card-border);color:var(--text-secondary)}.wf-action-btn.secondary:hover{border-color:var(--accent);color:var(--accent)}.wf-action-btn:disabled{opacity:.35;cursor:not-allowed}.wf-step-details{grid-column:1 / -1;padding:12px 16px;background:#00000026;border-radius:8px;margin-top:8px}.wf-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.wf-detail-label{font-size:11px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.3px}.wf-detail-value{font-size:13px;color:var(--text-primary)}.wf-completed-link{font-size:12px;color:var(--text-secondary);text-decoration:none}.wf-completed-link:hover{color:var(--accent)}.jd-risk-gauge{padding:14px 16px;border-radius:10px;margin-bottom:12px}.jd-risk-bar{height:8px;background:var(--card-border);border-radius:4px;overflow:hidden}.jd-risk-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.jd-risk-bar-fill.low{background:#22c55e}.jd-risk-bar-fill.medium{background:#eab308}.jd-risk-bar-fill.high{background:#ef4444}.jd-risk-section-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 0;margin-bottom:4px;border-bottom:1px solid var(--card-border)}.jd-risk-section-header.danger{color:#ef4444}.jd-risk-section-header.warn{color:#eab308}.jd-risk-section-header.ok{color:#22c55e}.jd-risk-section-header.info{color:#3b82f6}.jd-risk-item{display:flex;align-items:center;padding:5px 8px;margin:2px 0;border-radius:4px;font-size:12px;border-left:3px solid transparent}.jd-risk-item.danger{border-left-color:#ef4444;background:#ef44440f}.jd-risk-item.warn{border-left-color:#eab308;background:#eab3080f}.jd-risk-item.ok{border-left-color:#22c55e;background:#22c55e0f;color:var(--text-secondary)}.jd-risk-pts{font-size:10px;font-weight:700;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.jd-risk-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.jd-risk-stat-box{text-align:center;padding:10px 8px;background:var(--main-bg);border-radius:8px;border:1px solid var(--card-border)}.jd-risk-stat-value{font-size:18px;font-weight:800;color:var(--accent)}.jd-risk-stat-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.jd-payapp-detail{padding:4px 0}.jd-payapp-pct-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;margin-bottom:14px}.jd-payapp-pct-bar input[type=range]{-webkit-appearance:none;height:6px;border-radius:3px;background:var(--card-border);outline:none}.jd-payapp-pct-bar input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#ff6b35;cursor:pointer}.jd-payapp-g702,.jd-payapp-g703{margin-bottom:14px}.jd-payapp-summary-table{width:100%;border-collapse:collapse;font-size:12px}.jd-payapp-summary-table td{padding:5px 8px;border-bottom:1px solid var(--card-border)}.jd-payapp-summary-table .line-num{width:28px;text-align:center;font-weight:700;color:#ff6b35;font-size:11px}.jd-payapp-summary-table .amt{text-align:right;font-family:Courier New,monospace;font-weight:600;width:130px}.jd-payapp-summary-table tr.subtotal td{border-top:2px solid var(--card-border);font-weight:700}.jd-payapp-summary-table tr.indent td{font-size:11px;color:var(--text-secondary)}.jd-payapp-summary-table tr.indent td:nth-child(2){padding-left:24px}.jd-payapp-summary-table tr.highlight td{background:#ff6b3514}.jd-payapp-summary-table .highlight-amt{color:#ff6b35;font-weight:700;font-size:14px}.jd-payapp-items-table{width:100%;border-collapse:collapse;font-size:12px}.jd-payapp-items-table thead th{background:var(--sidebar-bg);padding:5px 6px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);border-bottom:2px solid var(--card-border)}.jd-payapp-items-table tbody td{padding:5px 6px;border-bottom:1px solid var(--card-border)}.jd-payapp-items-table .amt{text-align:right;font-family:Courier New,monospace}.wo-page{min-height:100vh;background:var(--main-bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding-bottom:80px}.wo-header{background:var(--sidebar-bg);padding:16px 20px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:50}.wo-header .brand-icon{width:32px;height:32px;background:var(--accent);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0}.wo-header-title{font-size:15px;font-weight:700;color:#fff}.wo-header-sub{font-size:12px;color:var(--text-secondary)}.wo-body{padding:12px 16px;display:flex;flex-direction:column;gap:12px;max-width:480px;margin:0 auto}.wo-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px}.wo-card h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin-bottom:12px}.wo-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wo-info-item label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.wo-info-item span{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-top:2px}.wo-info-item.full{grid-column:1 / -1}.wo-phase{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.wo-phase:last-child{border-bottom:none}.wo-phase-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--card-border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:transparent;font-size:14px;transition:all .15s;flex-shrink:0}.wo-phase-check.checked{background:var(--accent);border-color:var(--accent);color:#fff}.wo-phase-name{font-size:15px;font-weight:500}.wo-phase-name.done{text-decoration:line-through;color:var(--text-secondary)}.wo-material-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:14px}.wo-material-row:last-child{border-bottom:none}.wo-material-name{font-weight:500}.wo-material-stock{color:var(--text-secondary);font-size:13px}.wo-pickup-btn{width:100%;padding:14px;margin-top:12px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;min-height:48px}.wo-pickup-btn:active{opacity:.85}.wo-photo-tabs{display:flex;gap:4px;margin-bottom:12px}.wo-photo-tab{flex:1;padding:8px;text-align:center;font-size:12px;font-weight:600;border-radius:8px;background:#ffffff0a;color:var(--text-secondary);cursor:pointer;border:1px solid transparent;transition:all .15s}.wo-photo-tab.active{background:#f2652226;color:var(--accent);border-color:var(--accent)}.wo-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wo-photo-thumb{aspect-ratio:1;border-radius:8px;object-fit:cover;width:100%;border:1px solid var(--card-border)}.wo-photo-add{aspect-ratio:1;border-radius:8px;border:2px dashed var(--card-border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);font-size:28px;transition:border-color .15s}.wo-photo-add:hover{border-color:var(--accent);color:var(--accent)}.wo-notes{width:100%;min-height:80px;background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;padding:12px;color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;outline:none}.wo-notes:focus{border-color:var(--accent)}.wo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s}.wo-backdrop.open{opacity:1;pointer-events:auto}.wo-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--card-bg);border-radius:16px 16px 0 0;padding:12px 20px 24px;max-height:75vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s ease-out;z-index:1001}.wo-sheet.open{transform:translateY(0)}.wo-sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--card-border);margin:0 auto 16px}.wo-sheet h3{font-size:16px;font-weight:700;margin-bottom:16px}.wo-sheet-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.wo-sheet-row:last-of-type{border-bottom:none}.wo-sheet-mat-name{font-size:14px;font-weight:500;flex:1}.wo-sheet-mat-unit{font-size:12px;color:var(--text-secondary);margin-left:4px}.wo-qty-ctrl{display:flex;align-items:center;gap:8px}.wo-qty-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--card-border);background:var(--main-bg);color:var(--text-primary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.wo-qty-btn:active{background:var(--card-border)}.wo-qty-val{width:40px;text-align:center;font-size:16px;font-weight:600}.wo-sheet-confirm{width:100%;padding:14px;margin-top:16px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;min-height:48px}.wo-sheet-confirm:active{opacity:.85}.wo-center{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary);font-size:16px}.wo-toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:#14532d;color:#4ade80;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;z-index:2000;animation:wo-fade 2s ease-out forwards}@keyframes wo-fade{0%,70%{opacity:1}to{opacity:0}}:root{--pp-bg: #0a0a0a;--pp-bg-secondary: #1a1a1a;--pp-bg-card: #242424;--pp-text: #FFFFFF;--pp-text-secondary: #ABABAB;--pp-text-muted: #6b6b6b;--pp-border: #333333;--pp-primary: #FF6B35;--pp-primary-dark: #e85a28;--pp-success: #10B981}[data-theme=light]{--pp-bg: #f5f5f5;--pp-bg-secondary: #ffffff;--pp-bg-card: #f0f0f0;--pp-text: #1a1a1a;--pp-text-secondary: #555555;--pp-text-muted: #888888;--pp-border: #e0e0e0;--pp-primary: #FF6B35;--pp-primary-dark: #e85a28;--pp-success: #10B981}.proposal-portal{min-height:100vh;background:var(--pp-bg);color:var(--pp-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.proposal-portal *{box-sizing:border-box}.proposal-portal .pp-hero{background:linear-gradient(135deg,var(--pp-bg-secondary) 0%,var(--pp-bg) 100%);border-bottom:1px solid var(--pp-border);padding:60px 40px 100px;text-align:center;position:relative;overflow:hidden}.proposal-portal .pp-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--pp-primary) 0%,#FF8C35 50%,var(--pp-primary) 100%)}.proposal-portal .pp-theme-toggle-wrap{position:absolute;top:24px;left:24px}.proposal-portal .pp-status-badge{position:absolute;top:24px;right:24px;padding:8px 16px;background:#ff6b3526;border:1px solid var(--pp-primary);border-radius:20px;font-size:12px;font-weight:600;color:var(--pp-primary);text-transform:uppercase;letter-spacing:.05em}.proposal-portal .pp-hero-logo{margin-bottom:32px}.proposal-portal .pp-project-title{font-size:48px;font-weight:800;letter-spacing:-.02em;margin-bottom:16px;background:linear-gradient(135deg,var(--pp-text) 0%,var(--pp-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}.proposal-portal .pp-project-meta{display:flex;justify-content:center;gap:40px;margin-top:24px;flex-wrap:wrap}.proposal-portal .pp-meta-item{display:flex;flex-direction:column;align-items:center;gap:6px}.proposal-portal .pp-meta-label{font-size:11px;color:var(--pp-text-muted);text-transform:uppercase;letter-spacing:.1em}.proposal-portal .pp-meta-value{font-size:16px;font-weight:600;color:var(--pp-text)}.proposal-portal .pp-container{max-width:1000px;margin:0 auto;padding:0 20px}.proposal-portal .pp-investment-section{background:var(--pp-bg-secondary);border:1px solid var(--pp-border);border-radius:16px;margin:-80px auto 40px;max-width:900px;position:relative;z-index:10;overflow:hidden;animation:ppFadeUp .6s ease-out both}.proposal-portal .pp-investment-header{background:linear-gradient(135deg,var(--pp-bg-card) 0%,var(--pp-bg-secondary) 100%);padding:32px 40px;border-bottom:1px solid var(--pp-border)}.proposal-portal .pp-investment-title{font-size:14px;color:var(--pp-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}.proposal-portal .pp-investment-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.proposal-portal .pp-project-scope{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.proposal-portal .pp-scope-item{display:flex;flex-direction:column;gap:8px}.proposal-portal .pp-scope-label{font-size:12px;color:var(--pp-text-muted);text-transform:uppercase;letter-spacing:.05em}.proposal-portal .pp-scope-value{font-size:20px;font-weight:700;color:var(--pp-text)}.proposal-portal .pp-total-investment{text-align:right}.proposal-portal .pp-investment-amount{font-size:56px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--pp-primary) 0%,#FF8C35 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:8px}.proposal-portal .pp-investment-label{font-size:12px;color:var(--pp-text-muted);text-transform:uppercase;letter-spacing:.1em}.proposal-portal .pp-pricing-breakdown{padding:32px 40px;background:var(--pp-bg-card)}.proposal-portal .pp-breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--pp-border)}.proposal-portal .pp-breakdown-row:last-child{border-bottom:none}.proposal-portal .pp-breakdown-label{font-size:15px;color:var(--pp-text-secondary)}.proposal-portal .pp-breakdown-value{font-size:16px;font-weight:600;color:var(--pp-text)}.proposal-portal .pp-deposit-row{background:#ff6b3514;margin:0 -40px;padding:20px 40px;border-top:1px solid rgba(255,107,53,.2);border-bottom:none}.proposal-portal .pp-deposit-row .pp-breakdown-label{color:var(--pp-text);font-weight:600}.proposal-portal .pp-deposit-row .pp-breakdown-value{font-size:24px;color:var(--pp-primary)}.proposal-portal .pp-scope-section{background:var(--pp-bg-secondary);border:1px solid var(--pp-border);border-radius:16px;padding:40px;margin:40px 0;animation:ppFadeUp .6s ease-out .1s both}.proposal-portal .pp-section-title{font-size:24px;font-weight:700;margin-bottom:24px;color:var(--pp-text)}.proposal-portal .pp-scope-grid{display:grid;gap:16px}.proposal-portal .pp-scope-work-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--pp-bg-card);border-radius:8px;border:1px solid var(--pp-border);transition:all .2s}.proposal-portal .pp-scope-work-item:hover{border-color:var(--pp-primary);transform:translate(4px)}.proposal-portal .pp-checkmark{flex-shrink:0;width:24px;height:24px;background:var(--pp-success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;line-height:1}.proposal-portal .pp-scope-text{font-size:15px;line-height:1.6;color:var(--pp-text-secondary)}.proposal-portal .pp-contract-section{background:var(--pp-bg-secondary);border:1px solid var(--pp-border);border-radius:16px;padding:40px;margin:40px 0;animation:ppFadeUp .6s ease-out .2s both}.proposal-portal .pp-contract-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.proposal-portal .pp-contract-intro{font-size:14px;color:var(--pp-text-muted);margin-top:8px;margin-bottom:0}.proposal-portal .pp-expand-all-btn{padding:8px 16px;background:transparent;border:1px solid var(--pp-border);border-radius:6px;color:var(--pp-text-secondary);font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.proposal-portal .pp-expand-all-btn:hover{border-color:var(--pp-primary);color:var(--pp-primary)}.proposal-portal .pp-term-item{background:var(--pp-bg-card);border:1px solid var(--pp-border);border-radius:8px;margin-bottom:12px;overflow:hidden;transition:all .2s}.proposal-portal .pp-term-header{padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.proposal-portal .pp-term-title{font-size:16px;font-weight:600;color:var(--pp-text)}.proposal-portal .pp-term-icon{width:20px;height:20px;border-radius:4px;background:var(--pp-bg);display:flex;align-items:center;justify-content:center;color:var(--pp-text-muted);font-size:10px;transition:all .2s;flex-shrink:0}.proposal-portal .pp-term-item.expanded .pp-term-icon{transform:rotate(180deg);background:var(--pp-primary);color:#fff}.proposal-portal .pp-term-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.proposal-portal .pp-term-item.expanded .pp-term-content{max-height:2000px}.proposal-portal .pp-term-text{padding:0 24px 24px;font-size:14px;line-height:1.75;color:var(--pp-text-secondary)}.proposal-portal .pp-term-text p{margin:8px 0}.proposal-portal .pp-term-text strong{color:var(--pp-text);font-weight:700}.proposal-portal .pp-term-text ul{margin:6px 0 12px 20px;padding:0}.proposal-portal .pp-term-text li{margin:6px 0}.proposal-portal .pp-term-text li strong{color:var(--pp-text)}.proposal-portal .pp-term-callout{margin:12px 0;padding:12px 16px;background:#ff6b350f;border-left:3px solid var(--pp-primary);border-radius:4px;font-size:14px;line-height:1.6;color:var(--pp-text)}.proposal-portal .pp-term-callout strong{color:var(--pp-primary)}.proposal-portal .pp-term-warning{margin-top:12px;padding:12px 16px;background:#ef444414;border-left:3px solid #ef4444;border-radius:4px;font-weight:500;font-size:13px;line-height:1.6;color:var(--pp-text)}.proposal-portal .pp-urgency-banner{background:linear-gradient(135deg,var(--pp-success) 0%,#059669 100%);border-radius:12px;padding:20px 32px;margin:40px 0;text-align:center;box-shadow:0 8px 24px #10b98133;animation:ppFadeUp .6s ease-out .3s both}.proposal-portal .pp-urgency-highlight{font-size:18px;font-weight:700;color:#fff}.proposal-portal .pp-actions-section{background:var(--pp-bg-secondary);border:1px solid var(--pp-border);border-radius:16px;padding:40px;margin:40px 0;animation:ppFadeUp .6s ease-out .35s both}.proposal-portal .pp-download-btn{width:100%;padding:18px;background:transparent;border:2px solid var(--pp-primary);border-radius:12px;color:var(--pp-primary);font-size:16px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s;margin-bottom:32px;text-align:center}.proposal-portal .pp-download-btn:hover:not(:disabled){background:#ff6b351a;transform:translateY(-2px)}.proposal-portal .pp-download-btn:disabled{opacity:.5;cursor:not-allowed}.proposal-portal .pp-signature-section{background:var(--pp-bg-card);border-radius:12px;padding:32px;border:2px dashed var(--pp-border)}.proposal-portal .pp-signature-title{font-size:18px;font-weight:600;margin-bottom:20px;text-align:center;color:var(--pp-text)}.proposal-portal .pp-signature-canvas{background:var(--pp-bg-secondary);border-radius:8px;padding:40px;text-align:center;margin-bottom:24px;border:1px solid var(--pp-border)}.proposal-portal .pp-sig-label{font-size:14px;color:var(--pp-text-muted);margin-bottom:20px}.proposal-portal .pp-sig-display{min-height:60px;display:flex;align-items:center;justify-content:center}.proposal-portal .pp-signature-name{font-family:Brush Script MT,Lucida Handwriting,cursive;font-size:48px;color:var(--pp-text);line-height:1.2}.proposal-portal .pp-signature-placeholder{font-size:14px;color:var(--pp-text-muted);font-style:italic}.proposal-portal .pp-sign-btn{width:100%;padding:20px;background:linear-gradient(135deg,var(--pp-primary) 0%,var(--pp-primary-dark) 100%);border:none;border-radius:12px;color:#fff;font-size:18px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s;box-shadow:0 8px 24px #ff6b354d}.proposal-portal .pp-sign-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #ff6b3566}.proposal-portal .pp-sign-btn:active{transform:translateY(0)}.proposal-portal .pp-sign-btn:disabled{cursor:not-allowed;transform:none}.proposal-portal .pp-legal-notice{font-size:13px;color:var(--pp-text-muted);margin-bottom:16px;padding:12px 16px;background:#0003;border-radius:8px;border-left:3px solid var(--pp-primary);line-height:1.6}.proposal-portal .pp-terms-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;margin-bottom:16px;padding:12px 0;font-size:14px;line-height:1.5;color:var(--pp-text-secondary)}.proposal-portal .pp-terms-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--pp-primary);cursor:pointer;flex-shrink:0}.proposal-portal .pp-sign-error{color:#ef5350;font-size:13px;margin-bottom:12px}.proposal-portal .pp-success-banner{background:linear-gradient(135deg,#059669,#047857);border-radius:16px;padding:32px;margin-bottom:32px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0596694d;text-align:center}.proposal-portal .pp-success-banner .pp-success-icon{font-size:28px;margin-bottom:4px}.proposal-portal .pp-success-banner h3{font-size:24px;color:#fff;margin-bottom:8px;font-weight:700}.proposal-portal .pp-success-banner p{font-size:13px;color:#a5d6a7}.proposal-portal .pp-payment-banner{background:linear-gradient(135deg,#0d47a1,#1565c0);border-radius:16px;padding:32px;margin-bottom:32px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0d47a14d;text-align:center}.proposal-portal .pp-payment-banner h3{font-size:18px;color:#fff;margin-bottom:4px;font-weight:700}.proposal-portal .pp-payment-banner p{font-size:13px;color:#90caf9}.proposal-portal .pp-deposit-section{background:#ffffff08;border:2px solid var(--pp-border);border-radius:16px;padding:32px;margin-top:16px}.proposal-portal .pp-deposit-section h3{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--pp-text)}.proposal-portal .pp-deposit-desc{margin-bottom:20px;font-size:15px;color:var(--pp-text-secondary)}.proposal-portal .pp-deposit-desc strong{color:var(--pp-primary)}.proposal-portal .pp-payment-option{background:#ffffff08;border:2px solid var(--pp-border);border-radius:12px;padding:24px;margin-bottom:16px;transition:all .3s}.proposal-portal .pp-payment-option:hover{border-color:var(--pp-primary);background:#ff6b350d}.proposal-portal .pp-payment-option-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.proposal-portal .pp-payment-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.proposal-portal .pp-payment-icon.orange{background:var(--pp-primary)}.proposal-portal .pp-payment-icon.blue{background:#1565c0;color:#fff}.proposal-portal .pp-payment-title{font-weight:700;color:var(--pp-text)}.proposal-portal .pp-payment-subtitle{font-size:12px;color:var(--pp-text-muted)}.proposal-portal .pp-invoice-requested{background:#0d47a1;border-radius:8px;padding:12px;text-align:center;font-size:14px;color:#90caf9}.proposal-portal .pp-deposit-paid{background:linear-gradient(135deg,#059669,#047857);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px;text-align:center;box-shadow:0 4px 16px #0596694d}.proposal-portal .pp-deposit-paid .pp-deposit-paid-icon{font-size:36px;margin-bottom:8px}.proposal-portal .pp-deposit-paid h3{font-size:20px;font-weight:700;margin-bottom:8px;color:#fff}.proposal-portal .pp-deposit-paid p{font-size:14px;color:#a5d6a7;margin-bottom:4px}.proposal-portal .pp-confirmed-text{font-size:13px;color:#81c784;margin-top:12px}.proposal-portal .pp-takeoff-section{background:var(--pp-bg-secondary);border:1px solid var(--pp-border);border-radius:16px;padding:40px;margin:40px 0;animation:ppFadeUp .6s ease-out .15s both}.proposal-portal .pp-takeoff-image-wrap{text-align:center}.proposal-portal .pp-takeoff-image{max-width:100%;border-radius:12px;border:1px solid var(--pp-border);cursor:pointer;transition:all .3s}.proposal-portal .pp-takeoff-image:hover{border-color:var(--pp-primary);box-shadow:0 4px 20px #ff6b3526;transform:scale(1.01)}.proposal-portal .pp-takeoff-caption{font-size:12px;color:var(--pp-text-muted);margin-top:12px}.proposal-portal .pp-social-proof{background:linear-gradient(135deg,#10b9811a,#10b9810d);border:1px solid rgba(16,185,129,.2);border-radius:12px;padding:32px;margin:40px 0}.proposal-portal .pp-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}.proposal-portal .pp-proof-stat{font-size:36px;font-weight:800;color:var(--pp-success);margin-bottom:4px}.proposal-portal .pp-proof-label{font-size:11px;color:var(--pp-text-muted);text-transform:uppercase;letter-spacing:.05em}.proposal-portal .pp-proof-link{text-decoration:none;display:block;transition:transform .2s}.proposal-portal .pp-proof-link:hover{transform:translateY(-2px)}.proposal-portal .pp-proof-link .pp-proof-stat{color:var(--pp-success)}.proposal-portal .pp-proof-link .pp-proof-label{text-decoration:underline;text-underline-offset:3px}.proposal-portal .pp-footer{text-align:center;padding:60px 20px;border-top:1px solid var(--pp-border);margin-top:60px}.proposal-portal .pp-footer-logo{margin-bottom:16px}.proposal-portal .pp-footer-text{font-size:13px;color:var(--pp-text-muted);line-height:1.8}.proposal-portal .pp-footer-theme{margin-top:20px;display:flex;justify-content:center}.proposal-portal .pp-loading,.proposal-portal .pp-error{text-align:center;padding-top:120px}.proposal-portal .pp-loading-text{font-size:24px;margin-bottom:12px;color:var(--pp-text-muted)}.proposal-portal .pp-error-code{font-size:48px;margin-bottom:16px;color:var(--pp-text-muted)}.proposal-portal .pp-error-message{font-size:18px;color:var(--pp-text-muted)}@keyframes ppFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ppFadeIn{0%{opacity:0}to{opacity:1}}.proposal-portal .fade-in{animation:ppFadeIn .3s ease}.theme-toggle{width:44px;height:44px;border-radius:10px;background:var(--pp-bg-card, #242424);border:1px solid var(--pp-border, #333);color:var(--pp-text, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--pp-primary, #FF6B35)}.theme-toggle svg{transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(20deg)}@media (max-width: 768px){.proposal-portal .pp-hero{padding:40px 20px 80px}.proposal-portal .pp-project-title{font-size:32px}.proposal-portal .pp-project-meta{gap:20px}.proposal-portal .pp-investment-section{margin-top:-60px}.proposal-portal .pp-investment-grid{grid-template-columns:1fr;gap:32px}.proposal-portal .pp-total-investment{text-align:left}.proposal-portal .pp-investment-amount{font-size:42px}.proposal-portal .pp-project-scope{grid-template-columns:1fr}.proposal-portal .pp-investment-header,.proposal-portal .pp-pricing-breakdown,.proposal-portal .pp-scope-section,.proposal-portal .pp-contract-section,.proposal-portal .pp-actions-section{padding:24px}.proposal-portal .pp-deposit-row{margin:0 -24px;padding:20px 24px}.proposal-portal .pp-contract-header{flex-direction:column;align-items:flex-start;gap:12px}.proposal-portal .pp-expand-all-btn{width:100%}.proposal-portal .pp-signature-section{padding:20px}.proposal-portal .pp-sign-btn{font-size:16px;padding:16px}.proposal-portal .pp-download-btn{font-size:14px;padding:14px}.proposal-portal .pp-status-badge{top:16px;right:16px;font-size:11px;padding:6px 12px}.proposal-portal .pp-proof-grid{grid-template-columns:repeat(2,1fr);gap:24px}.proposal-portal .pp-proof-stat{font-size:28px}.proposal-portal .pp-takeoff-section{padding:24px}}.invoice-portal{--ip-bg: #0a0a0a;--ip-bg-secondary: #1a1a1a;--ip-bg-card: #242424;--ip-text: #FFFFFF;--ip-text-secondary: #ABABAB;--ip-text-muted: #6b6b6b;--ip-border: #333333;--ip-primary: #FF6B35;--ip-primary-dark: #e85a28;--ip-success: #10B981;--ip-warning: #F59E0B;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--ip-bg);color:var(--ip-text);min-height:100vh;-webkit-font-smoothing:antialiased}.ip-header{background:linear-gradient(135deg,#1a1a1a,#0a0a0a);border-bottom:1px solid var(--ip-border);padding:40px;text-align:center;position:relative;overflow:hidden}.ip-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ip-primary) 0%,#FF8C35 50%,var(--ip-primary) 100%)}.ip-logo{height:48px;margin-bottom:24px}.ip-invoice-title{font-size:36px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;background:linear-gradient(135deg,#fff,#ababab);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ip-invoice-number{font-size:14px;color:var(--ip-text-muted);text-transform:uppercase;letter-spacing:.1em}.ip-status-badge{position:absolute;top:24px;right:24px;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.ip-status-badge.pending{background:#f59e0b26;border:1px solid var(--ip-warning);color:var(--ip-warning)}.ip-status-badge.paid{background:#10b98126;border:1px solid var(--ip-success);color:var(--ip-success)}.ip-container{max-width:860px;margin:0 auto;padding:40px 20px}.ip-amount-card{background:var(--ip-bg-secondary);border:1px solid var(--ip-border);border-radius:16px;padding:40px;margin-bottom:28px;text-align:center}.ip-amount-label{font-size:12px;color:var(--ip-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}.ip-amount-value{font-size:64px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--ip-primary) 0%,#FF8C35 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:12px}.ip-due-date{font-size:14px;color:var(--ip-text-secondary)}.ip-info-section{background:var(--ip-bg-secondary);border:1px solid var(--ip-border);border-radius:16px;padding:28px;margin-bottom:28px}.ip-section-title{font-size:18px;font-weight:700;margin-bottom:20px;color:var(--ip-text)}.ip-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.ip-info-block h3{font-size:11px;color:var(--ip-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.ip-info-block p{font-size:15px;line-height:1.8;color:var(--ip-text-secondary)}.ip-line-items{background:var(--ip-bg-secondary);border:1px solid var(--ip-border);border-radius:16px;padding:28px;margin-bottom:28px;overflow:hidden}.ip-line-item{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--ip-border)}.ip-line-item:last-child{border-bottom:none}.ip-item-desc h4{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--ip-text)}.ip-item-desc p{font-size:13px;color:var(--ip-text-muted);line-height:1.6}.ip-item-amount{font-size:20px;font-weight:700;color:var(--ip-text);flex-shrink:0;padding-left:16px}.ip-total-row{background:#ff6b3514;margin:16px -28px -28px;padding:20px 28px;border-top:2px solid rgba(255,107,53,.2);display:flex;justify-content:space-between;align-items:center}.ip-total-label{font-size:18px;font-weight:700;color:var(--ip-text)}.ip-total-amount{font-size:32px;font-weight:800;color:var(--ip-primary)}.ip-payment-section{background:var(--ip-bg-secondary);border:1px solid var(--ip-border);border-radius:16px;padding:32px;margin-bottom:28px}.ip-payment-grid{display:grid;gap:14px;margin-bottom:28px}.ip-payment-option{background:var(--ip-bg-card);border:2px solid var(--ip-border);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:18px}.ip-payment-option:hover{border-color:var(--ip-primary)}.ip-payment-option.selected{border-color:var(--ip-primary);background:#ff6b3514}.ip-payment-icon{width:44px;height:44px;background:var(--ip-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.ip-payment-details h4{font-size:15px;font-weight:600;margin-bottom:3px;color:var(--ip-text)}.ip-payment-details p{font-size:13px;color:var(--ip-text-muted)}.ip-pay-btn{width:100%;padding:18px;background:linear-gradient(135deg,var(--ip-primary) 0%,var(--ip-primary-dark) 100%);border:none;border-radius:12px;color:#fff;font-size:17px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 8px 24px #ff6b354d}.ip-pay-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #ff6b3566}.ip-pay-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ip-secondary-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:28px}.ip-secondary-btn{padding:16px;background:transparent;border:2px solid var(--ip-border);border-radius:12px;color:var(--ip-text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px}.ip-secondary-btn:hover{border-color:var(--ip-primary);color:var(--ip-primary);transform:translateY(-2px)}.ip-paid-banner{background:linear-gradient(135deg,#10b98126,#10b9810d);border:1px solid rgba(16,185,129,.3);border-radius:16px;padding:32px;text-align:center;margin-bottom:28px}.ip-paid-icon{font-size:40px;margin-bottom:12px}.ip-paid-banner h3{font-size:20px;font-weight:700;margin-bottom:8px;color:var(--ip-success)}.ip-paid-banner p{font-size:14px;color:var(--ip-text-secondary);line-height:1.6}.ip-review-reminder{background:linear-gradient(135deg,#10b9811a,#10b9810d);border:1px solid rgba(16,185,129,.2);border-radius:12px;padding:24px;text-align:center;margin-bottom:28px}.ip-review-reminder h3{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--ip-text)}.ip-review-reminder p{font-size:14px;color:var(--ip-text-muted);margin-bottom:16px}.ip-review-btn{display:inline-block;padding:12px 24px;background:var(--ip-success);color:#fff;border-radius:8px;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s}.ip-review-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #10b9814d}.ip-footer{text-align:center;padding:32px 20px;border-top:1px solid var(--ip-border)}.ip-footer-text{font-size:13px;color:var(--ip-text-muted);line-height:1.8}.ip-loading,.ip-error{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:var(--ip-text-muted);font-size:16px}.ip-error{color:var(--ip-primary)}@media (max-width: 768px){.ip-header{padding:32px 20px}.ip-invoice-title{font-size:28px}.ip-amount-value{font-size:48px}.ip-info-grid{grid-template-columns:1fr;gap:20px}.ip-secondary-actions{grid-template-columns:1fr}.ip-container{padding:24px 16px}.ip-status-badge{position:static;display:inline-block;margin-bottom:16px}.ip-header{padding-top:24px}}.sr-portal{min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#0d0d0d);color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.sr-hero{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:48px 24px 36px;text-align:center;border-bottom:4px solid #ff6b35;position:relative}.sr-hero-logo{margin-bottom:16px}.sr-hero h1{font-size:28px;font-weight:700;color:#fff;margin:0 0 4px;letter-spacing:.5px}.sr-hero .sr-subtitle{font-size:14px;color:#999;font-weight:600}.sr-status-badge{position:absolute;top:16px;right:16px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.sr-status-badge.sent{background:#2196f3;color:#fff}.sr-status-badge.viewed{background:#ff9800;color:#fff}.sr-status-badge.signed{background:#4caf50;color:#fff}.sr-container{max-width:700px;margin:0 auto;padding:24px 20px 48px}.sr-project-card{background:linear-gradient(135deg,#252525,#1e1e1e);border:1px solid #333;border-radius:12px;padding:20px 24px;margin-bottom:24px}.sr-project-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px}.sr-project-row+.sr-project-row{border-top:1px solid #333}.sr-project-label{color:#888;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.sr-project-value{color:#ff6b35;font-weight:700}.sr-section-title{font-size:20px;font-weight:700;color:#fff;text-align:center;margin:32px 0 20px;padding-bottom:12px;border-bottom:3px solid #ff6b35}.sr-checklist{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}.sr-check-item{display:flex;align-items:center;gap:14px;background:#1e1e1e;border:2px solid #333;border-radius:8px;padding:14px 16px;cursor:pointer;transition:border-color .2s,background .2s}.sr-check-item:hover{border-color:#555;background:#252525}.sr-check-item.checked{border-color:#ff6b35;background:#ff6b3514}.sr-check-item.disabled{cursor:default;opacity:.8}.sr-checkbox{width:24px;height:24px;border:2.5px solid #555;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;background:transparent}.sr-check-item.checked .sr-checkbox{border-color:#ff6b35;background:#ff6b35}.sr-checkbox-mark{color:#fff;font-size:14px;font-weight:900;display:none}.sr-check-item.checked .sr-checkbox-mark{display:block}.sr-check-badge{width:40px;height:40px;background:linear-gradient(135deg,#ff6b35,#ff8a5c);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;flex-shrink:0;box-shadow:0 2px 8px #ff6b3540}.sr-check-text{flex:1;font-size:14px;color:#ccc;line-height:1.4}.sr-check-text strong{color:#fff;font-weight:700}.sr-progress{margin:24px 0;text-align:center}.sr-progress-bar{height:8px;background:#333;border-radius:4px;overflow:hidden;margin-bottom:8px}.sr-progress-fill{height:100%;background:linear-gradient(90deg,#ff6b35,#ff8a5c);border-radius:4px;transition:width .3s ease}.sr-progress-text{font-size:13px;color:#888}.sr-alert{background:#ff98001a;border-left:4px solid #ff9800;padding:16px 20px;border-radius:0 8px 8px 0;margin:24px 0}.sr-alert p{margin:4px 0;font-size:13px;color:#ccc;line-height:1.5}.sr-alert strong{color:#ff9800}.sr-signature-section{background:#1e1e1e;border:2px solid #333;border-radius:12px;padding:24px;margin-top:24px}.sr-sig-title{font-size:16px;font-weight:700;color:#fff;text-align:center;margin-bottom:20px;text-transform:uppercase;letter-spacing:.5px}.sr-sig-field{margin-bottom:16px}.sr-sig-field label{display:block;font-size:12px;color:#888;text-transform:uppercase;font-weight:600;letter-spacing:.5px;margin-bottom:6px}.sr-sig-field input{width:100%;background:#151515;border:2px solid #333;border-radius:6px;padding:12px 14px;color:#fff;font-size:15px;outline:none;transition:border-color .2s}.sr-sig-field input:focus{border-color:#ff6b35}.sr-sig-field input::placeholder{color:#555}.sr-legal{background:#ffffff0a;border-radius:8px;padding:14px 16px;margin:16px 0;font-size:12px;color:#888;line-height:1.5}.sr-sign-btn{width:100%;padding:16px;background:linear-gradient(135deg,#ff6b35,#ff8a5c);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s;text-transform:uppercase;letter-spacing:.5px}.sr-sign-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.sr-sign-btn:disabled{opacity:.4;cursor:not-allowed}.sr-sign-error{color:#f44336;font-size:13px;text-align:center;margin:8px 0}.sr-success{text-align:center;padding:32px 24px;background:#4caf501a;border:2px solid #4CAF50;border-radius:12px;margin:24px 0}.sr-success-icon{font-size:48px;margin-bottom:12px}.sr-success h3{font-size:22px;color:#4caf50;margin:0 0 8px}.sr-success p{color:#999;font-size:14px;margin:4px 0}.sr-download-btn{display:inline-block;padding:12px 24px;background:#333;color:#fff;border:2px solid #555;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;margin-top:16px;transition:background .2s}.sr-download-btn:hover{background:#444}.sr-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:16px;color:#888}.sr-error{text-align:center;padding:80px 24px}.sr-error-code{font-size:64px;font-weight:900;color:#ff6b35;margin-bottom:12px}.sr-error-message{font-size:16px;color:#888}.sr-footer{text-align:center;padding:32px 20px;border-top:1px solid #333;margin-top:32px}.sr-footer-text{font-size:12px;color:#666;line-height:1.6}@media (max-width: 600px){.sr-hero h1{font-size:22px}.sr-container{padding:16px 12px 36px}.sr-check-item{padding:10px 12px;gap:10px}.sr-check-badge{width:32px;height:32px;font-size:14px}.sr-signature-section{padding:16px}}.co-portal{min-height:100vh;background:#1a1a1a;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#e0e0e0}.co-loading,.co-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:48px 24px}.co-spinner{width:40px;height:40px;border:4px solid #3d3d3d;border-top-color:#ff6b35;border-radius:50%;animation:co-spin .8s linear infinite;margin-bottom:16px}@keyframes co-spin{to{transform:rotate(360deg)}}.co-error-code{font-size:64px;font-weight:700;color:#ff6b35;margin-bottom:12px}.co-error-message{font-size:16px;color:#999}.co-hero{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);padding:32px 24px 24px;text-align:center;border-bottom:4px solid #ff6b35}.co-hero-logo{margin-bottom:16px}.co-hero h1{font-size:24px;font-weight:700;color:#fff;margin-bottom:6px}.co-subtitle{font-size:14px;color:#999}.co-container{max-width:700px;margin:0 auto;padding:24px 20px 48px}.co-project-card{background:#2d2d2d;border-radius:12px;padding:16px 20px;margin-bottom:20px;border-left:4px solid #ff6b35}.co-project-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px}.co-project-row:last-child{margin-bottom:0}.co-project-label{color:#999}.co-project-value{font-weight:700;color:#fff}.co-financial{background:linear-gradient(135deg,#ff6b35,#ff8a5c);padding:20px 24px;border-radius:12px;margin-bottom:24px;color:#fff}.co-financial h2{font-size:18px;text-align:center;margin-bottom:14px}.co-fin-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:14px}.co-fin-row:last-child{border-bottom:none}.co-fin-row.total{font-weight:700;font-size:18px;border-bottom:none;border-top:2px solid rgba(255,255,255,.4);padding-top:12px;margin-top:4px}.co-section-title{font-size:18px;font-weight:700;margin:24px 0 12px;padding-bottom:10px;border-bottom:2px solid #ff6b35;color:#fff}.co-details-box{background:#2d2d2d;border-left:4px solid #4caf50;padding:16px 20px;border-radius:0 10px 10px 0;margin-bottom:20px}.co-details-box h3{font-size:16px;color:#4caf50;margin-bottom:6px}.co-details-box p{font-size:14px;line-height:1.6}.co-reason{margin-top:8px}.co-line-items{background:#2d2d2d;border-radius:12px;overflow:hidden;margin-bottom:20px}.co-line-items table{width:100%;border-collapse:collapse}.co-line-items th{background:#3d3d3d;padding:12px;text-align:left;font-size:12px;color:#ff6b35;font-weight:700;text-transform:uppercase}.co-line-items th:nth-child(2),.co-line-items th:nth-child(3),.co-line-items th:nth-child(4){text-align:right}.co-line-items td{padding:14px 12px;border-bottom:1px solid #3d3d3d;font-size:14px}.co-line-items td:nth-child(2),.co-line-items td:nth-child(3),.co-line-items td:nth-child(4){text-align:right}.co-line-items tr:last-child td{border-bottom:none}.co-amount{font-weight:700;color:#ff6b35}.co-pricing{background:#2d2d2d;padding:16px 20px;border-radius:12px;margin-bottom:20px}.co-price-row{display:flex;justify-content:space-between;padding:8px 0;font-size:15px}.co-price-row.total{border-top:2px solid #ff6b35;margin-top:8px;padding-top:12px;font-size:18px;font-weight:700;color:#ff6b35}.co-schedule{background:#2d2d2d;border-left:4px solid #2196f3;padding:14px 20px;border-radius:0 10px 10px 0;margin-bottom:24px;font-size:14px}.co-schedule strong{color:#2196f3}.co-success{background:linear-gradient(135deg,#1b5e20,#2e7d32);border-radius:12px;padding:32px 24px;text-align:center;margin:24px 0}.co-success-icon{font-size:48px;margin-bottom:12px}.co-success h3{font-size:22px;margin-bottom:8px;color:#fff}.co-success p{color:#ffffffd9;margin-bottom:20px}.co-download-btn{background:#ff6b35;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .15s}.co-download-btn:hover{transform:translateY(-2px)}.co-download-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.co-rejected{background:linear-gradient(135deg,#b71c1c,#c62828);border-radius:12px;padding:32px 24px;text-align:center;margin:24px 0}.co-rejected-icon{font-size:48px;margin-bottom:12px}.co-rejected h3{font-size:22px;margin-bottom:8px;color:#fff}.co-rejected p{color:#ffffffd9}.co-approval-section{background:#2d2d2d;border-radius:12px;padding:24px;margin:24px 0}.co-sig-title{font-size:20px;font-weight:700;text-align:center;margin-bottom:20px;color:#fff}.co-sig-field{margin-bottom:16px}.co-sig-field label{display:block;margin-bottom:6px;font-weight:600;font-size:13px;color:#999}.co-sig-field input,.co-sig-field textarea{width:100%;padding:12px;border:2px solid #3d3d3d;border-radius:8px;font-size:16px;font-family:inherit;background:#1a1a1a;color:#fff;outline:none;transition:border-color .15s}.co-sig-field input:focus,.co-sig-field textarea:focus{border-color:#ff6b35}.co-sig-field textarea{resize:vertical;min-height:100px}.co-sign-error{background:#f4433626;color:#f44336;border:1px solid rgba(244,67,54,.3);border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px}.co-action-buttons{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.co-btn{flex:1;min-width:180px;padding:14px 24px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;text-align:center}.co-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.co-btn-approve{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.co-btn-approve:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.co-btn-reject{background:linear-gradient(135deg,#f44336,#e57373);color:#fff}.co-btn-reject:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f4433666}.co-btn-cancel{background:#3d3d3d;color:#ccc}.co-btn-cancel:hover{background:#4d4d4d}.co-reject-section{margin-top:20px;padding-top:20px;border-top:2px solid #3d3d3d}.co-legal{margin-top:20px;font-size:12px;color:#666;line-height:1.5;text-align:center}.co-footer{text-align:center;padding:32px 0 16px;display:flex;flex-direction:column;align-items:center}.co-footer-text{font-size:12px;color:#555;line-height:1.6}@media (max-width: 600px){.co-container{padding:16px 12px 48px}.co-hero{padding:24px 16px 20px}.co-hero h1{font-size:20px}.co-action-buttons{flex-direction:column}.co-btn{min-width:0}.co-line-items th,.co-line-items td{padding:10px 8px;font-size:13px}.co-financial h2,.co-fin-row.total{font-size:16px}}.ic-page{display:flex;flex-direction:column;height:100%;min-height:0}.ic-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--card-border);background:var(--card-bg);flex-wrap:wrap;gap:12px}.ic-nav-group{display:flex;align-items:center;gap:8px}.ic-nav-btn{background:var(--main-bg);border:1px solid var(--card-border);color:var(--text-secondary);padding:7px 12px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:all .15s}.ic-nav-btn:hover{border-color:var(--accent);color:var(--accent)}.ic-month-label{font-size:16px;font-weight:800;color:var(--text-primary);min-width:180px;text-align:center}.ic-view-toggle{display:flex;background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;overflow:hidden}.ic-view-btn{padding:7px 16px;font-size:12px;font-weight:700;cursor:pointer;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;transition:all .15s}.ic-view-btn.active{background:var(--accent);color:#fff}.ic-filters{display:flex;align-items:center;gap:8px;padding:12px 24px;border-bottom:1px solid var(--card-border);flex-wrap:wrap}.ic-filter-label{font-size:11px;color:var(--text-secondary);font-weight:700;margin-right:4px}.ic-filter-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:all .15s;font-family:"DM Mono",monospace,inherit;background:color-mix(in srgb,var(--pill-color) 10%,transparent);color:var(--pill-color);border-color:var(--pill-color);opacity:.6}.ic-filter-pill.active,.ic-filter-pill:hover{opacity:1}.ic-dot{width:7px;height:7px;border-radius:50%}.ic-legend{display:flex;gap:12px;flex-wrap:wrap;padding:8px 24px;border-bottom:1px solid var(--card-border);align-items:center}.ic-legend-item{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-secondary)}.ic-legend-dot{width:10px;height:10px;border-radius:2px}.ic-legend-night{width:10px;height:10px;border-radius:2px;background:repeating-linear-gradient(45deg,#6366f1,#6366f1 2px,#1e1e3f 2px,#1e1e3f 5px)}.ic-legend-date{margin-left:auto;font-size:10px;color:var(--text-secondary);opacity:.5;font-family:monospace}.ic-main{display:flex;flex:1;min-height:0;overflow:hidden}.ic-cal-area{flex:1;overflow:auto;padding:20px 24px}.ic-loading{text-align:center;padding:80px 24px;color:var(--text-secondary);font-size:14px}.ic-empty{text-align:center;padding:60px 24px;color:var(--text-secondary);font-size:14px}.ic-g-wrap{min-width:900px}.ic-g-header{display:grid;grid-template-columns:220px 1fr;border-bottom:2px solid var(--card-border)}.ic-g-hdr-lbl{padding:8px 12px;font-size:10px;font-weight:700;color:var(--text-secondary);font-family:monospace;border-right:1px solid var(--card-border)}.ic-g-days{display:flex}.ic-g-dcell{flex:1;text-align:center;padding:8px 4px;font-size:10px;font-weight:700;color:var(--text-secondary);font-family:monospace;border-right:1px solid var(--card-border)}.ic-g-dcell span{font-size:11px}.ic-g-dcell.today{color:var(--accent)}.ic-g-dcell.wkend{color:var(--text-secondary);opacity:.4}.ic-g-row{display:grid;grid-template-columns:220px 1fr;align-items:stretch;border-bottom:1px solid var(--card-border);cursor:pointer;transition:background .1s}.ic-g-row:hover{background:#ffffff05}.ic-g-lbl{padding:10px 12px;font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--card-border);border-left:3px solid;justify-content:center}.ic-g-lbl-sub{font-size:10px;color:var(--text-secondary);font-family:monospace;font-weight:400}.ic-g-lbl-sys{font-size:9px;font-weight:700;font-family:monospace}.ic-wkend-icon{color:var(--accent);font-size:9px;margin-left:4px}.ic-night-emoji{font-size:12px;margin-left:4px}.ic-g-tl{display:flex;height:72px;align-items:center;position:relative}.ic-g-cell{flex:1;height:100%;border-right:1px solid rgba(255,255,255,.03)}.ic-g-cell.today-c{background:#ff6b2b0a;border-right:1px solid rgba(255,107,43,.2)}.ic-g-cell.wkend-c{background:#ffffff03}.ic-jbar{position:absolute;height:26px;border-radius:6px;display:flex;align-items:center;padding:0 10px;font-size:10px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;cursor:pointer;transition:filter .15s;font-family:monospace}.ic-jbar:hover{filter:brightness(1.2)}.ic-jbar.night-bar{background:repeating-linear-gradient(45deg,#6366f1,#6366f1 4px,#1e1e4a 4px,#1e1e4a 9px)!important;border:1px solid #6366F1;box-shadow:0 0 8px #6366f14d}.ic-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);z-index:10;pointer-events:none}.ic-today-line:before{content:"";position:absolute;top:-4px;left:-4px;width:10px;height:10px;background:var(--accent);border-radius:50%}.ic-month{min-width:600px}.ic-m-dh-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:2px solid var(--card-border)}.ic-m-dh{padding:8px 6px;font-size:10px;font-weight:700;color:var(--text-secondary);font-family:monospace;text-transform:uppercase;text-align:center}.ic-m-dh.wkend-h{opacity:.4}.ic-m-week{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--card-border);position:relative}.ic-m-cell{border-right:1px solid var(--card-border);padding:5px 5px 4px;position:relative}.ic-m-cell:last-child{border-right:none}.ic-m-cell.other{background:var(--card-bg);opacity:.4}.ic-m-cell.today-c{background:#ff6b2b0d}.ic-m-cell.wkend-c{background:#ffffff03}.ic-day-n{font-size:11px;font-weight:700;color:var(--text-secondary);font-family:monospace;display:inline-block;line-height:1}.ic-day-n.today-n{background:var(--accent);color:#fff;border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:10px}.ic-ebar{position:absolute;height:20px;display:flex;align-items:center;padding:0 7px;font-size:9px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;cursor:pointer;pointer-events:all;font-family:monospace;transition:filter .15s;z-index:5}.ic-ebar:hover{filter:brightness(1.2)}.ic-ebar.night-bar{background:repeating-linear-gradient(45deg,#6366f1,#6366f1 4px,#1e1e4a 4px,#1e1e4a 9px)!important;border:1px solid #6366F1!important;box-shadow:0 0 6px #6366f140}.ic-sidebar{width:230px;border-left:1px solid var(--card-border);overflow-y:auto;padding:14px;flex-shrink:0}.ic-sb-section{margin-bottom:20px}.ic-sb-title{font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-family:monospace;margin-bottom:10px}.ic-sb-empty{font-size:11px;color:var(--text-secondary);opacity:.4;padding:8px 0}.ic-jcard{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:10px;margin-bottom:6px;cursor:pointer;transition:all .15s;border-left:3px solid}.ic-jcard:hover{transform:translate(2px)}.ic-jcard-name{font-size:13px;font-weight:700;margin-bottom:3px}.ic-jcd{font-size:10px;color:var(--text-secondary);font-family:monospace;margin-top:2px}.ic-jcard-wkend{font-size:9px;color:var(--accent);font-family:monospace;margin-top:3px}.ic-sbadge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:12px;font-size:9px;font-weight:700;font-family:monospace}.ic-sbadge.badge-night{background:#6366f126;color:#6366f1;border:1px solid rgba(99,102,241,.3);margin-right:4px}.ic-sbadge.badge-nodeposit{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3);margin-right:4px}.ic-deposit-dot{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#f59e0b40;color:#f59e0b;font-size:8px;font-weight:900;margin-left:4px;border:1px solid rgba(245,158,11,.5);cursor:help}@media (max-width: 900px){.ic-sidebar{display:none}.ic-g-wrap{min-width:600px}.ic-g-header,.ic-g-row{grid-template-columns:160px 1fr}}@media (max-width: 768px){.ic-toolbar{padding:6px 10px;gap:4px;flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:space-between}.ic-nav-group{gap:4px;flex:0 0 auto}.ic-nav-btn{padding:5px 8px;font-size:11px}.ic-view-toggle{margin-left:auto}.ic-view-btn{padding:5px 10px;font-size:11px}.ic-month-label{font-size:13px;min-width:auto;text-align:center}.ic-filters{padding:4px 10px;gap:4px}.ic-filter-pill{padding:3px 7px;font-size:9px}.ic-filter-label{font-size:9px}.ic-legend{padding:4px 10px;gap:6px}.ic-legend-item{font-size:8px}.ic-cal-area{padding:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.ic-g-wrap{min-width:500px}.ic-g-header,.ic-g-row{grid-template-columns:100px 1fr}.ic-g-lbl{font-size:10px;padding:6px}.ic-g-lbl-sub{font-size:9px}.ic-g-lbl-sys{font-size:8px}.ic-g-dcell{font-size:9px;padding:4px 2px}.ic-g-dcell span{font-size:9px}.ic-jbar{font-size:9px;height:22px;padding:0 6px}.ic-g-tl{height:56px}.ic-month{min-width:320px}.ic-m-dh{font-size:9px;padding:6px 2px}.ic-m-cell{padding:2px}.ic-day-n{font-size:10px}.ic-ebar{font-size:8px;height:16px;padding:0 4px}}.ar-page{padding:0;color:var(--text-primary);-webkit-font-smoothing:antialiased;max-width:100%;overflow-x:hidden}.ar-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.ar-header-actions{display:flex;gap:12px;align-items:center}.ar-stats-bar{display:flex;gap:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;margin-bottom:12px;overflow:hidden}.ar-stat-compact{flex:1;padding:14px 20px;border-right:1px solid var(--card-border);transition:background .15s}.ar-stat-compact:last-child{border-right:none}.ar-stat-compact:hover{background:#ffffff08}.ar-stat-compact-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:4px}.ar-stat-compact-value{font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2}.ar-stat-compact-value.danger{color:#f87171}.ar-stat-compact-value.success{color:#4ade80}.ar-stat-compact-value.warning{color:#facc15}.ar-stat-compact-meta{font-size:11px;color:var(--text-secondary);margin-top:2px}.ar-type-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.ar-type-pill{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;transition:all .15s}.ar-type-pill:hover{border-color:var(--text-secondary)}.ar-type-pill.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ar-type-pill.clear{color:var(--accent);border-color:transparent;background:none;font-size:12px}.ar-type-pill-days{font-size:11px;color:var(--text-secondary);opacity:.7}.ar-client-filter{padding:6px 12px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;outline:none}.ar-client-filter:focus{border-color:var(--accent)}.ar-type-pill-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ar-type-pill-amount{color:var(--text-secondary);font-size:12px;margin-left:2px}.ar-dropdown{position:relative}.ar-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:6px 0;min-width:160px;z-index:100;box-shadow:0 8px 24px #00000040}.ar-dropdown-menu button{display:block;width:100%;text-align:left;padding:10px 16px;background:none;border:none;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;transition:background .15s}.ar-dropdown-menu button:hover{background:var(--main-bg)}.ar-dropdown-menu button.active{color:var(--accent);background:#ff6b3514}.ar-dropdown-menu.wide{min-width:200px;max-height:360px;overflow-y:auto}.ar-dropdown-group-label{padding:8px 16px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary)}.ar-dropdown-divider{height:1px;background:var(--card-border);margin:6px 0}.ar-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.ar-stat-card{background:linear-gradient(135deg,var(--card-bg) 0%,var(--main-bg) 100%);border:1px solid var(--card-border);border-radius:12px;padding:24px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.ar-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent);transform:scaleX(0);transition:transform .3s}.ar-stat-card:hover:before{transform:scaleX(1)}.ar-stat-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 24px #ff6b3526}.ar-stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.ar-stat-icon{width:44px;height:44px;background:#ff6b351f;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.ar-stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.ar-stat-value{font-size:36px;font-weight:800;color:var(--text-primary);margin-bottom:8px;line-height:1}.ar-stat-value.success{color:#10b981}.ar-stat-value.warning{color:#f59e0b}.ar-stat-value.danger{color:#ef4444}.ar-stat-meta{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.ar-stat-trend{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding-top:12px;border-top:1px solid var(--card-border)}.ar-stat-trend.up{color:#10b981}.ar-stat-trend.down{color:#ef4444}.ar-stat-trend.neutral{color:var(--text-secondary)}.ar-collections-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:28px;margin-bottom:32px}.ar-collections-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ar-collection-card{background:var(--main-bg);border:1px solid var(--card-border);border-radius:10px;padding:20px;transition:all .25s;cursor:pointer;display:flex;flex-direction:column}.ar-collection-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.ar-collection-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 4px 16px #0000001a}.ar-collection-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;flex-shrink:0}.ar-collection-type{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;font-weight:700;margin-bottom:12px;display:flex;align-items:center}.ar-collection-amount{font-size:32px;font-weight:800;margin-bottom:6px;line-height:1}.ar-collection-amount.deposit,.ar-collection-amount.final{color:#10b981}.ar-collection-amount.retainage{color:#f59e0b}.ar-collection-amount.draw{color:#ef4444}.ar-collection-meta{font-size:13px;color:var(--text-secondary);margin-bottom:16px;flex:1}.ar-collection-details-btn{display:block;width:100%;padding:10px 0;background:none;border:1px solid var(--card-border);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;text-align:center}.ar-collection-details-btn.deposit{color:#3b82f6}.ar-collection-details-btn.final{color:#10b981}.ar-collection-details-btn.retainage{color:#f59e0b}.ar-collection-details-btn.draw{color:#8b5cf6}.ar-collection-details-btn:hover{background:#ffffff0a;border-color:var(--text-secondary)}.ar-collections-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--card-border);font-size:13px;color:var(--text-secondary)}.ar-collections-footer-right{font-style:italic;font-size:12px}.ar-attention-section{background:linear-gradient(135deg,#ef444414,#ef444408);border:2px solid rgba(239,68,68,.25);border-radius:12px;padding:24px;margin-bottom:32px}.ar-attention-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.ar-alert-icon{width:48px;height:48px;background:#ef444426;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.ar-attention-title h2{font-size:18px;font-weight:800;color:#ef4444;margin-bottom:4px}.ar-attention-title .subtitle{font-size:13px;color:var(--text-secondary)}.ar-attention-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ar-attention-card{background:#00000040;border:1px solid rgba(239,68,68,.15);border-radius:10px;padding:20px;display:flex;gap:16px}.ar-attention-info{flex:1}.ar-attention-client{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.ar-attention-details{font-size:13px;color:var(--text-secondary);margin-bottom:12px;line-height:1.6}.ar-attention-amount{font-size:24px;font-weight:800;color:#ef4444;white-space:nowrap}.ar-attention-buttons{display:flex;gap:8px}.ar-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:24px;margin-bottom:32px}.ar-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:28px}.ar-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.ar-section-title{font-size:18px;font-weight:800;color:var(--text-primary)}.ar-section-action{font-size:13px;color:var(--accent);cursor:pointer;font-weight:600;background:none;border:none;font-family:inherit}.ar-section-action:hover{color:#ff8a5c}.ar-aging-bars{display:grid;gap:16px}.ar-aging-bar-item{cursor:pointer;transition:all .2s}.ar-aging-bar-item:hover{transform:translate(4px)}.ar-aging-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ar-aging-bar-label{font-size:13px;font-weight:600;color:var(--text-primary)}.ar-aging-bar-amount{font-size:16px;font-weight:800;color:var(--text-primary)}.ar-aging-bar-track{height:32px;background:var(--main-bg);border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--card-border)}.ar-aging-bar-fill{height:100%;display:flex;align-items:center;padding:0 12px;font-size:12px;font-weight:700;color:#fff;transition:width .5s ease;min-width:0}.ar-aging-bar-fill.current{background:linear-gradient(90deg,#10b981,#059669)}.ar-aging-bar-fill.warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.ar-aging-bar-fill.orange{background:linear-gradient(90deg,#f97316,#ea580c)}.ar-aging-bar-fill.danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.ar-aging-bar-meta{font-size:11px;color:var(--text-secondary);margin-top:4px}.ar-activity-feed{display:flex;flex-direction:column;gap:16px}.ar-activity-item{display:flex;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--card-border)}.ar-activity-item:last-child{border-bottom:none;padding-bottom:0}.ar-activity-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.ar-activity-icon.invoice{background:#3b82f61f}.ar-activity-icon.reminder{background:#f59e0b1f}.ar-activity-icon.payment{background:#10b9811f}.ar-activity-content{flex:1}.ar-activity-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.ar-activity-meta{font-size:12px;color:var(--text-secondary)}.ar-table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.ar-table-tabs{display:flex;gap:8px;flex-wrap:wrap}.ar-tab{padding:8px 16px;background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-family:inherit}.ar-tab:hover{color:var(--text-primary);border-color:var(--text-secondary)}.ar-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.ar-tab-count{margin-left:6px;padding:2px 6px;background:#fff3;border-radius:4px;font-size:11px}.ar-table-actions{display:flex;gap:8px}.ar-table{width:100%;border-collapse:separate;border-spacing:0 8px}.ar-table thead th{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;text-align:left;padding:0 12px 12px;border-bottom:1px solid var(--card-border)}.ar-table tbody tr{background:var(--main-bg);transition:all .2s;cursor:pointer}.ar-table tbody tr:hover{background:var(--card-bg);transform:translate(4px)}.ar-table tbody tr.selected{background:#ff6b350f;border-color:var(--accent)}.ar-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.ar-table tbody td{padding:16px 12px;font-size:13px;color:var(--text-secondary);border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border)}.ar-table tbody td:first-child{border-left:1px solid var(--card-border);border-radius:8px 0 0 8px}.ar-table tbody td:last-child{border-right:1px solid var(--card-border);border-radius:0 8px 8px 0}.ar-inv-number{font-family:Courier New,monospace;font-weight:600;color:var(--accent)}.ar-client-name{font-weight:600;color:var(--text-primary)}.ar-amount-cell{font-weight:700;color:var(--text-primary);text-align:right}.ar-days-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-align:center}.ar-days-badge.current{background:#10b9811f;color:#10b981}.ar-days-badge.overdue{background:#ef44441f;color:#ef4444}.ar-days-badge.due-soon{background:#f59e0b1f;color:#f59e0b}.ar-type-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-left:8px}.ar-type-badge.deposit{background:#3b82f61f;color:#3b82f6;border:1px solid rgba(59,130,246,.25)}.ar-row-actions{display:flex;gap:6px;justify-content:flex-end}.ar-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.ar-btn.sm{padding:6px 12px;font-size:12px}.ar-btn.primary{background:var(--accent);color:#fff}.ar-btn.primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3540}.ar-btn.secondary{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--card-border)}.ar-btn.secondary:hover{border-color:var(--text-secondary)}.ar-btn.success{background:#10b981;color:#fff}.ar-btn.success:hover{background:#059669}.ar-btn.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--card-border)}.ar-btn.ghost:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--card-bg)}.ar-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.ar-modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:32px;width:100%;max-width:420px}.ar-modal h3{font-size:18px;font-weight:700;margin-bottom:6px;color:var(--text-primary)}.ar-modal-sub{font-size:13px;color:var(--text-secondary);margin-bottom:24px}.ar-form-group{margin-bottom:16px}.ar-form-group label{display:block;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.ar-form-control{width:100%;padding:10px 14px;background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);font-size:14px;outline:none;font-family:inherit}.ar-form-control:focus{border-color:var(--accent)}.ar-form-control option{background:var(--card-bg)}.ar-modal-actions{display:flex;gap:10px;margin-top:24px}.ar-modal-actions .ar-btn{flex:1;text-align:center;justify-content:center}.ar-amount-variance{font-size:12px;font-weight:600;margin-top:4px}.ar-detail-modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;width:560px;max-width:94vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:ar-modal-in .2s ease}.ar-detail-modal.ar-detail-wide{width:760px}.ar-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px 16px;border-bottom:1px solid var(--card-border)}.ar-detail-title{font-size:20px;font-weight:700;margin:0}.ar-detail-subtitle{font-size:13px;color:var(--text-secondary);margin-top:2px}.ar-detail-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.ar-detail-close:hover{color:var(--text-primary)}.ar-detail-status-row{display:flex;align-items:center;gap:12px;padding:16px 28px;border-bottom:1px solid var(--card-border)}.ar-detail-amount{margin-left:auto;font-size:20px;font-weight:800;color:var(--accent)}.ar-detail-timeline{display:flex;align-items:flex-start;padding:20px 28px;gap:0}.ar-detail-timeline-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto}.ar-detail-timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--card-border);border:2px solid var(--card-border);transition:all .2s}.ar-detail-timeline-step.completed .ar-detail-timeline-dot{background:#10b981;border-color:#10b981}.ar-detail-timeline-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.ar-detail-timeline-step.completed .ar-detail-timeline-label{color:var(--text-primary)}.ar-detail-timeline-date{font-size:11px;color:var(--text-secondary)}.ar-detail-timeline-line{flex:1;height:2px;background:var(--card-border);margin-top:6px;min-width:24px}.ar-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--card-border)}.ar-detail-section{padding:16px 28px}.ar-detail-section:first-child{border-right:1px solid var(--card-border)}.ar-detail-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);margin-bottom:10px}.ar-detail-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;color:var(--text-primary)}.ar-detail-row span:first-child{color:var(--text-secondary)}.ar-detail-actions{display:flex;gap:10px;padding:16px 28px 24px;border-top:1px solid var(--card-border)}.ar-detail-actions .ar-btn{flex:1;text-align:center;justify-content:center;text-decoration:none}.ar-toast{position:fixed;bottom:24px;right:24px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:14px 20px;font-size:14px;color:var(--text-primary);z-index:2000;box-shadow:0 8px 32px #0006;display:flex;align-items:center;gap:10px;max-width:360px;animation:ar-toast-in .2s ease}.ar-toast.success{border-color:#10b981}.ar-toast.error{border-color:#ef4444}@keyframes ar-toast-in{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.ar-empty{text-align:center;padding:48px 24px;color:var(--text-secondary);font-size:15px}.ar-empty-icon{font-size:40px;margin-bottom:12px}@media (max-width: 1200px){.ar-stats-grid,.ar-collections-grid{grid-template-columns:repeat(2,1fr)}.ar-content-grid,.ar-attention-cards{grid-template-columns:1fr}}@media (max-width: 900px){.ar-header-actions{flex-wrap:wrap}}@media (max-width: 768px){.ar-page{padding:0}.ar-stats-bar{flex-direction:column}.ar-stat-compact{border-right:none;border-bottom:1px solid var(--card-border);padding:10px 14px}.ar-stat-compact:last-child{border-bottom:none}.ar-stat-compact-value{font-size:18px}.ar-stats-grid,.ar-collections-grid{grid-template-columns:1fr}.ar-type-filters{gap:6px}.ar-type-pill{padding:4px 10px;font-size:11px}.ar-type-pill-amount,.ar-type-pill-days{display:none}.ar-client-filter{width:100%;font-size:13px}.ar-table-controls{gap:8px}.ar-table-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px}.ar-tab{padding:6px 10px;font-size:11px;white-space:nowrap;flex-shrink:0}.ar-tab-count{font-size:10px;margin-left:3px;padding:1px 4px}.ar-section{padding:12px}.ar-section-header{flex-direction:column;gap:8px;align-items:stretch}.ar-table thead{display:none}.ar-table tbody td{display:block;padding:6px 12px}.ar-table tbody td:before{content:attr(data-label) ": ";font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.ar-header-actions{flex-direction:column;width:100%}.ar-header-actions .ar-btn{width:100%;justify-content:center}}.ap-page{padding:0;color:var(--text-primary);-webkit-font-smoothing:antialiased;max-width:100%;overflow-x:hidden}.ap-mock-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;margin-bottom:20px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:8px;font-size:13px;line-height:1.5;color:#f59e0b}.ap-mock-icon{flex-shrink:0;font-size:16px;margin-top:1px}.ap-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.ap-header-actions{display:flex;gap:12px;align-items:center}.ap-dropdown{position:relative}.ap-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:6px 0;min-width:160px;z-index:100;box-shadow:0 8px 24px #00000040}.ap-dropdown-menu button{display:block;width:100%;text-align:left;padding:10px 16px;background:none;border:none;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;transition:background .15s}.ap-dropdown-menu button:hover{background:var(--main-bg)}.ap-dropdown-menu button.active{color:var(--accent);background:#ff6b3514}.ap-dropdown-menu.wide{min-width:200px;max-height:360px;overflow-y:auto}.ap-dropdown-group-label{padding:8px 16px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary)}.ap-dropdown-divider{height:1px;background:var(--card-border);margin:6px 0}.ap-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.ap-stat-card{background:linear-gradient(135deg,var(--card-bg) 0%,var(--main-bg) 100%);border:1px solid var(--card-border);border-radius:12px;padding:24px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.ap-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent);transform:scaleX(0);transition:transform .3s}.ap-stat-card:hover:before{transform:scaleX(1)}.ap-stat-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 24px #ff6b3526}.ap-stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.ap-stat-icon{width:44px;height:44px;background:#ff6b351f;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.ap-stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.ap-stat-value{font-size:36px;font-weight:800;color:var(--text-primary);margin-bottom:8px;line-height:1}.ap-stat-value.success{color:#10b981}.ap-stat-value.warning{color:#f59e0b}.ap-stat-value.danger{color:#ef4444}.ap-stat-meta{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.ap-stat-trend{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding-top:12px;border-top:1px solid var(--card-border)}.ap-stat-trend.up{color:#ef4444}.ap-stat-trend.down{color:#10b981}.ap-stat-trend.neutral{color:var(--text-secondary)}.ap-approval-section{background:linear-gradient(135deg,#f59e0b14,#f59e0b08);border:2px solid rgba(245,158,11,.25);border-radius:12px;padding:24px;margin-bottom:32px}.ap-approval-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.ap-alert-icon{width:48px;height:48px;background:#f59e0b26;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.ap-approval-title h2{font-size:18px;font-weight:800;color:#f59e0b;margin-bottom:4px}.ap-approval-title .subtitle{font-size:13px;color:var(--text-secondary)}.ap-approval-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ap-approval-card{background:#00000040;border:1px solid rgba(245,158,11,.15);border-radius:10px;padding:20px;display:flex;gap:16px}.ap-approval-info{flex:1}.ap-approval-sub{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.ap-approval-job{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.ap-approval-details{font-size:13px;color:var(--text-secondary);margin-bottom:12px;line-height:1.6}.ap-approval-amount{font-size:24px;font-weight:800;color:#f59e0b;white-space:nowrap}.ap-approval-buttons{display:flex;gap:8px}.ap-approval-empty{background:#00000026;border:1px dashed var(--card-border);border-radius:10px;padding:40px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:13px}.ap-payments-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:28px;margin-bottom:32px}.ap-payments-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ap-payment-card{background:var(--main-bg);border:1px solid var(--card-border);border-radius:10px;padding:20px;transition:all .25s;cursor:pointer;display:flex;flex-direction:column}.ap-payment-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.ap-payment-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;flex-shrink:0}.ap-payment-type{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:12px;display:flex;align-items:center}.ap-payment-amount{font-size:24px;font-weight:800;margin-bottom:8px;line-height:1}.ap-payment-amount.labor{color:#8b5cf6}.ap-payment-amount.materials{color:#3b82f6}.ap-payment-amount.credit_card{color:#f59e0b}.ap-payment-amount.owner_draw{color:#10b981}.ap-payment-meta{font-size:12px;color:var(--text-secondary);margin-bottom:12px;flex:1}.ap-payment-details-btn{display:block;width:100%;padding:10px 0;background:none;border:1px solid var(--card-border);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;text-align:center}.ap-payment-details-btn.labor{color:#8b5cf6}.ap-payment-details-btn.materials{color:#3b82f6}.ap-payment-details-btn.credit_card{color:#f59e0b}.ap-payment-details-btn.owner_draw{color:#10b981}.ap-payment-details-btn:hover{background:#ffffff0a;border-color:var(--text-secondary)}.ap-payments-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--card-border);font-size:12px;color:var(--text-secondary)}.ap-payments-footer-right{font-style:italic}.ap-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:32px}.ap-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:28px}.ap-section+.ap-section{margin-top:0}.ap-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.ap-section-title{font-size:18px;font-weight:800;color:var(--text-primary)}.ap-section-action{font-size:13px;color:var(--accent);cursor:pointer;font-weight:600;background:none;border:none;font-family:inherit}.ap-section-action:hover{color:#ff8a5c}.ap-aging-bars{display:grid;gap:16px}.ap-aging-bar-item{cursor:pointer;transition:all .2s}.ap-aging-bar-item:hover{transform:translate(4px)}.ap-aging-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ap-aging-bar-label{font-size:13px;font-weight:600;color:var(--text-primary)}.ap-aging-bar-amount{font-size:16px;font-weight:800;color:var(--text-primary)}.ap-aging-bar-track{height:32px;background:var(--main-bg);border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--card-border)}.ap-aging-bar-fill{height:100%;display:flex;align-items:center;padding:0 12px;font-size:12px;font-weight:700;color:#fff;transition:width .5s ease;min-width:0}.ap-aging-bar-fill.current{background:linear-gradient(90deg,#10b981,#059669)}.ap-aging-bar-fill.days-30{background:linear-gradient(90deg,#f59e0b,#d97706)}.ap-aging-bar-fill.days-60{background:linear-gradient(90deg,#f97316,#ea580c)}.ap-aging-bar-fill.days-90{background:linear-gradient(90deg,#ef4444,#dc2626)}.ap-aging-bar-meta{font-size:11px;color:var(--text-secondary);margin-top:4px}.ap-activity-feed{display:flex;flex-direction:column;gap:16px}.ap-activity-item{display:flex;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--card-border)}.ap-activity-item:last-child{border-bottom:none;padding-bottom:0}.ap-activity-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.ap-activity-icon.submitted{background:#3b82f61f}.ap-activity-icon.approved{background:#10b9811f}.ap-activity-icon.paid{background:#8b5cf61f}.ap-activity-icon.rejected{background:#ef44441f}.ap-activity-content{flex:1}.ap-activity-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.ap-activity-meta{font-size:12px;color:var(--text-secondary)}.ap-table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.ap-table-tabs{display:flex;gap:8px;flex-wrap:wrap}.ap-tab{padding:8px 16px;background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-family:inherit}.ap-tab:hover{color:var(--text-primary);border-color:var(--text-secondary)}.ap-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.ap-tab-count{margin-left:6px;padding:2px 6px;background:#fff3;border-radius:4px;font-size:11px}.ap-table-actions{display:flex;gap:8px}.ap-vendor-group{background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;margin-bottom:12px;overflow:hidden}.ap-vendor-header{background:var(--card-bg);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.ap-vendor-header:hover{background:#ffffff08}.ap-vendor-info{flex:1}.ap-vendor-name{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.ap-vendor-meta{font-size:12px;color:var(--text-secondary)}.ap-vendor-total{font-size:18px;font-weight:800;color:var(--accent);margin-right:12px}.ap-expand-icon{font-size:12px;color:var(--text-secondary);transition:transform .2s}.ap-vendor-group.expanded .ap-expand-icon{transform:rotate(180deg)}.ap-invoice-row{padding:12px 16px;border-top:1px solid var(--card-border);display:grid;grid-template-columns:160px 1fr 100px 100px 100px auto;gap:16px;align-items:center;transition:background .2s}.ap-invoice-row:hover{background:var(--card-bg)}.ap-inv-number{font-size:13px;font-weight:600;color:var(--accent);font-family:Courier New,monospace}.ap-inv-job{font-size:13px;color:var(--text-primary)}.ap-inv-vendor{font-size:11px;color:var(--text-secondary)}.ap-inv-amount{font-size:14px;font-weight:700;color:var(--text-primary);text-align:right}.ap-inv-date{font-size:12px;color:var(--text-secondary);text-align:right}.ap-inv-actions{display:flex;gap:6px;justify-content:flex-end}.ap-status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.ap-status-badge.pending{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.ap-status-badge.approved{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25)}.ap-status-badge.paid{background:#8b5cf61f;color:#8b5cf6;border:1px solid rgba(139,92,246,.25)}.ap-status-badge.rejected{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.ap-status-badge.approved_nick{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25)}.ap-status-badge.approved_bob,.ap-status-badge.scheduled{background:#3b82f61f;color:#3b82f6;border:1px solid rgba(59,130,246,.25)}.ap-status-badge.overdue{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.ap-email-badge{display:inline-block;padding:1px 6px;font-size:9px;font-weight:700;letter-spacing:.5px;border-radius:4px;background:#3b82f61f;color:#3b82f6;border:1px solid rgba(59,130,246,.25);vertical-align:middle;margin-left:6px}.ap-ai-badge{display:inline-block;padding:1px 5px;font-size:9px;font-weight:700;letter-spacing:.5px;border-radius:4px;background:#8b5cf61f;color:#8b5cf6;border:1px solid rgba(139,92,246,.25);vertical-align:middle;margin-left:4px}.ap-ai-badge.failed{background:#f59e0b1f;color:#f59e0b;border-color:#f59e0b40}.ap-inv-email-subject{font-size:11px;color:var(--text-tertiary, #6B7280);margin-top:2px;font-style:italic}.ap-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.ap-btn.sm{padding:6px 12px;font-size:12px}.ap-btn.primary{background:var(--accent);color:#fff}.ap-btn.primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3540}.ap-btn.secondary{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--card-border)}.ap-btn.secondary:hover{border-color:var(--text-secondary)}.ap-btn.success{background:#10b981;color:#fff}.ap-btn.success:hover{background:#059669}.ap-btn.danger{background:transparent;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.ap-btn.danger:hover{background:#ef44441a;border-color:#ef4444}.ap-btn.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--card-border)}.ap-btn.ghost:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--card-bg)}.ap-toast{position:fixed;bottom:24px;right:24px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:14px 20px;font-size:14px;color:var(--text-primary);z-index:2000;box-shadow:0 8px 32px #0006;display:flex;align-items:center;gap:10px;max-width:360px;animation:ap-toast-in .2s ease}.ap-toast.success{border-color:#10b981}.ap-toast.error{border-color:#ef4444}@keyframes ap-toast-in{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.ap-empty{text-align:center;padding:48px 24px;color:var(--text-secondary);font-size:15px}.ap-empty-icon{font-size:40px;margin-bottom:12px}@media (max-width: 1200px){.ap-stats-grid,.ap-payments-grid{grid-template-columns:repeat(2,1fr)}.ap-content-grid,.ap-approval-cards{grid-template-columns:1fr}}@media (max-width: 900px){.ap-header-actions{flex-wrap:wrap}}@media (max-width: 768px){.ap-page{padding:0}.ap-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.ap-stat-card{padding:12px 14px}.ap-stat-header{margin-bottom:8px}.ap-stat-icon{width:32px;height:32px;font-size:16px}.ap-stat-label{font-size:10px}.ap-stat-value{font-size:20px;margin-bottom:4px}.ap-stat-meta{font-size:11px;margin-bottom:4px}.ap-stat-trend{font-size:10px;padding-top:8px}.ap-header-actions{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px}.ap-header-actions .ap-btn{font-size:11px;padding:6px 10px;white-space:nowrap}.ap-payments-section{padding:14px;margin-bottom:16px}.ap-payments-grid{grid-template-columns:repeat(2,1fr);gap:10px}.ap-payment-card{padding:12px}.ap-payment-amount{font-size:18px}.ap-payment-meta{font-size:11px;margin-bottom:8px}.ap-payment-details-btn{padding:6px 0;font-size:11px}.ap-payments-footer{flex-direction:column;gap:4px;align-items:stretch;font-size:11px}.ap-approval-section{padding:14px;margin-bottom:16px}.ap-approval-cards{grid-template-columns:1fr;gap:10px}.ap-approval-card{flex-direction:row;padding:12px}.ap-approval-sub{font-size:14px}.ap-approval-job{font-size:12px}.ap-approval-details{font-size:11px;margin-bottom:8px}.ap-approval-amount{font-size:18px}.ap-approval-buttons{flex-wrap:nowrap}.ap-approval-buttons .ap-btn{padding:5px 8px;font-size:11px}.ap-content-grid{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.ap-section{padding:14px}.ap-section-header{flex-direction:row;gap:8px;align-items:center;margin-bottom:14px}.ap-section-title{font-size:15px}.ap-vendor-header{flex-wrap:nowrap;gap:8px;padding:10px 12px}.ap-vendor-name{font-size:13px}.ap-vendor-meta{font-size:11px}.ap-vendor-total{font-size:15px;margin-right:8px}.ap-invoice-row{display:flex;flex-wrap:wrap;gap:4px 12px;padding:10px 12px;align-items:center}.ap-inv-number,.ap-inv-job{font-size:12px}.ap-inv-vendor{font-size:10px}.ap-inv-amount{font-size:13px;margin-left:auto}.ap-inv-date{font-size:11px}.ap-inv-actions{gap:4px}.ap-inv-actions .ap-btn{padding:4px 6px;font-size:11px}.ap-table-controls{gap:8px}.ap-table-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px}.ap-tab{font-size:11px;padding:6px 10px;white-space:nowrap;flex-shrink:0}.ap-table-actions{gap:6px}.ap-table-actions .ap-btn{font-size:11px;padding:5px 8px}.ap-mock-banner{font-size:11px;padding:10px 12px;margin-bottom:12px}.ap-dropdown-menu{right:0;left:auto;min-width:200px}}.nto-page{padding:24px 32px}.nto-header{margin-bottom:24px}.nto-title{font-size:28px;font-weight:800;color:var(--text-primary);margin:0}.nto-subtitle{font-size:14px;color:var(--text-secondary);margin:4px 0 0}.nto-loading{text-align:center;padding:60px 0;color:var(--text-secondary)}.nto-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.nto-stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center}.nto-stat-value{font-size:36px;font-weight:800;line-height:1}.nto-stat-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:6px;text-transform:uppercase;letter-spacing:.5px}.nto-stat-amber .nto-stat-value{color:#d97706}.nto-stat-blue .nto-stat-value{color:#2563eb}.nto-stat-orange .nto-stat-value{color:#ea580c}.nto-stat-green .nto-stat-value{color:#16a34a}.nto-empty{text-align:center;padding:60px 20px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:15px}.nto-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.nto-table{width:100%;border-collapse:collapse;font-size:13px}.nto-table thead{background:var(--surface2)}.nto-table th{padding:10px 14px;text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.nto-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-primary)}.nto-table tbody tr:hover{background:var(--surface2)}.nto-bid{font-family:DM Sans,monospace;font-weight:700}.nto-center{text-align:center}.nto-row-critical{background:#ef44440f}.nto-row-overdue{background:#ef44441a}.nto-row-warning{background:#f59e0b0f}.nto-urgent{color:#dc2626;font-weight:700}.nto-warn{color:#d97706;font-weight:600}.nto-badge{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}.nto-badge-gray{background:var(--surface2);color:var(--text-secondary)}.nto-badge-amber{background:#fef3c7;color:#92400e}.nto-badge-blue{background:#dbeafe;color:#1e40af}.nto-badge-orange{background:#ffedd5;color:#9a3412}.nto-badge-green{background:#dcfce7;color:#166534}.nto-badge-red{background:#fee2e2;color:#991b1b}.nto-actions{display:flex;gap:6px;flex-wrap:wrap}.nto-btn{padding:4px 10px;border-radius:6px;border:none;font-size:11px;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;text-decoration:none;display:inline-block}.nto-btn-primary{background:var(--accent);color:#fff}.nto-btn-blue{background:#2563eb;color:#fff}.nto-btn-orange{background:#ea580c;color:#fff}.nto-btn-green{background:#16a34a;color:#fff}.nto-btn-gray{background:var(--surface2);color:var(--text-secondary)}.nto-btn:hover{opacity:.85}[data-theme=dark] .nto-badge-amber{background:#d9770626;color:#fbbf24}[data-theme=dark] .nto-badge-blue{background:#2563eb26;color:#60a5fa}[data-theme=dark] .nto-badge-orange{background:#ea580c26;color:#fb923c}[data-theme=dark] .nto-badge-green{background:#16a34a26;color:#4ade80}[data-theme=dark] .nto-badge-red{background:#dc262626;color:#f87171}.docs-page{padding:0}.docs-loading,.docs-empty{text-align:center;padding:48px 24px;color:var(--text-secondary);font-size:14px}.docs-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.docs-header h1{margin:0;font-size:22px;font-weight:700;color:var(--text-primary)}.docs-count{font-size:13px;color:var(--text-secondary);background:var(--main-bg);padding:4px 10px;border-radius:12px}.docs-stats{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.docs-stat-card{flex:1;min-width:120px;padding:14px 16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.docs-stat-card:hover{border-color:var(--accent)}.docs-stat-card.active{border-color:var(--accent);background:#ff6b350f}.docs-stat-count{font-size:22px;font-weight:700;color:var(--text-primary)}.docs-stat-label{font-size:12px;color:var(--text-secondary);margin-top:2px}.docs-toolbar{margin-bottom:16px}.docs-search{width:100%;max-width:400px;padding:10px 14px;border:1px solid var(--card-border);border-radius:8px;background:var(--card-bg);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s}.docs-search:focus{border-color:var(--accent)}.docs-list{display:flex;flex-direction:column;gap:8px}.docs-item{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;transition:border-color .15s,background .15s}.docs-item:hover{border-color:var(--accent);background:var(--main-bg)}.docs-item-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.docs-item-icon.orange{background:#ff6b351f}.docs-item-icon.amber{background:#ff98001f}.docs-item-icon.blue{background:#2196f31f}.docs-item-icon.purple{background:#9c27b01f}.docs-item-icon.green{background:#4caf501f}.docs-item-icon.teal{background:#0096881f}.docs-item-info{flex:1;min-width:0}.docs-item-name{font-size:14px;font-weight:600;color:var(--text-primary)}.docs-item-meta{font-size:12px;color:var(--text-secondary);margin-top:2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.docs-item-project{color:var(--accent);text-decoration:none;font-weight:600}.docs-item-project:hover{text-decoration:underline}.docs-item-sep{color:var(--card-border)}.docs-item-status{text-align:right;flex-shrink:0;min-width:100px}.docs-status-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px}.docs-status-badge.proposal{background:#ff6b351f;color:#ff6b35}.docs-status-badge.invoice{background:#ff98001f;color:#ff9800}.docs-status-badge.site-readiness{background:#2196f31f;color:#2196f3}.docs-status-badge.nto{background:#9c27b01f;color:#9c27b0}.docs-status-badge.change-order{background:#4caf501f;color:#4caf50}.docs-status-badge.extracted-page{background:#0096881f;color:#009688}.docs-item-date{font-size:11px;color:var(--text-secondary);margin-top:3px}.docs-item-actions{display:flex;gap:6px;flex-shrink:0}.docs-action-btn{font-size:12px;padding:6px 12px;border-radius:6px;border:1px solid var(--card-border);background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:600;white-space:nowrap;text-decoration:none;transition:border-color .15s,color .15s}.docs-action-btn:hover{border-color:var(--accent);color:var(--accent)}.docs-action-btn.delete:hover{border-color:#ef4444;color:#ef4444}.docs-extract-btn{font-size:13px;font-weight:600;padding:8px 16px;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;transition:opacity .15s}.docs-extract-btn:hover{opacity:.85}@media (max-width: 768px){.docs-item{flex-wrap:wrap;gap:10px}.docs-item-status{text-align:left;min-width:auto}.docs-stats{gap:6px}.docs-stat-card{min-width:80px;padding:10px 8px}.docs-stat-count{font-size:18px}}.qt-page{padding:0;color:var(--text-primary);-webkit-font-smoothing:antialiased}.qt-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.qt-title{font-size:28px;font-weight:800;color:var(--text-primary);margin:0}.qt-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.qt-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.qt-btn.primary{background:var(--accent);color:#fff}.qt-btn.primary:hover{background:var(--accent-hover, #e55a2b);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3540}.qt-btn.secondary{background:var(--bg-card, var(--card-bg));color:var(--text-primary);border:1px solid var(--border, var(--card-border))}.qt-btn.secondary:hover{border-color:var(--text-secondary)}.qt-btn.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border, var(--card-border))}.qt-btn.ghost:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--bg-card, var(--card-bg))}.qt-btn.sm{padding:5px 10px;font-size:12px}.qt-btn.success{background:#10b981;color:#fff}.qt-btn.success:hover{background:#059669}.qt-btn.danger{background:#ef4444;color:#fff}.qt-btn.danger:hover{background:#dc2626}.qt-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.qt-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.qt-stat-card{background:linear-gradient(135deg,var(--bg-card, var(--card-bg)) 0%,var(--bg-primary, var(--main-bg)) 100%);border:1px solid var(--border, var(--card-border));border-radius:12px;padding:20px 24px;position:relative;overflow:hidden;transition:all .3s}.qt-stat-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px}.qt-stat-card.amber:before{background:#f59e0b}.qt-stat-card.green:before{background:#10b981}.qt-stat-card.red:before{background:#ef4444}.qt-stat-card.blue:before{background:#3b82f6}.qt-stat-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.qt-stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;font-weight:600;margin-bottom:8px}.qt-stat-value{font-size:32px;font-weight:800;line-height:1}.qt-stat-value.amber{color:#f59e0b}.qt-stat-value.green{color:#10b981}.qt-stat-value.red{color:#ef4444}.qt-stat-value.blue{color:#3b82f6}.qt-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.qt-tabs{display:flex;gap:6px;flex-wrap:wrap}.qt-tab{padding:7px 14px;background:var(--bg-primary, var(--main-bg));border:1px solid var(--border, var(--card-border));border-radius:8px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-family:inherit}.qt-tab:hover{color:var(--text-primary);border-color:var(--text-secondary)}.qt-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.qt-tab-count{margin-left:5px;padding:1px 5px;background:#fff3;border-radius:4px;font-size:11px}.qt-search{padding:8px 14px;background:var(--bg-primary, var(--main-bg));border:1px solid var(--border, var(--card-border));border-radius:8px;color:var(--text-primary);font-size:13px;outline:none;font-family:inherit;min-width:220px}.qt-search:focus{border-color:var(--accent)}.qt-table-wrap{background:var(--bg-card, var(--card-bg));border:1px solid var(--border, var(--card-border));border-radius:12px;overflow:hidden;margin-bottom:28px}.qt-table{width:100%;border-collapse:collapse}.qt-table thead th{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;text-align:left;padding:14px 16px;border-bottom:1px solid var(--border, var(--card-border));cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.qt-table thead th:hover{color:var(--text-primary)}.qt-table tbody tr{transition:background .15s;cursor:pointer}.qt-table tbody tr:hover{background:#ff6b350a}.qt-table tbody tr:not(:last-child) td{border-bottom:1px solid var(--border, var(--card-border))}.qt-table tbody td{padding:14px 16px;font-size:13px;color:var(--text-secondary)}.qt-quote-num{font-family:Courier New,monospace;font-weight:600;color:var(--accent)}.qt-client-name{font-weight:600;color:var(--text-primary)}.qt-amount{font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.qt-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.qt-badge.pending{background:#f59e0b1f;color:#f59e0b}.qt-badge.accepted{background:#10b9811f;color:#10b981}.qt-badge.rejected{background:#ef44441f;color:#ef4444}.qt-badge.completed{background:#3b82f61f;color:#3b82f6}.qt-badge.expired{background:#9ca3af1f;color:#9ca3af}.qt-row-actions{display:flex;gap:6px;justify-content:flex-end}.qt-row-actions .qt-btn{padding:4px 8px;font-size:11px}.qt-requests-section{background:var(--bg-card, var(--card-bg));border:1px solid var(--border, var(--card-border));border-radius:12px;margin-bottom:28px;overflow:hidden}.qt-requests-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.qt-requests-header:hover{background:#ff6b350a}.qt-requests-title{font-size:16px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}.qt-requests-count{padding:2px 8px;background:#ff6b351f;color:var(--accent);border-radius:10px;font-size:12px;font-weight:700}.qt-chevron{font-size:14px;color:var(--text-secondary);transition:transform .2s}.qt-chevron.open{transform:rotate(180deg)}.qt-requests-body{padding:0 24px 20px}.qt-request-card{background:var(--bg-primary, var(--main-bg));border:1px solid var(--border, var(--card-border));border-radius:10px;padding:16px 20px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:all .2s}.qt-request-card:last-child{margin-bottom:0}.qt-request-card:hover{border-color:var(--accent);transform:translate(3px)}.qt-request-info{flex:1;min-width:0}.qt-request-company{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.qt-request-meta{font-size:12px;color:var(--text-secondary);display:flex;gap:16px;flex-wrap:wrap}.qt-request-actions{flex-shrink:0}.qt-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.qt-modal{background:var(--bg-card, var(--card-bg));border:1px solid var(--border, var(--card-border));border-radius:16px;width:100%;max-width:720px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.qt-modal.wide{max-width:860px}.qt-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 20px;border-bottom:1px solid var(--border, var(--card-border));flex-shrink:0}.qt-modal-title{font-size:20px;font-weight:800;color:var(--text-primary)}.qt-modal-close{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s;font-family:inherit}.qt-modal-close:hover{color:var(--text-primary);background:var(--bg-primary, var(--main-bg))}.qt-modal form{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.qt-modal-body{padding:24px 28px;overflow-y:auto;flex:1;min-height:0}.qt-modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 28px 24px;border-top:1px solid var(--border, var(--card-border));flex-shrink:0}.qt-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.qt-form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.qt-form-grid.cols-4{grid-template-columns:1fr 1fr 1fr 1fr}.qt-form-group{margin-bottom:0}.qt-form-group.full{grid-column:1 / -1}.qt-form-group label{display:block;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:6px}.qt-form-control{width:100%;padding:9px 12px;background:var(--bg-primary, var(--main-bg));border:1px solid var(--border, var(--card-border));border-radius:8px;color:var(--text-primary);font-size:14px;outline:none;font-family:inherit;box-sizing:border-box}.qt-form-control:focus{border-color:var(--accent)}.qt-form-control option{background:var(--bg-card, var(--card-bg))}textarea.qt-form-control{min-height:80px;resize:vertical}.qt-form-section-title{font-size:14px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.8px;margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border, var(--card-border))}.qt-form-section-title:first-child{margin-top:0}.qt-checkbox-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);cursor:pointer}.qt-checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.qt-line-items{margin-top:8px}.qt-line-item{display:flex;gap:8px;margin-bottom:8px;align-items:center}.qt-line-item input{flex:1}.qt-line-item .qt-btn-remove{background:none;border:none;color:#ef4444;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:background .15s;font-family:inherit;flex-shrink:0}.qt-line-item .qt-btn-remove:hover{background:#ef44441a}.qt-add-line{background:none;border:1px dashed var(--border, var(--card-border));border-radius:8px;padding:8px;width:100%;font-size:13px;color:var(--accent);cursor:pointer;font-weight:600;font-family:inherit;transition:all .15s}.qt-add-line:hover{border-color:var(--accent);background:#ff6b350a}.qt-pricing-summary{background:var(--bg-primary, var(--main-bg));border:1px solid var(--border, var(--card-border));border-radius:10px;padding:16px 20px;margin-top:12px}.qt-pricing-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px}.qt-pricing-row.total{border-top:2px solid var(--border, var(--card-border));margin-top:8px;padding-top:12px;font-size:18px;font-weight:800;color:var(--accent)}.qt-pricing-label{color:var(--text-secondary)}.qt-pricing-value{font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.qt-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.qt-detail-section{background:var(--bg-primary, var(--main-bg));border:1px solid var(--border, var(--card-border));border-radius:10px;padding:20px}.qt-detail-section.full{grid-column:1 / -1}.qt-detail-section-title{font-size:13px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border, var(--card-border))}.qt-detail-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13px}.qt-detail-label{color:var(--text-secondary)}.qt-detail-value{color:var(--text-primary);font-weight:500;text-align:right;max-width:60%}.qt-timeline{display:flex;gap:4px;margin-top:12px}.qt-timeline-step{flex:1;text-align:center;padding:10px 6px;border-radius:8px;font-size:11px;font-weight:600;background:var(--bg-primary, var(--main-bg));border:1px solid var(--border, var(--card-border));color:var(--text-secondary);transition:all .2s}.qt-timeline-step.active{background:#ff6b351f;border-color:var(--accent);color:var(--accent)}.qt-timeline-step.done{background:#10b9811f;border-color:#10b981;color:#10b981}.qt-timeline-ts{font-size:9px;font-weight:400;opacity:.8;margin-top:3px}.qt-detail-items{list-style:none;padding:0;margin:0}.qt-detail-items li{padding:6px 0;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border, var(--card-border));display:flex;align-items:center;gap:8px}.qt-detail-items li:last-child{border-bottom:none}.qt-detail-items li:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}.qt-toast{position:fixed;bottom:24px;right:24px;background:var(--bg-card, var(--card-bg));border:1px solid var(--border, var(--card-border));border-radius:10px;padding:14px 20px;font-size:14px;color:var(--text-primary);z-index:2000;box-shadow:0 8px 32px #0006;display:flex;align-items:center;gap:10px;max-width:360px;animation:qt-toast-in .2s ease}.qt-toast.success{border-color:#10b981}.qt-toast.error{border-color:#ef4444}.qt-toast.info{border-color:#3b82f6}@keyframes qt-toast-in{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.qt-loading{text-align:center;padding:60px 24px;color:var(--text-secondary);font-size:15px}.qt-empty{text-align:center;padding:48px 24px;color:var(--text-secondary);font-size:15px}.qt-empty-sub{font-size:13px;color:var(--text-secondary);margin-top:6px}.qt-file-upload{border:2px dashed var(--border, var(--card-border));border-radius:10px;padding:20px;text-align:center;cursor:pointer;transition:all .2s;color:var(--text-secondary);font-size:13px}.qt-file-upload:hover{border-color:var(--accent);color:var(--accent)}.qt-file-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.qt-file-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#ff6b3514;border:1px solid rgba(255,107,53,.2);border-radius:6px;font-size:12px;color:var(--text-primary)}.qt-file-tag button{background:none;border:none;color:#ef4444;cursor:pointer;font-size:14px;padding:0;line-height:1}@media (max-width: 1200px){.qt-stats-grid{grid-template-columns:repeat(2,1fr)}.qt-detail-grid{grid-template-columns:1fr}}@media (max-width: 768px){.qt-page{padding:0}.qt-header{flex-direction:column;gap:12px}.qt-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.qt-stat-card{padding:12px 14px}.qt-stat-label{font-size:10px;margin-bottom:4px}.qt-stat-value{font-size:22px}.qt-controls{flex-direction:column;align-items:stretch}.qt-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px}.qt-tab{font-size:11px;padding:6px 10px;white-space:nowrap;flex-shrink:0}.qt-search{min-width:unset}.qt-form-grid,.qt-form-grid.cols-3,.qt-form-grid.cols-4{grid-template-columns:1fr}.qt-modal{max-width:100%;margin:0 8px}.qt-table thead{display:none}.qt-table tbody td{display:block;padding:6px 16px}.qt-table tbody td:before{content:attr(data-label) ": ";font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}}.apv-page{padding:0;color:var(--text-primary);-webkit-font-smoothing:antialiased;max-width:640px}.apv-header{margin-bottom:20px}.apv-title{font-size:24px;font-weight:800;margin:0 0 4px}.apv-subtitle{font-size:14px;color:var(--text-secondary)}.apv-summary{display:flex;align-items:center;gap:14px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:12px;padding:16px 20px;margin-bottom:20px}.apv-summary-count{width:48px;height:48px;background:#f59e0b26;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#f59e0b;flex-shrink:0}.apv-summary-label{font-size:15px;font-weight:600;color:var(--text-primary)}.apv-summary-total{display:block;font-size:13px;font-weight:400;color:var(--text-secondary);margin-top:2px}.apv-cards{display:flex;flex-direction:column;gap:14px}.apv-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:18px;transition:border-color .2s}.apv-card:hover{border-color:#f59e0b66}.apv-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.apv-card-info{flex:1;min-width:0}.apv-card-sub{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.apv-card-project{font-size:14px;color:var(--text-secondary);margin-bottom:6px}.apv-card-meta{font-size:12px;color:var(--text-secondary);line-height:1.6}.apv-card-amount{font-size:22px;font-weight:800;color:#f59e0b;white-space:nowrap;flex-shrink:0}.apv-card-items{background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;padding:10px 14px;margin-bottom:12px}.apv-card-item{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;color:var(--text-secondary)}.apv-card-item+.apv-card-item{border-top:1px solid var(--card-border)}.apv-card-item.more{color:var(--text-secondary);font-style:italic;justify-content:center}.apv-view-pdf{display:block;text-align:center;padding:8px;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--accent);border:1px solid var(--card-border);border-radius:8px;text-decoration:none;transition:all .2s}.apv-view-pdf:hover{background:#ff6b350f;border-color:var(--accent)}.apv-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.apv-btn{padding:12px 16px;border-radius:10px;font-size:15px;font-weight:700;border:none;cursor:pointer;transition:all .2s;font-family:inherit;text-align:center}.apv-btn:disabled{opacity:.5;cursor:not-allowed}.apv-btn.approve{background:#10b981;color:#fff}.apv-btn.approve:hover:not(:disabled){background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.apv-btn.reject{background:transparent;color:#ef4444;border:2px solid rgba(239,68,68,.3)}.apv-btn.reject:hover:not(:disabled){background:#ef444414;border-color:#ef4444}.apv-btn.primary{background:var(--accent);color:#fff}.apv-btn.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--card-border)}.apv-btn.ghost:hover{color:var(--text-primary);border-color:var(--text-secondary)}.apv-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0}.apv-modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px 16px 0 0;width:100%;max-width:500px;padding:24px}.apv-modal-title{font-size:18px;font-weight:800;color:var(--text-primary);margin-bottom:16px}.apv-modal-body label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:600}.apv-modal-body textarea{width:100%;padding:12px;background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;outline:none;box-sizing:border-box}.apv-modal-body textarea:focus{border-color:var(--accent)}.apv-modal-footer{display:flex;gap:10px;margin-top:16px}.apv-modal-footer .apv-btn{flex:1}.apv-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:12px 20px;font-size:14px;color:var(--text-primary);z-index:2000;box-shadow:0 8px 32px #0006;display:flex;align-items:center;gap:10px;animation:apv-toast-in .2s ease}.apv-toast.success{border-color:#10b981}.apv-toast.error{border-color:#ef4444}@keyframes apv-toast-in{0%{transform:translate(-50%) translateY(16px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.apv-empty{text-align:center;padding:60px 24px;color:var(--text-secondary);font-size:15px}.apv-empty-icon{font-size:18px;font-weight:700;margin-bottom:8px;color:#10b981}@media (min-width: 769px){.apv-modal-overlay{align-items:center;padding:20px}.apv-modal{border-radius:16px}}.sl-page{padding:0}.sl-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.sl-header h1{margin:0;font-size:22px;font-weight:700;color:var(--text-primary)}.sl-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:20px}.sl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}.sl-system-card{border:1px solid var(--card-border);border-radius:10px;background:var(--card-bg);overflow:hidden}.sl-system-header{padding:14px 18px;font-weight:700;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--card-border);background:var(--main-bg);display:flex;justify-content:space-between;align-items:center}.sl-system-count{font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--card-bg);padding:2px 8px;border-radius:10px}.sl-doc-row{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--card-border);gap:10px}.sl-doc-row:last-child{border-bottom:none}.sl-doc-type{font-size:12px;font-weight:600;color:var(--text-secondary);min-width:130px;flex-shrink:0}.sl-doc-info{flex:1;min-width:0}.sl-doc-filename{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-doc-version{font-size:11px;color:var(--text-secondary)}.sl-doc-empty{font-size:12px;color:var(--text-secondary);font-style:italic}.sl-doc-actions{display:flex;gap:6px;flex-shrink:0}.sl-btn{font-size:11px;padding:4px 10px;border-radius:5px;border:1px solid var(--card-border);background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:600;transition:border-color .15s,color .15s}.sl-btn:hover{border-color:var(--accent);color:var(--accent)}.sl-btn.delete:hover{border-color:#ef4444;color:#ef4444}.sl-btn.upload{border-color:var(--accent);color:var(--accent)}.sl-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.sl-modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:24px;width:420px;max-width:90vw}.sl-modal h3{margin:0 0 16px;font-size:16px;color:var(--text-primary)}.sl-modal label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;margin-top:10px}.sl-modal input[type=text],.sl-modal input[type=file]{width:100%;padding:6px 10px;font-size:13px;border:1px solid var(--card-border);border-radius:6px;background:var(--main-bg);color:var(--text-primary)}.sl-modal-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}.sl-modal-btn{font-size:13px;font-weight:600;padding:8px 20px;border-radius:6px;border:none;cursor:pointer}.sl-modal-btn.primary{background:var(--accent);color:#fff}.sl-modal-btn.secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--card-border)}@media (max-width: 768px){.sl-grid{grid-template-columns:1fr}.sl-doc-row{flex-wrap:wrap}}:root{--sidebar-bg: #2F2F2F;--sidebar-w: 240px;--main-bg: #212121;--card-bg: #2F2F2F;--card-border: #3C3C3C;--text-primary: #ECECEC;--text-secondary: #ABABAB;--accent: #FF6B35;--accent-hover: #e85a28;--logo-main: #BFBFBF;--overlay-hover: rgba(255,255,255,.06);--overlay-border: rgba(255,255,255,.08);--row-border: rgba(255,255,255,.04);--row-hover: rgba(255,255,255,.02)}[data-theme=light]{--sidebar-bg: #F5F5F5;--main-bg: #FFFFFF;--card-bg: #F5F5F5;--card-border: #E0E0E0;--text-primary: #2C2C2C;--text-secondary: #5C5C5C;--accent: #FF6B35;--accent-hover: #e85a28;--logo-main: #2C2C2C;--overlay-hover: rgba(0,0,0,.04);--overlay-border: rgba(0,0,0,.06);--row-border: rgba(0,0,0,.06);--row-hover: rgba(0,0,0,.02)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--main-bg);color:var(--text-primary);min-height:100vh}a{color:var(--accent)}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .2s ease}.sidebar-brand{padding:20px;display:flex;align-items:center;justify-content:center;gap:12px;border-bottom:1px solid var(--overlay-border);text-decoration:none;cursor:pointer;transition:opacity .15s}.sidebar-brand:hover{opacity:.85}.brand-icon{width:36px;height:36px;background:var(--accent);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}.brand-text{font-size:16px;font-weight:700;color:var(--text-primary)}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s}.nav-item:hover{background:var(--overlay-hover);color:var(--text-primary)}.nav-item.active{background:#f2652226;color:var(--accent)}.nav-icon{width:20px;text-align:center;font-size:14px;opacity:.8}.nav-divider{height:1px;background:var(--overlay-border);margin:6px 16px}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--overlay-border)}.version{font-size:12px;color:var(--text-secondary)}.theme-toggle{background:none;border:1px solid var(--card-border);border-radius:8px;padding:6px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:#f2652214}.theme-toggle svg{display:block}.main-area{flex:1;margin-left:var(--sidebar-w);padding:24px 32px;min-height:100vh;transition:margin-left .2s ease}.layout.sidebar-collapsed .sidebar{transform:translate(-100%)}.layout.sidebar-collapsed .main-area{margin-left:0}.sidebar-collapse-btn{position:fixed;top:50%;left:calc(var(--sidebar-w) - 1px);z-index:101;width:14px;height:40px;border-radius:0 6px 6px 0;background:var(--sidebar-bg);border:1px solid var(--border);border-left:none;color:var(--text-muted);cursor:pointer;font-size:0;display:flex;align-items:center;justify-content:center;transition:left .2s ease,opacity .15s;transform:translateY(-50%);opacity:0}.sidebar-collapse-btn:after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(135deg);margin-left:2px}.layout:hover .sidebar-collapse-btn{opacity:1}.sidebar-collapse-btn:hover{background:var(--accent);color:#fff;width:18px}.layout.sidebar-collapsed .sidebar-collapse-btn{left:0}.layout.sidebar-collapsed .sidebar-collapse-btn:after{transform:rotate(-45deg);margin-left:-1px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h1{font-size:24px;font-weight:700}.header-actions{display:flex;align-items:center;gap:12px}.back-link{font-size:13px;color:var(--text-secondary);text-decoration:none;margin-bottom:4px;display:block}.back-link:hover{color:var(--accent)}.breadcrumbs{font-size:13px;margin-bottom:4px;display:flex;align-items:center;gap:4px}.breadcrumb-link{color:var(--text-secondary);text-decoration:none}.breadcrumb-link:hover{color:var(--accent)}.breadcrumb-sep{color:var(--text-secondary);opacity:.4;margin:0 2px}.breadcrumb-current{color:var(--text-primary);font-weight:500}.subtitle{font-size:14px;color:var(--text-secondary)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:20px;margin-bottom:16px}.card h2{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:20px}.stat-value{font-size:28px;font-weight:700;margin-bottom:4px}.stat-label{font-size:13px;color:var(--text-secondary);font-weight:500}.quick-action{text-align:center;font-weight:600;font-size:14px;color:var(--text-primary);text-decoration:none;cursor:pointer;transition:border-color .15s}.quick-action:hover{border-color:var(--accent);color:var(--accent)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;padding:10px 12px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--card-border)}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--accent)}.table td{padding:10px 12px;border-bottom:1px solid var(--row-border);color:var(--text-primary)}.table tr:hover td{background:var(--row-hover)}.table .empty{text-align:center;color:var(--text-secondary);padding:32px 12px}.link{color:var(--accent);text-decoration:none;font-weight:500}.link:hover{text-decoration:underline}.status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.filters-row{display:flex;gap:12px;margin-bottom:16px}.input{background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;padding:8px 14px;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-secondary)}.textarea{min-height:80px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.form-field .input{width:100%}.form-field.full-width{grid-column:1 / -1}.form-actions{display:flex;gap:8px}.btn{padding:8px 20px;border-radius:8px;font-size:14px;font-weight:600;line-height:1.4;font-family:inherit;box-sizing:border-box;cursor:pointer;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-primary);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;transition:background .15s,border-color .15s}.btn:hover{border-color:var(--text-secondary)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:disabled,.btn-primary:disabled{opacity:.4;cursor:not-allowed}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.detail-list{display:grid;grid-template-columns:140px 1fr;gap:8px 16px}.detail-list dt{font-size:13px;color:var(--text-secondary);font-weight:500}.detail-list dd{font-size:14px;color:var(--text-primary)}.notes-text{font-size:14px;line-height:1.6;white-space:pre-wrap;color:var(--text-primary)}.timeline-card{padding:16px 24px}.timeline{display:flex;align-items:center;gap:0}.timeline-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;font-size:12px;color:var(--text-secondary);font-weight:500}.timeline-step:before{content:"";position:absolute;top:8px;left:-50%;right:50%;height:2px;background:var(--card-border)}.timeline-step:first-child:before{display:none}.timeline-step.active:before{background:var(--accent)}.timeline-dot{width:18px;height:18px;border-radius:50%;background:var(--card-border);margin-bottom:6px;position:relative;z-index:1}.timeline-step.active .timeline-dot{background:var(--accent)}.timeline-step.current .timeline-dot{box-shadow:0 0 0 4px #f265224d}.timeline-step.active{color:var(--text-primary)}.timeline-step.lost .timeline-dot{background:#666}.timeline-step.lost:before{background:#666}.timeline-step.lost{color:var(--text-secondary)}.stage-control{display:flex;align-items:center;gap:12px;margin-bottom:16px}.stage-label{font-size:14px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.stage-select{max-width:220px;font-weight:600}.pipeline-inline-select{padding:4px 8px;font-size:12px;min-width:140px;cursor:pointer}.stage-saving{font-size:12px;color:var(--accent)}.integrations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.integration-card{padding:16px 20px}.integration-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.integration-header h3{font-size:15px;font-weight:600}.integration-status{font-size:12px;font-weight:600;padding:2px 10px;border-radius:10px}.integration-status.connected{background:#14532d;color:#4ade80}.integration-status.disconnected{background:#374151;color:#9ca3af}.integration-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.kanban-col{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;display:flex;flex-direction:column;max-height:460px}.kanban-col-header{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--card-border)}.kanban-col-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.kanban-col-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-primary)}.kanban-col-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--overlay-hover);padding:2px 8px;border-radius:10px}.kanban-col-body{flex:1;padding:8px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:400px}.kanban-card{background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;padding:12px;text-decoration:none;transition:border-color .15s;display:block}.kanban-card:hover{border-color:var(--accent)}.kanban-card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.kanban-card-client{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.kanban-card-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.kanban-empty{text-align:center;color:var(--text-secondary);font-size:13px;padding:24px 8px}.inv-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.inv-stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px;cursor:pointer;transition:border-color .15s,transform .1s}.inv-stat-card:hover{border-color:var(--accent);transform:translateY(-1px)}.inv-stat-card .stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.inv-stat-card .stat-value{font-size:22px;font-weight:700;color:var(--text-primary)}.inv-stat-card .stat-sub{font-size:12px;color:var(--text-secondary);margin-top:2px}.inv-tabs{display:flex;gap:4px;background:var(--bg-secondary);border-radius:8px;padding:4px;margin-bottom:16px;width:fit-content}.inv-tab{padding:7px 16px;border-radius:6px;border:none;background:none;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.inv-tab:hover{color:var(--text-primary)}.inv-tab.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 3px #0003}.inv-tab .tab-badge{display:inline-block;background:var(--accent);color:#fff;font-size:11px;font-weight:600;padding:1px 6px;border-radius:10px;margin-left:6px}.inventory-layout{display:grid;grid-template-columns:1fr 280px;gap:16px;align-items:start}.inv-filters{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.inv-filters .input{min-width:160px}.inv-vendor{font-size:12px;color:var(--text-secondary)}.inv-price{font-variant-numeric:tabular-nums;font-size:13px}.inv-value{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}.inv-negative{color:#f87171}.order-panel{position:sticky;top:24px}.order-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.order-panel-header h2{margin:0}.order-panel-count{font-size:12px;background:var(--accent);color:#fff;padding:2px 8px;border-radius:10px;font-weight:600}.order-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--row-border);font-size:13px}.order-item:last-child{border-bottom:none}.order-item-info{flex:1;min-width:0}.order-item-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-item-sku{font-size:11px;color:var(--text-secondary)}.order-qty-controls{display:flex;align-items:center;gap:2px}.order-qty-controls button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--card-border);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:14px;padding:0}.order-qty-controls button:hover{border-color:var(--accent);color:var(--accent)}.order-item-qty{width:48px;text-align:center;font-size:13px;padding:3px 4px}.order-item-unit{font-size:11px;color:var(--text-secondary);min-width:24px}.order-item-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:4px;line-height:1}.order-item-remove:hover{color:#f87171}.order-panel-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--row-border);display:flex;flex-direction:column;gap:8px}.order-panel-summary{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.order-panel-empty{text-align:center;padding:24px 12px;color:var(--text-secondary);font-size:13px}.order-panel-empty-icon{font-size:32px;margin-bottom:8px;opacity:.4}.inv-status{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.inv-status.good{background:#14532d;color:#4ade80}.inv-status.low{background:#422006;color:#facc15}.inv-status.order-now{background:#450a0a;color:#f87171}.inv-table-desktop{display:block}.inv-cards-mobile{display:none;flex-direction:column;gap:10px}.inv-mat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:14px}.inv-mat-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.inv-mat-card-name{font-weight:600;font-size:14px}.inv-mat-card-sub{display:flex;gap:12px;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.inv-mat-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:13px}.inv-mat-card-stats>div{display:flex;justify-content:space-between}.inv-mat-stat-label{color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.inv-mat-card-actions{display:flex;gap:8px;margin-top:10px;align-items:center}.inv-adjust-btns{display:flex;align-items:center;gap:0;border:1px solid var(--card-border);border-radius:8px;overflow:hidden}.inv-adjust-btn{width:32px;height:32px;border:none;background:var(--bg-secondary);color:var(--text-primary);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.inv-adjust-btn:hover{background:var(--accent);color:#fff}.inv-adjust-btn:active{transform:scale(.95)}.inv-adjust-qty{padding:0 10px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;min-width:36px;text-align:center}.inv-vendor-group{margin-bottom:24px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.inv-vendor-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.inv-vendor-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.inv-vendor-count{font-size:12px;color:var(--text-secondary);background:var(--card-bg);padding:2px 8px;border-radius:10px}.inv-category-section{border-bottom:1px solid var(--border)}.inv-category-section:last-child{border-bottom:none}.inv-category-th{color:var(--accent)!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.5px;font-size:11px!important}.inv-category-section .table{margin:0;table-layout:fixed;width:100%}.inv-drop-active{background:#ff6b3514;outline:2px dashed var(--accent);outline-offset:-2px}.inv-category-section tr[draggable]{transition:opacity .15s}.inv-category-section tr[draggable]:active{opacity:.4}tr.inv-drop-row td{border-top:2px solid var(--accent)!important}.inv-category-section .table thead th{font-size:11px;padding:4px 12px;background:transparent;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-category-section .table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-oneoff-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:2px 6px;font-size:13px;cursor:pointer;line-height:1}.inv-oneoff-btn:hover{border-color:var(--accent);color:var(--accent)}.inv-restore-btn{color:var(--accent);border-color:var(--accent)}.inv-delete-btn{color:#f87171;border-color:#991b1b}.inv-delete-btn:hover{color:#fca5a5;border-color:#f87171;background:#f871711a}.inv-oneoff-group{opacity:.75;border-style:dashed}.inv-oneoff-group:hover{opacity:1}.checkout-project-row:hover{background:var(--bg-secondary)}.committed-list{display:flex;flex-direction:column;gap:12px}.committed-job-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px}.committed-job-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.committed-job-header h3{margin:0;font-size:15px;font-weight:600}.committed-job-meta{font-size:12px;color:var(--text-secondary)}.committed-materials{display:flex;flex-direction:column;gap:4px}.committed-mat-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:13px}.committed-mat-row span:first-child{flex:1}.order-history-list{display:flex;flex-direction:column;gap:12px}.order-history-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px}.order-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.order-history-header h3{margin:0;font-size:15px;font-weight:600}.order-history-status{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.order-history-status.ordered{background:#1e3a5f;color:#60a5fa}.order-history-status.received{background:#14532d;color:#4ade80}.order-history-status.draft{background:#333;color:#aaa}.modal.modal-wide{width:600px}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-form-grid .form-group.full-width{grid-column:1 / -1}.modal-breakdown-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--row-border);font-size:13px}.modal-breakdown-row:last-child{border-bottom:none}.modal-breakdown-row .label{color:var(--text-secondary)}.modal-breakdown-row .value{font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center}.modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:24px;width:480px;max-width:90vw;max-height:85vh;overflow-y:auto}.modal h2{font-size:18px;font-weight:700;margin-bottom:20px}.modal.modal-fullscreen{width:95vw;max-width:95vw;height:90vh;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.phase-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.phase-item{display:flex;align-items:center;gap:8px}.phase-item .input{flex:1}.phase-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px}.phase-remove:hover{color:#f87171}.copy-btn{background:none;border:1px solid var(--card-border);border-radius:6px;color:var(--text-secondary);padding:4px 10px;font-size:12px;cursor:pointer;transition:all .15s}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}.copy-btn.copied{border-color:#4ade80;color:#4ade80}.add-order-btn{background:none;border:1px solid var(--card-border);border-radius:6px;color:var(--text-secondary);padding:4px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.add-order-btn:hover{border-color:var(--accent);color:var(--accent)}.add-order-btn.highlight{border-color:var(--accent);color:var(--accent);font-weight:600}.ops-job-list{display:flex;flex-direction:column;gap:12px}.ops-job-card{display:block;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px;text-decoration:none;color:inherit;transition:border-color .15s,transform .1s;cursor:pointer}.ops-job-card:hover{border-color:var(--accent);transform:translateY(-1px)}.ops-job-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.ops-job-header h3{margin:0;font-size:15px;font-weight:600;flex:1}.ops-job-date{font-size:12px;color:var(--text-secondary);white-space:nowrap}.ops-job-meta{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.ops-job-details{display:flex;flex-direction:column;gap:8px;font-size:13px}.ops-subs-section{display:flex;flex-direction:column;gap:4px}.ops-sub-row{display:flex;align-items:center;gap:8px}.ops-sub-name{font-weight:500;min-width:100px}.ops-sub-step{font-size:11px;color:var(--text-secondary)}.ops-bottom-row{display:flex;align-items:center;gap:12px;padding-top:6px;border-top:1px solid var(--card-border)}.ops-step-bar{display:flex;gap:3px;align-items:center}.ops-step-bar .step{width:10px;height:10px;border-radius:50%;background:var(--card-border)}.ops-step-bar .step.done{background:var(--accent)}.ops-step-bar .step.current{background:var(--accent);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 3px var(--accent)}.ops-material-status{font-weight:600}.ops-material-status.ready{color:#4ade80}.ops-material-status.partial{color:#facc15}.ops-material-status.none{color:var(--text-secondary)}.ops-deposit-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.ops-deposit-badge.paid{background:#14532d;color:#4ade80}.ops-deposit-badge.pending{background:#422006;color:#facc15}.ops-deposit-badge.none{background:var(--bg-secondary);color:var(--text-secondary)}.ops-status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.ops-status-badge.awarded{background:#1e3a5f;color:#60a5fa}.ops-status-badge.active{background:#14532d;color:#4ade80}.ops-status-badge.punch{background:#422006;color:#facc15}.ops-status-badge.closeout{background:#4a1d0a;color:#fb923c}.ops-stage-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:3px 20px 3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap;border:none;outline:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l3 3 3-3' stroke='%23999' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.ops-stage-select.awarded{background-color:#1e3a5f;color:#60a5fa}.ops-stage-select.active{background-color:#14532d;color:#4ade80}.ops-stage-select.punch{background-color:#422006;color:#facc15}.ops-stage-select.closeout{background-color:#4a1d0a;color:#fb923c}.ops-stage-select.lost{background-color:#3f0f0f;color:#f87171}.subs-tabs{display:flex;gap:0;margin-bottom:16px}.subs-tab{padding:8px 20px;font-size:13px;font-weight:600;cursor:pointer;background:var(--card-bg);color:var(--text-secondary);border:1px solid var(--card-border)}.subs-tab:first-child{border-radius:8px 0 0 8px}.subs-tab:last-child{border-radius:0 8px 8px 0;border-left:none}.subs-tab.active{background:var(--accent);color:#fff}.subs-cards-mobile{display:none;flex-direction:column;gap:10px}.sub-card-mobile,.wo-card-mobile{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:14px}.sub-card-top,.wo-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sub-card-name,.wo-card-sub{font-weight:600;font-size:15px}.sub-card-status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.sub-card-status.active{background:#22c55e26;color:#22c55e}.sub-card-status.inactive{background:#ffffff0d;color:#888}.sub-card-info{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.sub-card-info>div{margin-bottom:2px}.sub-card-stats{display:flex;gap:12px;font-size:12px;color:var(--text-secondary);margin-bottom:10px;flex-wrap:wrap}.sub-card-actions,.wo-card-actions{display:flex;gap:6px}.wo-card-project{font-size:13px;color:var(--text-secondary);margin-bottom:6px}.wo-card-details{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--text-secondary);margin-bottom:10px}.wo-card-details span:after{content:"·";margin-left:8px}.wo-card-details span:last-child:after{content:""}.bid-takeoffs-section{margin-top:16px}.bid-takeoffs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bid-takeoffs-header h2{margin:0}.bid-takeoffs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bid-takeoff-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;overflow:hidden;transition:border-color .15s}.bid-takeoff-card:hover{border-color:var(--accent)}.bid-takeoff-card img{width:100%;height:140px;object-fit:cover;display:block;background:var(--bg-secondary)}.bid-takeoff-card-body{padding:12px}.bid-takeoff-card-name{font-weight:600;font-size:14px;margin-bottom:2px}.bid-takeoff-card-client{font-size:12px;color:var(--text-secondary)}.bid-takeoff-card-meta{font-size:12px;color:var(--text-secondary);margin-top:6px;display:flex;align-items:center;gap:8px}.bid-takeoff-card-sqft{display:inline-block;background:var(--bg-secondary);padding:1px 6px;border-radius:8px;font-size:11px;font-weight:600}.bid-takeoff-card-actions{display:flex;gap:6px;margin-top:8px}.bid-status-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--card-border);border-radius:6px;padding:4px 24px 4px 8px;font-size:12px;font-weight:600;cursor:pointer;background-repeat:no-repeat;background-position:right 6px center;background-size:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E")}.bid-status-select.won{background-color:#4ade8026;color:#4ade80;border-color:#4ade804d}.bid-status-select.pending{background-color:#facc1526;color:#facc15;border-color:#facc154d}.bid-status-select.lost{background-color:#ef444426;color:#ef4444;border-color:#ef44444d}.bid-status-select.awarded{background-color:#60a5fa26;color:#60a5fa;border-color:#60a5fa4d}.bid-status-select option{background:var(--card-bg);color:var(--text-primary)}.bid-linked-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#1e3a5f;color:#60a5fa;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ops-date-filters{display:flex;gap:4px}.ops-date-filter{padding:5px 12px;border-radius:6px;border:1px solid var(--card-border);background:none;color:var(--text-secondary);font-size:12px;cursor:pointer}.ops-date-filter:hover{color:var(--text-primary)}.ops-date-filter.active{background:var(--accent);color:#fff;border-color:var(--accent)}.task-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.task-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px 20px;transition:background .15s}.task-card:hover{background:var(--row-hover)}.task-card.task-completed{opacity:.5}.task-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.task-priority-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px}.task-category-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--bg-secondary, rgba(255,255,255,.05));color:var(--text-secondary)}.task-auto-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#6366f126;color:#818cf8;text-transform:uppercase;letter-spacing:.5px}.task-due-date{font-size:12px;color:var(--text-secondary);margin-left:auto}.task-title{font-size:15px;font-weight:600;margin-bottom:4px;line-height:1.3}.task-title:hover{color:var(--accent)}.task-description{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.task-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.task-action-btn{padding:5px 12px!important;font-size:12px!important}.task-dismiss{color:var(--text-secondary)!important}.task-snooze-wrap{position:relative}.task-snooze-dropdown{position:absolute;bottom:100%;right:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:4px;min-width:120px;box-shadow:0 4px 12px #0000004d;z-index:10;margin-bottom:4px}.task-snooze-option{display:block;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;border-radius:6px}.task-snooze-option:hover{background:var(--row-hover)}.nav-badge{margin-left:auto;font-size:11px;font-weight:700;color:#fff;padding:1px 7px;border-radius:10px;min-width:20px;text-align:center}.bid-card-mobile{display:block;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:14px;margin-bottom:10px}.bid-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.bid-card-number{font-weight:600;font-size:13px;color:var(--text-secondary)}.bid-card-stage{font-size:11px;font-weight:700;padding:2px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.bid-card-stage.awarded{background:#4ade8026;color:#4ade80}.bid-card-stage.pending{background:#facc1526;color:#facc15}.bid-card-stage.lost{background:#ef444426;color:#ef4444}.bid-card-project{font-size:15px;font-weight:600;margin-bottom:2px;color:var(--accent)}.bid-card-client{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.bid-card-bottom{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);border-top:1px solid var(--card-border);padding-top:8px}.bid-card-price{font-weight:600;color:var(--text-primary)}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:var(--sidebar-bg);border-bottom:1px solid var(--card-border);align-items:center;padding:0 16px;z-index:200;gap:12px}.mobile-hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:4px}.mobile-hamburger span{display:block;width:22px;height:2px;background:var(--text-primary);border-radius:2px;transition:all .2s}.mobile-back-btn{background:none;border:none;cursor:pointer;font-size:22px;color:var(--accent);padding:4px 8px;font-weight:700;line-height:1}.mobile-brand{display:flex;align-items:center}.mobile-page-title{margin-left:auto;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.mobile-drawer{display:none;position:fixed;top:0;left:-280px;width:280px;height:100vh;background:var(--sidebar-bg);z-index:301;flex-direction:column;transition:left .25s ease;overflow-y:auto}.mobile-drawer.open{left:0}.drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:300}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--card-border)}.drawer-close{background:none;border:none;color:var(--text-secondary);font-size:28px;cursor:pointer;padding:0 4px;line-height:1}.drawer-close:hover{color:var(--text-primary)}@media (max-width: 768px){.mobile-header,.mobile-drawer{display:flex}.drawer-overlay{display:block}.sidebar,.sidebar-collapse-btn{display:none}.main-area{margin-left:0;padding:72px 16px 16px;overflow-x:hidden;max-width:100vw}.detail-grid,.form-grid{grid-template-columns:1fr}.filters-row{flex-direction:column}.kanban-board{grid-template-columns:1fr}.inv-stats-bar{grid-template-columns:repeat(2,1fr)}.inventory-layout{grid-template-columns:1fr}.order-panel{position:static}.inv-tabs{flex-wrap:wrap}.modal-form-grid{grid-template-columns:1fr}.ops-job-details{flex-direction:column;align-items:flex-start;gap:8px}.bid-takeoffs-grid{grid-template-columns:1fr}.filters-row .input{max-width:none!important;width:100%}.filters-row select.input{width:100%}.ops-date-filters{width:100%;flex-wrap:wrap}.ops-date-filter{flex:1;min-width:0;text-align:center;padding:8px 4px;font-size:12px}.ops-job-card{padding:12px;overflow:hidden}.ops-job-header{flex-wrap:wrap;gap:6px}.ops-job-header h3{font-size:14px;min-width:0;word-break:break-word}.ops-job-meta{font-size:12px;word-break:break-word}.ops-sub-name{min-width:80px;font-size:12px}.ops-bottom-row{flex-wrap:wrap;gap:8px}.page-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.page-header h1{display:none}.page-header>div{display:flex;flex-wrap:wrap;gap:6px;width:100%}.page-header>div .btn{font-size:11px;padding:6px 10px;white-space:nowrap;flex:1;text-align:center}.subs-table-desktop{display:none!important}.subs-cards-mobile{display:flex!important}.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.mat-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.inv-search{max-width:none!important;width:100%}.inv-filters{flex-direction:column;gap:6px}.inv-filters .input{width:100%;max-width:none;min-width:0}.order-panel{width:100%}.inv-table-desktop{display:none!important}.inv-cards-mobile{display:flex!important}.inv-stats-bar{grid-template-columns:1fr!important;gap:0!important;margin-bottom:10px!important;border:1px solid var(--card-border)!important;border-radius:10px!important;overflow:hidden!important}.inv-stat-card{display:flex!important;flex-direction:row!important;align-items:center!important;padding:10px 14px!important;border-radius:0!important;border:none!important;border-bottom:1px solid var(--card-border)!important}.inv-stat-card:last-child{border-bottom:none!important}.inv-stat-card .stat-label{font-size:12px!important;margin-bottom:0!important;letter-spacing:0!important;text-transform:none!important;flex:1!important}.inv-stat-card .stat-value{font-size:16px!important;margin-left:auto!important;text-align:right!important}.inv-stat-card .stat-sub{display:none!important}.inv-tabs{margin-bottom:10px!important;padding:3px!important;width:100%!important}.inv-tab{padding:5px 10px!important;font-size:11px!important;flex:1!important;text-align:center!important}.inv-tab .tab-badge{font-size:9px!important;padding:1px 5px!important;margin-left:4px!important}.ap-stats{grid-template-columns:1fr!important}.ap-invoice-row{flex-direction:column;align-items:flex-start;gap:6px}.ap-actions{flex-wrap:wrap;width:100%}.ap-actions button{flex:1}.modal-content,.modal-body,[class*=modal]>div:first-child{max-width:calc(100vw - 32px)!important;max-height:90vh;overflow-y:auto}.modal-content{padding:20px}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1;min-width:0}.form-field .input,.form-field select.input,.form-field textarea.input{width:100%;max-width:none}.bid-table-desktop{display:none!important}.bid-cards-mobile{display:block!important}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--main-bg, #212121);padding:20px}.admin-login-card{background:#1a1d28;border:1px solid #2a2d3a;border-radius:16px;padding:48px 40px;width:100%;max-width:420px;box-shadow:0 8px 32px #0006}.admin-login-brand{text-align:center;margin-bottom:32px}.admin-login-logo{width:160px;height:auto;margin:0 auto 12px;display:block}.admin-login-brand p{font-size:14px;color:#6b7280;letter-spacing:1px;text-transform:uppercase}.admin-login-form{display:flex;flex-direction:column;gap:16px}.admin-login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:10px 14px;border-radius:8px;font-size:13px}.admin-login-field label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px}.admin-login-field input{width:100%;padding:12px 14px;background:var(--main-bg);border:1px solid var(--card-border);border-radius:10px;color:var(--text-primary);font-size:15px;outline:none;transition:border-color .2s}.admin-login-field input:focus{border-color:var(--accent)}.admin-login-btn{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s;margin-top:8px}.admin-login-btn:hover{background:var(--accent-hover)}.admin-login-btn:disabled{opacity:.6;cursor:not-allowed}.inv-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.inv-page-header h1{font-size:28px;font-weight:700;color:var(--text-primary)}.inv-accent{color:var(--accent)}.inv-page-subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.inv-user-info{display:flex;align-items:center;gap:10px}.inv-user-name{font-weight:600;color:var(--text-primary)}.inv-user-role{font-size:12px;color:var(--accent);background:#f265221a;padding:3px 10px;border-radius:12px;font-weight:600}.inv-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.inv-stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:18px;display:flex;align-items:center;gap:14px}.inv-stat-card-green{background:linear-gradient(135deg,#166534,#15803d);border-color:transparent}.inv-stat-card-green .inv-stat-value,.inv-stat-card-green .inv-stat-label{color:#fff}.inv-stat-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.inv-stat-orange{background:#f2652226}.inv-stat-blue{background:#3b82f626;color:#3b82f6}.inv-stat-green{background:#22c55e26;color:#22c55e}.inv-stat-purple{background:#a855f726}.inv-stat-value{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1}.inv-stat-label{font-size:12px;color:var(--text-secondary);margin-top:2px}.inv-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;margin-bottom:20px;overflow:hidden}.inv-section-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--card-border)}.inv-section-header h2{font-size:16px;font-weight:700;color:var(--text-primary);flex:1}.inv-section-icon{font-size:18px}.inv-list{padding:16px;display:flex;flex-direction:column;gap:12px}.inv-card{background:var(--main-bg);border:1px solid var(--card-border);border-radius:10px;padding:18px}.inv-card-muted{opacity:.75}.inv-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.inv-card-id{font-size:15px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px;margin-bottom:4px}.inv-card-sub{font-size:14px;font-weight:500;color:var(--text-primary)}.inv-card-project{font-size:13px;color:var(--text-secondary)}.inv-card-amount{font-size:22px;font-weight:700;color:var(--text-primary)}.inv-card-date{font-size:12px;color:var(--text-secondary);margin-top:2px}.inv-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;margin-bottom:8px;border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border)}.inv-card-meta-label{font-size:11px;text-transform:uppercase;color:var(--text-secondary);display:block;margin-bottom:2px}.inv-card-meta-item{font-size:13px;color:var(--text-primary)}.inv-card-actions{display:flex;gap:8px;margin-top:4px}.inv-btn{padding:10px 18px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.inv-btn-view{background:#2563eb;color:#fff}.inv-btn-view:hover{background:#1d4ed8}.inv-btn-approve{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;flex:1}.inv-btn-approve:hover{filter:brightness(1.1)}.inv-btn-reject{background:var(--card-border);color:var(--text-secondary)}.inv-btn-reject:hover{background:#3a3a4e;color:var(--text-primary)}.inv-btn-small{padding:6px 14px;font-size:12px;background:var(--accent);color:#fff;border-radius:6px}.inv-btn-small:hover{background:var(--accent-hover)}.inv-btn-lg{padding:14px 28px;font-size:16px;flex:1}.inv-btn-logout{background:transparent;border:1px solid var(--card-border);color:var(--text-secondary)}.inv-btn-logout:hover{border-color:#ef4444;color:#ef4444}.inv-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.inv-badge-pending{background:#f2652226;color:#f26522;border:1px solid rgba(242,101,34,.3)}.inv-badge-approved{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.inv-badge-bob{background:#a855f726;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.inv-badge-paid{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.inv-badge-rejected{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.inv-empty{text-align:center;padding:40px 20px;color:var(--text-secondary)}.inv-empty-icon{font-size:40px;margin-bottom:12px}.inv-empty-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.inv-table-wrap{overflow-x:auto}.inv-table{width:100%;border-collapse:collapse}.inv-table thead{background:var(--main-bg)}.inv-table th{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);text-align:left}.inv-table td{padding:10px 14px;font-size:13px;color:var(--text-primary);border-top:1px solid var(--card-border)}.inv-table tfoot td{border-top:2px solid var(--accent);font-size:14px}.inv-table-mono{font-family:SF Mono,monospace}.inv-table-bold{font-weight:700}.inv-right{text-align:right}.inv-mono{font-family:SF Mono,monospace}.inv-total{color:var(--accent);font-size:18px;font-weight:700}.inv-deposit-form{padding:16px 20px;border-bottom:1px solid var(--card-border);background:var(--main-bg)}.inv-form-row{display:flex;gap:10px;margin-bottom:10px}.inv-form-row:last-child{margin-bottom:0}.inv-form-row input{flex:1;padding:10px 12px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);font-size:13px;outline:none}.inv-form-row input:focus{border-color:var(--accent)}.inv-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.inv-modal{background:var(--card-bg);border:2px solid var(--card-border);border-radius:14px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column}.inv-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:2px solid var(--card-border);background:linear-gradient(135deg,var(--card-bg),var(--main-bg))}.inv-modal-header h2{font-size:24px;font-weight:700;color:var(--text-primary)}.inv-modal-header p{font-size:13px;color:var(--text-secondary);margin-top:4px}.inv-modal-close{width:36px;height:36px;background:transparent;border:1px solid var(--card-border);border-radius:8px;color:var(--text-secondary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.inv-modal-close:hover{background:var(--card-border);color:var(--text-primary)}.inv-modal-tabs{display:flex;gap:4px;padding:0 28px;border-bottom:1px solid var(--card-border);background:#0003}.inv-modal-tab{padding:14px 20px;border:none;background:none;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.inv-modal-tab:hover{color:var(--text-primary)}.inv-modal-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.inv-modal-body{padding:24px 28px;overflow-y:auto;flex:1}.inv-modal-footer{padding:18px 28px;border-top:2px solid var(--card-border);display:flex;gap:12px;background:var(--main-bg)}.inv-detail-section{margin-bottom:20px}.inv-detail-section h3{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:14px}.inv-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--main-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px}.inv-detail-label{font-size:11px;text-transform:uppercase;color:var(--text-secondary);display:block;margin-bottom:2px}.inv-detail-value{font-size:14px;font-weight:500;color:var(--text-primary)}.inv-detail-amount-box{text-align:center;padding:20px;margin-top:16px;background:var(--main-bg);border-radius:10px}.inv-detail-amount-label{font-size:13px;color:var(--text-secondary);display:block;margin-bottom:6px}.inv-detail-amount{font-size:32px;font-weight:700;color:var(--accent)}.inv-notes{color:var(--text-primary);line-height:1.6;font-size:14px;background:var(--main-bg);border-radius:10px;padding:14px}.inv-upload-preview{text-align:center;padding:30px;background:var(--main-bg);border:2px dashed var(--card-border);border-radius:10px}.inv-upload-icon{font-size:48px;margin-bottom:12px}.inv-upload-filename{font-weight:600;color:var(--text-primary);margin-bottom:12px}.inv-photo-section{margin-bottom:20px}.inv-photo-stage-title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:12px;text-transform:capitalize}.inv-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.inv-photo-item{background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;overflow:hidden}.inv-photo-img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.inv-photo-caption{padding:8px 10px;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bob-view{max-width:700px}.bob-header{background:linear-gradient(135deg,var(--card-bg),var(--main-bg));border:2px solid var(--card-border);border-radius:16px;padding:28px 32px;margin-bottom:24px}.bob-header h1{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.bob-header p{font-size:17px;color:var(--text-secondary)}.bob-header strong{color:var(--accent)}.bob-list{display:flex;flex-direction:column;gap:20px}.bob-card{background:var(--card-bg);border:2px solid var(--card-border);border-radius:16px;padding:28px}.bob-card-id{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.bob-card-sub{font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.bob-card-project{font-size:15px;color:var(--text-secondary);margin-bottom:16px}.bob-amount-box{background:var(--main-bg);border-radius:12px;padding:18px;margin-bottom:16px}.bob-amount-label{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.bob-amount{font-size:38px;font-weight:700;color:var(--text-primary)}.bob-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.bob-meta-item{background:var(--main-bg);border-radius:10px;padding:12px}.bob-meta-label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:2px}.bob-meta-item span:last-child{font-weight:600;font-size:15px}.bob-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bob-btn{padding:18px;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s;text-align:center}.bob-btn-view{background:#2563eb;color:#fff}.bob-btn-view:hover{background:#1d4ed8}.bob-btn-approve{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;font-size:20px}.bob-btn-approve:hover{filter:brightness(1.1)}@media (max-width: 900px){.inv-stats-row{grid-template-columns:repeat(2,1fr)}.inv-detail-grid{grid-template-columns:1fr}.inv-modal{max-width:100%}}@media (max-width: 600px){.inv-stats-row{grid-template-columns:1fr}.inv-card-actions{flex-direction:column}.bob-actions{grid-template-columns:1fr}.inv-page-header{flex-direction:column;gap:12px}.inv-form-row{flex-direction:column}}.integration-actions{margin-top:12px}.integration-actions .btn{font-size:13px;padding:8px 16px}.od-browser{margin-top:16px;border:1px solid var(--card-border);border-radius:8px;overflow:hidden}.od-browser-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#0003;border-bottom:1px solid var(--card-border)}.od-path{font-family:monospace;font-size:13px;color:var(--accent)}.od-file-list{max-height:400px;overflow-y:auto}.od-empty{padding:24px;text-align:center;color:var(--text-secondary)}.od-file-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--row-border);transition:background .15s}.od-file-item:last-child{border-bottom:none}.od-file-item:hover{background:var(--row-border)}.od-folder{cursor:pointer}.od-folder:hover{background:#f2652214}.od-file-icon{font-size:18px;flex-shrink:0}.od-file-name{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.od-file-size{font-size:12px;color:var(--text-secondary);min-width:70px;text-align:right}.od-file-date{font-size:12px;color:var(--text-secondary);min-width:80px;text-align:right}.btn-sm{font-size:12px;padding:4px 10px}.intake-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}.intake-textarea{width:100%;min-height:420px;font-family:SF Mono,Consolas,monospace;font-size:13px;line-height:1.5;resize:vertical}.intake-form{display:flex;flex-direction:column;gap:12px}.intake-form .form-field .input{width:100%}.intake-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.intake-notes{min-height:60px;resize:vertical}.intake-parsed{border-left:3px solid #4ade80;padding-left:8px}.intake-parse-status{margin-left:12px;font-size:13px;color:#4ade80;font-weight:500}.intake-success{text-align:center;padding:40px 20px}.intake-success-icon{width:64px;height:64px;background:#4ade8026;color:#4ade80;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin:0 auto 16px}.intake-success h2{margin-bottom:4px}.intake-bid-number{font-size:28px;font-weight:700;color:var(--accent);margin:8px 0}.intake-success-project{font-size:16px;color:var(--text-primary);font-weight:500}.intake-success-client{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.intake-warning{font-size:13px;color:#facc15;margin-bottom:16px}.intake-success-actions{display:flex;gap:10px;justify-content:center;margin-top:8px}.pending-queue{display:flex;flex-direction:column;gap:8px}.pending-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px}.pending-item-info{flex:1;min-width:0}.pending-item-name{font-weight:600;font-size:14px;color:var(--text-primary)}.pending-item-meta{font-size:12px;color:var(--text-secondary);margin-top:2px}.follow-up-alert{border-left:4px solid #f59e0b}.follow-up-badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:10px;margin-left:8px;background:#f59e0b33;color:#f59e0b;font-weight:600}.follow-up-badge.urgent{background:#ef444433;color:#ef4444}@media (max-width: 768px){.intake-layout,.intake-form-row{grid-template-columns:1fr}.intake-success-actions{flex-direction:column}}.cal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;overflow:hidden}.cal-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--card-border)}.cal-nav-left{display:flex;align-items:center;gap:6px}.cal-nav-btn{background:var(--main-bg);border:1px solid var(--card-border);color:var(--text-primary);border-radius:6px;width:32px;height:32px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.cal-nav-btn:hover{background:var(--card-border)}.cal-today-btn{width:auto;padding:0 12px;font-size:13px;font-weight:600}.cal-weekend-btn{width:auto;padding:0 10px;font-size:11px;font-weight:600}.cal-weekend-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.cal-nav-right{display:flex;align-items:center;gap:10px}.cal-title{font-family:Bebas Neue,Impact,sans-serif;font-size:22px;letter-spacing:1px}.cal-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--card-border)}.cal-header-cell{padding:8px 0;text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.cal-week{border-bottom:1px solid var(--card-border);min-height:90px}.cal-week:last-child{border-bottom:none}.cal-day-row{display:grid;grid-template-columns:repeat(7,1fr)}.cal-day{padding:6px 8px 2px;min-height:24px}.cal-other{opacity:.35}.cal-day-num{font-size:12px;font-weight:500;color:var(--text-secondary)}.cal-today-num{background:var(--accent);color:#fff;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.cal-events{padding:0 2px 4px}.cal-event-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}.cal-event{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.4;transition:opacity .12s}.cal-event:hover{opacity:.85}.cal-event-text{pointer-events:none}.cal-more{font-size:10px;color:var(--text-secondary);padding:0 8px 2px;font-weight:600}.cal-compact .cal-week{min-height:70px}.cal-compact .cal-title{font-size:18px}.cal-compact .cal-nav{padding:10px 14px}.cal-compact .cal-event{font-size:10px;padding:1px 4px}.cal-compact .cal-day-num{font-size:11px}.calendar-page{padding:24px}.cal-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.cal-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-secondary)}.cal-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.cal-loading{padding:60px 20px;text-align:center;color:var(--text-secondary)}.wo-card{background:var(--main-bg);border:1px solid var(--card-border);border-radius:8px;overflow:hidden}.wo-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;gap:12px;transition:background .15s}.wo-card-header:hover{background:#ffffff08}.wo-expand-icon{font-size:10px;color:var(--text-secondary);width:14px;text-align:center}.wo-step-bar{display:flex;gap:3px;align-items:center}.wo-step-dot{width:10px;height:10px;border-radius:50%;background:var(--card-border)}.wo-step-dot.done{background:var(--accent)}.wo-step-dot.current{background:var(--accent);box-shadow:0 0 0 2px var(--main-bg),0 0 0 3px var(--accent)}.wo-card-body{padding:0 16px 16px;border-top:1px solid var(--card-border)}.wo-meta-row{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary);padding:12px 0 8px}.wo-steps{display:flex;flex-direction:column;gap:2px}.wo-step-row{display:flex;align-items:flex-start;gap:12px;padding:10px 8px;border-radius:6px}.wo-step-row.done{opacity:.85}.wo-step-row.active{background:#ff6b3514}.wo-step-indicator{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--card-border);color:var(--text-secondary);flex-shrink:0}.wo-step-row.done .wo-step-indicator{background:var(--accent);color:#fff}.wo-step-row.active .wo-step-indicator{background:transparent;border:2px solid var(--accent);color:var(--accent)}.wo-step-content{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.wo-step-label{font-weight:600;font-size:14px}.wo-step-time{font-size:12px;color:var(--text-secondary)}.wo-step-pending{font-size:12px;color:var(--text-secondary);font-style:italic}.wo-materials-table{margin-top:8px}.wo-materials-table table{width:100%;border-collapse:collapse;font-size:13px}.wo-materials-table th{text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;padding:4px 8px;border-bottom:1px solid var(--card-border)}.wo-materials-table td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.04)}.wo-mat-input{width:60px;padding:3px 6px;border:1px solid var(--card-border);border-radius:4px;background:var(--main-bg);color:var(--text-primary);font-size:13px;text-align:center}.wo-mat-input:focus{outline:none;border-color:var(--accent)}.wo-photo-grid{margin-top:8px;display:flex;flex-direction:column;gap:8px}.wo-photo-stage-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin-bottom:4px;display:block}.wo-photo-thumb{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid var(--card-border);cursor:pointer;transition:transform .15s}.wo-photo-thumb:hover{transform:scale(1.1)}.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.dash-stat-card{background:var(--card-bg);padding:20px 24px;border-radius:12px;border:1px solid var(--card-border);cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.dash-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:0;transition:opacity .2s}.dash-stat-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.dash-stat-card:hover:before{opacity:1}.dash-stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.dash-stat-value{font-size:30px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.dash-stat-meta{font-size:13px;color:var(--text-secondary)}.trend-up{color:#10b981;font-weight:600}.trend-down{color:#ef4444;font-weight:600}.dash-welcome{color:var(--text-secondary);font-size:14px;margin-top:4px}.dash-qa-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .15s;white-space:nowrap}.dash-qa-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.dash-qa-badge{background:var(--accent);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.dash-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.dash-35k-table{font-size:13px}.dash-35k-table th{font-size:11px;text-transform:uppercase;letter-spacing:.03em}.dash-35k-table td{padding:8px 10px}.dash-35k-table tbody tr:hover{background:#ffffff05}.dash-section{background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border);padding:24px;margin-bottom:24px}.dash-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dash-section-title{font-size:18px;font-weight:600;letter-spacing:-.01em}.dash-job-card{background:#ffffff08;padding:20px;border-radius:10px;border:1px solid var(--card-border);transition:all .2s;cursor:pointer;margin-bottom:12px}.dash-job-card:last-child{margin-bottom:0}.dash-job-card:hover{border-color:var(--accent);background:#ffffff0d}.dash-job-best{border-left:4px solid #10B981}.dash-job-attention{border-left:4px solid #F59E0B}.dash-job-header{display:flex;justify-content:space-between;align-items:flex-start}.dash-job-name{font-size:16px;font-weight:600;margin-bottom:4px}.dash-job-system{font-size:13px;color:var(--text-secondary)}.dash-job-revenue{text-align:right}.dash-job-revenue-value{font-size:20px;font-weight:700;margin-bottom:2px}.dash-job-profit{font-size:13px}.dash-job-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--card-border)}.dash-metric-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:4px}.dash-metric-value{font-size:14px;font-weight:600}.dash-job-details{margin-top:16px;padding-top:16px;border-top:1px solid var(--card-border)}.dash-details-label{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.dash-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dash-detail-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.dash-detail-value{font-size:18px;font-weight:600}.dash-attention-callout{background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);padding:14px 16px;border-radius:8px;font-size:13px;color:var(--text-primary);margin-bottom:16px}.dash-modal-highlight{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#ffffff0a;border-radius:8px;margin-bottom:16px}.dash-modal-big{font-size:24px;font-weight:700;color:var(--accent)}.dash-modal-section-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin:20px 0 8px}.dash-modal-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--card-border);font-size:14px}.dash-modal-row:last-of-type{border-bottom:none}.dash-deposit-card{background:#ffffff0a;padding:16px 20px;border-radius:8px;margin-bottom:12px}.dash-deposit-header{display:flex;justify-content:space-between;align-items:center}@media (max-width: 900px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-details-grid{grid-template-columns:1fr}}@media (max-width: 768px){.dash-stats{grid-template-columns:1fr!important;gap:0!important;margin-bottom:16px!important;border:1px solid var(--card-border);border-radius:10px;overflow:hidden}.dash-stat-card{display:flex;flex-direction:row;align-items:center;padding:10px 14px;border-radius:0;border:none;border-bottom:1px solid var(--card-border);overflow:hidden}.dash-stat-card:last-child{border-bottom:none}.dash-stat-card:before{display:none}.dash-stat-card:hover{transform:none;box-shadow:none}.dash-stat-label{font-size:12px;margin-bottom:0;flex:1;text-transform:none;letter-spacing:0}.dash-stat-value{font-size:16px;margin-bottom:0;margin-left:auto;text-align:right}.dash-stat-meta{display:none}.dash-quick-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.dash-qa-btn{padding:6px 8px;font-size:11px;justify-content:center;text-align:center}.dash-section{padding:14px;margin-bottom:16px}.dash-section-header{margin-bottom:12px}.dash-section-title{font-size:14px}.dash-job-card{padding:12px}.dash-job-name{font-size:14px}.dash-job-system{font-size:12px}.dash-job-revenue-value{font-size:16px}.dash-job-profit{font-size:12px}.dash-job-metrics{grid-template-columns:1fr;gap:6px}.dash-details-grid{grid-template-columns:1fr}.dash-detail-value{font-size:15px}.dash-35k-table{font-size:12px}.dash-35k-table td,.dash-35k-table th{padding:6px 8px}}.rpt-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.rpt-category-card{background:var(--card-bg);padding:20px;border-radius:12px;border:1px solid var(--card-border);cursor:pointer;transition:all .2s}.rpt-category-card:hover{background:var(--overlay-hover);border-color:var(--accent);transform:translateY(-2px)}.rpt-category-card.active{border-color:var(--accent);background:var(--overlay-hover)}.rpt-cat-icon{font-size:28px;margin-bottom:10px}.rpt-cat-name{font-size:16px;font-weight:600;margin-bottom:6px}.rpt-cat-desc{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.rpt-cat-count{font-size:12px;color:var(--text-secondary)}.rpt-filters{background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border);padding:16px 20px;margin-bottom:24px;display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.rpt-filter-group{display:flex;flex-direction:column;gap:6px}.rpt-filter-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.rpt-section{background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border);padding:24px;margin-bottom:24px}.rpt-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--card-border)}.rpt-section-title{font-size:18px;font-weight:600}.rpt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rpt-card{background:#ffffff08;padding:18px;border-radius:10px;border:1px solid var(--card-border);cursor:pointer;transition:all .2s}.rpt-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.rpt-card.active{border-color:var(--accent);background:#ff6b350f}.rpt-card.disabled{opacity:.6}.rpt-card.disabled:hover{transform:none;box-shadow:none;border-color:var(--card-border)}.rpt-card-name{font-size:15px;font-weight:600;margin-bottom:6px}.rpt-card-desc{font-size:13px;color:var(--text-secondary);margin-bottom:10px;line-height:1.5}.rpt-card-meta{display:flex;gap:4px;font-size:12px;color:var(--text-secondary);flex-wrap:wrap}.rpt-coming-soon{background:#ffffff14;padding:2px 8px;border-radius:4px;font-size:11px;margin-left:4px}.rpt-preview{background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border);padding:24px;margin-top:24px}.rpt-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--card-border)}.rpt-preview-title{font-size:20px;font-weight:600}.rpt-table{width:100%;border-collapse:collapse}.rpt-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--card-border);background:#ffffff08}.rpt-table td{padding:12px 14px;border-bottom:1px solid var(--card-border);font-size:14px}.rpt-table tr:hover{background:#ffffff05}.rpt-total-row{background:#ffffff0a;font-weight:700}.rpt-aging-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.rpt-aging-bucket{background:#ffffff08;padding:14px;border-radius:8px;text-align:center}.rpt-aging-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.rpt-aging-value{font-size:20px;font-weight:700}.rpt-urgency-badge{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.rpt-urgency-badge.current{background:#10b98126;color:#10b981}.rpt-urgency-badge.medium{background:#f59e0b26;color:#f59e0b}.rpt-urgency-badge.high{background:#f9731626;color:#f97316}.rpt-urgency-badge.critical{background:#ef444426;color:#ef4444}.rpt-funnel{display:flex;flex-direction:column;gap:8px}.rpt-funnel-stage{display:flex;align-items:center;gap:12px}.rpt-funnel-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:6px;min-width:100px;transition:width .3s}.rpt-funnel-label{font-size:14px;font-weight:600;color:#fff}.rpt-funnel-value{font-size:18px;font-weight:700;color:#fff}.rpt-funnel-rate{font-size:12px;color:var(--text-secondary);white-space:nowrap}.rpt-toast{position:fixed;bottom:24px;right:24px;background:var(--card-bg);border:1px solid var(--card-border);padding:12px 20px;border-radius:8px;font-size:14px;box-shadow:0 4px 12px #0006;z-index:1000;animation:rptToastIn .2s ease}@keyframes rptToastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1100px){.rpt-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.rpt-categories,.rpt-aging-buckets{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.rpt-categories,.rpt-grid,.rpt-aging-buckets{grid-template-columns:1fr}.rpt-preview{padding:12px;margin-top:12px}.rpt-preview-header{flex-direction:column;gap:10px;align-items:stretch}.rpt-preview-header>div{flex-wrap:wrap}.rpt-preview-title{font-size:16px}.rpt-table{font-size:11px}.rpt-table th{padding:6px 8px;font-size:10px}.rpt-table td{padding:6px 8px;font-size:11px}.rpt-filters{padding:12px;gap:10px}.rpt-filter-group{flex:1;min-width:0}.rpt-filter-group .input{width:100%}.rpt-section{padding:12px}.rpt-section-header{flex-direction:column;gap:8px}.rpt-category-card{padding:14px}.rpt-cat-icon{font-size:22px;margin-bottom:6px}.rpt-cat-name{font-size:14px}.rpt-cat-desc{font-size:12px}}@media (max-width: 600px){.rpt-aging-buckets{grid-template-columns:1fr}}:root{--bg: #212121;--surface: #2F2F2F;--surface2: #383838;--surface3: #424242;--border: #3C3C3C;--accent: #FF6B35;--accent-dim: rgba(255,107,53,.1);--green: #22c55e;--green-dim: rgba(34,197,94,.1);--yellow: #f59e0b;--yellow-dim: rgba(245,158,11,.1);--blue: #3b82f6;--blue-dim: rgba(59,130,246,.1);--red: #ef4444;--text: #ECECEC;--text2: #ABABAB;--text3: #8E8E8E;--logo-main: #BFBFBF;--radius: 14px;--radius-sm: 8px}[data-theme=light]{--bg: #FFFFFF;--surface: #F5F5F5;--surface2: #EBEBEB;--surface3: #E0E0E0;--border: #E0E0E0;--accent: #FF6B35;--accent-dim: rgba(255,107,53,.08);--green: #16a34a;--green-dim: rgba(22,163,74,.1);--yellow: #d97706;--yellow-dim: rgba(217,119,6,.1);--blue: #2563eb;--blue-dim: rgba(37,99,235,.1);--red: #dc2626;--text: #2C2C2C;--text2: #5C5C5C;--text3: #8C8C8C;--logo-main: #2C2C2C}.sub-page{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-tap-highlight-color:transparent}.sub-content{max-width:430px;margin:0 auto;padding-bottom:80px}.sub-center{display:flex;justify-content:center;align-items:center;min-height:100vh;color:var(--text3);font-family:DM Sans,sans-serif}.bottom-nav{background:var(--surface);border-top:1px solid var(--border);display:flex;padding:12px 0 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0));max-width:430px;margin:0 auto;position:fixed;bottom:0;left:0;right:0;z-index:100}.bn-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;font-size:10px;color:var(--text3);font-weight:500;text-transform:uppercase;letter-spacing:.4px;text-decoration:none;min-height:44px;justify-content:center}.bn-item.active{color:var(--accent)}.bn-icon{font-size:20px}.sub-page .page-header{padding:20px 20px 0;display:flex;align-items:center;gap:12px;justify-content:flex-start;margin-bottom:0}.back-btn{width:36px;height:36px;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text3);font-size:16px;flex-shrink:0}.page-title-wrap{flex:1}.page-title{font-family:Bebas Neue,Impact,sans-serif;font-size:22px;letter-spacing:1px;line-height:1}.page-subtitle{font-size:12px;color:var(--text3);margin-top:2px}.tag{display:inline-block;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:600}.tag-active{background:var(--accent-dim);color:var(--accent)}.tag-upcoming{background:var(--blue-dim);color:var(--blue)}.tag-complete{background:var(--green-dim);color:var(--green)}.tag-pending{background:var(--yellow-dim);color:var(--yellow)}.tag-draft{background:var(--surface2);color:var(--text3)}.section{padding:16px 20px 0}.sub-page .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:12px;padding:0}.sub-page .card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.sub-page .card-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text2)}.btn-full{width:100%;padding:13px;border-radius:9px;border:none;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.3px;transition:opacity .15s;min-height:44px}.btn-full:active{opacity:.85}.btn-full:disabled{opacity:.4;cursor:not-allowed}.btn-accent{background:var(--accent);color:#fff}.btn-green{background:var(--green);color:#000}.btn-surface{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.sub-login{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:var(--bg);font-family:DM Sans,sans-serif}.sub-login-brand{width:64px;height:64px;background:var(--accent);border-radius:16px;display:flex;align-items:center;justify-content:center;font-family:Bebas Neue,sans-serif;font-size:36px;color:#fff;margin-bottom:16px}.sub-login-title{font-family:Bebas Neue,sans-serif;font-size:24px;letter-spacing:2px;color:var(--text);margin-bottom:32px}.sub-login-phone{width:100%;max-width:300px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:18px;text-align:center;letter-spacing:1px;margin-bottom:20px;outline:none;font-family:DM Sans,sans-serif}.sub-login-phone:focus{border-color:var(--accent)}.sub-login-phone::placeholder{color:var(--text3)}.sub-pin-display{display:flex;gap:10px;margin-bottom:24px;justify-content:center}.sub-pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);transition:all .15s}.sub-pin-dot.filled{background:var(--accent);border-color:var(--accent)}.sub-pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:280px;margin-bottom:24px}.sub-pin-key{width:72px;height:56px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:24px;font-family:DM Sans,sans-serif;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.sub-pin-key:active{background:var(--accent);color:#fff}.sub-pin-key.empty{visibility:hidden}.sub-pin-key.backspace{font-size:18px}.sub-login-btn{width:100%;max-width:300px;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;font-family:Bebas Neue,sans-serif;letter-spacing:2px;cursor:pointer;transition:opacity .15s}.sub-login-btn:disabled{opacity:.4;cursor:not-allowed}.sub-login-btn:not(:disabled):active{opacity:.8}.sub-login-error{color:var(--red);font-size:14px;margin-top:12px;text-align:center}.dash-header{padding:28px 20px 0}.dash-date{font-size:12px;color:var(--text3);margin-bottom:4px}.dash-greeting{font-family:Bebas Neue,Impact,sans-serif;font-size:36px;letter-spacing:1px;line-height:1}.hero-stat{margin:16px 20px 0;background:linear-gradient(135deg,var(--accent) 0%,#b83d0b 100%);border-radius:var(--radius);padding:18px 20px;position:relative;overflow:hidden}.hero-stat-label{font-size:11px;color:#ffffffa6;text-transform:uppercase;letter-spacing:.8px;font-weight:600}.hero-stat-val{font-family:Bebas Neue,Impact,sans-serif;font-size:44px;color:#fff;line-height:1;margin-top:4px}.hero-stat-sub{font-size:12px;color:#fff9;margin-top:4px}.hero-glow{position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;border-radius:50%;background:#ffffff12}.mini-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:12px 20px 0}.mini-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;text-align:center;transition:all .15s}.mini-stat.active{border-color:var(--accent);background:#f2652214}.mini-stat-val{font-family:Bebas Neue,Impact,sans-serif;font-size:26px;line-height:1}.mini-stat-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:3px}.callout{margin:14px 20px 0;background:#f2652214;border:1px solid rgba(242,101,34,.25);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;text-decoration:none;color:inherit}.callout-icon{font-size:22px;flex-shrink:0}.callout-text h4{font-size:13px;font-weight:700}.callout-text p{font-size:11px;color:var(--text2);margin-top:2px}.callout-arrow{margin-left:auto;color:var(--accent);font-size:20px}.job-row{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;text-decoration:none;color:inherit}.job-row:last-child{border-bottom:none}.job-row:hover{background:var(--surface2)}.job-dot{width:3px;height:40px;border-radius:99px;flex-shrink:0}.job-info{flex:1;min-width:0}.job-name{font-family:Bebas Neue,Impact,sans-serif;font-size:16px;letter-spacing:.5px}.job-meta{font-size:12px;color:var(--text2);margin-top:1px}.job-right{text-align:right;flex-shrink:0}.job-pay{font-size:14px;font-weight:700;color:var(--green)}.job-date{font-size:11px;color:var(--text3);margin-top:2px}.progress-steps{display:flex;align-items:flex-start;padding:16px 20px 0}.progress-step{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:default}.progress-step.clickable{cursor:pointer}.progress-step.clickable:active .progress-dot{transform:scale(.92)}.progress-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid var(--border);color:var(--text3);background:var(--surface2);transition:all .2s}.progress-step.completed .progress-dot{background:var(--accent);border-color:var(--accent);color:#fff}.progress-step.current .progress-dot{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-dim)}.progress-step.future .progress-dot{background:var(--surface2);border-color:var(--border);color:var(--text3)}.progress-step.viewing .progress-dot{box-shadow:0 0 0 4px var(--blue-dim);border-color:var(--blue)}.progress-step-label{font-size:9px;color:var(--text3);text-align:center;max-width:56px;line-height:1.2;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.progress-connector{flex:1;height:2px;background:var(--border);margin-top:15px;min-width:12px}.progress-connector.done{background:var(--accent)}.review-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--blue-dim);border:1px solid rgba(59,130,246,.25);border-radius:8px;margin:12px 20px 0;font-size:13px;color:var(--blue);font-weight:600}.review-banner button{background:none;border:none;color:var(--accent);font-weight:700;font-size:13px;cursor:pointer;font-family:DM Sans,sans-serif;white-space:nowrap}.step-completed-badge{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--green-dim);border:1px solid rgba(34,197,94,.25);border-radius:8px;font-size:13px;color:var(--green);font-weight:600}.agreement-box{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.agreement-scroll{height:190px;overflow-y:auto;padding:14px 16px;font-size:12px;color:var(--text2);line-height:1.7}.agreement-scroll h4{color:var(--text);font-size:13px;font-weight:700;margin-bottom:8px}.agreement-scroll p{margin-bottom:10px}.pay-box{background:var(--accent-dim);border:1px solid rgba(242,101,34,.25);border-radius:8px;padding:12px 14px;margin:10px 0}.pay-line{display:flex;justify-content:space-between;font-size:13px;padding:3px 0}.pay-line .lbl{color:var(--text3)}.pay-line .val{font-weight:700;color:var(--accent)}.pay-line .total-val{font-size:16px;color:var(--text)}.sig-section{padding:14px 16px;border-top:1px solid var(--border);background:var(--surface)}.sig-prompt{font-size:12px;color:var(--text3);margin-bottom:10px}.sig-canvas{background:var(--bg);border:1px dashed var(--border);border-radius:8px;height:72px;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:12px;margin-bottom:10px;cursor:pointer;transition:border-color .2s}.sig-canvas:hover{border-color:var(--accent)}.sig-canvas.signed{border-color:#22c55e66;border-style:solid;background:var(--green-dim)}.sig-canvas .sig-name{font-family:Georgia,serif;font-style:italic;font-size:26px;color:var(--green)}.sig-canvas .sig-date{font-size:10px;color:var(--text3);margin-top:4px}.info-rows{padding:0 18px}.info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--border);font-size:13px}.info-row:last-child{border-bottom:none}.info-key{color:var(--text3);font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding-top:2px}.info-val{font-weight:600;text-align:right;max-width:60%}.info-val.accent{color:var(--accent);cursor:pointer}.floor-plan{margin:0 20px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:border-color .2s}.floor-plan:hover{border-color:var(--accent)}.fp-icon{font-size:32px}.fp-label{font-size:13px;font-weight:700}.fp-sub{font-size:11px;color:var(--text3)}.special-box{margin:0 20px 14px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:8px;padding:12px 14px}.special-box h5{font-size:12px;color:var(--yellow);font-weight:700;margin-bottom:4px}.special-box p{font-size:13px;color:var(--text2)}.sow-item{display:flex;gap:10px;padding:10px 18px;border-bottom:1px solid var(--border);font-size:13px}.sow-item:last-child{border-bottom:none}.sow-num{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.mat-note{padding:10px 20px;background:var(--surface2);border-bottom:1px solid var(--border);font-size:12px;color:var(--text3)}.mat-section-label{padding:10px 20px 4px;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.mat-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border)}.mat-item:last-child{border-bottom:none}.mat-check{width:24px;height:24px;border-radius:7px;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;font-size:12px;font-weight:700;color:transparent;background:transparent}.mat-check.on{background:var(--accent);border-color:var(--accent);color:#fff}.mat-info{flex:1}.mat-name{font-size:13px;font-weight:600}.mat-qty{font-size:12px;color:var(--text3);margin-top:2px}.mat-qty strong{color:var(--accent)}.mat-tds{font-size:11px;color:var(--accent);padding:4px 9px;border:1px solid rgba(242,101,34,.3);border-radius:5px;cursor:pointer;white-space:nowrap;background:transparent;text-decoration:none}.mat-footer{padding:14px 20px}.photo-tabs{display:flex;border-bottom:1px solid var(--border)}.photo-tab{flex:1;padding:11px;text-align:center;font-size:12px;font-weight:600;cursor:pointer;color:var(--text3);border-bottom:2px solid transparent;transition:all .15s;background:transparent;border-top:none;border-left:none;border-right:none;font-family:DM Sans,sans-serif}.photo-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 20px}.photo-slot{aspect-ratio:1;background:var(--surface2);border:1px dashed var(--border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:24px;transition:border-color .2s;overflow:hidden;position:relative}.photo-slot:hover{border-color:var(--accent)}.photo-slot-label{font-size:11px;color:var(--text3)}.photo-slot.filled{background:var(--surface3);border-style:solid;border-color:var(--green)}.photo-slot.filled img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.photo-count{font-size:10px;color:var(--green);font-weight:700}.inv-tabs{display:flex;border-bottom:1px solid var(--border);border-radius:8px;overflow:hidden;border:1px solid var(--border);margin-bottom:14px}.inv-tab{flex:1;padding:12px;text-align:center;font-size:13px;font-weight:600;cursor:pointer;color:var(--text3);border-bottom:2px solid transparent;transition:all .15s;background:transparent;border:none;font-family:DM Sans,sans-serif}.inv-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.invoice-builder{padding:0}.inv-row{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:8px}.inv-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.inv-row-name{font-size:13px;font-weight:600}.inv-row-amount{font-size:15px;font-weight:700;color:var(--green)}.inv-row-detail{font-size:11px;color:var(--text3)}.inv-row.custom{border:1px dashed rgba(242,101,34,.3);background:var(--accent-dim)}.inv-row.custom .inv-row-name,.inv-row.custom .inv-row-amount{color:var(--accent)}.add-line{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface2);border:1px dashed var(--border);border-radius:8px;cursor:pointer;font-size:13px;color:var(--text3);margin-bottom:14px;transition:border-color .15s}.add-line:hover{border-color:var(--accent);color:var(--accent)}.inv-total{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:14px}.inv-total-row{display:flex;justify-content:space-between;font-size:13px;padding:3px 0}.inv-total-row .lbl{color:var(--text3)}.inv-total-row.big{padding-top:10px;border-top:1px solid var(--border);margin-top:6px}.inv-total-row.big .lbl{font-size:14px;font-weight:700;color:var(--text)}.inv-total-row.big .val{font-size:20px;font-weight:700;color:var(--green)}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:30px 20px;text-align:center;cursor:pointer;transition:border-color .2s;margin-bottom:14px}.upload-zone:hover{border-color:var(--accent)}.upload-icon{font-size:36px;margin-bottom:10px}.upload-label{font-size:14px;font-weight:700}.upload-sub{font-size:12px;color:var(--text3);margin-top:4px}.sub-filter-tabs{display:flex;gap:8px;overflow-x:auto;padding:14px 20px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sub-filter-tabs::-webkit-scrollbar{display:none}.sub-filter-tab{padding:8px 16px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text3);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;font-family:DM Sans,sans-serif}.sub-filter-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sub-settings-profile{text-align:center;padding:24px 0}.sub-settings-avatar{width:72px;height:72px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Bebas Neue,sans-serif;font-size:32px;color:#fff;margin:0 auto 12px}.sub-settings-name{font-family:Bebas Neue,sans-serif;font-size:24px;letter-spacing:1px}.sub-settings-phone{color:var(--text2);font-size:14px;margin-top:4px}.sub-settings-email{color:var(--text3);font-size:13px;margin-top:2px}.sub-logout-btn{width:100%;padding:14px;border-radius:10px;border:1px solid var(--red);background:#ef44441a;color:var(--red);font-size:16px;font-weight:700;cursor:pointer;margin-top:24px;font-family:DM Sans,sans-serif;min-height:48px}.maps-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px}.maps-content{background:var(--surface);border-radius:16px;padding:24px;width:100%;max-width:320px}.maps-content h3{font-size:18px;font-weight:700;margin:0 0 16px;text-align:center}.maps-btn{width:100%;padding:14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:16px;font-weight:600;cursor:pointer;margin-bottom:8px;font-family:DM Sans,sans-serif;min-height:48px}.maps-btn:last-child{margin-bottom:0}.sub-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);color:var(--text);padding:10px 20px;border-radius:20px;font-size:14px;font-weight:500;z-index:500;animation:sub-toast-in .2s ease-out}@keyframes sub-toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.sub-empty{text-align:center;padding:40px 20px;color:var(--text3);font-size:14px}.line-item-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px}.line-item-content{background:var(--surface);border-radius:16px;padding:24px;width:100%;max-width:360px}.line-item-content h3{font-size:18px;font-weight:700;margin:0 0 16px}.line-item-content input,.line-item-content textarea{width:100%;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-family:DM Sans,sans-serif;outline:none;margin-bottom:12px}.line-item-content input:focus,.line-item-content textarea:focus{border-color:var(--accent)}.return-qty-input{width:60px;padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px;font-weight:600;text-align:center;font-family:DM Sans,sans-serif;outline:none}.return-qty-input:focus{border-color:var(--accent)}.invoice-list-item{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.invoice-list-item:last-child{border-bottom:none}.invoice-list-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.invoice-list-info{flex:1}.invoice-list-name{font-size:13px;font-weight:600}.invoice-list-date{font-size:11px;color:var(--text3)}.invoice-list-amount{font-size:16px;font-weight:700}.cal-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000eb;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .15s ease}.cal-popup{background:var(--surface1);border-radius:16px;width:100%;max-width:340px;overflow:hidden;box-shadow:0 20px 60px #0006;animation:slideUp .2s ease}.cal-popup-bar{height:6px;width:100%}.cal-popup-body{padding:20px}.cal-popup-title{font-size:17px;font-weight:700;color:var(--text1);margin-bottom:4px}.cal-popup-subtitle{font-size:13px;color:var(--text3);margin-bottom:8px}.cal-popup-dates{font-size:13px;color:var(--accent);font-weight:600;margin-bottom:18px}.cal-popup-actions{display:flex;flex-direction:column;gap:8px}.cal-popup-btn{border:none;border-radius:10px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;text-align:center;transition:opacity .15s}.cal-popup-btn:active{opacity:.8}.cal-popup-btn-primary{background:var(--accent);color:#fff}.cal-popup-btn-close{background:var(--surface2);color:var(--text2)}.cal-popup-address{font-size:13px;color:var(--text2);margin-bottom:6px;line-height:1.4}.cal-popup-maps{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent);text-decoration:none;margin-bottom:16px}.cal-popup-info{font-size:12px;color:var(--text3);text-align:center;padding:4px 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.doc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;overflow:hidden}.doc-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.doc-card .card-title{font-family:Bebas Neue,Impact,sans-serif;font-size:18px;letter-spacing:.5px}.doc-card-body{padding:16px}.doc-badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.doc-current{background:var(--green-dim);color:var(--green)}.doc-expiring{background:var(--yellow-dim);color:var(--yellow)}.doc-expired{background:#ef44441a;color:var(--red)}.doc-missing{background:var(--surface2);color:var(--text3)}.doc-file-info{display:flex;align-items:center;gap:12px;margin-bottom:14px}.doc-file-icon{font-size:28px;flex-shrink:0}.doc-file-details{flex:1;min-width:0}.doc-file-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-file-date{font-size:11px;color:var(--text3);margin-top:2px}.doc-file-expiry{font-size:11px;margin-top:2px;font-weight:600}.doc-actions{display:flex;gap:8px;margin-top:12px}.doc-upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:24px 16px;text-align:center;cursor:pointer;transition:border-color .2s}.doc-upload-zone:hover{border-color:var(--accent)}.doc-expiry-input{margin-bottom:8px}.doc-expiry-label{display:block;font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.doc-date-input{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:DM Sans,sans-serif;outline:none}.doc-date-input:focus{border-color:var(--accent)}.sidebar-brand,.sidebar-footer,.sidebar-version{display:none}.sidebar-nav-items{display:contents}@media (min-width: 768px){.bottom-nav{position:fixed;left:0;top:0;bottom:0;right:auto;width:240px;max-width:none;flex-direction:column;padding:0;border-top:none;border-right:1px solid var(--border);justify-content:flex-start;gap:0;z-index:100}.sidebar-brand{display:block;padding:20px;border-bottom:1px solid var(--border);text-decoration:none;transition:opacity .15s}.sidebar-brand:hover{opacity:.85}.sidebar-nav-items{display:flex;flex-direction:column;flex:1;padding:12px 0;gap:2px;overflow-y:auto}.bn-item{flex:none;flex-direction:row;justify-content:flex-start;padding:10px 16px;font-size:14px;gap:12px;border-radius:0;text-transform:none;letter-spacing:0;font-weight:500;min-height:auto;color:var(--text2);transition:all .15s}.bn-item:hover{color:var(--text);background:var(--surface2)}.bn-item.active{background:#f2652226;color:var(--accent)}.bn-icon{font-size:18px}.sidebar-footer{display:block;padding:16px;border-top:1px solid var(--border)}.sidebar-version{display:inline;font-size:12px;color:var(--text3)}.sub-content{max-width:900px;margin-left:240px;padding:0 32px 32px}.dash-header{padding:28px 0 0}.hero-stat{margin:20px 0 0}.mini-stats{padding:16px 0 0}.callout{margin:14px 0 0}.section{padding:16px 0 0}.cal-popup{max-width:420px}.sub-login-phone,.sub-login-btn{max-width:360px}.sub-pin-pad{max-width:320px}.sub-toast{left:calc(240px + 50%);transform:translate(calc(-50% - 120px))}}
