/* CREDIFONYX 3.5.5 — interfaz profesional; no modifica lógica ni datos */
:root{--bg:#f3f6fa;--panel:#fff;--ink:#172033;--muted:#697386;--line:#e1e7ef;--brand:#2557d6;--brand2:#4777e8;--nav:#17223b;--radius:14px;--shadow:0 8px 28px rgba(20,32,55,.07)}
body{background:var(--bg);letter-spacing:-.005em}
.app-shell{grid-template-columns:272px minmax(0,1fr)}
.sidebar{padding:18px 12px;background:var(--nav);box-shadow:none;border-right:1px solid rgba(255,255,255,.08)}
.brand-row{min-height:58px;padding:2px 10px 17px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.09)}
.brand-row .brand-mark{width:38px;height:38px;border-radius:11px;background:var(--brand);box-shadow:none}
.brand-row strong{font-size:.94rem}.brand-row span{font-size:.61rem;color:#94a3b8}
.sidebar nav{gap:2px;padding:0 1px 18px}
.nav-section-label{padding:17px 11px 5px;font-size:.58rem;color:#7f8da5;letter-spacing:.12em}
.sidebar nav button,.catalog-admin-link{gap:10px;min-height:48px;padding:7px 9px;border-radius:9px;color:#b9c4d6}
.sidebar nav button i,.catalog-admin-link i{width:31px;height:31px;flex-basis:31px;border-radius:8px;background:transparent;font-size:.94rem;color:#9eabc0}
.sidebar nav button b,.catalog-admin-link b{font-size:.76rem;font-weight:750;color:#d9e1ed}
.sidebar nav button small,.catalog-admin-link small{display:none}
.sidebar nav button:hover,.catalog-admin-link:hover{background:rgba(255,255,255,.055);box-shadow:none}
.sidebar nav button.active{background:var(--brand);box-shadow:0 8px 18px rgba(0,0,0,.15)}
.sidebar nav button.active:before{display:none}.sidebar nav button.active i,.sidebar nav button.active b{background:transparent;color:#fff}
.sidebar-foot{gap:8px;padding:12px 5px 0;border-color:rgba(255,255,255,.09)}
.sidebar-foot .status-pill{justify-content:center;background:rgba(255,255,255,.07);color:#dbe5f3;border-color:rgba(255,255,255,.1)}
.sidebar-foot .release-version{text-align:center;color:#7f8da5}
.sidebar-foot .btn{min-height:39px;border-radius:9px;font-size:.75rem}

main{min-width:0}
.topbar{height:86px;padding:0 28px;gap:20px;background:rgba(255,255,255,.95);box-shadow:none;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.page-heading{min-width:245px}.page-heading .eyebrow{display:none}.page-heading h2{margin:0;font-size:1.16rem;line-height:1.25;letter-spacing:-.02em}.page-heading span{display:block;margin-top:3px;color:var(--muted);font-size:.7rem}
.global-search-shell{max-width:430px}.global-search-shell input{height:42px;min-height:42px;border-radius:10px;background:#f7f9fc;border-color:transparent;padding-left:38px}.global-search-shell input:focus{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px rgba(37,87,214,.1)}
.top-actions{gap:7px}.top-actions .btn{min-height:38px;padding:8px 11px;border-radius:9px;font-size:.72rem}.top-actions #currentUser{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.content{max-width:1580px;margin:0 auto;padding:24px 28px 70px}

.btn{border-radius:9px;font-weight:750;box-shadow:none}.btn:hover{transform:none;filter:brightness(.98)}.btn.primary{background:var(--brand)}.btn.secondary{background:#e9efff;color:#1f4fc7}.btn.ghost{background:#fff}.btn.danger{background:#fff1f2;color:#b42332;border:1px solid #fecdd3}
input,select,textarea{min-height:43px;border-radius:9px;border-color:#dce3ec;background:#fff;padding:10px 11px}textarea{min-height:96px}label{gap:6px;font-size:.77rem;color:#344054}label small,.field-help{font-size:.66rem;color:var(--muted)}

.metric-grid{gap:11px;margin-bottom:15px}.metric{position:relative;min-height:104px;padding:16px 17px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:none}.metric:before{content:"";position:absolute;left:0;top:17px;bottom:17px;width:3px;border-radius:0 9px 9px 0;background:var(--brand)}.metric span{font-size:.68rem;text-transform:none;letter-spacing:0;color:var(--muted)}.metric strong{font-size:1.45rem;letter-spacing:-.03em}.metric small{font-size:.65rem}
.card{margin-bottom:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:none;overflow:hidden}.card-head{min-height:55px;padding:13px 16px;border-bottom:1px solid var(--line);background:#fff}.card-head h3{font-size:.88rem;letter-spacing:-.01em}.card-body{padding:16px}.grid-2{gap:14px}.stack-cards{gap:14px}
.toolbar,.collection-toolbar,.marketing-toolbar{padding:10px 0;margin-bottom:12px;border-bottom:1px solid var(--line)}.toolbar .spacer{min-width:12px}.toolbar input,.toolbar select{max-width:300px}

.table-wrap{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;min-width:720px}.data-table thead th{position:sticky;top:0;z-index:1;padding:11px 12px;background:#f7f9fc;color:#667085;font-size:.65rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase;border-bottom:1px solid var(--line)}.data-table td{padding:12px;border-bottom:1px solid #edf0f4;font-size:.75rem;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .14s}.data-table tbody tr:hover{background:#f7faff}.data-table .btn,.data-table .mini-btn{min-height:34px;padding:7px 9px;font-size:.68rem;border-radius:8px}.table-sub{font-size:.63rem}.status-pill{padding:5px 8px;border-radius:7px;font-size:.61rem;font-weight:800}

.banner{border-radius:10px;border-width:1px;padding:12px 14px;font-size:.75rem}.banner.ok{background:#f0fdf8;border-color:#b7ead7}.banner.warn{background:#fff9ed;border-color:#f6d58b}.banner.bad{background:#fff2f3;border-color:#f3b6bc}
.optional-details,.advanced-config,.inventory-photo-editor{border-radius:11px;background:#fafbfc}.optional-details>summary{padding:12px 14px;font-size:.76rem}
.form-grid{gap:13px 14px}.permission-group{border-radius:10px;background:#fbfcfe}.permission-option{font-size:.72rem}

.today-welcome{margin-bottom:15px;padding:23px 25px;border-radius:14px;background:linear-gradient(118deg,#17223b,#23499f 66%,#3268de);box-shadow:none}.today-welcome:after{opacity:.6}.today-welcome span{font-size:.6rem}.today-welcome h1{font-size:clamp(1.45rem,2.4vw,2rem)}.today-welcome p{font-size:.76rem}.today-user{border-radius:10px;padding:11px 13px}
.today-priorities{gap:10px;margin-bottom:15px}.today-task{grid-template-columns:36px 1fr auto;gap:9px;padding:13px;border-radius:11px;box-shadow:none}.today-task:hover{transform:none;background:#f8faff;box-shadow:none;border-color:#cbd8fa}.today-task>i{width:36px;height:36px;border-radius:9px}.today-task strong{font-size:1.18rem}.today-task b{font-size:.7rem}.today-task small{font-size:.59rem}.today-task em{font-size:.61rem}

dialog#modal{inset:0 0 0 auto;width:auto;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:visible}
dialog#modal::backdrop{background:rgba(15,23,42,.42);backdrop-filter:blur(3px)}
#modal .modal-card{display:flex;flex-direction:column;width:min(520px,92vw);height:100dvh;max-height:100dvh;margin-left:auto;border:0;border-radius:0;background:#fff;box-shadow:-18px 0 50px rgba(15,23,42,.18);overflow:hidden}
#modal[data-layout="compact"] .modal-card{width:min(440px,92vw)}
#modal[data-layout="workspace"]{inset:3vh 3vw;margin:auto}
#modal[data-layout="workspace"] .modal-card{width:min(1180px,94vw);height:min(94dvh,920px);max-height:94dvh;margin:auto;border-radius:14px;box-shadow:0 26px 80px rgba(15,23,42,.22)}
.modal-head{flex:0 0 auto;min-height:70px;padding:16px 19px;border-bottom:1px solid var(--line);background:#fff}.modal-head .eyebrow{font-size:.6rem}.modal-head h3{font-size:1.05rem;margin-top:2px}.modal-close-btn{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#475467}
#modalBody{flex:1;min-height:0;padding:17px 19px;overflow:auto;background:#fff}
.modal-actions{position:relative;flex:0 0 auto;margin:0;padding:13px 19px;border-top:1px solid var(--line);background:#fff}.modal-actions .btn{min-width:112px}
#modalError:not(.hidden){top:0;margin:0 19px 8px;border-radius:9px}
#modal .detail-grid{gap:9px}#modal .detail-grid>div{border-radius:9px;background:#f7f9fc;border-color:#edf0f4}
#modal .card{border-radius:10px}#modal .table-wrap{border-radius:9px}

.global-search-results{border:1px solid var(--line);border-radius:11px;box-shadow:0 18px 45px rgba(15,23,42,.15)}.global-search-result{padding:11px 12px}.global-search-result:hover{background:#f5f8ff}
.marketing-grid{gap:14px}.marketing-product{border-radius:12px;box-shadow:none}.marketing-thumb{border-radius:9px}
.mdm-device-card,.connector-grid>div{border-radius:10px;box-shadow:none}.enrollment-action-card{border-radius:12px;box-shadow:none}

@media(max-width:1180px){.app-shell{display:block}.sidebar{width:min(86vw,300px)}.topbar{padding:11px 16px}.page-heading{min-width:180px}.page-heading span{display:block}.content{padding:18px 15px 80px}}
@media(max-width:760px){.topbar{gap:9px}.page-heading{min-width:0;flex:1}.page-heading h2{font-size:1rem}.page-heading span{font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.global-search-shell{order:3;flex-basis:100%}.content{padding:14px 11px 74px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:96px;padding:14px}.metric strong{font-size:1.18rem}.card{border-radius:11px}.card-head{padding:12px 13px}.card-body{padding:13px}.today-welcome{padding:20px 18px}.today-priorities{grid-auto-columns:minmax(238px,84vw)}.data-table{min-width:650px}dialog#modal,#modal[data-layout="workspace"]{inset:auto 0 0;margin:0;width:100%}#modal .modal-card,#modal[data-layout="compact"] .modal-card,#modal[data-layout="workspace"] .modal-card{width:100%;height:min(92dvh,850px);max-height:92dvh;margin:0;border-radius:15px 15px 0 0}#modalBody{padding:14px}.modal-head{padding:14px}.modal-actions{padding:11px 14px}.modal-actions .btn{flex:1;min-width:0}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr 1fr}.metric{min-height:89px}.top-actions #recalcBtn{display:none}.today-welcome h1{font-size:1.35rem}}

@media print{#modal .modal-card,#modal[data-layout="workspace"] .modal-card{width:100%!important;height:auto!important;max-height:none!important;border-radius:0!important;box-shadow:none!important}}
