/* Centros y Fichas 2.1 — isolated interface, full viewport width */
.cfc-app{--cfc:#395fe7;--cfc-dark:#2748c9;--ink:#19273d;--muted:#697b91;--line:#e2e9f2;--surface:#f5f7fb;color:var(--ink);font-family:inherit;font-size:15px;line-height:1.5;width:calc(100vw - 44px);max-width:none!important;position:relative;left:50%;transform:translateX(-50%);margin:14px 0 64px!important;padding:0 clamp(0px,1vw,16px);box-sizing:border-box;float:none;clear:both}
.cfc-app *{box-sizing:border-box}.cfc-app :is(h1,h2,h3){color:var(--ink);letter-spacing:-.025em;line-height:1.22;margin:0;font-weight:750}.cfc-app h1{font-size:clamp(27px,2.5vw,38px)}.cfc-app h2{font-size:clamp(23px,2vw,29px)}.cfc-app h3{font-size:19px;margin:24px 0 14px}.cfc-app p{margin:8px 0}.cfc-app a{text-decoration:none}.cfc-app button,.cfc-app input,.cfc-app select,.cfc-app textarea{font-family:inherit}
.cfc-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:22px clamp(18px,2vw,34px);color:white;border-radius:18px;background:linear-gradient(112deg,#1c3566 0%,#2851a3 55%,#3d68cf 100%);box-shadow:0 10px 24px rgba(26,56,111,.11)}
.cfc-header :is(h1,p),.cfc-header .cfc-eyebrow{color:white}.cfc-header p{opacity:.85;font-size:14px;margin-top:6px}.cfc-header .cfc-eyebrow{opacity:.7}.cfc-user{padding:9px 16px;border-radius:100px;background:rgba(255,255,255,.16);color:#fff;font-size:13px;overflow-wrap:anywhere;max-width:25%}
.cfc-eyebrow{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.11em;color:#5270b6;display:block;margin-bottom:7px}
.cfc-toolbar{display:flex;align-items:center;gap:15px;padding:18px clamp(17px,2vw,30px);background:#f2f5fb;border:1px solid var(--line);border-radius:15px;margin:0 0 18px;box-shadow:0 2px 8px rgba(30,53,84,.035)}.cfc-toolbar label{font-weight:750;flex-shrink:0}.cfc-toolbar select{flex:1;width:auto;max-width:none!important}.cfc-count{color:var(--muted);font-size:13px;white-space:nowrap}
.cfc-app :is(input:not([type=hidden]),select,textarea){width:100%;max-width:none;min-height:46px;padding:11px 14px;border:1px solid #ced8e7;border-radius:10px;background:white;color:var(--ink);box-shadow:none;font-size:15px}.cfc-app :is(input,select,textarea):focus{outline:3px solid rgba(57,95,231,.17);border-color:var(--cfc)}.cfc-app textarea{min-height:100px;resize:vertical}.cfc-app .cfc-btn{background:var(--cfc);color:#fff;border:1px solid var(--cfc);border-radius:10px;padding:11px 19px;min-height:46px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}.cfc-app .cfc-btn:hover{background:var(--cfc-dark);color:white}.cfc-app .cfc-btn:focus-visible{outline:3px solid #adbeff;outline-offset:2px}
.cfc-panel{background:white;border:1px solid var(--line);border-radius:17px;margin:16px 0;padding:clamp(17px,2vw,30px);box-shadow:0 5px 24px rgba(22,42,80,.045)}.cfc-panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:20px}.cfc-panel-head h2{overflow-wrap:anywhere}.cfc-search{display:flex;gap:10px;margin:14px 0 14px}.cfc-search input{flex:1;min-width:0}.cfc-muted{color:var(--muted)}.cfc-list-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:15px 0 12px;color:var(--muted);font-size:13px}.cfc-list-meta strong{font-weight:800;color:var(--ink);font-size:16px}
.cfc-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:13px;background:white}.cfc-table{width:100%;min-width:700px;border-collapse:separate;border-spacing:0;background:white;font-size:14px;table-layout:auto}.cfc-table thead th{background:#f2f5fa;color:#52657f;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800;text-align:left;white-space:nowrap}.cfc-table td,.cfc-table th{padding:15px clamp(10px,1.5vw,24px);border-bottom:1px solid #edf1f6;text-align:left;vertical-align:middle}.cfc-table tbody tr:last-child td{border-bottom:0}.cfc-table tbody tr:hover{background:#f8faff}.cfc-table td:last-child,.cfc-table th:last-child{text-align:right}.cfc-client-name{display:flex;align-items:center;gap:12px;min-width:0}.cfc-client-name strong{color:#1d2e49;font-weight:750}.cfc-avatar{display:grid;place-items:center;background:#e7edff;color:#3755b8;width:34px;height:34px;min-width:34px;border-radius:11px;font-weight:800;font-size:14px}.cfc-id{font-size:12px;color:#546786;background:#f1f4f9;border-radius:7px;padding:5px 8px;white-space:nowrap}.cfc-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ccd7f7;border-radius:9px;background:#f2f5ff;color:#2c50c6!important;padding:8px 11px;white-space:nowrap;font-weight:750;font-size:13px}.cfc-link:hover{background:#e4ebff}.cfc-empty{text-align:center;padding:70px 20px;background:var(--surface);border:1px dashed #cbd7e8;border-radius:15px}
.cfc-details{border:1px solid #d9e3f0;border-radius:11px;padding:11px 15px;max-width:100%;background:#fff}.cfc-details summary,.cfc-session summary{cursor:pointer;font-weight:700;color:#35518d}.cfc-details[open]{width:min(100%,470px)}.cfc-details form{padding:15px 0 3px}.cfc-details label{display:block;margin:10px 0}.cfc-panel-head .cfc-details{margin-left:auto}.cfc-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cfc-field{display:block;min-width:0}.cfc-field span{display:block;font-size:13px;font-weight:700;color:#4b607b;margin-bottom:6px}.cfc-actions{display:flex;justify-content:flex-end;padding:20px 0 4px}.cfc-back{display:inline-flex;align-items:center;color:#2d52c9!important;font-weight:700;padding:8px 0}.cfc-pill{background:#eaf0ff;color:#2b50be;border-radius:100px;padding:8px 13px;font-size:13px}.cfc-new{margin:16px 0;background:#f7f9ff}.cfc-session{border:1px solid var(--line);border-radius:11px;margin:10px 0;padding:15px 18px}.cfc-session summary{display:flex;align-items:center;justify-content:space-between;gap:18px}.cfc-session-edit{font-size:13px;color:#395fe7;white-space:nowrap}.cfc-session .cfc-editor{padding-top:20px}.cfc-success{margin:15px 0;padding:13px 18px;border:1px solid #b5dec3;background:#e9f7ef;border-radius:11px;color:#146b33}.cfc-pages{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0 0}.cfc-pages a{border:1px solid var(--line);border-radius:9px;padding:9px 13px;background:white;color:#2e4e9d}.cfc-pages a[aria-current=page]{background:var(--cfc);border-color:var(--cfc);color:white}.cfc-login{width:min(520px,calc(100vw - 32px));padding:30px;border:1px solid var(--line);border-radius:16px;background:white}.cfc-login label{display:block;margin:12px 0}.cfc-login input[type=checkbox]{width:auto;min-height:0}
@media(max-width:1040px){.cfc-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.cfc-user{display:none}.cfc-list-meta span:last-child{display:none}}
@media(max-width:700px){.cfc-app{width:calc(100vw - 20px);padding:0 2px;margin-top:6px!important}.cfc-header{padding:23px 20px;border-radius:14px}.cfc-header h1{font-size:28px}.cfc-toolbar{padding:16px;display:flex;flex-wrap:wrap}.cfc-toolbar label{width:100%}.cfc-toolbar select{flex-basis:100%;width:100%}.cfc-count{white-space:normal}.cfc-panel{padding:16px;border-radius:13px}.cfc-panel-head{align-items:flex-start}.cfc-panel-head .cfc-details{width:100%;margin-left:0}.cfc-search{flex-direction:column}.cfc-search button{width:100%}.cfc-fields{grid-template-columns:1fr}.cfc-actions .cfc-btn{width:100%}.cfc-tablewrap{border:0;overflow:visible;background:transparent}.cfc-table{min-width:0;width:100%;display:block;background:transparent}.cfc-table thead{display:none}.cfc-table tbody{display:grid;gap:12px}.cfc-table tr{display:block;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 15px;box-shadow:0 3px 12px rgba(22,42,80,.04)}.cfc-table td,.cfc-table th{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;padding:5px 0;min-height:28px;text-align:right!important}.cfc-table td:before{content:attr(data-label);font-size:12px;font-weight:700;color:var(--muted);text-align:left}.cfc-table td:first-child{padding:0 0 12px;margin:0 0 8px;border-bottom:1px solid var(--line);text-align:left!important}.cfc-table td:first-child:before{display:none}.cfc-table td:first-child strong{font-size:15px}.cfc-table td:last-child{padding:12px 0 0;justify-content:stretch}.cfc-table td:last-child:before{display:none}.cfc-table td:last-child .cfc-link{width:100%;min-height:42px}.cfc-client-name{width:100%}.cfc-id{font-size:12px}.cfc-session summary{align-items:flex-start}.cfc-session-edit{white-space:normal}.cfc-app h3{font-size:18px}}
