*,*:before,*:after{box-sizing:border-box}:root{--accent: #0095d6;--accent-dark: #0075a8;--bg: #f0f4f8;--ink-900: #1f2937;--ink-600: #374151;--ink-500: #6b7280;--ink-400: #9ca3af;font-family:system-ui,-apple-system,sans-serif}body{margin:0;background:var(--bg);color:var(--ink-900)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.field{display:flex;flex-direction:column;gap:.3rem}.field span{font-size:.82rem;font-weight:600;color:var(--ink-600)}.field input,.field select,.field textarea{padding:.6rem .75rem;border-radius:8px;border:1px solid rgba(34,33,33,.2);font-family:inherit;font-size:.9rem;background:#fff;transition:border-color .15s}.field textarea{resize:vertical;min-height:64px;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:#0095d605}.form-footer{grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:.5rem}.btn-primary{padding:.6rem 1.2rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-weight:700;font-size:.875rem;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--accent-dark)}.btn-success{padding:.6rem 1.2rem;border-radius:8px;border:none;background:#16a34a;color:#fff;font-weight:700;font-size:.875rem;cursor:pointer;transition:background .15s}.btn-success:hover{background:#15803d}.btn-ghost{padding:.55rem 1rem;border-radius:8px;border:1px solid rgba(34,33,33,.2);background:transparent;color:var(--ink-600);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .15s}.btn-ghost:hover{border-color:#22212166;background:#ffffff80}.btn-ghost.btn-sm{padding:.4rem .75rem;font-size:.8rem}.btn-danger{padding:.4rem .75rem;border-radius:6px;border:1px solid rgba(239,68,68,.3);background:#ef44440f;color:#ef4444;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-danger:hover{background:#ef44441f}.btn-loading{position:relative;overflow:hidden}.btn-loading:after{content:"";position:absolute;left:-40%;bottom:0;height:3px;width:40%;background:#ffffffd9;border-radius:2px;animation:btn-loading-sweep 1.1s ease-in-out infinite}@keyframes btn-loading-sweep{0%{left:-40%}to{left:100%}}.scroll-area{overflow-y:auto;max-height:260px;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.13) transparent}.scroll-area::-webkit-scrollbar{width:4px}.scroll-area::-webkit-scrollbar-track{background:transparent}.scroll-area::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.card{background:#fff;padding:1.25rem;border-radius:14px;box-shadow:0 1px 3px #0000000f}.list{display:flex;flex-direction:column;gap:.5rem}.list .card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;cursor:pointer;border:1px solid rgba(34,33,33,.1);transition:box-shadow .15s,border-color .15s}.list .card:hover{box-shadow:0 4px 12px #00000012;border-color:#22212133}.list .card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #0095d626}.card-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.card-actions{display:flex;gap:.5rem;flex-shrink:0}.card-main strong{font-size:.95rem}.card-main .rut,.card-main .email{font-size:.8rem;color:var(--ink-500)}.empty{color:var(--ink-400);font-size:.9rem;padding:.5rem 0}.grupos{display:flex;flex-direction:column;gap:1rem}.grupo-empresa{border:1.5px solid rgba(0,149,214,.25);border-radius:14px;overflow:hidden}.grupo-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem;background:#0095d612;border-bottom:1px solid rgba(0,149,214,.15)}.grupo-label{font-weight:700;font-size:.875rem;color:#0075a8}.grupo-count{font-size:.75rem;font-weight:600;color:#0095d6;background:#0095d61f;padding:.15rem .5rem;border-radius:999px}.grupo-body{padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.grupo-centro{border:1.5px solid rgba(16,185,129,.25);border-radius:10px;overflow:hidden}.grupo-header--centro{background:#10b98112;border-bottom:1px solid rgba(16,185,129,.15)}.grupo-label--centro{color:#047857}.grupo-centro .grupo-count{color:#10b981;background:#10b9811f}.tag-empresa,.tag-centro{display:inline-block;background:#0095d617;color:#0075a8;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600}.tag-centro{background:#10b98117;color:#047857}.estado-chip{padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;background:#22212112;white-space:nowrap}.empresa-select{padding:.55rem .85rem;border-radius:8px;border:1px solid rgba(34,33,33,.2);font-family:inherit;font-size:.875rem;font-weight:600;color:#374151;background:#fff;cursor:pointer;min-width:180px;transition:border-color .15s}.empresa-select:focus{outline:none;border-color:#0095d6}.dash-main-grid,.panels{display:grid;grid-template-columns:1fr 380px;grid-template-rows:270px 270px;grid-auto-flow:column;gap:1rem}@media(max-width:1100px){.dash-main-grid,.panels{grid-template-columns:1fr;grid-template-rows:repeat(4,270px);grid-auto-flow:row}}.dash-card,.panel{background:#fff;border:1px solid rgba(34,33,33,.08);border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;min-height:0}.dash-card .card-header,.panel .panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-shrink:0}.dash-card .card-header h2,.panel .panel-head h2{margin:0;font-size:1rem;font-weight:700;color:#111827}.dash-card .card-body,.panel .panel-body{flex:1;overflow-y:auto;min-height:0;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.13) transparent}.dash-card .card-body::-webkit-scrollbar,.panel .panel-body::-webkit-scrollbar{width:4px}.dash-card .card-body::-webkit-scrollbar-track,.panel .panel-body::-webkit-scrollbar-track{background:transparent}.dash-card .card-body::-webkit-scrollbar-thumb,.panel .panel-body::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.pct-badge{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;border:2.5px solid;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}
