*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#111;--primary-dark:#000;--primary-mid:#222;--primary-light:#333;--accent:#555;--accent-light:#e0e0e0;--bg:#f5f5f5;--bg-card:#fff;--border:#e0e0e0;--border-dark:#ccc;--text:#111;--text-muted:#666;--text-light:#999;--success:#2d7a2d;--success-bg:#f0fff0;--error:#c33;--error-bg:#fff5f5;--warning:#a70;--warning-bg:#fffbf0;--info-bg:#f5f5f5}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}#root{width:100%;min-height:100vh}.header{color:#fff;z-index:100;background:#111;position:sticky;top:0;box-shadow:0 1px #ffffff14,0 2px 8px #0006}.header-content{justify-content:space-between;align-items:center;max-width:1280px;height:68px;margin:0 auto;padding:0 24px;display:flex}.header-logo{color:#fff;align-items:center;gap:0;text-decoration:none;display:flex}.header-logo img{display:block}.page-content{max-width:1280px;margin:0 auto;padding:28px 24px}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:#fff;background:#111}.btn-primary:hover:not(:disabled){background:#333}.btn-header{color:#fff;background:#ffffff1f;border:1px solid #ffffff38}.btn-header:hover:not(:disabled){background:#ffffff38}.btn-secondary{color:var(--primary);border:1px solid var(--border-dark);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--bg);border-color:#999}.btn-danger{background:var(--error-bg);color:var(--error);border:1px solid #f5c6c6}.btn-danger:hover:not(:disabled){background:#fde8e8}.btn-success{background:var(--success-bg);color:var(--success);border:1px solid #9ae6b4}.btn-success:hover:not(:disabled){background:#c6f6d5}.btn-sm{padding:5px 11px;font-size:12px}.btn-icon{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:7px;transition:all .15s;display:inline-flex}.btn-icon:hover{background:var(--bg);color:var(--primary);border-color:#999}.btn-icon.danger:hover{background:var(--error-bg);color:var(--error);border-color:#f5c6c6}.search-wrap{margin-bottom:24px;position:relative}.search-wrap .icon-search{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:9px;outline:none;padding:11px 14px 11px 42px;font-size:14px;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:#555;box-shadow:0 0 0 3px #00000012}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.client-card{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:16px;padding:18px;transition:all .2s;display:flex;box-shadow:0 1px 4px #0000000a}.client-card:hover{border-color:#999;transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.client-avatar{color:#fff;background:#111;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:20px;font-weight:700;display:flex}.client-info{flex:1;min-width:0}.client-info h3{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.client-info p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.client-actions{flex-shrink:0;gap:6px;display:flex}.empty-state{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:60px 20px}.empty-state svg{opacity:.35;margin-bottom:12px}.empty-state p{font-size:15px}.loading{text-align:center;color:var(--text-muted);padding:48px;font-size:15px}.spinner{border:3px solid var(--border);border-top-color:#333;border-radius:50%;width:28px;height:28px;margin:0 auto 12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000040}.modal-lg{max-width:720px}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-header h2{color:var(--primary);font-size:17px;font-weight:700}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px;transition:all .15s;display:flex}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-body{flex:1;padding:20px 24px}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid.cols-1{grid-template-columns:1fr}.form-full{grid-column:1/-1}.form-group{flex-direction:column;gap:5px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:7px;outline:none;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#555;box-shadow:0 0 0 3px #0000000f}.form-group textarea{resize:vertical;min-height:90px}.form-group select{cursor:pointer}.checkbox-group{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.checkbox-item{cursor:pointer;color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.checkbox-item input[type=checkbox]{cursor:pointer;accent-color:#111;flex-shrink:0;width:16px;height:16px}.tabs-bar{border-bottom:2px solid var(--border);scrollbar-width:none;background:#fff;border-radius:10px 10px 0 0;gap:0;margin-bottom:24px;display:flex;overflow-x:auto}.tabs-bar::-webkit-scrollbar{display:none}.tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;letter-spacing:.3px;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 18px;font-size:13px;font-weight:600;transition:all .15s}.tab-btn:hover{color:#111}.tab-btn.active{color:#111;border-bottom-color:#111}.client-page-header{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.client-page-header .back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;font-size:13px;font-weight:500;transition:color .15s;display:flex}.client-page-header .back-btn:hover{color:var(--primary)}.client-page-header-info{flex:1}.client-page-header h2{color:var(--primary);font-size:22px;font-weight:700}.client-page-header p{color:var(--text-muted);margin-top:3px;font-size:13px}.section-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:20px;padding:20px 24px;box-shadow:0 1px 4px #0000000a}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-title{color:var(--primary);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:16px 18px;box-shadow:0 1px 4px #0000000a}.stat-card-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:600}.stat-card-value{color:var(--primary);font-size:20px;font-weight:700}.stat-card-value.green{color:var(--success)}.stat-card-value.red{color:var(--error)}.table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:#f5f5f5;padding:10px 14px;font-size:11px;font-weight:700}tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fafafa}.banco-card{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.banco-header{cursor:pointer;border-bottom:1px solid var(--border);background:#f7f7f7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.banco-header:hover{background:#eee}.banco-title{color:var(--primary);align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.banco-icon{color:#555;background:#eee;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.banco-actions{align-items:center;gap:8px;display:flex}.banco-body{padding:16px 18px}.divida-item{border:1px solid var(--border);background:#f7f7f7;border-radius:8px;align-items:flex-start;gap:14px;margin-bottom:10px;padding:14px 16px;display:flex}.divida-item:last-child{margin-bottom:0}.divida-info{flex:1;min-width:0}.divida-tipo{text-transform:uppercase;letter-spacing:.5px;color:#444;margin-bottom:8px;font-size:12px;font-weight:700}.divida-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.divida-field-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-bottom:2px;font-size:11px;font-weight:600}.divida-field-value{color:var(--text);font-size:14px;font-weight:600}.divida-field-value.green{color:var(--success)}.badge{color:#444;white-space:nowrap;background:#eee;border-radius:20px;align-items:center;margin-right:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{background:var(--success-bg);color:var(--success)}.badge-red{background:var(--error-bg);color:var(--error)}.badge-yellow{background:var(--warning-bg);color:var(--warning)}.notif-table{border-collapse:collapse;width:100%}.notif-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:2px solid var(--border);background:#f5f5f5;padding:10px 12px;font-size:11px;font-weight:700}.notif-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}.notif-table tr:last-child td{border-bottom:none}.notif-table tr:hover td{background:#fafafa}.notif-num{color:#444;background:#eee;border-radius:6px;justify-content:center;align-items:center;width:36px;height:28px;font-size:12px;font-weight:700;display:flex}.notif-table input[type=date],.notif-table input[type=text]{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;outline:none;width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s}.notif-table input:focus{border-color:#555;box-shadow:0 0 0 2px #0000000f}.save-row-btn{color:#444;cursor:pointer;white-space:nowrap;background:#eee;border:1px solid #ddd;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s}.save-row-btn:hover{background:#e0e0e0}.save-row-btn.saved{background:var(--success-bg);color:var(--success);border-color:#9ae6b4}.proposta-card{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.proposta-header{cursor:pointer;border-bottom:1px solid var(--border);background:#f7f7f7;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.proposta-header:hover{background:#eee}.proposta-num{color:#fff;background:#111;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:flex}.proposta-header-info{flex:1;min-width:0}.proposta-header-title{color:var(--primary);font-size:14px;font-weight:600}.proposta-header-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.proposta-body{padding:18px}.proposta-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.proposta-field{flex-direction:column;gap:4px;display:flex}.proposta-field label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11px;font-weight:700}.proposta-field input,.proposta-field select{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.proposta-field input:focus,.proposta-field select:focus{border-color:#555;box-shadow:0 0 0 2px #0000000f}.proposta-field input[readonly]{color:var(--success);background:#f5f5f5;font-weight:700}.proposta-save{justify-content:flex-end;margin-top:16px;display:flex}.radio-group{flex-wrap:wrap;gap:10px;display:flex}.radio-item{cursor:pointer;border:1px solid var(--border);border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.radio-item input[type=radio]{display:none}.radio-item.selected{color:#111;background:#f0f0f0;border-color:#555}.info-geral-wrap textarea{border:1px solid var(--border);width:100%;min-height:300px;color:var(--text);resize:vertical;border-radius:8px;outline:none;padding:14px;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .15s}.info-geral-wrap textarea:focus{border-color:#555;box-shadow:0 0 0 3px #0000000f}.upload-zone{border:2px dashed var(--border-dark);text-align:center;cursor:pointer;background:#fafafa;border-radius:10px;margin-bottom:20px;padding:36px 20px;transition:all .2s}.upload-zone:hover,.upload-zone.dragover{background:#f0f0f0;border-color:#555}.upload-zone svg{color:var(--text-light);margin-bottom:10px}.upload-zone p{color:var(--text-muted);margin:4px 0;font-size:14px}.upload-zone span{color:var(--text-light);font-size:12px}.upload-zone input{display:none}.doc-item{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:14px;margin-bottom:8px;padding:12px 16px;transition:all .15s;display:flex}.doc-item:hover{background:#fafafa;border-color:#999}.doc-icon{color:#555;background:#eee;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.doc-info{flex:1;min-width:0}.doc-info h4{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.doc-info p{color:var(--text-muted);margin-top:2px;font-size:12px}.doc-actions{gap:6px;display:flex}.alert{border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid #f5c6c6}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid #9ae6b4}.page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.page-title-row h2{color:var(--primary);font-size:19px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:3px;font-size:13px}.currency{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted);font-size:13px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.login-page{background:#111;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:18px;width:100%;max-width:420px;padding:44px 40px 36px;box-shadow:0 32px 80px #00000080}.login-logo{text-align:center;margin-bottom:36px}.login-logo img{margin:0 auto;display:block}.login-footer{text-align:center;color:var(--text-light);border-top:1px solid var(--border);margin-top:24px;padding-top:18px;font-size:12px}@media (width<=600px){.page-content{padding:16px}.header-content{padding:0 16px}.form-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.tab-btn{padding:10px 12px;font-size:12px}}@media (width<=480px){.login-card{padding:32px 24px 28px}}
