.ct-wrap{background:var(--bg);height:100%;font-family:var(--ff-m);display:flex}.ct-aside{background:var(--bg2);border-right:1px solid var(--rule);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow-y:auto}.ct-aside-head{border-bottom:1px solid var(--rule2);padding:14px 16px 10px}.ct-aside-title{text-transform:uppercase;letter-spacing:.12em;color:var(--ink3);font-size:9px;font-weight:600}.ct-nav-btn{text-align:left;width:100%;font-size:12px;font-family:var(--ff-m);cursor:pointer;color:var(--ink2);background:0 0;border:none;border-left:3px solid #0000;padding:8px 16px;font-weight:400;line-height:1.4;transition:all .12s;display:block}.ct-nav-btn.active{color:var(--cyan);background:var(--cyan-light);border-left-color:var(--cyan);font-weight:600}.ct-nav-count{color:var(--ink4);margin-left:6px;font-size:10px;font-weight:400}.ct-toolbar{border-bottom:1px solid var(--rule);background:var(--bg2);flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.ct-toolbar-title{color:var(--ink);margin-right:8px;font-size:13px;font-weight:600}.ct-toolbar-sep{background:var(--rule);width:1px;height:18px;margin:0 4px}.ct-search{background:var(--bg);border:1px solid var(--rule2);max-width:260px;font-size:11px;font-family:var(--ff-m);color:var(--ink);border-radius:4px;outline:none;flex:1;padding:5px 10px}.ct-table-wrap{flex:1;overflow:auto}.ct-table{border-collapse:collapse;width:100%;font-size:11px}.ct-table th{background:var(--bg3);color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:1px solid var(--rule2);white-space:nowrap;z-index:1;padding:6px 12px;font-size:9px;font-weight:500;position:sticky;top:0}.ct-table th.r{text-align:right}.ct-table td{border-bottom:1px solid var(--rule2);color:var(--ink);vertical-align:middle;padding:7px 12px;font-size:11px}.ct-mono{font-family:var(--ff-c);font-size:10px}.ct-natur{border-radius:3px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-block}.ct-natur.D{color:var(--blue);background:#2563eb14}.ct-natur.A{color:var(--green);background:#05966914}.ct-nivel{text-align:center;background:var(--bg3);width:20px;height:20px;color:var(--ink3);border-radius:3px;font-size:10px;font-weight:600;line-height:20px;display:inline-block}.ct-activa{border-radius:3px;padding:1px 6px;font-size:9px;font-weight:600}.ct-activa.yes{background:var(--green-light);color:var(--green)}.ct-activa.no{background:var(--bg3);color:var(--ink4)}.ct-import-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:1px 8px;font-size:9px;font-weight:600;display:inline-block}.ct-import-badge.nueva{color:var(--green);background:#05966914}.ct-import-badge.modifica{color:var(--cyan);background:#0891b21a}.ct-import-badge.error{color:var(--red);background:#dc262614}.ct-btn-pri{background:var(--accent-gradient);color:#fff;font-family:var(--ff-m);cursor:pointer;letter-spacing:.03em;white-space:nowrap;border:none;border-radius:4px;padding:5px 14px;font-size:10px;font-weight:500}.ct-btn-sec{background:var(--bg);border:1px solid var(--rule);color:var(--ink3);font-family:var(--ff-m);cursor:pointer;white-space:nowrap;border-radius:4px;padding:5px 12px;font-size:10px}.ct-btn-x{color:var(--ink4);cursor:pointer;font-size:12px;font-family:var(--ff-m);background:0 0;border:none;border-radius:3px;padding:2px 6px}.ct-einput{background:var(--bg);border:1px solid var(--cyan);width:100%;font-size:11px;font-family:var(--ff-m);color:var(--ink);border-radius:3px;outline:none;padding:4px 7px}.ct-overlay{z-index:1000;background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ct-modal{background:var(--bg2);border:1px solid var(--rule);width:90%;max-width:860px;max-height:85vh;box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.ct-modal-head{border-bottom:1px solid var(--rule);background:var(--bg3);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.ct-modal-title{color:var(--ink);font-size:13px;font-weight:600;font-family:var(--ff-m)}.ct-modal-body{flex:1;padding:18px;overflow-y:auto}.ct-modal-foot{border-top:1px solid var(--rule);background:var(--bg3);justify-content:flex-end;gap:8px;padding:10px 18px;display:flex}.ct-drop{border:2px dashed var(--rule);text-align:center;background:var(--bg);cursor:pointer;border-radius:6px;margin-bottom:16px;padding:32px 24px;transition:all .15s}.ct-drop.over{border-color:var(--cyan);background:var(--cyan-light)}.ct-empty{text-align:center;color:var(--ink4);padding:40px 24px;font-size:12px}.ct-table-foot{border-top:1px solid var(--rule2);color:var(--ink4);background:var(--bg2);gap:16px;padding:6px 16px;font-size:10px;display:flex}.ct-field{flex-direction:column;gap:2px;display:flex}.ct-field-label{color:var(--ink4);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:500}.ct-field-value{color:var(--ink);background:var(--bg2);border:1px solid var(--rule2);border-radius:4px;padding:6px 10px;font-size:12px}.ct-field-value.mono{font-family:var(--ff-c);font-size:11px}.ct-section-head{text-transform:uppercase;letter-spacing:.12em;color:var(--ink3);margin-bottom:12px;font-size:9px;font-weight:600}.ct-label{color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:9px;font-weight:600;display:block}tr:hover .ct-row-actions{opacity:1!important}.ct-row-actions button:hover{color:var(--red)!important}.ct-placeholder{color:var(--ink4);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.ct-placeholder-title{font-size:14px;font-weight:600}.ct-placeholder-sub{font-size:11px}.ct-einput-ghost{width:100%;font-size:11px;font-family:var(--ff-m);color:var(--ink);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;padding:3px 6px;transition:border-color .12s,background .12s}.ct-einput-ghost:hover{border-color:var(--rule)}.ct-einput-ghost:focus{border-color:var(--cyan);background:var(--bg);box-shadow:0 0 0 2px #0891b214}.ct-btn-xs{border:1px solid var(--rule2);color:var(--ink3);font-family:var(--ff-m);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;padding:2px 8px;font-size:9px;transition:all .12s}.ct-btn-xs:hover{border-color:var(--cyan);color:var(--cyan)}
