.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:0 8px 24px #1565c01f}.login-card h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:600;text-align:center}.login-subtitle{margin:0 0 1.5rem;color:var(--text-muted);font-size:.9rem;text-align:center}.login-form label{display:block;margin-bottom:1rem}.login-form label span{display:block;margin-bottom:.35rem;font-size:.875rem;color:var(--text-muted)}.login-form input{width:100%;padding:.6rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem}.login-form input:focus{outline:none;border-color:var(--accent)}.login-error{margin-bottom:1rem;padding:.5rem .75rem;background:#c628281f;border:1px solid var(--danger);border-radius:8px;color:var(--danger);font-size:.875rem}.btn-block{width:100%;margin-top:.5rem;padding:.65rem}.user-management{max-width:800px;margin:0 auto}.um-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.um-title{margin:0;font-size:1.25rem;font-weight:600}.um-form-card h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.um-form label{display:block;margin-bottom:1rem}.um-form label span{display:block;margin-bottom:.35rem;font-size:.875rem;color:var(--text-muted)}.um-form label span em{color:var(--danger)}.um-form input,.um-form select{width:100%;max-width:320px;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.um-form input:disabled{opacity:.7;cursor:not-allowed}.um-role-group{margin:0 0 1rem;padding:0;border:0}.um-role-group legend{margin-bottom:.35rem;font-size:.875rem;color:var(--text-muted)}.um-role-options{display:flex;flex-wrap:wrap;gap:.5rem}.um-role-option{display:inline-flex!important;align-items:center;gap:.4rem;margin:0!important;padding:.45rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.um-role-option input{width:auto;max-width:none;padding:0}.um-role-option span{margin:0!important;color:var(--text)!important}.um-form .error{display:block;margin-top:.25rem;font-size:.8rem;color:var(--danger)}.um-form .form-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.um-list .empty-state{padding:2rem;text-align:center;color:var(--text-muted)}.change-password-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.change-password-card{width:100%;max-width:400px;position:relative}.change-password-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.change-password-header h3{margin:0;font-size:1.1rem;font-weight:600}.change-password-close{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:8px}.change-password-close:hover{background:var(--surface-hover);color:var(--text)}.change-password-form label{display:block;margin-bottom:1rem}.change-password-form label span{display:block;margin-bottom:.35rem;font-size:.875rem;color:var(--text-muted)}.change-password-form label span em{color:var(--danger)}.change-password-form input{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.change-password-form input:focus{outline:none;border-color:var(--accent)}.change-password-error{margin-bottom:1rem;padding:.5rem .75rem;background:#c628281f;border:1px solid var(--danger);border-radius:8px;color:var(--danger);font-size:.875rem}.change-password-form .form-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.collect-qr-page{max-width:520px;margin:0 auto}.collect-qr-card h2{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.collect-qr-hint{margin:0 0 1.25rem;color:var(--text-muted);font-size:.875rem;line-height:1.5}.collect-qr-form label{display:block;margin-bottom:1rem}.collect-qr-form label span{display:block;margin-bottom:.35rem;font-size:.875rem;color:var(--text-muted)}.collect-qr-form label span em{color:var(--danger)}.collect-qr-form select,.collect-qr-form input[type=text]{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.collect-channel-row{display:grid;grid-template-columns:minmax(140px,.45fr) minmax(0,1fr);gap:.75rem;margin-bottom:1rem}.collect-channel-row label{margin-bottom:0}.collect-qr-check{display:flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.875rem}.collect-qr-check input{width:auto}.collect-qr-msg{margin:.75rem 0 0;padding:.65rem .8rem;border-radius:8px;font-size:.875rem}.collect-qr-msg.error{background:#fff2f0;border:1px solid #ffccc7;color:#cf1322}.collect-qr-result{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.collect-qr-result-title{margin:0 0 1rem;font-size:.95rem;font-weight:600}.collect-qr-box{display:inline-block;padding:12px;background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:.75rem}.collect-qr-img{display:block;width:260px;height:260px}.collect-qr-meta{margin:0 0 .5rem;font-size:.875rem;color:var(--text-muted)}.collect-qr-url-hint{margin:0 0 .35rem;font-size:.8rem;color:var(--text-muted)}.collect-qr-url-input{width:100%;padding:.4rem .6rem;font-size:.8rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text-muted)}@media (max-width: 560px){.collect-channel-row{grid-template-columns:1fr}}.collect-page.collect-page-standalone{min-height:100vh;background:#f5f5f5;padding:16px;font-size:16px;color:#333;box-sizing:border-box}.collect-page-card{max-width:420px;margin:0 auto;background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 12px #00000014}.collect-page-card h1{margin:0 0 16px;font-size:1.25rem;font-weight:600;line-height:1.35}.collect-page-hint{margin:0 0 20px;color:#666;font-size:.875rem}.collect-page-error{margin:0;color:#cf1322;font-size:.9rem}.collect-page-form{display:flex;flex-direction:column;gap:0}.collect-page-label{display:block;margin-bottom:12px}.collect-page-label.full{margin-bottom:12px}.collect-page-label span{display:block;margin-bottom:4px;font-size:.875rem;color:#555}.collect-page-label span.req{color:#c00}.collect-page-label input,.collect-page-label select,.collect-page-label textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:1rem;background:#fff;box-sizing:border-box}.collect-page-label input:focus,.collect-page-label select:focus,.collect-page-label textarea:focus{outline:none;border-color:#1890ff}.collect-page-label textarea{resize:vertical;min-height:96px;line-height:1.5}.collect-page-label input.readonly,.collect-page-label input[readonly]{background:#f5f5f5;color:#666}.collect-page-label select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.collect-page-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px}.collect-page-row .collect-page-label{margin-bottom:0}.collect-page-inline-check{display:flex;align-items:center;gap:8px;margin:-2px 0 12px;color:#555;font-size:.875rem}.collect-page-inline-check input{width:18px;height:18px;flex:0 0 auto}.collect-interest-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.collect-interest-option{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px;border:1px solid #b7ddff;border-radius:8px;background:#eef8ff;color:#2f5d8a;font-size:.95rem}.collect-interest-option input{width:18px;height:18px;flex:0 0 auto}.collect-interest-option span{margin:0;color:inherit;font-size:inherit}.collect-page-btn{width:100%;padding:12px;margin-top:8px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer}.collect-page-btn.btn-primary{background:#1890ff;color:#fff}.collect-page-btn.btn-primary:disabled{background:#bbb;cursor:not-allowed}.collect-page-msg{margin-top:16px;padding:12px;border-radius:8px;font-size:.9rem}.collect-page-msg.success{background:#f6ffed;border:1px solid #b7eb8f;color:#389e0d}.collect-page-msg.error{background:#fff2f0;border:1px solid #ffccc7;color:#cf1322}@media (max-width: 420px){.collect-page-row,.collect-interest-grid{grid-template-columns:1fr}}.system-config{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem;max-width:1180px;margin:0 auto;align-items:start}.config-sidebar,.config-main{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.config-sidebar h2,.config-head h2{margin:0 0 .75rem;font-size:1.05rem}.config-menu-group{margin-top:.9rem}.config-menu-group:first-of-type{margin-top:0}.config-menu-title{margin:0 0 .45rem;padding:0 .15rem;color:var(--text-muted);font-size:.82rem;font-weight:700}.config-tab{display:block;width:100%;padding:.75rem;margin-bottom:.5rem;text-align:left;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer}.config-tab.active{border-color:var(--accent);background:var(--accent-soft)}.config-tab strong,.config-tab span{display:block}.config-tab span,.config-head p{margin:.25rem 0 0;color:var(--text-muted);font-size:.82rem;line-height:1.5}.config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.config-form,.ai-config-form{display:grid;grid-template-columns:minmax(0,1fr) 120px auto auto;gap:.75rem;align-items:end}.ai-config-form{grid-template-columns:repeat(2,minmax(0,1fr))}.config-form.with-code{grid-template-columns:minmax(0,1fr) 120px 120px auto auto}.config-form label span,.ai-config-form label span{display:block;margin-bottom:.35rem;color:var(--text-muted);font-size:.84rem}.config-form input[type=text],.config-form input[type=number],.ai-config-form input{width:100%;padding:.5rem .65rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px}.ai-config-form input:disabled{color:var(--text-muted)}.config-hint,.config-success,.config-error{grid-column:1 / -1;margin:0;color:var(--text-muted);font-size:.84rem}.config-success{color:var(--accent)}.config-error{color:#b42318}.config-check{display:flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.88rem;padding-bottom:.55rem}.config-actions{display:flex;gap:.5rem;justify-content:flex-end}@media (max-width: 900px){.system-config,.config-form,.ai-config-form{grid-template-columns:1fr}}.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.header h1{margin:0;font-size:1.25rem;font-weight:600}.subtitle{margin:0;color:var(--text-muted);font-size:.875rem}.header-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.header-nav{display:flex;align-items:center;gap:.25rem}.header-nav .btn-ghost.active{color:var(--accent);font-weight:500}.current-user{color:var(--text-muted);font-size:.875rem}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:.35rem}.user-menu-arrow{font-size:.65em;opacity:.8;transition:transform .2s}.user-menu-trigger[aria-expanded=true] .user-menu-arrow{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:140px;padding:.35rem 0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:50}.user-menu-item{display:block;width:100%;padding:.5rem 1rem;text-align:left;font-size:.875rem;color:var(--text);background:none;border:none;cursor:pointer}.user-menu-item:hover{background:var(--surface-hover)}.user-menu-item-danger{color:var(--danger)}.user-menu-item-danger:hover{background:#c628281a}.main{flex:1;padding:1.5rem}.loading-msg,.error-msg{margin:0;padding:2rem;text-align:center}.error-msg{color:var(--danger)}.main-content{max-width:1200px;margin:0 auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem}.search-wrap{display:flex;align-items:center;flex:1;min-width:200px;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0 .75rem}.search-icon{margin-right:.5rem;opacity:.6}.search-input{flex:1;padding:.5rem 0;background:none;border:none;color:var(--text);font-size:.9rem}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none}.filter-wrap{display:flex;align-items:center;gap:.5rem}.filter-label{color:var(--text-muted);font-size:.875rem}.filter-select{padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.filter-tabs{margin-bottom:1rem}.filter-tabs-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.filter-tabs-row:last-child{margin-bottom:0}.filter-tabs-label{color:var(--text-muted);font-size:.875rem;flex-shrink:0;width:5.5em}.tab-list{display:flex;flex-wrap:wrap;gap:.25rem}.tab-item{padding:.4rem .75rem;font-size:.875rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.tab-item:hover{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.tab-item.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);font-weight:500}.btn{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(1.1)}.btn-secondary{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent)}.btn-secondary:hover{filter:brightness(.95)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text);background:var(--surface-hover)}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.form-card h2{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.customer-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.customer-form .form-row.three{grid-template-columns:1fr 1fr 1fr}.customer-form .form-section-title{grid-column:1 / -1;margin:0;padding-top:.35rem;font-size:.95rem}.customer-form label span{display:block;margin-bottom:.35rem;font-size:.875rem;color:var(--text-muted)}.customer-form label span em{color:var(--danger)}.customer-form input,.customer-form select{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.customer-form .error{display:block;margin-top:.25rem;font-size:.8rem;color:var(--danger)}.customer-form .form-full{grid-column:1 / -1}.customer-form .form-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.list-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow:hidden}.list-title{margin:0 0 1rem;font-size:1rem;font-weight:600}.list-title .count{margin-left:.5rem;color:var(--text-muted);font-weight:400;font-size:.9rem}.table-wrap{overflow-x:auto}.customer-table{width:100%;border-collapse:collapse;font-size:.875rem}.customer-table th{text-align:left;padding:.6rem .75rem;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border)}.customer-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border)}.customer-table tbody tr:hover{background:var(--surface-hover)}.customer-table .col-actions{white-space:nowrap}.customer-table .editable-cell{cursor:pointer;padding:.15rem 0;border-radius:4px;transition:background .15s}.customer-table .editable-cell:hover{background:var(--surface-hover);outline:1px dashed var(--border);outline-offset:2px}.customer-table .inline-edit-input,.customer-table .inline-edit-select{width:100%;min-width:80px;padding:.25rem .4rem;font-size:inherit;color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:6px;outline:none}.customer-table .inline-edit-select{cursor:pointer}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.8rem}.status-pending{background:#8b949e40;color:var(--text-muted)}.status-visited{background:#58a6ff33;color:var(--accent)}.status-closed{background:#3fb95033;color:var(--success)}.status-abandoned{background:#f8514933;color:var(--danger)}.btn-icon{padding:.25rem .5rem;margin-right:.35rem;background:transparent;border:none;color:var(--accent);font-size:.8rem;cursor:pointer}.btn-icon:hover{text-decoration:underline}.btn-icon.danger{color:var(--danger)}.btn-icon:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.55}.btn-icon:disabled:hover{text-decoration:none}.btn-icon.danger.confirm{font-weight:600}.editing-row .edit-cell{padding:1rem;background:var(--surface-hover);vertical-align:top}.inline-edit .customer-form .form-actions{border-top:none;padding-top:.5rem}.detail-row .detail-cell{padding:1rem 1rem 1rem 2.5rem;background:var(--bg);border-bottom:1px solid var(--border);vertical-align:top}.follow-up-section h4{margin:0 0 .75rem;font-size:.9rem;font-weight:600}.follow-up-form{margin-bottom:1rem}.follow-up-input{width:100%;max-width:480px;padding:.5rem .75rem;margin-bottom:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.875rem;resize:vertical}.follow-up-list{margin:0;padding:0;list-style:none}.follow-up-empty{color:var(--text-muted);font-size:.875rem}.follow-up-item{padding:.5rem 0;border-bottom:1px solid var(--border)}.follow-up-item:last-child{border-bottom:none}.follow-up-meta{display:block;margin-bottom:.25rem;color:var(--text-muted);font-size:.8rem}.follow-up-content{margin:0;font-size:.875rem;white-space:pre-wrap}.empty-state{padding:2rem;text-align:center;color:var(--text-muted)}.empty-state .hint{margin-top:.5rem;font-size:.875rem}.import-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.import-card .import-hint{margin:0 0 1rem;color:var(--text-muted);font-size:.875rem;line-height:1.5}.import-actions{display:flex;gap:.75rem;align-items:center}.export-backup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.export-backup-card{width:100%;max-width:420px;position:relative}.export-backup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.export-backup-header h3{margin:0;font-size:1.1rem;font-weight:600}.export-backup-close{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:8px}.export-backup-close:hover{background:var(--surface-hover);color:var(--text)}.export-backup-hint{margin:0 0 1rem;font-size:.875rem;color:var(--text-muted);line-height:1.5}.export-backup-label{display:block;margin-bottom:1rem}.export-backup-label span{display:block;margin-bottom:.35rem;font-size:.875rem;color:var(--text-muted)}.export-backup-label input{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.export-backup-label input:focus{outline:none;border-color:var(--accent)}.export-backup-card .form-actions{display:flex;gap:.75rem;margin-top:0;padding-top:.5rem;border-top:none}.business-suite{max-width:1280px;margin:0 auto}.biz-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:1rem}.tab-role-select{margin-left:auto;min-width:120px;padding:.45rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.biz-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.biz-summary-card{padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.biz-summary-card span{display:block;margin-bottom:.35rem;color:var(--text-muted);font-size:.82rem}.biz-summary-card strong{font-size:1.35rem;font-weight:700}.biz-muted{color:var(--text-muted);font-size:.82rem}.biz-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1rem;align-items:start}.service-desk{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:1rem;align-items:start}.service-ticket-form{position:sticky;top:1rem}.lead-workspace{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1rem;align-items:start}.lead-board{overflow:hidden}.lead-board-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;margin-bottom:.9rem}.lead-board-head p{margin:-.55rem 0 0;color:var(--text-muted);font-size:.84rem}.lead-bucket-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.lead-bucket-tab{display:inline-flex;align-items:center;gap:.45rem;min-height:2rem;padding:.35rem .65rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer}.lead-bucket-tab.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.lead-bucket-tab strong{min-width:1.35rem;padding:.1rem .35rem;color:var(--text);background:var(--bg);border-radius:999px;font-size:.78rem}.contract-stage-tabs{justify-content:flex-start;margin-bottom:.75rem}.contract-stage-tabs .lead-bucket-tab{flex-direction:column;align-items:flex-start;min-width:9rem;gap:.25rem}.contract-stage-tabs .lead-bucket-tab em{color:var(--text-muted);font-size:.72rem;font-style:normal;line-height:1.25}.follow-workspace{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1rem;align-items:start}.follow-sidebar{display:grid;gap:.55rem}.follow-lead-item{display:grid;gap:.25rem;width:100%;padding:.75rem;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer}.follow-lead-item.active{border-color:var(--accent);background:var(--accent-soft)}.follow-lead-item span,.follow-lead-item em,.follow-profile p,.timeline-item span,.timeline-item em{color:var(--text-muted);font-size:.82rem;font-style:normal}.follow-detail{display:grid;gap:1rem}.follow-profile{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;align-items:start}.follow-profile h3{margin:0 0 .35rem;font-size:1.15rem}.follow-profile-meta{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.follow-profile-meta span{padding:.3rem .5rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.8rem}.follow-actions{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(260px,1.2fr);gap:.75rem;grid-column:1 / -1}.follow-action-group{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.65rem;background:var(--bg);border:1px solid var(--border);border-radius:8px}.follow-action-group span{width:100%;color:var(--text-muted);font-size:.78rem}.follow-action-group-muted{background:transparent}.danger-text{color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1.25rem;background:#0f172a6b}.contract-sign-modal{width:min(760px,100%);max-height:calc(100vh - 2.5rem);overflow:auto;padding:1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 22px 48px #0f172a38}.modal-head,.modal-actions,.recipient-section-head,.address-book-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.modal-head{margin-bottom:.85rem}.modal-head h3{margin:0 0 .25rem}.modal-head p,.recipient-section-head span,.address-book-head span{margin:0;color:var(--text-muted);font-size:.84rem}.recipient-section{display:grid;gap:.65rem;margin-top:.35rem;padding-top:.85rem;border-top:1px solid var(--border)}.address-book-suggestions,.address-book-list{display:grid;gap:.5rem}.address-book-suggestions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.address-book-suggestions button,.address-book-item{min-width:0;padding:.65rem .75rem;text-align:left;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px}.address-book-suggestions button{cursor:pointer}.address-book-suggestions button:hover{border-color:var(--accent);background:var(--accent-soft)}.address-book-suggestions strong,.address-book-suggestions span,.address-book-item strong,.address-book-item span,.address-book-item em{display:block}.address-book-suggestions span,.address-book-item span,.address-book-item em{margin-top:.25rem;color:var(--text-muted);font-size:.82rem;font-style:normal;line-height:1.45}.address-book-panel{grid-column:1 / -1;display:grid;gap:.65rem;margin-bottom:.75rem;padding:.8rem;background:var(--surface-hover);border:1px solid var(--border);border-radius:8px}.modal-actions{justify-content:flex-end;margin-top:1rem}.follow-contract-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.75rem;align-items:end}.follow-contract-form h3{grid-column:1 / -1}.follow-main-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.follow-timeline{display:grid;gap:.75rem}.timeline-item{display:grid;gap:.45rem;padding:.8rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.timeline-item div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.timeline-item p{margin:0;line-height:1.6}.follow-attachment-list{display:flex;flex-wrap:wrap;gap:.4rem;max-width:100%;min-width:0}.follow-attachment-list a,.follow-attachment-list span{display:inline-flex;align-items:center;max-width:min(18rem,100%);min-width:0;padding:.28rem .5rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;font-size:.78rem;line-height:1.35;text-decoration:none;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.timeline-edit-form{display:grid;gap:.65rem}.timeline-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem}.timeline-edit-actions{display:flex;gap:.5rem}.timeline-edit-btn{justify-self:start;padding-left:0}.biz-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.biz-stack{display:grid;gap:1rem}.biz-form{margin-bottom:0}.biz-form-row{display:grid;gap:.75rem}.biz-form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.biz-form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.biz-form-actions,.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.biz-form h3,.biz-section-title{margin:0 0 1rem;font-size:1rem;font-weight:600}.biz-field{display:block;margin-bottom:.75rem}.biz-field span{display:block;margin-bottom:.35rem;color:var(--text-muted);font-size:.84rem}.biz-field input,.biz-field select,.biz-field textarea{width:100%;padding:.5rem .65rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.9rem}.biz-field textarea{resize:vertical}.customer-picker{position:relative}.customer-picker-input-row{display:flex;gap:.45rem;align-items:center}.customer-picker-input-row input{min-width:0}.customer-picker-clear{flex:0 0 auto;padding:.5rem .65rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.82rem;cursor:pointer}.customer-picker-clear:hover{color:var(--accent);border-color:var(--accent)}.customer-picker-menu{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:40;max-height:18rem;overflow-y:auto;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 36px #0f172a29}.customer-picker-hint{padding:.55rem .65rem;color:var(--text-muted);font-size:.82rem}.customer-picker-option{display:grid;gap:.2rem;width:100%;padding:.58rem .65rem;text-align:left;color:var(--text);background:transparent;border:0;border-radius:6px;cursor:pointer}.customer-picker-option:hover,.customer-picker-option.selected{background:var(--accent-soft)}.customer-picker-option strong{font-size:.9rem;font-weight:650}.customer-picker-option span{margin:0;color:var(--text-muted);font-size:.78rem}.lead-interest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.45rem}.lead-interest-option{display:flex;align-items:center;gap:.45rem;min-height:2.25rem;padding:.45rem .55rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer}.lead-interest-option:hover{border-color:var(--accent);background:var(--accent-soft)}.lead-interest-option input{width:1rem;height:1rem;flex:0 0 auto;margin:0;accent-color:var(--accent)}.lead-interest-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-image-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.lead-image-list img{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.biz-check{display:flex;align-items:center;gap:.45rem;margin:.25rem 0 .9rem;color:var(--text-muted);font-size:.875rem}.contract-items-editor{display:grid;gap:.55rem;margin-bottom:.9rem}.contract-items-head{display:flex;justify-content:space-between;gap:.75rem;color:var(--text-muted);font-size:.84rem}.contract-items-head strong{color:var(--text)}.contract-amount-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;font-size:.84rem}.contract-amount-table th,.contract-amount-table td{padding:.45rem .55rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.contract-amount-table th{color:var(--text-muted);background:var(--surface);font-weight:700}.contract-amount-table tbody tr:last-child td{border-bottom:1px solid var(--border)}.contract-amount-table tfoot td{color:var(--accent);background:var(--accent-soft);border-bottom:0;font-weight:700}.contract-amount-table select,.contract-amount-table input{width:100%;min-height:2rem;padding:.35rem .48rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.84rem}.contract-amount-table .amount-cell{width:160px}.contract-amount-table .action-cell{width:84px;text-align:center}.contract-items-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--text-muted);font-size:.78rem}.contract-item-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 110px auto;gap:.45rem;align-items:center}.contract-item-row input,.contract-item-row select{min-width:0;width:100%;padding:.45rem .55rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.84rem}.contract-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.contract-detail-grid h4{margin:0 0 .5rem;font-size:.9rem}.mini-table{width:100%;border-collapse:collapse;font-size:.8rem}.mini-table th,.mini-table td{padding:.4rem .45rem;text-align:left;border-bottom:1px solid var(--border)}.mini-table th{color:var(--text-muted);font-weight:500}.biz-mini-empty{margin:0;color:var(--text-muted);font-size:.82rem}.contract-create-form{display:grid;gap:.65rem;padding:.95rem 1rem 1.05rem}.contract-form-titlebar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.42rem;border-bottom:1px solid var(--border)}.contract-form-titlebar h3{margin:0;font-size:.98rem}.contract-form-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.45rem .65rem;align-items:start}.contract-create-form .biz-field{margin-bottom:0}.contract-create-form .biz-field span{margin-bottom:.2rem;font-size:.76rem;font-weight:700}.contract-create-form .biz-field input,.contract-create-form .biz-field select,.contract-create-form .biz-field textarea{min-height:2.15rem;padding:.38rem .52rem;font-size:.84rem}.contract-create-form .contract-field-wide{grid-column:span 2}.contract-create-form>.biz-field textarea{min-height:4.2rem}.contract-create-form .contract-items-editor,.contract-create-form .payment-plan-editor,.contract-create-form>.biz-field,.contract-create-form .contract-form-actions{margin-bottom:0}.contract-create-form .contract-items-editor{padding-top:.1rem}.contract-create-form .contract-items-editor,.contract-create-form .payment-plan-editor{gap:.42rem;padding-bottom:.1rem}.contract-create-form .contract-items-head,.contract-create-form .contract-form-section-head{margin-bottom:0;font-size:.78rem}.contract-create-form .contract-item-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) 118px auto;gap:.35rem}.contract-create-form .contract-item-row input,.contract-create-form .contract-item-row select{min-height:2.05rem;padding:.35rem .48rem;font-size:.82rem}.contract-create-form .mini-table th,.contract-create-form .mini-table td{padding:.28rem .35rem}.contract-create-form .payment-plan-table input[type=number],.contract-create-form .payment-plan-table input[type=date],.contract-create-form .payment-plan-table input:not([type]),.contract-create-form .payment-plan-table select{min-width:78px;min-height:2rem;padding:.3rem .4rem;font-size:.8rem}.contract-create-form .payment-plan-checks{min-width:7rem}.contract-create-form .payment-plan-checks label{margin-right:.28rem;font-size:.78rem}.contract-create-form{display:block;width:100%;max-width:1680px;margin:0 auto;padding:0;background:transparent;border:0;box-shadow:none}.contract-form-titlebar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding:0;border-bottom:0}.contract-form-title-left{display:flex;align-items:center;min-width:0;gap:.85rem}.contract-form-back{width:44px;height:44px;flex:0 0 44px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);box-shadow:0 2px 8px #1976d22e;font-size:1.75rem;line-height:1;cursor:pointer}.contract-form-titlebar h3{margin:0;color:var(--accent);font-size:1.65rem;font-weight:800;letter-spacing:0}.contract-form-return{border:0;background:transparent;color:var(--accent);font-size:1rem;font-weight:700;cursor:pointer}.contract-edit-card{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 28px #1976d214}.contract-form-section{padding:1.55rem 2rem;border-bottom:1px solid var(--border)}.contract-section-title,.contract-lines-section .contract-items-head,.contract-plan-section .contract-form-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.4rem;margin:-1.55rem -2rem 1.35rem;padding:1rem 2rem;color:var(--text);background:var(--surface);border-bottom:1px solid var(--border);font-size:1.05rem;font-weight:800}.contract-basic-grid{grid-template-columns:1.12fr 1.12fr 1.18fr .78fr .78fr;gap:1.2rem 1.5rem}.contract-extra-grid{grid-template-columns:1fr 1fr 2fr;gap:1.2rem 1.5rem}.contract-create-form .biz-field{position:relative;margin-bottom:0}.contract-create-form .biz-field span{position:absolute;top:-.55rem;left:.8rem;z-index:1;margin:0;padding:0 .3rem;color:var(--text-muted);background:var(--surface);font-size:.82rem;font-weight:600;line-height:1.2}.contract-create-form .biz-field input,.contract-create-form .biz-field select,.contract-create-form .biz-field textarea{min-height:3rem;padding:.65rem .9rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px;font-size:1rem}.currency-input{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.25rem;min-height:3rem;padding:0 .8rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px}.currency-input span,.currency-input em{color:var(--text-muted);font-style:normal;font-weight:700}.contract-create-form .currency-input input,.contract-amount-table .currency-input input,.payment-plan-table .currency-input input{min-width:0;min-height:auto;padding:.55rem .15rem;color:var(--text);background:transparent;border:0;text-align:left;font-size:1rem;outline:none}.currency-input.readonly{display:flex;justify-content:flex-start;gap:.25rem;background:var(--surface-hover)}.currency-input .currency-readonly-value{color:var(--text);font-weight:700;line-height:1}.contract-create-form .biz-field input:read-only,.contract-create-form .biz-field select:disabled{color:var(--text-muted);background:var(--surface-hover)}.contract-archive-edit-form .contract-field-wide{grid-column:span 1}.contract-archive-edit-form,.contract-archive-edit-form .contract-edit-card,.contract-archive-edit-form .contract-section-title,.contract-archive-edit-form .contract-lines-section .contract-items-head,.contract-archive-edit-form .contract-plan-section .contract-form-section-head,.contract-archive-edit-form .biz-field span,.contract-archive-edit-form .biz-field input,.contract-archive-edit-form .biz-field select,.contract-archive-edit-form .biz-field textarea,.contract-archive-edit-form .currency-input,.contract-archive-edit-form .currency-input input,.contract-archive-edit-form .contract-amount-table,.contract-archive-edit-form .contract-amount-table input,.contract-archive-edit-form .contract-amount-table select,.contract-archive-edit-form .contract-amount-table tfoot td,.contract-archive-edit-form .contract-amount-table tfoot .amount-cell,.contract-archive-edit-form .contract-amount-note,.contract-archive-edit-form .payment-plan-table,.contract-archive-edit-form .payment-plan-table input,.contract-archive-edit-form .payment-plan-table select,.contract-archive-edit-form .contract-file-current-list{font-family:inherit;font-size:.9rem}.contract-archive-edit-form .contract-form-titlebar h3{color:var(--text);font-size:1rem;font-weight:600}.contract-archive-edit-form .contract-form-return,.contract-archive-edit-form .contract-add-detail-btn,.contract-archive-edit-form .contract-save-btn{font-size:.9rem}.contract-archive-edit-form .contract-form-back{width:36px;height:36px;flex-basis:36px;font-size:1.25rem}.contract-archive-edit-form .biz-field span,.contract-archive-edit-form .contract-file-upload-grid label em{font-size:.84rem}.contract-archive-edit-form .contract-file-slot{min-width:0}.contract-create-form .contract-other-attachment-field,.contract-archive-edit-form .contract-other-attachment-field{grid-column:span 2}.contract-archive-edit-form .contract-file-slot input[type=file]{padding-top:.72rem}.contract-file-box{display:flex;align-items:center;width:100%;min-width:0;min-height:3rem;padding:.65rem .9rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px}.contract-file-edit-row{justify-content:space-between;gap:.65rem}.contract-file-edit-row>a,.contract-file-edit-row>span{flex:1 1 auto;min-width:0;max-width:100%;line-height:1.35;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.contract-file-box .contract-other-attachment-links{min-width:0}.contract-file-hint{margin:.32rem 0 0;color:var(--text-muted);font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}.attachment-name-wrap{max-width:100%;min-width:0;line-height:1.45;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.contract-archive-edit-form .contract-files-field,.contract-files-field{max-width:none;grid-column:span 3}.contract-file-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.contract-file-upload-grid label{display:grid;gap:.28rem}.contract-file-upload-grid.has-contract-file-link label:nth-child(1),.contract-file-upload-grid.has-archive-file-link label:nth-child(2),.contract-file-upload-grid.has-other-attachment-links label:nth-child(3){display:none}.contract-file-upload-grid label em{color:var(--text-muted);font-style:normal;font-size:.78rem;font-weight:700}.contract-file-current-list{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.5rem;margin-top:.55rem;color:var(--text-muted);font-size:.82rem}.contract-file-current-list p{margin:0}.contract-other-attachment-links{display:flex;flex-wrap:wrap;gap:.35rem .6rem;max-width:100%;min-width:0;vertical-align:top}.contract-other-attachment-links a,.contract-other-attachment-links span{display:inline-flex;align-items:center;max-width:min(18rem,100%);min-width:0;line-height:1.35;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.contract-selected-file-line{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;min-width:0}.contract-selected-attachments{display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem;width:100%;min-width:0}.contract-attachment-edit-list{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;width:100%;min-width:0}.contract-attachment-edit-item{display:flex;align-items:center;gap:.45rem;width:100%;min-width:0;padding:.28rem .45rem;background:#ffffff94;border:1px solid rgba(25,118,210,.18);border-radius:6px}.contract-attachment-edit-item:hover{border-color:#1976d261;background:#ffffffc7}.contract-attachment-edit-item a,.contract-attachment-edit-item span,.contract-selected-file-line>span{flex:1 1 auto;min-width:0;max-width:100%;line-height:1.35;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.contract-attachment-remove{flex:0 0 auto;margin-right:0;padding-inline:.15rem}.contract-file-current-list>.btn,.contract-selected-attachments>.btn{justify-self:start}.contract-create-form .contract-field-full{grid-column:1 / -1;margin-top:1.1rem}.contract-remark-panel{display:grid;gap:.75rem;padding:.9rem;background:var(--bg);border:1px solid var(--border);border-radius:6px}.contract-remark-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.contract-remark-head strong{color:var(--text);font-size:.95rem}.contract-remark-head span{color:var(--text-muted);font-size:.82rem}.contract-remark-form textarea{min-height:4.8rem}.contract-lines-section{padding-top:1.55rem}.contract-lines-section .contract-items-editor{gap:0;margin:0;padding:0}.contract-add-detail-btn{color:var(--accent);border:0;background:transparent;font-size:1rem;font-weight:700}.contract-amount-table{border:0;border-radius:0;font-size:1rem}.contract-amount-table th,.contract-amount-table td{padding:.55rem 1.35rem;border-bottom:1px solid var(--border)}.contract-amount-table th{color:var(--text);background:var(--surface-hover);font-weight:800}.contract-amount-table select,.contract-amount-table input{min-height:3rem;padding:.55rem .85rem;color:var(--text);background:var(--bg);border-color:var(--border);border-radius:5px;font-size:1rem}.contract-amount-table .amount-cell{width:260px}.contract-amount-table .action-cell{width:120px}.contract-amount-table tfoot td{color:var(--accent);background:var(--surface);font-size:1.05rem}.contract-amount-table tfoot .amount-cell{font-size:1.3rem;font-weight:800}.contract-items-foot{justify-content:flex-start;margin-top:1.2rem}.contract-amount-note{display:inline-flex;align-items:center;min-height:2rem;padding:0 .8rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:999px;font-size:.92rem;font-weight:700}.contract-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin:0;padding:1.35rem 2rem;background:var(--surface);border-top:1px solid var(--border)}.contract-form-actions .btn{min-width:88px;min-height:3rem;border-radius:5px;font-size:1rem;font-weight:700}.contract-save-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-width:148px;box-shadow:0 3px 8px #1976d24d}.contract-save-btn:before{content:"";width:14px;height:14px;border:2px solid #fff;border-radius:2px;box-sizing:border-box;background:linear-gradient(to bottom,#fff 0 4px,transparent 4px)}.finance-supplement-files,.finance-supplement-payment{display:grid;gap:.75rem;padding-top:.85rem;border-top:1px solid var(--border)}.finance-supplement-form h3{color:var(--text);font-size:1rem;font-weight:600}.finance-supplement-form .biz-field{position:static;margin-bottom:.75rem}.finance-supplement-form .biz-field span{position:static;display:block;margin:0 0 .35rem;padding:0;color:var(--text-muted);background:transparent;font-size:.84rem;font-weight:400}.finance-supplement-form .biz-field input,.finance-supplement-form .biz-field select,.finance-supplement-form .biz-field textarea{min-height:0;padding:.5rem .65rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.9rem}.finance-supplement-form .biz-field input[type=file]{padding:.4rem .65rem;cursor:pointer}.finance-supplement-form .biz-field input[type=file]::file-selector-button{margin-right:.75rem;padding:.35rem .65rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;font:inherit;font-size:.8rem;font-weight:500;cursor:pointer}.finance-supplement-form .biz-field input[type=file]:hover::file-selector-button{filter:brightness(.95)}.finance-supplement-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.finance-supplement-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.finance-supplement-files-head{align-items:flex-start}.finance-supplement-files-head div{display:grid;gap:.25rem}.finance-supplement-files-head small{color:var(--text-muted);font-size:.78rem}.contract-radio-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;color:var(--text-muted);font-size:.9rem}.contract-radio-row>span{min-width:4.5rem;color:var(--text-muted)}.contract-radio-row label{display:inline-flex;align-items:center;gap:.35rem;color:var(--text)}.contract-form-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem;color:var(--text-muted);font-size:.9rem}.payment-plan-table-wrap,.contract-table-wrap{width:100%;overflow-x:auto}.payment-plan-table input[type=number],.payment-plan-table input[type=date],.payment-plan-table input:not([type]),.payment-plan-table select{width:100%;min-width:95px;padding:.35rem .45rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px}.contract-create-form .payment-plan-table td{vertical-align:middle}.contract-create-form .payment-plan-table .currency-input{min-height:2rem;height:2rem;padding:0 .45rem;border-radius:6px}.contract-create-form .payment-plan-table .currency-input input{min-height:0;height:auto;padding:.3rem .2rem;font-size:.8rem;line-height:1.2}.contract-create-form .payment-plan-table .currency-input span,.contract-create-form .payment-plan-table .currency-input em{font-size:.8rem;line-height:1}.contract-create-form .payment-plan-editor>.biz-hint{margin:.45rem 0 0;line-height:1.55}.payment-plan-table input[type=checkbox]{width:16px;height:16px}.payment-plan-checks{min-width:8rem}.payment-plan-checks label{display:inline-flex;align-items:center;gap:.25rem;margin-right:.5rem;white-space:nowrap;color:var(--text-muted)}.contract-toolbar{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(5,minmax(120px,1fr));gap:.5rem;margin-bottom:.65rem}.contract-toolbar.market-contract-toolbar{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.contract-filter-field{display:flex;flex-direction:column;gap:.25rem}.contract-filter-field span{color:var(--text-muted);font-size:.74rem}.contract-list-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.contract-list-head .biz-section-title{margin:0}.contract-list-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.contract-module-page{width:calc(100vw - 3rem);max-width:none;margin-left:50%;transform:translate(-50%)}.contract-toolbar input,.contract-toolbar select{width:100%;min-width:0;padding:.45rem .55rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.82rem}.contract-total-line{margin:0 0 .75rem;color:var(--danger);font-size:.84rem;font-weight:500}.contract-management-table{min-width:1360px}.contract-management-table th,.contract-management-table td{text-align:center;vertical-align:middle}.contract-management-table td{color:var(--text-muted)}.contract-actions-cell{min-width:96px}.finance-process-page{display:grid;gap:.9rem}.finance-process-head,.finance-head-actions,.finance-panel-head,.finance-action-row,.finance-check-row,.finance-inline-form-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.finance-process-head h3,.finance-panel h4,.finance-process-sidebar h4,.finance-inline-form h5,.finance-seal-block h5{margin:0}.finance-process-head p{margin:.25rem 0 0;color:var(--text-muted);font-size:.86rem}.finance-eyebrow{display:block;margin-bottom:.25rem;color:var(--text-muted);font-size:.78rem;font-weight:600}.finance-status-pill{padding:.35rem .65rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:999px;font-size:.82rem;font-weight:600;white-space:nowrap}.finance-process-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.finance-process-metrics>div{display:grid;gap:.2rem;min-width:0;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.finance-process-metrics span,.finance-process-metrics em,.finance-file-line span,.finance-current-file span{color:var(--text-muted);font-size:.8rem;font-style:normal}.finance-process-metrics strong{color:var(--text);font-size:1.05rem;font-weight:700}.finance-process-layout{display:grid;grid-template-columns:minmax(250px,280px) minmax(0,1fr);gap:1rem;align-items:start}.finance-process-sidebar{position:sticky;top:1rem;display:grid;gap:1rem;margin-bottom:0}.finance-step-list{display:grid;gap:.8rem;margin:0;padding:0;list-style:none}.finance-step{display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:.65rem;align-items:start}.finance-step-dot,.finance-panel-index{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:.78rem;font-weight:700}.finance-step-done .finance-step-dot{color:#fff;background:var(--success);border-color:var(--success)}.finance-step-active .finance-step-dot,.finance-panel-index{color:#fff;background:var(--accent);border-color:var(--accent)}.finance-step strong{display:block;color:var(--text);font-size:.9rem}.finance-step small{display:block;margin-top:.15rem;color:var(--text-muted);font-size:.78rem;line-height:1.45}.finance-process-main{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.finance-panel{display:grid;gap:.9rem;margin-bottom:0}.finance-panel-title{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start}.finance-panel-title p{margin:.25rem 0 0;color:var(--text-muted);font-size:.83rem;line-height:1.55}.finance-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .85rem}.finance-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-material-strip,.finance-seal-grid,.finance-split-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.finance-material-strip{grid-template-columns:minmax(0,1.2fr) minmax(160px,.8fr) auto;align-items:center}.finance-file-line,.finance-current-file{display:grid;gap:.25rem;min-width:0}.finance-file-line strong,.finance-current-file strong{min-width:0;color:var(--text);font-size:.9rem;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.finance-ai-message{margin:0;padding:.65rem .8rem;color:var(--accent);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:6px;font-size:.84rem}.finance-duplicate-warning{margin:0;padding:.65rem .8rem;color:var(--danger);background:#c0392b14;border-left:3px solid var(--danger);border-radius:6px;font-size:.84rem}.finance-save-success{margin:0;padding:.65rem .8rem;color:var(--success);background:#27ae601a;border-left:3px solid var(--success);border-radius:6px;font-size:.84rem}.finance-check-row{padding-top:.85rem;border-top:1px solid var(--border)}.finance-seal-block,.finance-inline-form{display:grid;gap:.75rem;align-content:start}.finance-seal-block+.finance-seal-block,.finance-inline-form+.finance-inline-form{padding-left:1rem;border-left:1px solid var(--border)}.finance-seal-block p{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.55}.finance-print-recipient-card{display:grid;gap:.75rem;padding:.85rem;background:var(--bg);border:1px solid var(--border);border-radius:8px}.finance-print-recipient-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.finance-print-recipient-card strong{color:var(--text)}.finance-print-recipient-card span,.finance-print-recipient-card em{color:var(--text-muted);font-size:.82rem;font-style:normal}.finance-copy-grid{display:grid;gap:.5rem}.finance-copy-row{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0}.finance-copy-row strong{min-width:0;font-size:.9rem;overflow-wrap:anywhere}.copy-tag{padding:.25rem .55rem;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(37,99,235,.18);border-radius:999px;font-size:.78rem;font-weight:600;cursor:pointer}.copy-tag:disabled{color:var(--text-muted);background:var(--surface);cursor:not-allowed}.finance-inline-form-head span{color:var(--text-muted);font-size:.82rem}.finance-meta-list{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.35rem .7rem;margin:0;color:var(--text-muted);font-size:.84rem}.finance-meta-list dd{margin:0;color:var(--text);overflow-wrap:anywhere}.payment-process-page{display:grid;gap:.9rem}.payment-process-layout .finance-process-sidebar .biz-field{margin:0}.payment-contract-meta{grid-template-columns:4.5rem minmax(0,1fr);padding-top:.85rem;border-top:1px solid var(--border)}.payment-contract-list{margin-bottom:0}.payment-contract-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(140px,180px);gap:.75rem;margin:.75rem 0 .9rem}.payment-contract-toolbar input,.payment-contract-toolbar select{width:100%;min-width:0;padding:.55rem .7rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.9rem}.payment-contract-queue{display:grid;gap:.55rem}.payment-contract-item{display:grid;grid-template-columns:minmax(360px,2fr) minmax(170px,.8fr) minmax(210px,1fr) minmax(170px,.75fr) minmax(110px,auto);gap:.75rem;align-items:center;min-width:0;padding:.75rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.payment-contract-item.active{border-color:var(--accent);background:var(--accent-soft)}.payment-contract-main,.payment-contract-money,.payment-contract-plan,.payment-contract-actions{display:grid;gap:.25rem;min-width:0}.payment-contract-main button{display:grid;gap:.2rem;min-width:0;padding:0;color:var(--text);text-align:left;background:transparent;border:0;cursor:pointer}.payment-contract-main button:hover strong{color:var(--accent)}.payment-contract-main strong,.payment-contract-money strong,.payment-contract-plan strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-contract-main strong{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35}.payment-contract-main em{max-width:34rem}.payment-contract-main span,.payment-contract-main em,.payment-contract-money span,.payment-contract-plan span{min-width:0;color:var(--text-muted);font-size:.82rem;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-contract-money strong{color:var(--danger)}.payment-contract-plan em{justify-self:start;padding:.15rem .45rem;color:#b42318;background:#b423181a;border-radius:999px;font-size:.76rem;font-style:normal;font-weight:600}.payment-contract-meta-tags{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}.payment-contract-meta-tags span{max-width:100%;padding:.18rem .45rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-contract-actions{justify-items:end}.payment-contract-actions .btn{min-width:5.5rem}.payment-contract-actions .contract-file-links{justify-items:end;font-size:.8rem}.payment-material-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) auto;gap:.85rem;align-items:end}.payment-material-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.payment-plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.invoice-plan-cards{margin-bottom:.9rem}.invoice-upload-form{display:grid;gap:.75rem}.invoice-file-list{display:grid;gap:.55rem;padding-top:.85rem;border-top:1px solid var(--border)}.invoice-file-list h5{margin:0;font-size:.92rem}.invoice-file-item{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(160px,1fr) minmax(160px,1fr);gap:.7rem;align-items:center;min-width:0;padding:.65rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.invoice-file-item span,.invoice-file-item a{min-width:0;line-height:1.35;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.contract-file-links{display:grid;gap:.25rem;max-width:100%;min-width:0}.contract-file-links a,.contract-file-links span{display:inline-block;max-width:100%;min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.contract-file-links .contract-other-attachment-links{display:flex;max-width:100%}.payment-plan-card{display:grid;gap:.25rem;min-height:8.25rem;padding:.85rem;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer}.payment-plan-card:hover,.payment-plan-card.active{border-color:var(--accent);background:var(--accent-soft)}.payment-plan-card.paid{border-color:#3fb95080}.payment-plan-card:disabled{cursor:not-allowed;opacity:.68}.payment-plan-card:disabled:hover{background:var(--surface)}.payment-plan-card span,.payment-plan-card small,.payment-plan-card em{color:var(--text-muted);font-size:.8rem;font-style:normal;line-height:1.45}.payment-plan-card strong{color:var(--text);font-size:1.05rem}.payment-record-panel{align-content:start}.contract-archive-page{display:grid;gap:.9rem;font-family:inherit;font-size:.9rem}.contract-archive-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}.contract-archive-stats>div{display:grid;gap:.2rem;min-width:0;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.contract-archive-stats span,.contract-archive-stats em{color:var(--text-muted);font-size:.8rem;font-style:normal}.contract-archive-stats strong{color:var(--text);font-size:1.05rem}.contract-archive-panel{display:grid;gap:.85rem;margin-bottom:0}.contract-archive-filters{display:grid;grid-template-columns:1.8fr repeat(5,minmax(118px,1fr));gap:.55rem;padding:.9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.contract-archive-filters input,.contract-archive-filters select{min-width:0;padding:.48rem .6rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.84rem}.contract-archive-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.65rem;align-items:center;padding:.72rem .9rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.84rem}.contract-archive-page-controls{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.contract-archive-page-controls label{display:inline-flex;gap:.35rem;align-items:center}.contract-archive-page-controls select{padding:.28rem .45rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px}.contract-archive-compact-list{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:8px}.contract-archive-list-head,.contract-archive-row-main{display:grid;grid-template-columns:58px minmax(230px,1.55fr) minmax(130px,.85fr) 96px 110px minmax(150px,.8fr) 90px minmax(118px,auto);gap:.65rem;align-items:center}.contract-archive-list-head{padding:.62rem .9rem;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);font-size:.76rem;font-weight:700}.contract-archive-row{background:var(--surface);border-bottom:1px solid var(--border)}.contract-archive-row:last-child{border-bottom:0}.contract-archive-row.expanded{background:linear-gradient(180deg,var(--surface),var(--bg))}.contract-archive-row-main{min-height:4.8rem;padding:.72rem .9rem}.contract-row-toggle{justify-self:start;min-width:3.2rem;min-height:1.7rem;padding:.2rem .45rem;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(47,129,247,.35);border-radius:999px;font-size:.78rem;cursor:pointer}.contract-row-toggle:hover{border-color:var(--accent)}.contract-row-title,.contract-row-money,.contract-row-actions{min-width:0}.contract-row-title strong,.contract-row-title span,.contract-row-title small{display:block}.contract-row-title strong{color:var(--accent);font-size:.88rem}.contract-row-title span{margin-top:.18rem;color:var(--text);font-size:.95rem;font-weight:700;line-height:1.35}.contract-row-title small,.contract-row-money span,.contract-row-period,.contract-row-owner,.contract-detail-group span,.contract-detail-group small{color:var(--text-muted);font-size:.78rem;line-height:1.45}.contract-row-money{display:grid;gap:.25rem}.contract-row-money strong,.contract-row-status,.contract-detail-group strong{color:var(--text);font-size:.88rem}.contract-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.contract-archive-row-detail{display:grid;grid-template-columns:.7fr .95fr minmax(220px,1.25fr) minmax(180px,1fr) minmax(180px,1fr);gap:.8rem;padding:.85rem .9rem .95rem 5.1rem;border-top:1px solid var(--border)}.contract-detail-group{display:grid;gap:.25rem;min-width:0;align-content:start}.contract-detail-files{min-width:0}.contract-detail-group p{margin:0;color:var(--text);font-size:.84rem;line-height:1.55}.contract-detail-flow .contract-lifecycle{min-width:0}.contract-detail-files .contract-archive-files{gap:.32rem}.contract-archive-list{display:grid;gap:.9rem}.contract-archive-card{display:grid;gap:.95rem;padding:1.05rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 28px #0f172a0f}.contract-archive-card-head,.contract-archive-bottom{display:grid;gap:.9rem;align-items:start}.contract-archive-card-head{grid-template-columns:minmax(0,1fr) auto}.contract-archive-bottom{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.contract-archive-title{min-width:0}.contract-archive-code{display:inline-flex;align-items:center;min-height:1.5rem;padding:.15rem .48rem;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(47,129,247,.28);border-radius:999px;font-size:.78rem;font-weight:700}.contract-archive-title h4{margin:.45rem 0 .25rem;color:var(--text);font-size:1.04rem;line-height:1.35}.contract-archive-title p{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.5}.contract-archive-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.contract-archive-status{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:1.8rem;padding:.25rem .58rem;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);border-radius:999px;font-size:.8rem;font-weight:700;line-height:1.2;white-space:nowrap}.contract-archive-status.pay-paid{color:var(--success);background:#3fb9501f;border-color:#3fb95061}.contract-archive-status.pay-partial{color:#b45309;background:#f59e0b29;border-color:#f59e0b75}.contract-archive-status.pay-unpaid{color:#b42318;background:#f43f5e1f;border-color:#f43f5e61}.contract-archive-status.contract-returned{color:var(--success);background:#3fb9501f;border-color:#3fb95061}.contract-archive-status.contract-sealed_sent{color:var(--accent);background:var(--accent-soft);border-color:#2f81f766}.contract-archive-card-body{display:grid;gap:.85rem}.contract-archive-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.contract-archive-info-grid>div,.contract-archive-pay-card,.contract-archive-plan-card,.contract-archive-file-card{min-width:0;padding:.72rem .78rem;background:var(--bg);border:1px solid var(--border);border-radius:8px}.contract-archive-info-grid span,.contract-archive-plan-card span,.contract-archive-file-card span,.contract-archive-pay-head span,.contract-archive-pay-card small{color:var(--text-muted);font-size:.78rem}.contract-archive-info-grid strong{display:block;margin-top:.25rem;color:var(--text);font-size:.9rem;line-height:1.45}.contract-archive-pay-card{display:grid;gap:.45rem}.contract-archive-pay-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem}.contract-archive-pay-head strong{color:var(--text);font-size:1.08rem}.contract-archive-pay-head em{color:var(--text-muted);font-size:.86rem;font-style:normal}.contract-lifecycle-archive{min-width:0;padding-top:.1rem}.contract-archive-plan-card p{margin:.3rem 0 0;color:var(--text);font-size:.86rem;line-height:1.55}.contract-archive-file-card{display:grid;gap:.35rem}.contract-archive-empty{padding:1.25rem;background:var(--surface);border:1px dashed var(--border);border-radius:8px}.contract-archive-table th,.contract-archive-table td{vertical-align:middle}.contract-archive-main,.contract-archive-meta,.contract-payment-cell,.contract-archive-files{display:grid;gap:.25rem;min-width:0}.contract-archive-files a,.contract-archive-files span{max-width:100%;min-width:0;line-height:1.35;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.contract-archive-files .file-missing,.contract-file-links .file-missing,.finance-current-file .file-missing{color:var(--text-muted);font-size:.82rem;text-decoration:none}.contract-archive-files .contract-other-attachment-links{max-width:100%}.contract-archive-main strong{color:var(--text);font-size:.92rem}.contract-archive-main span,.contract-archive-main small,.contract-archive-meta small,.contract-payment-cell small,.contract-payment-cell span{color:var(--text-muted);font-size:.78rem}.contract-archive-meta span{color:var(--accent);font-weight:700}.contract-archive-page .contract-archive-stats span,.contract-archive-page .contract-archive-stats em,.contract-archive-page .contract-archive-stats strong,.contract-archive-page .contract-archive-filters input,.contract-archive-page .contract-archive-filters select,.contract-archive-page .contract-archive-toolbar,.contract-archive-page .contract-archive-list-head,.contract-archive-page .contract-row-toggle,.contract-archive-page .contract-row-title strong,.contract-archive-page .contract-row-title span,.contract-archive-page .contract-row-title small,.contract-archive-page .contract-row-money strong,.contract-archive-page .contract-row-money span,.contract-archive-page .contract-row-period,.contract-archive-page .contract-row-owner,.contract-archive-page .contract-archive-status,.contract-archive-page .contract-detail-group span,.contract-archive-page .contract-detail-group strong,.contract-archive-page .contract-detail-group small,.contract-archive-page .contract-detail-group p,.contract-archive-page .contract-life-step,.contract-archive-page .contract-archive-main strong,.contract-archive-page .contract-archive-main span,.contract-archive-page .contract-archive-main small,.contract-archive-page .contract-archive-meta small,.contract-archive-page .contract-payment-cell small,.contract-archive-page .contract-payment-cell span{font-family:inherit;font-size:.875rem}.contract-lifecycle{display:flex;flex-wrap:wrap;gap:.35rem;min-width:180px}.contract-life-step{display:inline-flex;align-items:center;min-height:1.55rem;padding:.2rem .45rem;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);border-radius:999px;font-size:.76rem;white-space:nowrap}.contract-life-step.done{color:var(--success);background:#3fb9501f;border-color:#3fb9506b}.contract-life-step.active{color:var(--accent);background:var(--accent-soft);border-color:#2f81f780}.contract-payment-cell strong{color:var(--text)}.contract-payment-bar{position:relative;height:.46rem;overflow:hidden;background:var(--surface-hover);border-radius:999px}.contract-payment-bar i{display:block;height:100%;background:var(--success);border-radius:inherit}.contract-archive-plan{max-width:260px;color:var(--text-muted);font-size:.8rem;line-height:1.45}.finance-contract-management{padding:0;overflow:visible;background:transparent;border:0}.finance-contract-management .contract-list-head{padding:.85rem 1rem;margin-bottom:.9rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.finance-contract-workspace{display:grid;gap:.9rem}.finance-contract-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.finance-contract-panel{display:grid;gap:.85rem}.finance-contract-filters{grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(128px,1fr))}.finance-contract-list{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:8px}.finance-contract-list-head,.finance-contract-row-main{display:grid;grid-template-columns:58px minmax(260px,1.65fr) 100px minmax(138px,.85fr) minmax(168px,.95fr) 98px minmax(94px,auto);gap:.65rem;align-items:center}.finance-contract-list-head{padding:.62rem .9rem;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);font-size:.76rem;font-weight:700}.finance-contract-row{background:var(--surface);border-bottom:1px solid var(--border)}.finance-contract-row:last-child{border-bottom:0}.finance-contract-row.expanded{background:linear-gradient(180deg,var(--surface),var(--bg))}.finance-contract-row-main{min-height:5rem;padding:.72rem .9rem}.finance-contract-status{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:1.8rem;padding:.25rem .58rem;border-radius:999px;font-size:.8rem;font-weight:700;line-height:1.2;white-space:nowrap}.finance-contract-status.stage-to-review{color:var(--accent);background:var(--accent-soft);border:1px solid rgba(47,129,247,.42)}.finance-contract-status.stage-to-seal{color:#92400e;background:#f59e0b29;border:1px solid rgba(245,158,11,.46)}.finance-contract-status.stage-to-archive{color:#7c3aed;background:#7c3aed1f;border:1px solid rgba(124,58,237,.32)}.finance-contract-status.stage-archived{color:var(--success);background:#3fb9501f;border:1px solid rgba(63,185,80,.38)}.finance-contract-status.stage-exception{color:var(--danger);background:#f43f5e1f;border:1px solid rgba(244,63,94,.38)}.finance-contract-dates{display:grid;gap:.16rem;min-width:0}.finance-contract-dates span{min-width:0;color:var(--text-muted);font-size:.78rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-contract-row-detail{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr) minmax(150px,.72fr) minmax(220px,1fr);gap:.8rem;padding:.85rem .9rem .95rem 5.1rem;border-top:1px solid var(--border)}.finance-contract-management .contract-row-title strong,.finance-contract-management .contract-row-title span,.finance-contract-management .contract-row-title small,.finance-contract-management .contract-row-money strong,.finance-contract-management .contract-row-money span,.finance-contract-management .contract-row-owner,.finance-contract-management .contract-detail-group span,.finance-contract-management .contract-detail-group strong,.finance-contract-management .contract-detail-group small,.finance-contract-management .contract-detail-group p,.finance-contract-management .finance-contract-list-head,.finance-contract-management .contract-archive-toolbar,.finance-contract-management .contract-life-step{font-family:inherit;font-size:.875rem}.commission-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem}.commission-totals{display:flex;flex-wrap:wrap;gap:.5rem}.commission-totals span{padding:.3rem .55rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;font-size:.8rem}.commission-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.9rem}.commission-toolbar select{padding:.4rem .65rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.85rem}.commission-status{display:inline-block;padding:.18rem .45rem;border-radius:6px;font-size:.78rem;background:var(--surface-hover);color:var(--text-muted)}.commission-status.status-approved{color:var(--accent);background:var(--accent-soft)}.commission-status.status-paid{color:var(--success);background:#3fb95029}.commission-status.status-void{color:var(--danger);background:#f8514929}.renewal-page{display:grid;gap:.9rem}.renewal-page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.renewal-page-head p{margin:.25rem 0 0;color:var(--text-muted);font-size:.86rem}.renewal-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:.75rem;align-items:center}.renewal-filter-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.renewal-filter-tabs button{display:inline-flex;gap:.35rem;align-items:center;padding:.42rem .65rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.84rem;cursor:pointer}.renewal-filter-tabs button.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.renewal-filter-tabs span{color:inherit;font-weight:700}.renewal-toolbar input{width:100%;padding:.5rem .65rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.86rem}.renewal-list{display:grid;gap:.55rem}.renewal-row{display:grid;grid-template-columns:138px minmax(0,1fr) 270px;gap:.85rem;align-items:stretch;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.renewal-date{display:grid;align-content:center;gap:.25rem;padding:.65rem;background:var(--surface-hover);border:1px solid var(--border);border-radius:8px}.renewal-date strong{font-size:.95rem}.renewal-date span{color:var(--text-muted);font-size:.8rem}.renewal-date.overdue{color:var(--danger);background:#f851491a}.renewal-date.urgent{color:#b7791f;background:#f59e0b1f}.renewal-date.soon{color:var(--accent);background:var(--accent-soft)}.renewal-main{min-width:0;display:grid;align-content:center;gap:.45rem}.renewal-title-line{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.renewal-title-line strong{min-width:0;font-size:.98rem}.renewal-title-line span{padding:.18rem .45rem;color:var(--accent);background:var(--accent-soft);border-radius:6px;font-size:.78rem}.renewal-meta{display:flex;flex-wrap:wrap;gap:.4rem .8rem;color:var(--text-muted);font-size:.82rem}.renewal-meta a{color:var(--accent);text-decoration:none}.renewal-risk{margin:0;color:var(--danger);font-size:.82rem}.renewal-actions{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-content:center}.renewal-actions input{width:100%;padding:.28rem .45rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.8rem}.renewal-pagination{display:flex;justify-content:flex-end;gap:.5rem;align-items:center;color:var(--text-muted);font-size:.86rem}.sales-collection-reminders{padding:1rem 1.1rem;background:#fff;border-color:#dfe9f3;box-shadow:0 4px 14px #0f2f4a0d}.sales-collection-reminders .contract-table-wrap{overflow:auto;border:1px solid #e4edf6;border-radius:8px}.sales-collection-reminders .customer-table{min-width:960px;font-size:.84rem}.sales-collection-reminders .customer-table th{padding:.58rem .7rem;color:#526b80;background:#f8fafc;border-bottom-color:#e4edf6}.sales-collection-reminders .customer-table td{padding:.66rem .7rem;border-bottom-color:#edf2f7}.sales-collection-reminders .customer-table tbody tr:hover{background:#f7fbff}.sales-collection-reminders .btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .62rem;border:1px solid #b8d6f0;border-radius:8px;text-decoration:none}.sales-collection-reminders .btn-icon:hover{background:#edf6ff;text-decoration:none}@media (max-width: 960px){.renewal-toolbar,.renewal-row{grid-template-columns:1fr}.renewal-date{grid-template-columns:auto 1fr;align-items:center}.renewal-actions{grid-template-columns:1fr}}.campaign-list{display:grid;gap:.75rem}.campaign-card{padding:.9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.campaign-card-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.75rem;color:var(--text-muted);font-size:.82rem}.campaign-card-head strong,.campaign-card-head span{display:block}.campaign-card-head strong{margin-bottom:.2rem;color:var(--text);font-size:.95rem}.campaign-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.45rem;margin-bottom:.75rem}.campaign-metrics span{padding:.4rem .55rem;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);border-radius:8px;font-size:.8rem}.campaign-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.campaign-link input{min-width:0;width:100%;padding:.45rem .55rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.8rem}.biz-hint{margin:-.25rem 0 .75rem;color:var(--text-muted);font-size:.84rem}.biz-form-note{margin:-.25rem 0 .75rem;padding:.65rem .75rem;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);border-radius:8px;font-size:.84rem;line-height:1.5}.biz-line{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin:0;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.biz-line a{color:var(--accent);white-space:nowrap;text-decoration:none}.biz-line:last-child{border-bottom:0}.customer-center{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1rem;align-items:start}.customer-directory{overflow:visible}.customer-directory-head{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1rem}.customer-directory-head p{margin:-.55rem 0 0;color:var(--text-muted);font-size:.84rem}.customer-directory-filters{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(120px,1fr)) auto;gap:.5rem;align-items:center}.customer-directory-filters input,.customer-directory-filters select{min-width:0;width:100%;padding:.48rem .6rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.84rem}.customer-directory-stats{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.65rem;margin:0 0 .85rem}.customer-directory-stats span{display:grid;gap:.2rem;min-width:0;padding:.7rem .85rem;background:var(--bg);border:1px solid var(--border);border-radius:8px}.customer-directory-stats strong{color:var(--text);font-size:1.05rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-directory-stats em{color:var(--text-muted);font-size:.78rem;font-style:normal}.customer-directory-toolbar,.customer-directory-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .75rem;color:var(--text-muted);font-size:.84rem}.customer-directory-toolbar label{display:inline-flex;align-items:center;gap:.35rem}.customer-directory-toolbar select{padding:.35rem .5rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px}.customer-directory-pagination{justify-content:center;margin:.85rem 0 0}.customer-directory-list{display:grid;gap:.65rem}.customer-directory-row{display:grid;grid-template-columns:minmax(280px,1fr) minmax(330px,.95fr) 118px;gap:.8rem;align-items:center;padding:.85rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:border-color .15s,background .15s}.customer-directory-row:hover{border-color:var(--accent);background:var(--surface-hover)}.customer-directory-main{min-width:0}.customer-directory-titleline{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.customer-name-button{min-width:0;padding:0;color:var(--text);background:transparent;border:0;font:inherit;font-size:.98rem;font-weight:700;text-align:left;cursor:pointer}.customer-name-button:hover{color:var(--accent)}.customer-directory-meta{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin-top:.35rem;color:var(--text-muted);font-size:.8rem}.customer-directory-business{margin:.42rem 0 0;color:var(--text);font-size:.84rem;line-height:1.45}.customer-directory-metrics{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:.45rem}.customer-directory-metrics span{display:grid;gap:.2rem;min-width:0;padding:.5rem .55rem;background:var(--bg);border:1px solid var(--border);border-radius:8px}.customer-directory-metrics em{color:var(--text-muted);font-size:.72rem;font-style:normal}.customer-directory-metrics strong{color:var(--text);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-directory-side{display:grid;justify-items:end;gap:.5rem}.customer-type-pill,.customer-level-pill{display:inline-flex;align-items:center;min-height:1.55rem;padding:.16rem .5rem;border-radius:999px;font-size:.74rem;line-height:1.2;white-space:nowrap}.customer-type-pill{color:var(--text-muted);background:var(--bg);border:1px solid var(--border)}.customer-type-pill.type-active_customer{color:#177245;background:#e9f7ef;border-color:#b7e4c7}.customer-type-pill.type-existing_customer{color:#2459a6;background:#edf4ff;border-color:#c8dcff}.customer-type-pill.type-dormant_customer{color:#8a5a00;background:#fff7df;border-color:#f4d37c}.customer-type-pill.type-lost_customer{color:#a33a2b;background:#fff0ec;border-color:#f1beb4}.customer-level-pill{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent)}.customer-detail-full{display:block}.customer-back{margin-bottom:.55rem}.customer-sidebar{max-height:calc(100vh - 190px);overflow:auto}.customer-search-list{display:grid;gap:.4rem}.customer-sidebar-tools{display:grid;gap:.45rem;margin-bottom:.75rem}.customer-sidebar-tools input,.customer-sidebar-tools select{width:100%;padding:.48rem .6rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.84rem}.customer-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--text-muted);font-size:.8rem}.customer-pick{width:100%;padding:.65rem .75rem;text-align:left;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer}.customer-pick:hover,.customer-pick.active{border-color:var(--accent);background:var(--accent-soft)}.customer-pick strong,.customer-pick span{display:block}.customer-pick strong{margin-bottom:.25rem;font-size:.9rem}.customer-pick span{color:var(--text-muted);font-size:.78rem}.customer-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.customer-hero h2{margin:0 0 .35rem;font-size:1.2rem}.customer-hero p{margin:0;color:var(--text-muted)}.customer-detail-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.customer-hero-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.customer-hero-stats span{padding:.35rem .55rem;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;font-size:.8rem;white-space:nowrap}.customer-profile-form{display:grid;grid-template-columns:repeat(3,1fr);gap:0 1rem}.customer-profile-form h3,.customer-profile-form .biz-form-note,.customer-profile-form .customer-form-section,.customer-profile-form .address-book-panel,.customer-profile-form button{grid-column:1 / -1}.customer-form-section{display:grid;grid-template-columns:repeat(3,1fr);gap:0 1rem;margin:.25rem 0 .75rem;padding:.85rem;background:var(--surface-hover);border:1px solid var(--border);border-radius:8px}.customer-form-section h4{grid-column:1 / -1;margin:0 0 .55rem;font-size:.95rem}.customer-completion-alert{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:space-between;padding:.75rem .9rem;background:var(--accent-soft);border:1px solid var(--border);border-radius:8px}.customer-completion-alert span{flex:1;min-width:220px;color:var(--text-muted);font-size:.86rem}.customer-needs-badge{display:inline-flex;margin-left:.45rem;padding:.12rem .4rem;color:var(--accent);font-size:.72rem;background:var(--accent-soft);border:1px solid var(--border);border-radius:999px;vertical-align:middle}.customer-business-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.customer-business-card{display:grid;gap:.3rem;padding:.9rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.customer-business-card span{color:var(--text-muted);font-size:.84rem}.customer-business-card strong{color:var(--text);font-size:1.2rem}.customer-products-workspace{align-items:start}.customer-product-status{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);font-size:.78rem;white-space:nowrap}.customer-product-status.status-active{color:#1767b1;background:#edf6ff;border-color:#b8d6f0}.customer-product-status.status-renewal_due{color:#b45309;background:#fff7ed;border-color:#fed7aa}.customer-product-status.status-renewed{color:#167047;background:#ecfdf3;border-color:#bbf7d0}.customer-product-status.status-stopped{color:#64748b;background:#f1f5f9;border-color:#cbd5e1}.customer-memo-panel{display:grid;gap:.9rem}.memo-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:start}.memo-form textarea{min-height:5.5rem}.customer-timeline{display:grid;gap:.65rem}.customer-timeline-item{display:grid;gap:.25rem;padding:.75rem 0;border-top:1px solid var(--border)}.customer-timeline-item:first-child{border-top:0}.customer-timeline-item strong{color:var(--text);font-size:.92rem}.customer-timeline-item span,.customer-timeline-item em{color:var(--text-muted);font-size:.8rem;font-style:normal}.customer-timeline-item p{margin:.2rem 0 0;color:var(--text);line-height:1.55;white-space:pre-wrap}.customer-attachment-list{display:flex;flex-wrap:wrap;gap:.4rem;max-width:100%;min-width:0}.customer-attachment-list a{display:inline-flex;align-items:center;max-width:min(18rem,100%);min-width:0;color:var(--accent);font-size:.8rem;line-height:1.35;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.customer-history-head{align-items:center}.customer-year-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.customer-year-tabs button{min-height:2rem;padding:.35rem .65rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer}.customer-year-tabs button.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.customer-wide-table{overflow-x:auto}.customer-wide-table .customer-table{min-width:1180px}.customer-history-list{display:grid;gap:.85rem}.customer-contract-compact-list{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:8px}.customer-contract-list-head,.customer-contract-row-main{display:grid;grid-template-columns:58px minmax(230px,1.55fr) minmax(130px,.85fr) 96px 110px minmax(150px,.8fr) 90px;gap:.65rem;align-items:center}.customer-contract-list-head{padding:.62rem .9rem;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);font-size:.76rem;font-weight:700}.customer-contract-row{background:var(--surface);border-bottom:1px solid var(--border)}.customer-contract-row:last-child{border-bottom:0}.customer-contract-row.expanded{background:linear-gradient(180deg,var(--surface),var(--bg))}.customer-contract-row-main{min-height:4.8rem;padding:.72rem .9rem}.customer-contract-row-detail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;padding:.85rem .9rem .95rem 5.1rem;border-top:1px solid var(--border)}.customer-contract-row-detail .contract-detail-plan{grid-column:span 2}.customer-contract-row-detail .contract-detail-payments p{margin-bottom:.12rem}@media (max-width: 900px){.biz-grid,.service-desk,.lead-workspace,.follow-workspace,.follow-main-grid,.follow-contract-form,.biz-two-col,.customer-center,.customer-directory-head,.customer-directory-filters,.customer-directory-stats,.customer-directory-row,.finance-process-layout,.finance-process-metrics,.finance-material-strip,.finance-seal-grid,.finance-supplement-file-grid,.finance-split-forms,.finance-form-grid,.payment-material-grid,.payment-contract-toolbar,.payment-contract-item,.contract-archive-stats,.contract-archive-filters,.contract-archive-card-head,.contract-archive-info-grid,.contract-archive-bottom,.contract-archive-row-main,.contract-archive-row-detail,.finance-contract-stats,.finance-contract-filters,.finance-contract-row-main,.finance-contract-row-detail,.customer-contract-row-main,.customer-contract-row-detail,.customer-profile-form,.biz-form-row.two,.customer-form-section{grid-template-columns:1fr}.finance-process-sidebar{position:static}.finance-seal-block+.finance-seal-block,.finance-inline-form+.finance-inline-form{padding-left:0;padding-top:1rem;border-left:0;border-top:1px solid var(--border)}.payment-material-actions{justify-content:flex-start}.payment-contract-actions{justify-items:start}.contract-archive-card-actions{justify-content:flex-start}.contract-archive-list-head,.customer-contract-list-head,.finance-contract-list-head{display:none}.contract-archive-row-detail,.finance-contract-row-detail,.customer-contract-row-detail{padding-left:.9rem}.customer-directory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-directory-side{justify-items:start;grid-template-columns:auto auto;align-items:center}.customer-contract-row-detail .contract-detail-plan{grid-column:auto}.contract-row-actions{justify-content:flex-start}.customer-hero{display:block}.customer-hero-stats{justify-content:flex-start;margin-top:.75rem}.memo-form{grid-template-columns:1fr}.customer-year-tabs{justify-content:flex-start}.lead-board-head{grid-template-columns:1fr}.lead-bucket-tabs{justify-content:flex-start}.follow-profile,.follow-actions{grid-template-columns:1fr}.follow-profile-meta{justify-content:flex-start}.contract-item-row,.contract-detail-grid,.biz-form-row.three,.timeline-edit-grid,.contract-form-grid,.contract-toolbar{grid-template-columns:1fr}.contract-create-form .contract-field-wide,.contract-create-form .contract-other-attachment-field,.contract-archive-edit-form .contract-other-attachment-field{grid-column:auto}.contract-module-page{width:100%;margin-left:0;transform:none}.campaign-card-head,.campaign-link{grid-template-columns:1fr;display:grid}}.payment-overview-page{display:grid;gap:.9rem}.payment-overview-head{align-items:flex-start}.payment-overview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.payment-overview-summary>div{display:grid;gap:.25rem;min-width:0;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.payment-overview-summary span,.payment-overview-summary em{color:var(--text-muted);font-size:.82rem;font-style:normal}.payment-overview-summary strong{color:var(--text);font-size:1.35rem;font-weight:700}.payment-overview-summary strong.danger{color:var(--danger)}.payment-overview-filters{display:grid;gap:.85rem}.payment-overview-filter-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(145px,.42fr) minmax(145px,.42fr) minmax(140px,.4fr) auto;gap:.75rem;align-items:end}.payment-overview-filter-grid .biz-field{margin-bottom:0}.payment-overview-quick-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding-top:.85rem}.payment-overview-quick-row p{margin:0;color:var(--text-muted);font-size:.82rem}.payment-overview-list .biz-section-head{align-items:flex-start}.payment-overview-table th,.payment-overview-table td{vertical-align:top}.payment-overview-table td strong,.payment-overview-table td span{display:block}.payment-overview-table td span{margin-top:.2rem;color:var(--text-muted);font-size:.78rem}.payment-overview-amount{color:var(--text);white-space:nowrap}.payment-overview-tags{display:flex;flex-wrap:wrap;gap:.35rem}@media (max-width: 900px){.payment-overview-summary,.payment-overview-filter-grid{grid-template-columns:1fr}.payment-overview-quick-row,.payment-overview-head{align-items:stretch;flex-direction:column}}.training-page{display:grid;gap:.9rem}.training-head{align-items:flex-start}.training-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.training-summary>div{display:grid;gap:.25rem;min-width:0;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.training-summary span,.training-summary em{color:var(--text-muted);font-size:.82rem;font-style:normal}.training-summary strong{color:var(--text);font-size:1.35rem;font-weight:700}.training-filters,.training-list,.training-contracts,.training-detail{display:grid;gap:.85rem}.training-contract-filter-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(160px,.32fr);gap:.75rem;align-items:end}.training-filter-grid{display:grid;grid-template-columns:minmax(240px,1.2fr) repeat(2,minmax(140px,.55fr)) repeat(3,minmax(130px,.5fr));gap:.75rem;align-items:end}.expert-filter-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(140px,.35fr) minmax(160px,.45fr);gap:.75rem;align-items:end}.training-filter-grid .biz-field,.training-contract-filter-grid .biz-field,.expert-filter-grid .biz-field,.training-form-grid .biz-field{margin-bottom:0}.training-contract-row{cursor:pointer}.training-contract-row.active{background:#eef7ff;box-shadow:inset 4px 0 0 var(--primary)}.training-contract-table td span{display:block;margin-top:.2rem;color:var(--text-muted);font-size:.78rem}.training-contract-table td strong{display:block}.training-form{display:grid;gap:1rem}.training-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.training-field-wide{grid-column:span 2}.training-table th,.training-table td,.expert-table th,.expert-table td{vertical-align:top}.training-table td span,.expert-table td span{display:block;margin-top:.2rem;color:var(--text-muted);font-size:.78rem}.training-table td strong,.expert-table td strong{display:block}.training-warn{color:var(--danger)!important;font-weight:700}.training-ok{color:#2e7d32!important;font-weight:700}.expert-attachment-preview,.expert-attachment-list{display:flex;flex-wrap:wrap;gap:.35rem;max-width:100%;min-width:0}.expert-attachment-preview{padding:.65rem;border:1px dashed var(--border);border-radius:8px;background:var(--surface-hover)}.expert-attachment-preview span,.expert-attachment-list a,.expert-attachment-list span{display:inline-flex;align-items:center;max-width:min(18rem,100%);min-width:0;min-height:1.45rem;padding:.18rem .45rem;border:1px solid var(--border);border-radius:999px;background:#f4f9ff;color:var(--primary);font-size:.76rem;line-height:1.35;text-decoration:none;overflow-wrap:anywhere;white-space:normal;word-break:break-word}@media (max-width: 1100px){.training-summary,.training-contract-filter-grid,.training-filter-grid,.expert-filter-grid,.training-form-grid{grid-template-columns:1fr 1fr}.training-field-wide{grid-column:span 2}}@media (max-width: 700px){.training-summary,.training-contract-filter-grid,.training-filter-grid,.expert-filter-grid,.training-form-grid{grid-template-columns:1fr}.training-field-wide{grid-column:auto}}:root{--bg: #e8f4fc;--surface: #ffffff;--surface-hover: #e3f2fd;--border: #bbdefb;--text: #1565c0;--text-muted: #5c7fa3;--accent: #1976d2;--accent-soft: rgba(25, 118, 210, .12);--success: #2e7d32;--danger: #c62828;--radius: 12px;--font: "Noto Sans SC", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}
