:root{--ink:#111827;--muted:#667085;--line:#e6eaf0;--surface:#fff;--bg:#f5f7fb;--nav:#101624;--brand:#6d5dfc;--brand2:#8b7cff;--green:#159b68;--red:#d74646;--amber:#d89422;--radius:20px;--shadow:0 18px 45px rgba(22,28,45,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.muted{color:var(--muted);line-height:1.6}.tiny{font-size:12px;color:#98a2b3;margin-top:22px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--brand);margin:0 0 7px;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--brand),#a990ff);font-weight:900;box-shadow:0 8px 22px rgba(109,93,252,.35)}.brand-mark.large{width:58px;height:58px;border-radius:18px;font-size:25px}.button{border:0;border-radius:12px;padding:11px 16px;font-weight:750;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}.button.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 8px 22px rgba(109,93,252,.25)}.button.dark{background:#141b2d;color:#fff;margin-top:15px}.button.ghost{background:#f1f3f8;color:#344054}.button.wide{width:100%}.button.disabled{background:#edf0f4;color:#98a2b3}.link-button{border:0;background:none;color:var(--brand);font-weight:750;cursor:pointer;padding:5px}.danger-text{color:var(--red)}label{display:grid;gap:7px;color:#344054;font-size:13px;font-weight:650}input,select,textarea{width:100%;border:1px solid #d9dfe8;background:#fff;border-radius:12px;padding:12px 13px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#8d80ff;box-shadow:0 0 0 4px rgba(109,93,252,.1)}textarea{min-height:86px;resize:vertical}.stack{display:grid;gap:14px}.alert{border-radius:14px;padding:13px 16px;margin-bottom:18px;font-size:14px}.alert.success{background:#eaf8f1;color:#08774e}.alert.danger{background:#fff0f0;color:#a62e2e}.warning-banner{border:1px solid #f0d9ac;background:#fff9ea;color:#765119;padding:15px 18px;border-radius:16px;margin-bottom:20px;line-height:1.5}
.login-body,.install-body{min-height:100vh;background:radial-gradient(circle at 15% 10%,#251d55 0,#12172a 34%,#090d17 76%);color:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;max-width:1180px;margin:auto;align-items:center;padding:50px;gap:80px}.login-copy h1{font-size:clamp(40px,5.4vw,70px);line-height:1.04;letter-spacing:-.055em;margin:16px 0 25px;max-width:760px}.login-copy>p:not(.eyebrow){color:#b8c0d4;font-size:18px;line-height:1.7;max-width:620px}.security-note{display:inline-flex;margin-top:25px;padding:11px 15px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#d8dcff;font-size:13px;background:rgba(255,255,255,.04)}.login-card,.install-card{background:#fff;color:var(--ink);border-radius:28px;padding:38px;box-shadow:0 30px 80px rgba(0,0,0,.34)}.login-card{max-width:440px;width:100%;justify-self:end}.login-card h2,.install-card h1{font-size:30px;letter-spacing:-.03em;margin:18px 0 4px}.login-card form{display:grid;gap:16px;margin-top:25px}.install-card{max-width:900px;margin:50px auto}.setup-form{display:grid;gap:22px;margin-top:28px}.setup-form fieldset{border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.setup-form legend{font-weight:800;padding:0 8px}.setup-form fieldset label:last-child:nth-child(odd){grid-column:1/-1}
.app-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#c8cfdf;padding:26px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:850;padding:0 8px 28px}.brand small{display:block;color:#8993a9;font-weight:600;font-size:10px;letter-spacing:.06em;margin-top:2px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:12px 14px;border-radius:12px;display:flex;gap:12px;align-items:center;font-weight:650;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#242b3e;color:#fff}.logout{margin-top:auto;padding:12px 14px;color:#9da7bc}.main{padding:30px 34px 20px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.topbar h1{font-size:29px;letter-spacing:-.035em;margin:0}.user-chip{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:14px}.user-chip>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eeeafd;color:var(--brand);font-weight:850}.user-chip div{font-size:13px;font-weight:750}.user-chip small{display:block;color:var(--muted);font-weight:500;text-transform:capitalize}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stats article,.panel,.account-card,.code-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stats article{padding:20px}.stats span{font-size:13px;color:var(--muted)}.stats strong{display:block;font-size:34px;margin-top:8px;letter-spacing:-.04em}.section-head,.panel-title{display:flex;align-items:center;justify-content:space-between;margin:10px 0 16px}.section-head h2,.panel h2{margin:0;font-size:24px;letter-spacing:-.035em}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-card{padding:20px;display:flex;gap:17px}.account-card.paused{opacity:.68}.service-icon{flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#edf0ff;color:#4f46d9;font-weight:950}.service-icon.netflix{background:#ffecec;color:#d41010}.account-main{min-width:0;flex:1}.account-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.account-title h3{margin:3px 0;font-size:18px}.account-main>p{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0}.account-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.account-meta span,.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f3f7;color:#596273;font-size:10px;font-weight:800;text-transform:uppercase}.code-card{padding:26px;text-align:center;margin-bottom:28px;background:linear-gradient(135deg,#161d30,#282258);color:#fff}.code-card .eyebrow{color:#a89dff}.code-value{font-size:50px;letter-spacing:.24em;font-weight:900;margin:12px 0}.code-card small{color:#bec4d5}.split{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:20px;align-items:start}.panel{padding:22px}.panel.wide{min-width:0}.table-wrap{overflow:auto;margin-top:17px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#7b8496;font-size:10px;text-transform:uppercase;letter-spacing:.07em;padding:10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid #edf0f4;vertical-align:middle}td strong{display:block}td small{display:block;color:var(--muted);margin-top:3px}.rule-list{display:grid;gap:10px;margin-top:18px}.rule{display:flex;justify-content:space-between;gap:15px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:13px}.rule.block{border-left-color:var(--red)}.rule p{font-size:12px;color:var(--muted);margin:4px 0}.rule small{color:#80899a;line-height:1.5}.system-list{display:grid;gap:0;margin:20px 0}.system-list div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0}.system-list dt{color:var(--muted)}.system-list dd{font-weight:750;margin:0;text-align:right}.check-list{display:grid;gap:13px;padding-left:20px;color:#475467;line-height:1.5}.empty{grid-column:1/-1;padding:50px;text-align:center;background:#fff;border:1px dashed #ccd3df;border-radius:18px;color:var(--muted)}.footer{color:#98a2b3;font-size:12px;text-align:center;padding:35px 0 10px}
@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.account-grid{grid-template-columns:1fr}.split{grid-template-columns:1fr}.login-shell{gap:35px;padding:35px}}
@media(max-width:760px){.login-shell{grid-template-columns:1fr;padding:24px}.login-copy{padding-top:20px}.login-card{justify-self:stretch;max-width:none}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:10;left:0;right:0;bottom:0;top:auto;height:70px;padding:8px 10px;display:block}.sidebar .brand,.sidebar .logout{display:none}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav a{min-width:58px;justify-content:center;padding:11px}.sidebar nav a span{display:none}.main{padding:22px 16px 90px}.topbar{align-items:flex-start}.user-chip div{display:none}.stats{gap:10px}.stats article{padding:15px}.stats strong{font-size:28px}.account-card{padding:16px}.setup-form fieldset{grid-template-columns:1fr}.setup-form fieldset label:last-child:nth-child(odd){grid-column:auto}.install-card{margin:16px;padding:23px}.code-value{font-size:38px}}
.table-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}.table-actions form{margin:0}.modal{width:min(92vw,520px);border:0;border-radius:22px;padding:0;box-shadow:0 32px 90px rgba(10,15,30,.35);color:var(--ink)}.modal.modal-wide{width:min(92vw,720px)}.modal::backdrop{background:rgba(10,15,28,.62);backdrop-filter:blur(3px)}.modal>form{padding:26px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:5px}.modal-head h2{margin:0;font-size:25px;letter-spacing:-.03em}.modal-close{border:0;background:#f1f3f8;color:#667085;width:36px;height:36px;border-radius:11px;font-size:24px;line-height:1;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modal label small{font-size:11px;color:var(--muted);font-weight:500}.modal input[readonly]{background:#f4f6fa;color:#667085}.modal[open]{animation:modal-in .16s ease-out}@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.table-actions{align-items:flex-start;flex-direction:column}.modal>form{padding:20px}.form-grid{grid-template-columns:1fr}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions .button{width:100%}}
.expiry-banner{border:1px solid #f0d597;background:linear-gradient(135deg,#fff9e9,#fffdf7);border-radius:var(--radius);padding:21px;margin-bottom:22px;box-shadow:0 16px 38px rgba(142,91,16,.08)}.expiry-banner-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.expiry-banner-head h2{margin:0;font-size:23px;letter-spacing:-.03em}.expiry-banner-head p:not(.eyebrow){margin:5px 0 0;color:#806129;font-size:13px}.expiry-alert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.expiry-alert{display:grid;gap:4px;padding:14px;border-radius:14px;background:#fff;border-left:4px solid #e5aa34;box-shadow:0 6px 18px rgba(56,43,20,.06)}.expiry-alert span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#8b6d35}.expiry-alert strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expiry-alert small{font-size:11px;color:#7d6b49}.expiry-alert.warning{border-left-color:#ee8b24}.expiry-alert.critical{border-left-color:#df4b43;background:#fff9f8}.expiry-alert.expired{border-left-color:#ab2430;background:#fff4f4}.expiry-stats{grid-template-columns:repeat(3,1fr)}.expiry-row td:first-child{border-left:3px solid #e5aa34}.expiry-row.warning td:first-child{border-left-color:#ee8b24}.expiry-row.critical td:first-child{border-left-color:#df4b43}.expiry-row.expired{background:#fff7f7}.expiry-row.expired td:first-child{border-left-color:#ab2430}.expiry-row.expired td:last-child{color:#a72a32}.expiry-row.critical td:last-child{color:#c33a35}
@media(max-width:1000px){.expiry-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.expiry-banner-head{align-items:flex-start;flex-direction:column}.expiry-banner-head .button{width:100%}.expiry-alert-grid{grid-template-columns:1fr}.expiry-stats{grid-template-columns:1fr}.expiry-stats article{display:flex;align-items:center;justify-content:space-between}.expiry-stats strong{margin:0}}
/* v1.1 · avisos, buzón y renovaciones */
.topbar-actions{display:flex;align-items:center;gap:10px}.notification-bell{position:relative;width:46px;height:46px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:19px;box-shadow:0 8px 22px rgba(22,28,45,.05)}.notification-bell span{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d74646;color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center;border:2px solid var(--bg)}.nav-count{margin-left:auto;min-width:20px;height:20px;border-radius:999px;background:#6d5dfc;color:#fff;font-size:10px;display:grid;place-items:center;padding:0 5px}.client-renewal-banner{border:1px solid #dbcfff;background:linear-gradient(135deg,#f7f4ff,#fff);border-radius:var(--radius);padding:21px;margin-bottom:22px;box-shadow:0 16px 38px rgba(79,70,190,.08)}.client-renewal-banner .expiry-banner-head p:not(.eyebrow){color:#645a89}.renew-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.renew-actions form{margin:0}.button.compact{padding:8px 11px;border-radius:10px;font-size:12px}.button.whatsapp{background:#eaf8f0;color:#0a7c4d}.whatsapp-text{color:#128c57}.service-warning{margin-top:12px;padding:9px 11px;border-radius:10px;background:#fff8e8;color:#8b611f;font-size:12px;font-weight:700}.whatsapp-float{position:fixed;right:26px;bottom:26px;z-index:30;display:flex;align-items:center;gap:9px;padding:12px 16px;border-radius:999px;background:#fff;color:#0d7d4f;border:1px solid #cdebdc;box-shadow:0 18px 45px rgba(13,125,79,.18);font-size:13px}.whatsapp-float span{font-size:20px}.whatsapp-float b{font-weight:850}.messages-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;align-items:start}.compose-panel{position:sticky;top:20px}.message-list{display:grid;gap:12px}.message-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fafbff}.message-card.mine{background:#f5f2ff;border-color:#ded7ff}.message-card.received{background:#fff}.message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.message-head strong{font-size:14px}.message-head small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.message-card p{font-size:13px;line-height:1.65;color:#475467;margin:13px 0}.message-account{color:#7b8496}.compact-empty{padding:30px}.renewal-history,.system-security{margin-top:20px}.status-form{display:flex;gap:8px;align-items:center;min-width:245px}.status-form select{padding:9px 10px}.badge.renewal-pending{background:#fff3d6;color:#8a5b08}.badge.renewal-contacted{background:#eaf1ff;color:#365fa8}.badge.renewal-renewed{background:#e8f8ef;color:#0d774d}.badge.renewal-closed{background:#eef0f3;color:#667085}
@media(max-width:1000px){.messages-layout{grid-template-columns:1fr}.compose-panel{position:static}}
@media(max-width:760px){.topbar-actions{gap:7px}.notification-bell{width:42px;height:42px}.whatsapp-float{right:16px;bottom:86px;padding:12px}.whatsapp-float b{display:none}.status-form{min-width:190px;flex-direction:column;align-items:stretch}.renew-actions{align-items:stretch}.renew-actions .button{width:100%}.client-renewal-banner{padding:17px}.message-head{flex-direction:column}}
.notification-center{border:1px solid #ded7ff;background:#faf8ff;border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:0 14px 34px rgba(79,70,190,.06)}.notification-center .panel-title{margin-top:0}

/* v1.2 · portal de cliente, contador de días y centro de alertas */
.notification-menu{position:relative}.notification-menu>summary{list-style:none;cursor:pointer}.notification-menu>summary::-webkit-details-marker{display:none}.notification-popover{position:absolute;right:0;top:56px;width:min(380px,88vw);z-index:60;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(22,28,45,.18);overflow:hidden}.notification-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line)}.notification-popover-head strong{font-size:15px}.notification-popover-head small{color:var(--muted);font-size:11px}.notification-list{max-height:360px;overflow:auto}.notification-item{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:flex-start;padding:13px 16px;border-bottom:1px solid #f0f2f6}.notification-item:hover{background:#f8f9fc}.notification-dot{width:8px;height:8px;border-radius:999px;background:#7b70ee;margin-top:5px}.notification-item.warning .notification-dot{background:#e68a20}.notification-item.critical .notification-dot,.notification-item.expired .notification-dot{background:#d74646}.notification-item strong{display:block;font-size:12px}.notification-item small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.notification-empty{padding:28px 18px;text-align:center;color:var(--muted);font-size:13px}.notification-footer-link{display:block;padding:12px 16px;text-align:center;color:var(--brand);font-size:12px;font-weight:800;background:#fafaff}
.client-overview{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px 22px;margin-bottom:22px;border:1px solid #dfe5ed;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.client-overview.ok{background:linear-gradient(135deg,#f4fff9,#fff);border-color:#d5eee1}.client-overview.attention{background:linear-gradient(135deg,#fff9ed,#fff);border-color:#f0ddb5}.client-overview-copy{display:flex;align-items:flex-start;gap:14px}.overview-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#f1f0ff;font-weight:900}.client-overview h2{margin:0;font-size:21px;letter-spacing:-.025em}.client-overview p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:12px}.client-mini-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.client-mini-stats span{display:flex;align-items:center;gap:6px;padding:9px 11px;border-radius:12px;background:#f5f7fb;color:#596273;font-size:11px;white-space:nowrap}.client-mini-stats b{font-size:14px;color:var(--ink)}
.account-card.service-card{position:relative;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.account-card.service-card:target{outline:3px solid rgba(109,93,252,.18);border-color:#9b90ff}.account-card.service-card.warning{border-color:#efce96}.account-card.service-card.critical{border-color:#efaaa6}.account-card.service-card.expired,.account-card.service-card.unavailable{border-color:#e9b2b2}.account-card.service-card.no-expiry{border-style:dashed}.service-state.state-active{background:#eaf8f1;color:#0b7d52}.service-state.state-warning{background:#fff2d8;color:#9a6208}.service-state.state-expired{background:#fff0f0;color:#ad3030}.service-expiry{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:12px 13px;border-radius:13px;background:#f7f8fb;border:1px solid #edf0f4}.service-expiry small{display:block;color:#7b8496;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.service-expiry strong{display:block;margin-top:3px;font-size:14px}.service-expiry.warning{background:#fff9ed;border-color:#f3dfb5}.service-expiry.critical,.service-expiry.expired{background:#fff4f4;border-color:#f2cece}.days-pill{flex:0 0 auto;padding:7px 9px;border-radius:10px;background:#fff;font-size:11px;font-weight:850;color:#475467;border:1px solid #e7eaf0}.service-expiry.critical .days-pill,.service-expiry.expired .days-pill{color:#a52c32}.expiry-source{display:block;margin-top:7px;color:#98a2b3;font-size:10px}.card-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}.card-actions form{margin:0}.card-actions .button.dark{margin-top:0}.renew-button{background:#f0edff;color:#5645dc}.renewal-sent{background:#eaf8f1;color:#0b7d52}.card-whatsapp{display:inline-block;margin-top:10px;color:#118552;font-size:11px;font-weight:800}.card-whatsapp:hover{text-decoration:underline}
.info-strip{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:0 0 18px;border-radius:14px;background:#f4f7ff;border:1px solid #dfe6ff}.info-strip>span{font-size:18px}.info-strip strong{font-size:13px}.info-strip p{margin:4px 0 0;color:#667085;font-size:12px;line-height:1.5}.date-help{margin-bottom:20px}.renewal-admin-form{min-width:330px}.renewal-form-row{display:grid;grid-template-columns:125px 145px auto;gap:7px;align-items:center}.renewal-form-row select,.renewal-form-row input{padding:9px 10px}.renewal-admin-form>.badge{margin-top:7px}.permission-date-form{display:flex;gap:7px;align-items:center;min-width:265px}.permission-date-form input{max-width:150px;padding:9px}.missing-date{color:#a56a10!important;margin-top:6px!important}.technical-expiries{margin-top:20px}.technical-expiries>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}.technical-expiries>summary::-webkit-details-marker{display:none}.technical-expiries>summary span{font-size:10px;text-transform:uppercase;color:var(--muted);background:#f1f3f7;padding:5px 8px;border-radius:999px}.expiry-row.no-expiry td:first-child{border-left-color:#aab2c0}.expiry-row.no-expiry{background:#fafbfc}
@media(max-width:900px){.client-overview{align-items:flex-start;flex-direction:column}.client-mini-stats{justify-content:flex-start}.renewal-form-row{grid-template-columns:1fr}.renewal-admin-form{min-width:210px}.permission-date-form{min-width:220px;align-items:stretch;flex-direction:column}.permission-date-form input{max-width:none}}
@media(max-width:760px){.notification-popover{position:fixed;right:12px;left:12px;top:78px;width:auto}.client-overview{padding:17px}.client-overview-copy{gap:10px}.client-overview h2{font-size:18px}.client-mini-stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.client-mini-stats span{justify-content:center;padding:8px 6px}.service-expiry{align-items:flex-start;flex-direction:column}.days-pill{align-self:flex-start}.card-actions{display:grid;grid-template-columns:1fr;width:100%}.card-actions form,.card-actions .button{width:100%}.section-head{align-items:flex-start;gap:12px;flex-direction:column}.section-head>.button{width:100%}}

/* v1.2.1 · permisos ordenados, cuentas libres e inbox directo */
.permission-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.permission-summary article{padding:16px 17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 10px 28px rgba(16,24,40,.045)}.permission-summary small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.permission-summary strong{display:block;margin-top:5px;font-size:25px;line-height:1;color:var(--ink)}.permission-summary span{display:block;margin-top:6px;color:#7b8496;font-size:11px}.free-account-note{display:flex;flex-direction:column;gap:3px;margin:14px 0 16px;padding:12px 13px;border-radius:12px;background:#f3fbf7;border:1px solid #d8eee2}.free-account-note strong{font-size:13px;color:#14724e}.free-account-note small{font-size:11px;color:#667085}.permission-toolbar{display:flex;align-items:center;gap:8px;margin:14px 0 10px}.permission-search{display:flex!important;align-items:center;gap:8px;flex:1;min-width:220px;padding:0 11px;border:1px solid var(--line);border-radius:11px;background:#fff}.permission-search span{color:#98a2b3}.permission-search input{border:0!important;box-shadow:none!important;padding:10px 0!important;width:100%}.permission-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.permission-filters a{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#667085;font-size:11px;font-weight:750}.permission-filters a b{min-width:18px;padding:2px 5px;border-radius:999px;background:#f1f3f7;color:#475467;text-align:center;font-size:10px}.permission-filters a.active{border-color:#c9c2ff;background:#f4f1ff;color:#5848d8}.permission-filters a.active b{background:#6d5dfc;color:#fff}.permission-priority{display:inline-flex;align-items:center;justify-content:center;min-width:96px;padding:7px 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap;background:#f1f3f7;color:#667085}.permission-priority.expired,.permission-priority.critical{background:#fff0f0;color:#ad3030}.permission-priority.warning{background:#fff4df;color:#9a6208}.permission-priority.notice{background:#eef5ff;color:#3767a8}.permission-priority.nodate{background:#f1f3f7;color:#7b8496}.permission-row.expired td:first-child,.permission-row.critical td:first-child{border-left:3px solid #db5b62}.permission-row.warning td:first-child{border-left:3px solid #e7a43c}.permission-row.notice td:first-child{border-left:3px solid #7ea1d7}.permission-row.nodate td:first-child{border-left:3px solid #b5bcc8}.permission-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.permission-actions form{margin:0}.button.inbox{background:#eef1ff;color:#5146c8}.availability-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;font-size:10px;font-weight:900}.availability-badge.free{background:#eaf8f1;color:#0b7d52}.availability-badge.occupied{background:#fff1e7;color:#a35c18}.inbox-context{display:flex;align-items:center;gap:10px;margin:13px 0;padding:11px 12px;border:1px solid #dcd7ff;border-radius:12px;background:#f7f5ff}.inbox-context>span{font-size:18px}.inbox-context strong{display:block;font-size:12px}.inbox-context small{display:block;margin-top:2px;color:#776ca5;font-size:10px}
@media(max-width:1050px){.permission-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.permission-summary{grid-template-columns:1fr 1fr}.permission-summary article{padding:13px}.permission-summary strong{font-size:21px}.permission-toolbar{align-items:stretch;flex-wrap:wrap}.permission-search{flex-basis:100%}.permission-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.permission-filters a{flex:0 0 auto}.permission-actions{align-items:stretch;flex-direction:column}.permission-actions .button,.permission-actions form,.permission-actions form button{width:100%}}
