:root{--bg: #f4f7fb;--surface: #ffffff;--surface-soft: #f8fafc;--text: #0f172a;--muted: #64748b;--border: #dbe2ea;--primary: #1e40af;--primary-strong: #0f2f74;--primary-soft: #dbeafe;--success-bg: #e8f9ef;--success-text: #166534;--danger-bg: #feecec;--danger-text: #991b1b;--shadow: 0 14px 36px rgba(15, 23, 42, .08);--radius: 14px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at top left,#eef4ff 0%,var(--bg) 45%,#edf2f9 100%);color:var(--text);overflow-x:hidden}h1,h2,h3,h4,h5{margin:0;color:var(--text)}a{color:inherit}.users-container,.clients-container,.opportunities-container,.actions-container,.dashboard-container,.user-detail-card,.client-detail-card{width:100%;margin:0;min-width:0;max-width:none}.users-header,.clients-header,.opportunities-header,.actions-header,.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.users-header h2,.clients-header h2,.opportunities-header h2,.actions-header h2,.dashboard-header h2{font-size:clamp(1.2rem,1.6vw,1.7rem);font-weight:700;letter-spacing:-.01em}.btn-new-user,.btn-new-client,.btn-new-action{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 16px;border-radius:10px;background:linear-gradient(135deg,var(--primary-strong),var(--primary));color:#fff;text-decoration:none;font-size:13px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn-new-user:hover,.btn-new-client:hover,.btn-new-action:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f2f7442;filter:brightness(1.04)}.users-table,.clients-table,.opportunities-table,.actions-table,.dashboard-table{width:100%;min-width:680px;border-collapse:collapse;overflow:hidden;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.table-wrapper{width:100%;max-width:100%;overflow-x:auto;border-radius:var(--radius)}.clients-container,.opportunities-container,.actions-container,.client-detail-card{overflow-x:auto}.users-table thead,.clients-table thead,.opportunities-table thead,.actions-table thead,.dashboard-table thead{background:var(--surface-soft)}.users-table th,.clients-table th,.opportunities-table th,.actions-table th,.dashboard-table th{text-align:left;padding:14px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border)}.users-table td,.clients-table td,.opportunities-table td,.actions-table td,.dashboard-table td{padding:14px 16px;font-size:13px;border-bottom:1px solid #eef2f7;vertical-align:middle}.users-table tbody tr,.clients-table tbody tr,.opportunities-table tbody tr,.actions-table tbody tr,.dashboard-table tbody tr{transition:background-color .2s ease}.users-table tbody tr:hover,.clients-table tbody tr:hover,.opportunities-table tbody tr:hover,.actions-table tbody tr:hover,.dashboard-table tbody tr:hover{background:#f8fbff}.company{color:var(--primary);font-weight:700}.pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.pagination button,.actions .btn,button.btn{min-height:40px;padding:8px 14px;border-radius:10px;border:1px solid transparent;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease}.pagination button,.btn-primary{background:linear-gradient(135deg,var(--primary-strong),var(--primary));color:#fff}.btn-outline{background:var(--surface);color:#1e293b;border-color:var(--border)}.pagination button:disabled,.actions .btn:disabled{opacity:.6;cursor:not-allowed}.user-detail-card,.client-detail-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:clamp(18px,2vw,32px)}.user-header,.client-header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:20px}.subtitle{margin-top:6px;color:var(--muted);font-size:13px}.user-form section,.client-form .client-section,.client-form .address-block{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.section-title-basic,.section-title-energy,.section-title-telco,.section-title-basic-addresses{grid-column:1/-1;margin:18px 0 10px;padding-bottom:10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-bottom:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.required{color:var(--danger-text);font-weight:800}.login-wrapper label[for=email]:after,.login-wrapper label[for=password]:after,.user-form .field:has([formControlName=name]) label:not(:has(.required)):after,.user-form .field:has([formControlName=email]) label:not(:has(.required)):after,.user-form .field:has([formControlName=password]) label:not(:has(.required)):after,.user-form .field:has([formControlName=rol]) label:not(:has(.required)):after,.user-form .field:has([formControlName=actionType]) label:not(:has(.required)):after,.client-form:not(.client-form--opportunity) .field:has([formControlName=typeOwner]) label:after,.client-form:not(.client-form--opportunity) .field:has([formControlName=identificationType]) label:after,.client-form:not(.client-form--opportunity) .field:has([formControlName=identification]) label:after,.client-form .field:has([formControlName=companyName]) label:after,.client-form .field:has([formControlName=name]) label:after,.client-form--opportunity .field:has([formControlName=phone]) label:after,.client-form--opportunity .field:has([formControlName=postalCode]) label:after,.modal .field:has([formControlName=date]) label:after,.modal .field:has([formControlName=actionId]) label:after,.modal .field:has([formControlName=reviewReason]) label:after{content:" *";color:var(--danger-text);font-weight:800}.field input,.field textarea,.field select{width:100%;min-height:40px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:9px 12px;font-size:13px;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #1e40af29}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.success-message{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--success-bg);color:var(--success-text);border:1px solid #bbf7d0;font-size:13px;font-weight:600}.error,.error-message{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--danger-bg);color:var(--danger-text);border:1px solid #fecaca;font-size:13px;font-weight:600}.loading{text-align:center;color:var(--muted);padding:30px 0}@media(max-width:900px){.users-header,.clients-header,.opportunities-header,.actions-header,.dashboard-header{flex-direction:column;align-items:flex-start}.user-form section,.client-form .client-section,.client-form .address-block{grid-template-columns:1fr}.actions{flex-direction:column-reverse}.actions .btn,.pagination button{width:100%}.pagination{flex-direction:column;align-items:stretch}.users-table,.clients-table,.opportunities-table,.actions-table,.dashboard-table{min-width:620px}}
