:root{--bg:#07101d;--surface:#0d1828;--surface2:#111e30;--surface3:#16243a;--border:#1e2d43;--text:#f6f8fc;--muted:#91a0b6;--blue:#2878ff;--green:#2bc77b;--red:#ef5350;--orange:#ff9f43;--purple:#7a6cff;--shadow:0 18px 45px rgba(0,0,0,.22)}
html[data-theme=light]{--bg:#f4f7fb;--surface:#fff;--surface2:#f8fafc;--surface3:#eef3f9;--border:#dbe3ee;--text:#172033;--muted:#6c7890;--shadow:0 14px 35px rgba(38,55,80,.09)}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,Segoe UI,Arial,sans-serif}.icon{width:20px;height:20px;display:block;flex:none}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--surface);border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;z-index:30;overflow:auto}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 20px}.mark,.login-logo{font-weight:900;font-size:30px;color:var(--blue);letter-spacing:-5px}.brand strong,.brand small,.user small{display:block}.brand strong{font-size:15px}.brand small,.subtitle,.login-card p{color:var(--muted);font-size:12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.logout{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;color:var(--muted);text-decoration:none;padding:11px 12px;border-radius:10px;min-height:44px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(40,120,255,.18);color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 var(--blue)}.sidebar nav a small{font-size:9px;color:var(--muted)}.sidebar nav a.disabled{opacity:.55;cursor:not-allowed}.sidebar nav a.disabled:hover{background:transparent;color:var(--muted)}.logout{margin-top:auto;color:var(--text)}.shell{margin-left:250px;min-width:0}header{height:72px;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:0 24px}.menu{display:none}.search{flex:1;max-width:720px;background:var(--surface2);border:1px solid var(--border);padding:11px 14px;border-radius:12px;color:var(--muted);display:flex;align-items:center;gap:10px}.icon-button{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:11px;padding:11px;display:grid;place-items:center}.user{margin-left:auto;min-width:100px}.user strong,.user small{display:block}.user small{color:var(--muted)}button{font:inherit}.shell>main{padding:28px;max-width:1900px;margin:0 auto}h1{margin:0 0 3px;font-size:30px;line-height:1.1}.subtitle{margin:0 0 22px}.page-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.scope-badge{background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:8px 12px;color:var(--muted);font-size:11px;white-space:nowrap}.cards{display:grid;gap:14px}.dashboard-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card,.panel,.resource-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.metric-card{padding:17px;display:flex;align-items:flex-start;gap:14px;min-height:126px}.metric-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(40,120,255,.14);color:var(--blue)}.metric-icon.green{background:rgba(43,199,123,.14);color:var(--green)}.metric-icon.red{background:rgba(239,83,80,.14);color:var(--red)}.metric-icon.orange{background:rgba(255,159,67,.14);color:var(--orange)}.metric-icon.purple{background:rgba(122,108,255,.14);color:var(--purple)}.metric-body{min-width:0}.metric-body small,.metric-body strong,.metric-body em{display:block}.metric-body small{font-size:12px;color:var(--muted)}.metric-body strong{font-size:28px;line-height:1.15;margin:7px 0 5px}.metric-body em{font-size:10px;color:var(--muted);font-style:normal}.dashboard-grid{display:grid;grid-template-columns:minmax(420px,1.25fr) minmax(330px,.95fr) minmax(330px,.9fr);gap:14px;margin-top:14px}.panel{padding:19px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:17px}.panel-heading h2{font-size:16px;margin:0 0 2px}.panel-heading p{margin:0;color:var(--muted);font-size:11px}.panel-action,.refresh-button{color:var(--blue);text-decoration:none;font-size:11px}.device-summary{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center}.donut{width:150px;height:150px;margin:auto;border-radius:50%;display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:var(--surface)}.donut span{position:relative;z-index:1;text-align:center}.donut span b{display:block;font-size:26px}.donut small{display:block;font-size:10px;color:var(--muted)}.device-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}.device-list li{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center}.device-list li>div:first-child{display:flex;align-items:center;gap:8px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.device-list small{font-size:10px;color:var(--muted);text-align:right}.progress{height:7px;border-radius:99px;background:var(--surface3);overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:var(--blue)}.recent-list{display:grid;max-height:360px;overflow:auto;padding-right:4px}.recent-list>div{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.recent-list p{margin:0;min-width:0}.recent-list p strong,.recent-list p small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-list p small,.recent-list time{font-size:10px;color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--red);display:inline-block}.status-dot.online{background:var(--green)}.service-grid{display:grid;gap:8px}.service-grid>div,.service-list>div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.status-good{color:var(--green)}.status-bad{color:var(--red)}.resource-list{display:grid;gap:12px;margin-top:17px}.resource-list>div{display:grid;grid-template-columns:45px 1fr 38px;gap:9px;align-items:center}.system-foot{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;margin-top:16px;flex-wrap:wrap}.server-heading{align-items:center}.refresh-button{display:inline-flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);padding:10px 13px;border-radius:10px;color:var(--text)}.refresh-button .icon{width:16px;height:16px}.server-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.resource-card{padding:18px;display:flex;align-items:center;gap:15px;min-height:132px}.resource-card small,.resource-card strong,.resource-card em{display:block}.resource-card small{color:var(--muted)}.resource-card strong{font-size:16px;margin:6px 0}.resource-card em{font-size:10px;color:var(--muted);font-style:normal}.resource-ring{--value:0;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) calc(var(--value)*1%),var(--surface3) 0);position:relative;flex:none}.resource-ring.green{background:conic-gradient(var(--green) calc(var(--value)*1%),var(--surface3) 0)}.resource-ring.orange{background:conic-gradient(var(--orange) calc(var(--value)*1%),var(--surface3) 0)}.resource-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.resource-ring span{position:relative;font-weight:800}.resource-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:rgba(40,120,255,.14);color:var(--blue)}.resource-icon .icon{width:32px;height:32px}.server-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.service-name{display:flex;align-items:center;gap:9px}.system-details{margin:0}.system-details>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--border)}.system-details dt{color:var(--muted)}.system-details dd{margin:0;text-align:right}.empty{padding:45px 10px;text-align:center;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 50% 30%,rgba(40,120,255,.14),transparent 32%)}.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:34px;box-shadow:var(--shadow);position:relative;text-align:center}.login-card h1{font-size:24px;margin-top:12px}.login-card form{text-align:left;display:grid;gap:14px;margin-top:25px}.login-card label{display:grid;gap:7px}.login-card input{width:100%;background:var(--surface2);color:var(--text);border:1px solid var(--border);padding:12px;border-radius:8px}.password{display:flex}.password input{border-radius:8px 0 0 8px}.password button{border:1px solid var(--border);border-left:0;background:var(--surface2);color:var(--text);border-radius:0 8px 8px 0}.login-row{display:flex;justify-content:space-between;font-size:12px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:auto}.primary{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:12px}.alert{padding:12px;border-radius:8px;display:grid;gap:4px}.alert.error{background:rgba(239,83,80,.12);border:1px solid rgba(239,83,80,.45);color:#ff7774}.login-card footer{margin-top:25px;color:var(--muted);font-size:11px}.floating{margin-top:18px}.login-help{font-size:11px;color:var(--muted);text-align:center}.error-page{max-width:600px;margin:70px auto;text-align:center}.button-link{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:10px 14px;border-radius:8px}
@media(max-width:1450px){.dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1.2fr 1fr}.system-summary{grid-column:1/-1}.server-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.sidebar{transform:translateX(-100%);transition:.22s}.menu-open .sidebar{transform:none}.shell{margin-left:0}.menu{display:grid}.dashboard-cards{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.system-summary{grid-column:auto}.server-grid{grid-template-columns:1fr}}
@media(max-width:700px){main{padding:18px 14px}header{padding:0 14px;height:64px}.dashboard-cards,.server-metrics{grid-template-columns:1fr}.page-heading{display:block}.scope-badge{display:inline-block;margin-top:12px}.search{display:none}.device-summary{grid-template-columns:1fr}.recent-list>div{grid-template-columns:10px 1fr}.recent-list time{grid-column:2}.system-details>div{grid-template-columns:1fr;gap:3px}.system-details dd{text-align:left}.login-card{padding:24px}.login-row{align-items:flex-start;gap:12px}.metric-card{min-height:112px}.metric-body strong{font-size:25px}}
/* Clientes 0.2.0 */
.client-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.client-summary article{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:15px}.client-summary span,.client-summary strong{display:block}.client-summary span{color:var(--muted);font-size:11px}.client-summary strong{font-size:24px;margin-top:5px}.client-summary .positive strong{color:var(--green)}.client-summary .danger strong{color:var(--red)}.client-summary .warning strong{color:var(--orange)}
.filter-panel{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:15px;margin-bottom:14px}.filter-panel label{display:grid;gap:6px}.filter-panel label span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.filter-panel input,.filter-panel select{width:100%;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:10px}.filter-actions{display:flex;gap:9px;align-items:center}.filter-actions a{color:var(--muted);text-decoration:none}.table-panel{padding:0;overflow:hidden}.table-panel .panel-heading{padding:18px 18px 0}.read-only-badge{font-size:10px;color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 35%,var(--border));background:color-mix(in srgb,var(--blue) 10%,transparent);padding:6px 9px;border-radius:999px}.responsive-table{overflow:auto}.client-table td strong,.client-table td small{display:block}.client-table td small{color:var(--muted);font-size:10px;margin-top:2px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}.status-pill.active{color:var(--green);background:rgba(43,199,123,.12)}.status-pill.expired{color:var(--red);background:rgba(239,83,80,.12)}.status-pill.suspended{color:var(--orange);background:rgba(255,159,67,.12)}.row-action a,.back-link{color:var(--blue);text-decoration:none;font-weight:600;font-size:11px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;color:var(--muted);border-top:1px solid var(--border)}.pagination div{display:flex;gap:8px}.pagination a{color:var(--text);text-decoration:none;background:var(--surface2);border:1px solid var(--border);padding:7px 10px;border-radius:8px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid var(--border)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;text-align:right}.detail-section{margin-top:14px}.break-value{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:1450px){.filter-panel{grid-template-columns:minmax(260px,2fr) repeat(2,minmax(150px,1fr));}.filter-actions{grid-column:auto}.client-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.client-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.detail-grid{grid-template-columns:1fr}.client-table thead{display:none}.client-table,.client-table tbody,.client-table tr,.client-table td{display:block;width:100%}.client-table tr{padding:10px 14px;border-bottom:1px solid var(--border)}.client-table td{border:0;padding:6px 0 6px 42%;position:relative;min-height:30px}.client-table td:before{content:attr(data-label);position:absolute;left:0;top:6px;width:38%;color:var(--muted);font-size:10px}.client-table td.row-action{padding-left:0;text-align:right}}
@media(max-width:560px){.client-summary,.filter-panel{grid-template-columns:1fr}.filter-search{grid-column:auto}.filter-actions{justify-content:stretch}.filter-actions .primary{flex:1}.detail-list>div{grid-template-columns:1fr;gap:3px}.detail-list dd{text-align:left}.pagination{align-items:flex-start;gap:12px;flex-direction:column}}

/* Clientes 0.2.1 - rediseño funcional */
html[data-theme=light]{--bg:#edf2f8;--surface:#ffffff;--surface2:#f6f8fc;--surface3:#e9eef6;--border:#d5deea;--text:#142033;--muted:#65748b;--shadow:0 12px 32px rgba(34,55,82,.08)}
html[data-theme=light] .sidebar{background:#fbfcfe}html[data-theme=light] header{background:rgba(255,255,255,.92)}html[data-theme=light] .panel,html[data-theme=light] .metric-card,html[data-theme=light] .resource-card{box-shadow:0 10px 26px rgba(37,55,78,.065)}
.heading-actions{display:flex;gap:10px;align-items:center}.primary.soft{opacity:.55;cursor:not-allowed;padding:9px 13px}.button-muted{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border:1px solid var(--border);border-radius:9px;color:var(--text)!important;background:var(--surface2)}
.quick-status-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.quick-status-tabs a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--muted);text-decoration:none;font-weight:700}.quick-status-tabs a b{color:var(--text);font-size:15px}.quick-status-tabs a.active{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue)}.quick-status-tabs a.positive.active{border-color:var(--green);color:var(--green)}.quick-status-tabs a.warning.active{border-color:var(--orange);color:var(--orange)}.quick-status-tabs a.danger.active{border-color:var(--red);color:var(--red)}
.clients-filter{grid-template-columns:minmax(320px,2fr) repeat(3,minmax(155px,1fr)) auto}.clients-panel .panel-heading{padding-bottom:14px}.modern-client-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface2);white-space:nowrap}.modern-client-table tbody tr{transition:.15s}.modern-client-table tbody tr:hover{background:color-mix(in srgb,var(--blue) 4%,var(--surface))}.modern-client-table td{vertical-align:middle;padding:14px 12px}.client-identity,.device-cell{display:flex;align-items:center;gap:11px}.client-avatar,.profile-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 85%,white),var(--purple));color:white;font-weight:900;flex:none}.client-identity strong,.device-cell strong{font-size:12px}.client-identity small,.device-cell small{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-cell .icon{width:18px;color:var(--blue)}.linked-state{display:block;margin-top:5px;font-size:9px;font-weight:700}.linked-state.linked{color:var(--green)}.linked-state.unlinked{color:var(--orange)}.expiry-text{font-size:11px}.expiry-text.expired{color:var(--red)}.expiry-text.suspended{color:var(--orange)}.expiry-text.active{color:var(--green)}.actions-column{min-width:220px}.row-actions{display:flex;justify-content:flex-end;gap:7px;align-items:center}.row-actions .icon-button{display:inline-flex;grid-template-columns:auto auto;gap:6px;text-decoration:none;padding:8px 10px;font-size:10px}.row-actions .icon-button .icon{width:15px;height:15px}.row-actions .primary-action{background:var(--blue);color:white;border-color:var(--blue)}.action-menu{position:relative}.action-menu summary{list-style:none;cursor:pointer}.action-menu summary::-webkit-details-marker{display:none}.icon-only{width:34px;height:34px;border:1px solid var(--border);border-radius:9px;display:grid;place-items:center;background:var(--surface2)}.icon-only .icon{width:16px}.action-menu>div{position:absolute;right:0;top:40px;z-index:12;width:190px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow)}.action-menu>div a{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:11px}.action-menu>div a:hover{background:var(--surface2)}.action-menu>div .icon{width:15px}
.alert.success{background:rgba(43,199,123,.12);border:1px solid rgba(43,199,123,.4);color:var(--green)}.alert span{font-size:12px}
.client-profile-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:15px}.profile-title-row{display:flex;align-items:center;gap:13px;margin-top:12px}.profile-avatar{width:54px;height:54px;border-radius:16px;font-size:20px}.profile-title-row h1{font-size:26px}.profile-title-row p{margin:4px 0 0;color:var(--muted)}.profile-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.client-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.client-kpi-strip article{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:15px;box-shadow:var(--shadow)}.client-kpi-strip span,.client-kpi-strip strong,.client-kpi-strip small{display:block}.client-kpi-strip span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.client-kpi-strip strong{font-size:17px;margin:6px 0 3px}.client-kpi-strip small{color:var(--muted);font-size:10px}.profile-tabs{display:flex;gap:6px;overflow:auto;padding:5px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.profile-tabs a{padding:9px 13px;border-radius:8px;color:var(--muted);text-decoration:none;white-space:nowrap;font-size:11px;font-weight:700}.profile-tabs a:hover{background:var(--surface2);color:var(--text)}.client-detail-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.72fr);gap:14px;align-items:start}.client-detail-layout main{padding:0;max-width:none}.profile-card{margin-bottom:14px;scroll-margin-top:95px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.info-grid>div{position:relative;padding:12px 0;border-bottom:1px solid var(--border)}.info-grid span,.info-grid strong{display:block}.info-grid span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.info-grid strong{margin-top:4px;font-size:12px}.text-button{position:absolute;right:0;top:18px;border:0;background:none;color:var(--blue);cursor:pointer;font-size:10px}.primary-device{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.primary-device>div{padding:13px;background:var(--surface2);border:1px solid var(--border);border-radius:11px}.primary-device span,.primary-device strong,.primary-device small{display:block}.primary-device span{font-size:9px;color:var(--muted);text-transform:uppercase}.primary-device strong{margin:4px 0}.primary-device small{color:var(--muted);overflow-wrap:anywhere}.timeline-list{display:grid}.timeline-list article{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.timeline-list strong,.timeline-list small{display:block}.timeline-list small,.timeline-list em{color:var(--muted);font-size:10px;font-style:normal}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--blue)}.client-actions-panel{position:sticky;top:88px;display:grid;gap:12px}.action-card{scroll-margin-top:95px}.action-card-title{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px}.action-card-title>.icon{color:var(--blue);width:20px}.action-card-title h2{font-size:14px;margin:0}.action-card-title p{font-size:10px;color:var(--muted);margin:3px 0 0}.action-card form{display:grid;gap:10px}.action-card label{display:grid;gap:6px}.action-card label span{font-size:10px;color:var(--muted);text-transform:uppercase}.action-card input,.action-card select{width:100%;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:10px}.action-card small{color:var(--muted);font-size:10px}.full{width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.secondary,.danger-button,.warning-button,.success-button{border-radius:9px;padding:11px;border:1px solid var(--border);color:var(--text);background:var(--surface2);cursor:pointer}.danger-button{color:var(--red);border-color:rgba(239,83,80,.35);background:rgba(239,83,80,.08)}.warning-button{color:var(--orange);border-color:rgba(255,159,67,.35);background:rgba(255,159,67,.08)}.success-button{color:var(--green);border-color:rgba(43,199,123,.35);background:rgba(43,199,123,.08)}.danger-zone form+form{margin-top:9px}.danger-button:disabled{opacity:.45;cursor:not-allowed}.action-card button .icon{width:16px}
@media(max-width:1450px){.quick-status-tabs{grid-template-columns:repeat(3,1fr)}.clients-filter{grid-template-columns:minmax(280px,2fr) repeat(2,minmax(150px,1fr));}.client-detail-layout{grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr)}}
@media(max-width:1100px){.client-detail-layout{grid-template-columns:1fr}.client-actions-panel{position:static;grid-template-columns:repeat(3,1fr)}.client-kpi-strip{grid-template-columns:repeat(2,1fr)}.actions-column{min-width:190px}.row-actions .icon-button span{display:none}}
@media(max-width:900px){.quick-status-tabs{grid-template-columns:repeat(2,1fr)}.clients-filter{grid-template-columns:1fr 1fr}.modern-client-table tr{border:1px solid var(--border);border-radius:12px;margin:10px;background:var(--surface2)}.modern-client-table td{padding-left:38%}.modern-client-table td.row-action{padding:10px 0 3px}.row-actions{justify-content:flex-start}.row-actions .icon-button span{display:inline}.actions-column{min-width:0}.client-actions-panel{grid-template-columns:1fr}.primary-device{grid-template-columns:1fr}}
@media(max-width:600px){.quick-status-tabs,.clients-filter,.client-kpi-strip,.info-grid{grid-template-columns:1fr}.client-profile-header{align-items:flex-start;flex-direction:column}.profile-status{align-items:flex-start}.profile-title-row h1{font-size:22px}.client-detail-layout{display:block}.timeline-list article{grid-template-columns:12px 1fr}.timeline-list em{grid-column:2}.heading-actions{margin-top:12px;flex-wrap:wrap}.modern-client-table td{padding-left:0;padding-top:24px}.modern-client-table td:before{width:auto;top:6px}.client-identity small,.device-cell small{max-width:220px}}


/* 0.2.3 - ficha de cliente compacta y correctamente distribuida */
.client-detail-layout>main{padding:0!important;margin:0!important;max-width:none!important;width:100%!important}
.client-profile-header{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 20px;align-items:center;box-shadow:var(--shadow)}
.profile-main{min-width:0}.profile-title-row{margin-top:8px}.back-link{display:inline-flex;color:var(--blue);font-size:11px;text-decoration:none;font-weight:700}.profile-status{flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.client-kpi-strip{grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px}.client-kpi-strip article{padding:13px 14px;box-shadow:none}.client-kpi-strip strong{font-size:15px}.profile-tabs{position:sticky;top:80px;z-index:8;box-shadow:0 10px 25px rgba(0,0,0,.08)}
.client-detail-layout{grid-template-columns:minmax(0,1fr) 380px;gap:16px}.profile-card{margin-bottom:16px}.panel.profile-card{padding:18px}.client-actions-panel{top:145px;gap:12px}
.account-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.account-overview .overview-item{background:var(--surface2);border:1px solid var(--border);border-radius:11px;padding:12px;min-width:0}.account-overview span,.account-overview strong,.account-overview small{display:block}.account-overview span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.account-overview strong{font-size:12px;margin-top:5px;overflow-wrap:anywhere}.account-overview small{font-size:9px;color:var(--muted);margin-top:3px}
.action-card{padding:16px}.action-card-title{margin-bottom:11px}.action-card form{gap:8px}.action-card input,.action-card select{padding:9px}.action-card .primary,.action-card .secondary,.action-card .danger-button,.action-card .warning-button,.action-card .success-button{padding:10px}
.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.quick-actions a{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:var(--surface2);text-decoration:none;font-size:10px;font-weight:700}.quick-actions a.primary-quick{background:var(--blue);border-color:var(--blue);color:#fff}.quick-actions .icon{width:15px;height:15px}
.device-table th,.device-table td{padding:10px 11px}.profile-card .panel-heading{margin-bottom:12px}.timeline-list article{padding:10px 0}
html[data-theme=light] .client-profile-header,html[data-theme=light] .client-kpi-strip article,html[data-theme=light] .profile-tabs,html[data-theme=light] .panel{box-shadow:0 5px 18px rgba(36,54,79,.055)}
@media(max-width:1500px){.client-detail-layout{grid-template-columns:minmax(0,1fr) 340px}.account-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1180px){.client-detail-layout{grid-template-columns:1fr}.client-actions-panel{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.profile-tabs{position:static}.client-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.client-profile-header{align-items:flex-start;flex-direction:column}.profile-status{justify-content:flex-start}.quick-actions{margin-left:0}.client-actions-panel{grid-template-columns:1fr}.account-overview{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.client-kpi-strip,.account-overview{grid-template-columns:1fr}.client-profile-header{padding:15px}.profile-title-row{align-items:flex-start}.profile-avatar{width:46px;height:46px}.profile-title-row h1{font-size:20px}.quick-actions{width:100%}.quick-actions a{flex:1;justify-content:center}}

/* 0.2.4 - Clientes completo: tabla funcional, Roku y dispositivos */
.clients-filter.v024{grid-template-columns:minmax(320px,2fr) repeat(4,minmax(145px,1fr)) auto;align-items:end}.client-status-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.bulk-toolbar{position:sticky;top:76px;z-index:16;display:flex;gap:10px;align-items:center;padding:10px 12px;margin:0 0 10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.bulk-toolbar[hidden]{display:none}.bulk-toolbar strong{margin-right:auto}.check-col{width:38px;text-align:center}.modern-client-table.v024{min-width:1380px}.modern-client-table.v024 th,.modern-client-table.v024 td{vertical-align:middle}.modern-client-table.v024 th{position:sticky;top:72px;z-index:5;background:var(--surface)}.client-identity small{display:block;color:var(--muted);margin-top:3px}.client-identity small b{color:var(--text)}.device-stack{display:flex;gap:9px;align-items:flex-start}.device-stack>.icon{width:18px;color:var(--muted);margin-top:2px}.device-stack strong,.device-stack small{display:block}.device-stack small{color:var(--muted);font-size:10px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-stack.linked>.icon{color:var(--green)}.device-stack.unlinked>.icon{color:var(--orange)}.row-actions.expanded{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}.row-actions.expanded form{margin:0}.row-actions.expanded .icon-button{min-height:34px;padding:7px 9px}.row-actions.expanded .icon-button .icon{width:14px}.row-actions .roku-action{color:var(--purple)}.row-actions .danger-action{color:var(--red)}.row-actions .success-action{color:var(--green)}.pagination-v024{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.pagination-v024>div:first-child strong,.pagination-v024>div:first-child span{display:block}.pagination-v024>div:first-child span{font-size:10px;color:var(--muted)}.pagination-v024 nav{display:flex;gap:5px;justify-content:center;align-items:center;flex-wrap:wrap}.pagination-v024 nav a,.pagination-v024 nav span{min-width:34px;height:34px;padding:0 9px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--text);text-decoration:none}.pagination-v024 nav a.active{background:var(--blue);border-color:var(--blue);color:#fff}.jump-page{display:flex;align-items:center;gap:6px}.jump-page label{font-size:10px;color:var(--muted)}.jump-page input{width:64px;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:7px}.jump-page button{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:7px;padding:7px 10px}.client-profile-header.v024{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px}.client-kpi-strip.v024{grid-template-columns:repeat(5,minmax(150px,1fr))}.profile-tabs.v024{gap:4px}.client-detail-layout.v024{grid-template-columns:minmax(0,1fr) 330px}.client-actions-panel.v024{top:145px}.form-grid.v024{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.v024 label{display:grid;gap:6px}.form-grid.v024 label span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.form-grid.v024 input,.form-grid.v024 select{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:10px}.form-grid.v024 .form-action{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.roku-code-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;margin-bottom:14px;border:1px solid rgba(122,108,255,.3);background:rgba(122,108,255,.08);border-radius:12px}.roku-code-card>div{display:flex;align-items:center;gap:12px}.roku-code-card .icon{color:var(--purple);width:26px}.roku-code-card span,.roku-code-card strong,.roku-code-card small{display:block}.roku-code-card span,.roku-code-card small{color:var(--muted);font-size:10px}.roku-code-card strong{font-size:20px;margin:3px 0}.device-subsection+.device-subsection{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.device-subsection h3{margin:0 0 12px;font-size:14px}.subheading{display:flex;justify-content:space-between;align-items:center}.subheading span{color:var(--muted);font-size:10px}.device-manager-list{display:grid;gap:9px}.device-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:10px;background:var(--surface2);border:1px solid var(--border);border-radius:11px}.device-manager-row>form:first-child{display:grid;grid-template-columns:1.35fr .75fr .8fr .55fr auto;gap:8px;align-items:end}.device-manager-row label{display:grid;gap:4px}.device-manager-row label span{font-size:9px;color:var(--muted);text-transform:uppercase}.device-manager-row input,.device-manager-row select{width:100%;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px}.device-row-actions{display:flex}.add-device-box{margin-top:12px;border:1px dashed var(--border);border-radius:11px;padding:10px}.add-device-box summary{cursor:pointer;color:var(--blue);font-weight:700}.add-device-box form{margin-top:12px}.timeline-dot.green{background:var(--green)}
html[data-theme=light] .modern-client-table.v024 th{background:#fff}html[data-theme=light] .bulk-toolbar{background:#fff}html[data-theme=light] .roku-code-card{background:#f3f0ff}
@media(max-width:1500px){.clients-filter.v024{grid-template-columns:minmax(280px,2fr) repeat(3,minmax(140px,1fr));}.client-kpi-strip.v024{grid-template-columns:repeat(3,1fr)}.client-profile-header.v024{grid-template-columns:1fr auto}.client-profile-header.v024 .profile-status{grid-column:1/-1}.device-manager-row>form:first-child{grid-template-columns:1fr 1fr 1fr}.device-row-actions{align-self:end}}
@media(max-width:1150px){.client-detail-layout.v024{grid-template-columns:1fr}.client-actions-panel.v024{position:static;grid-template-columns:repeat(3,1fr)}.client-status-tabs{grid-template-columns:repeat(3,1fr)}.pagination-v024{grid-template-columns:1fr}.pagination-v024 nav{justify-content:flex-start}.jump-page{justify-content:flex-start}.client-profile-header.v024{grid-template-columns:1fr}.quick-actions{margin-left:0}.client-kpi-strip.v024{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.clients-filter.v024{grid-template-columns:1fr 1fr}.client-status-tabs{grid-template-columns:repeat(2,1fr)}.form-grid.v024{grid-template-columns:1fr}.device-manager-row{grid-template-columns:1fr}.device-manager-row>form:first-child{grid-template-columns:1fr 1fr}.modern-client-table.v024{min-width:0}.modern-client-table.v024 .check-col{display:none}.bulk-toolbar{display:none!important}.client-actions-panel.v024{grid-template-columns:1fr}.client-kpi-strip.v024{grid-template-columns:1fr}.roku-code-card{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.clients-filter.v024,.device-manager-row>form:first-child{grid-template-columns:1fr}.row-actions.expanded{flex-wrap:wrap}.pagination-v024 nav a:nth-of-type(n+6){display:none}.client-profile-header.v024{padding:14px}.quick-actions a{min-width:calc(50% - 4px)}}
