@font-face{font-family:General Sans Variable;src:url(/assets/general-sans-variable-p1VyP7gg.woff2)format("woff2-variations");font-weight:200 700;font-style:normal;font-display:swap}:root{--color-brand-navy:#18275f;--color-brand-blue:#344596;--color-brand-sky:#6fb8ce;--color-brand-mist:#f4f8fb;--color-brand-ink:#101c47;--color-brand-bronze:#8f631c;--color-brand-line:#d9e3eb;--bg:var(--color-brand-mist);--surface:#fff;--surface-2:#eef2f8;--border:var(--color-brand-line);--border-strong:#c3d0de;--text:var(--color-brand-ink);--text-dim:#5b6a8f;--accent:var(--color-brand-blue);--accent-strong:var(--color-brand-navy);--status-nuevo:#64708c;--status-info:#1f8fae;--status-matricula_web:var(--color-brand-bronze);--status-contrato:#1f9d63;--shadow-sm:0 1px 2px #101c470f;--shadow-md:0 8px 20px -6px #101c4724, 0 2px 6px #101c470f;--shadow-lift:0 18px 40px -10px #101c4733, 0 6px 14px #101c4714;font-family:General Sans Variable,Avenir Next,Avenir,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(1100px 520px at 12% -10%, color-mix(in srgb, var(--color-brand-sky) 10%, transparent), transparent 60%), radial-gradient(900px 480px at 100% 0%, color-mix(in srgb, var(--color-brand-blue) 8%, transparent), transparent 55%), var(--bg);min-height:100dvh;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-attachment:fixed;margin:0}nav{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(10px);position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:9px;font-weight:700;text-decoration:none;display:flex}.brand-mark{flex:none;width:auto;height:24px;display:block}nav a{color:var(--text-dim);font-size:14px;font-weight:600;text-decoration:none;transition:color .15s;position:relative}nav a:hover{color:var(--text)}nav a.active{color:var(--accent)}.page{max-width:1200px;padding:32px}h1,h2,h3{color:var(--text);letter-spacing:-.015em;text-wrap:balance}h1{font-size:26px}.hint{color:var(--text-dim);margin-top:-8px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:16px;padding:18px}.form-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}input,select,button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s,transform .1s}input:hover,select:hover{border-color:var(--border-strong)}input:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button{background:var(--accent-strong);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:none;font-weight:600}button:hover{background:var(--accent);box-shadow:var(--shadow-md)}button:active{box-shadow:var(--shadow-sm);transform:translateY(1px)scale(.98)}button:disabled{opacity:.55;cursor:default;box-shadow:none;transform:none}.btn-ghost{border:1px solid var(--border-strong);color:var(--text-dim);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text);box-shadow:none}.toolbar{margin-bottom:12px}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px;font-size:14px}.table th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--surface-2)}.empty{color:var(--text-dim);text-align:center;font-style:normal;padding:28px 12px!important}.kpi-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.kpi-card{background:var(--surface);border:1px solid var(--border);min-width:140px;box-shadow:var(--shadow-sm);border-radius:12px;flex:1;padding:18px 20px;transition:box-shadow .2s,transform .2s}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-card .kpi-value{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.kpi-card .kpi-label{color:var(--text-dim);margin-top:4px;font-size:13px}.chart-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}@media (width<=820px){.chart-row{grid-template-columns:1fr}}.chart-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;padding:18px 20px}.chart-card h3{margin:0 0 4px;font-size:15px}.chart-card .hint{margin-bottom:8px}.user-menu{position:relative}.avatar{object-fit:cover;border:1px solid var(--border);background:var(--accent);color:#fff;cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.avatar-lg{width:84px;height:84px;font-size:30px}.user-menu-trigger{box-shadow:none;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px 6px 4px 4px;display:flex}.user-menu-trigger:hover{background:var(--surface-2);box-shadow:none}.user-menu-name{color:var(--text);font-size:13px;font-weight:600;line-height:1.2}.user-menu-role{color:var(--text-dim);font-size:11px}.user-menu-dropdown{background:var(--surface);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow-lift);z-index:30;border-radius:12px;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.user-menu-dropdown a,.user-menu-dropdown button{width:100%;box-shadow:none;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.user-menu-dropdown a:hover,.user-menu-dropdown button:hover{background:var(--surface-2);box-shadow:none}.user-menu-divider{background:var(--border);height:1px;margin:6px 2px}.status-pill{border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-nuevo{background:color-mix(in srgb, var(--status-nuevo) 14%, white);color:var(--status-nuevo)}.status-info{background:color-mix(in srgb, var(--status-info) 14%, white);color:var(--status-info)}.status-matricula_web{background:color-mix(in srgb, var(--status-matricula_web) 16%, white);color:var(--status-matricula_web)}.status-contrato{background:color-mix(in srgb, var(--status-contrato) 16%, white);color:var(--status-contrato)}.stage-select{font-weight:600}.stage-select.status-nuevo{border-color:var(--status-nuevo);color:var(--status-nuevo)}.stage-select.status-info{border-color:var(--status-info);color:var(--status-info)}.stage-select.status-matricula_web{border-color:var(--status-matricula_web);color:var(--status-matricula_web)}.stage-select.status-contrato{border-color:var(--status-contrato);color:var(--status-contrato)}.kanban{gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.kanban-column{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--col-color,var(--border));min-width:220px;box-shadow:var(--shadow-sm);border-radius:12px;flex:1;padding:12px}.kanban-column h3{justify-content:space-between;font-size:14px;display:flex}.count{color:var(--text-dim);font-variant-numeric:tabular-nums;font-weight:400}.kanban-card{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;flex-direction:column;gap:6px;margin-top:8px;padding:10px;transition:border-color .15s,transform .15s;display:flex}.kanban-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.badge{background:var(--accent);color:#fff;border-radius:4px;align-self:flex-start;padding:2px 6px;font-size:11px}.task-list{padding:0;list-style:none}.task-list li{border-bottom:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;margin:0 -10px;padding:10px;transition:background .12s;display:flex}.task-list li:hover{background:var(--surface-2)}.task-list li.done span{color:var(--text-dim);text-decoration:line-through}.due{color:var(--text-dim);font-size:12px}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:24px;display:grid}.portal-tile{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;gap:6px;padding:18px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.portal-tile:hover{border-color:var(--accent);box-shadow:var(--shadow-lift);transform:translateY(-3px)}.portal-tile .portal-icon{font-size:22px}.portal-tile h3{margin:0;font-size:15px}.portal-tile p{color:var(--text-dim);margin:0;font-size:13px}.feed-list{margin:0;padding:0;list-style:none}.feed-list li{border-bottom:1px solid var(--border);border-radius:8px;justify-content:space-between;gap:12px;margin:0 -10px;padding:10px;font-size:14px;transition:background .12s;display:flex}.feed-list li:hover{background:var(--surface-2)}.feed-list li:last-child{border-bottom:none}.feed-meta{color:var(--text-dim);white-space:nowrap;font-size:12px}.field-label{color:var(--text-dim);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.field-group{margin-bottom:14px}.field-group input{width:100%}.msg-error{color:#c0392b;margin:0;font-size:13px}.msg-ok{color:var(--status-contrato);margin:0;font-size:13px}::selection{background:color-mix(in srgb, var(--color-brand-sky) 55%, white);color:var(--text)}
