:root{--mace-teal:#009aa6;--mace-ink:#281408;--mace-paper:#fff;--mace-mist:#f4f5f4;--mace-line:#dedfdd;--mace-muted:#626966;--mace-danger:#a82b46;font-family:Arial,Helvetica,sans-serif;color:var(--mace-ink);background:var(--mace-paper);font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--mace-paper)}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{background:var(--mace-ink);color:#fff;padding:1.65rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.brand{display:flex;align-items:center;gap:.65rem;font-size:1.65rem;letter-spacing:-.05em}.brand-bars{height:1.6rem;display:flex;align-items:end;gap:2px}.brand-bars i{width:5px;height:1.25rem;background:#fcb425}.brand-bars i:nth-child(2){height:1.55rem;background:#f58220}.brand-bars i:nth-child(3){height:1.1rem;background:#d50043}.brand-bars i:nth-child(4){height:1.4rem;background:#e73f99}.brand-bars i:nth-child(5){height:1.65rem;background:#7b2b8f}.brand-bars i:nth-child(6){height:1.2rem;background:#91cfc7}.brand-bars i:nth-child(7){height:1.6rem;background:var(--mace-teal)}.product-name{margin-top:-1.25rem;text-transform:uppercase;letter-spacing:.16em;color:#bcb5b1;font-size:.75rem}.sidebar nav{display:grid;gap:.3rem}.nav-item{background:transparent;border:0;color:#e8e2de;text-align:left;padding:.75rem .7rem;cursor:pointer}.nav-item:hover,.nav-item.active{background:#fff;color:var(--mace-ink)}.sidebar-footer{margin-top:auto;border-top:1px solid #604f45;padding:.95rem .7rem 0;font-size:.8rem;line-height:1.6}.sidebar-footer span{color:#bcb5b1}.topbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--mace-line);padding:1.35rem 2rem}.breadcrumb{font-size:.78rem;color:var(--mace-muted);margin-bottom:.25rem}.topbar h1{font-size:1.65rem;font-weight:500;margin:0}.operator{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.operator b{display:grid;place-items:center;background:var(--mace-teal);color:#fff;width:2.25rem;height:2.25rem;border-radius:50%}.page{padding:1.75rem 2rem 3rem}.page[hidden]{display:none}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.summary-grid article{background:var(--mace-mist);border-top:3px solid var(--mace-teal);padding:1rem;min-height:7rem}.summary-grid article:nth-child(2){border-color:var(--mace-ink)}.summary-grid article:nth-child(3){border-color:#9d3655}.summary-grid span,.summary-grid small{display:block;color:var(--mace-muted);font-size:.8rem}.summary-grid strong{display:block;font-size:2rem;font-weight:500;margin:.4rem 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:2rem;border-top:1px solid var(--mace-line);padding-top:1rem}.section-heading.first{margin-top:0}.section-heading.compact{margin-top:1.5rem}.section-heading h2,.coming h2{font-size:1.15rem;font-weight:500;margin:0}.section-heading p,.coming p{color:var(--mace-muted);font-size:.88rem;margin:.3rem 0 0}.heading-actions{display:flex;gap:.5rem}.button{display:inline-block;border:1px solid #a19a96;background:#fff;color:var(--mace-ink);padding:.62rem .8rem;text-decoration:none;cursor:pointer;font-size:.82rem}.button.primary{background:var(--mace-teal);border-color:var(--mace-teal);color:#fff;font-weight:bold}.button:focus-visible,.nav-item:focus-visible,.action-panel:focus-visible{outline:3px solid #fcb425;outline-offset:2px}.dashboard-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1rem}.action-panel{background:#fff;border:1px solid var(--mace-line);padding:1rem;text-align:left;text-decoration:none;color:var(--mace-ink);cursor:pointer}.action-panel:hover{border-color:var(--mace-teal)}.action-panel strong,.action-panel span{display:block}.action-panel strong{font-size:.9rem}.action-panel span{font-size:.78rem;color:var(--mace-muted);margin-top:.35rem;line-height:1.45}.filters{display:flex;gap:.75rem;align-items:end;margin:1rem 0}.filters label{display:grid;gap:.35rem;min-width:13rem}.filters label:first-child{flex:1}.filters span,dialog label span{font-size:.78rem;color:var(--mace-muted)}.filters input,.filters select,dialog input{border:1px solid #aaa4a0;padding:.68rem .75rem;background:#fff;color:var(--mace-ink);width:100%}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th{text-align:left;background:var(--mace-ink);color:#fff;font-weight:500;padding:.72rem;white-space:nowrap}td{padding:.78rem .72rem;border-bottom:1px solid var(--mace-line);vertical-align:middle}.status{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem}.status::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--mace-teal)}.status.inactive::before{background:#9d3655}.row-actions{display:flex;justify-content:flex-end;gap:.4rem}.small-button{border:0;background:transparent;color:#086a71;padding:.35rem;cursor:pointer;font-size:.78rem}.small-button.danger{color:var(--mace-danger)}.notice{margin:1rem 2rem 0;padding:.75rem 1rem;background:#e1f2ef;border-left:3px solid var(--mace-teal);font-size:.85rem}.notice.error{background:#f7e7eb;border-color:var(--mace-danger)}.coming{max-width:42rem}.coming p{font-size:1rem;line-height:1.6}.empty-row{text-align:center;color:var(--mace-muted);padding:2rem}dialog{border:0;padding:0;width:min(31rem,calc(100% - 2rem));box-shadow:0 1.5rem 5rem rgba(40,20,8,.25)}dialog::backdrop{background:rgba(40,20,8,.55)}dialog form{padding:1.5rem;display:grid;gap:1rem}.dialog-header{display:flex;justify-content:space-between;align-items:start}.dialog-header h2{font-size:1.35rem;font-weight:500;margin:.15rem 0 0}.eyebrow{color:var(--mace-teal);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.icon-button{border:0;background:transparent;font-size:1.6rem;color:var(--mace-muted);cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.form-error{color:var(--mace-danger);font-size:.82rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{padding:.8rem 1rem;gap:.6rem}.product-name,.sidebar-footer{display:none}.sidebar nav{display:flex;overflow:auto}.nav-item{white-space:nowrap}.topbar,.page{padding-left:1rem;padding-right:1rem}.operator{display:none}.summary-grid,.dashboard-actions{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.filters{align-items:stretch;flex-direction:column}.filters label{min-width:0}.notice{margin-left:1rem;margin-right:1rem}td,th{padding:.7rem .6rem}}

/* Destaca los dispositivos que siguen asignados a un usuario en baja temporal. */
.assigned-user-leave{display:inline-flex;align-items:center;gap:.35rem;color:#9a5a00;font-weight:600}.assigned-user-leave i{width:.48rem;height:.48rem;border-radius:50%;background:#d28700;display:inline-block;flex:0 0 auto}.assigned-user-leave small{font-size:.72rem;font-weight:400;color:#9a5a00;white-space:nowrap}

/* Campos adicionales del inventario de activos. */
button,input,select,textarea{font:inherit}.filters input,.filters select,dialog input,dialog select,dialog textarea{border:1px solid #aaa4a0;padding:.68rem .75rem;background:#fff;color:var(--mace-ink);width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label{min-width:0}dialog textarea{resize:vertical;min-height:5rem}@media(max-width:760px){.form-grid{grid-template-columns:1fr}}

.brand{display:flex;width:70%;align-items:center;gap:.46rem;background:transparent;padding:0;color:#fff;font-size:1.5rem;font-weight:800;letter-spacing:-.06em}.brand-bars{height:1.5rem;display:flex;align-items:end;gap:1px}.brand-bars i{display:block;width:4px;height:1.17rem;background:#fcb425}.brand-bars i:nth-child(2){height:1.43rem;background:#f58220}.brand-bars i:nth-child(3){height:1.04rem;background:#d50043}.brand-bars i:nth-child(4){height:1.3rem;background:#e73f99}.brand-bars i:nth-child(5){height:1.5rem;background:#7b2b8f}.brand-bars i:nth-child(6){height:1.1rem;background:#91cfc7}.brand-bars i:nth-child(7){height:1.43rem;background:var(--mace-teal)}
#dashboard-view>.section-heading:first-child{border-top:0;padding-top:0}
.report-controls{display:flex;align-items:end;gap:.75rem;margin:1.25rem 0}.report-controls label{display:grid;gap:.35rem;min-width:18rem;flex:1}.report-controls span,.report-columns legend{font-size:.78rem;color:var(--mace-muted)}.report-controls select{border:1px solid #aaa4a0;padding:.68rem .75rem;background:#fff;color:var(--mace-ink)}.report-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.report-columns fieldset{margin:0;border:1px solid var(--mace-line);padding:.85rem;display:flex;flex-wrap:wrap;gap:.45rem .8rem}.report-columns legend{padding:0 .2rem}.report-columns label{font-size:.8rem;white-space:nowrap}.report-columns input{accent-color:var(--mace-teal)}.report-output{margin-top:1.5rem}.report-section{margin-top:1.25rem}.report-section h3{font-size:1rem;font-weight:500;margin:0 0 .55rem}.report-section .table-wrap{border:1px solid var(--mace-line)}@media(max-width:760px){.report-controls{align-items:stretch;flex-direction:column}.report-controls label{min-width:0}.report-columns{grid-template-columns:1fr}}
.report-workflow{margin-top:1.25rem;padding:1rem;border:1px solid var(--mace-line);background:#fff}.report-workflow-linked{border-left:3px solid var(--mace-teal)}.report-workflow-heading{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.8rem}.workflow-number{display:grid;place-items:center;flex:0 0 auto;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--mace-ink);color:#fff;font-size:.82rem;font-weight:700}.report-workflow-linked .workflow-number{background:var(--mace-teal)}.report-workflow h3{margin:0;font-size:1rem;font-weight:500}.report-workflow p{margin:.25rem 0 0;color:var(--mace-muted);font-size:.83rem;line-height:1.45}.report-columns-users{grid-template-columns:minmax(0,1fr)}.report-export-actions{display:flex;justify-content:flex-end;margin-top:1rem}@media(max-width:760px){.report-workflow{padding:.85rem}.report-export-actions{justify-content:stretch}.report-export-actions .button{width:100%;text-align:center}}

.sort-header{appearance:none;border:0;background:transparent;color:#fff;padding:0;font:inherit;cursor:pointer}.sort-header:hover,.sort-header:focus-visible{text-decoration:underline;outline:0}

.user-checkboxes{margin:0;border:1px solid var(--mace-line);padding:.8rem;display:flex;flex-wrap:wrap;gap:.6rem 1rem}.user-checkboxes legend{padding:0 .2rem;font-size:.78rem;color:var(--mace-muted)}.user-checkboxes label{display:flex;align-items:center;gap:.4rem;font-size:.86rem;cursor:pointer}.user-checkboxes input{width:auto;accent-color:var(--mace-teal)}
.user-flag{text-align:center}.user-flag input{width:1rem;height:1rem;accent-color:var(--mace-teal);cursor:pointer}
#software-table input:not([type="checkbox"]){width:100%;border:1px solid var(--mace-line);padding:.45rem;background:#fff}
#software-global-output .software-inline{width:100%;min-width:8rem;border:1px solid #aaa4a0;background:#fff;color:inherit;padding:.42rem .48rem;border-radius:1px}.software-inline:hover,.software-inline:focus{border-color:var(--mace-teal);box-shadow:0 0 0 2px rgba(0,154,166,.13);outline:0}.software-inline:disabled{opacity:.6}
.field-help{width:100%;margin:0;color:var(--mace-muted);font-size:.8rem}.member-options{display:grid;width:100%;max-height:14rem;overflow:auto;border:1px solid var(--mace-line);padding:.45rem}.member-options label{padding:.35rem .25rem;border-bottom:1px solid #eee}.member-options label:last-child{border-bottom:0}.member-options small{color:var(--mace-muted)}
#special-dialog{width:min(52rem,calc(100% - 2rem))}#special-indicators[hidden],#group-members-field[hidden]{display:none}.member-options .group-member-row{display:grid;grid-template-columns:1.2rem minmax(12rem,1fr) minmax(15rem,1.45fr) auto;align-items:center;gap:.65rem;padding:.55rem .4rem}.member-options .group-member-row input{width:1rem}.member-options .group-member-row strong{font-size:.88rem}.member-options .group-member-row small{font-size:.8rem;overflow-wrap:anywhere}.member-options .group-member-row em{font-style:normal;color:var(--mace-muted);font-size:.74rem;white-space:nowrap}@media(max-width:760px){#special-dialog{width:min(31rem,calc(100% - 2rem))}.member-options .group-member-row{grid-template-columns:1.2rem 1fr}.member-options .group-member-row small,.member-options .group-member-row em{grid-column:2}}

#dashboard-view .summary-grid{gap:.65rem}#dashboard-view .summary-grid article{min-height:4.8rem;padding:.65rem .75rem;border-top-width:2px}#dashboard-view .summary-grid strong{font-size:1.45rem;margin:.2rem 0}#dashboard-view .summary-grid span,#dashboard-view .summary-grid small{font-size:.7rem}#dashboard-view .section-heading.compact{margin-top:1rem;padding-top:.7rem}

/* Acceso local: los datos permanecen ocultos hasta validar una sesión. */
.login-shell{min-height:100vh;display:grid;place-items:center;background:var(--mace-ink);padding:1.5rem}.login-card{width:min(25rem,100%);background:#fff;padding:2rem;box-shadow:0 1.5rem 5rem rgba(0,0,0,.28)}.login-brand{width:auto;color:var(--mace-ink);font-size:2rem}.login-product{margin:.55rem 0 1.6rem;font-size:.72rem;letter-spacing:.15em;color:var(--mace-muted)}.login-card h1{font-size:1.45rem;font-weight:500;margin:0 0 .5rem}.login-card>p:not(.login-product){margin:0 0 1.4rem;color:var(--mace-muted);line-height:1.5}.login-card form{display:grid;gap:1rem}.login-card label{display:grid;gap:.35rem}.login-card label span{font-size:.8rem;color:var(--mace-muted)}.login-card input{width:100%;border:1px solid #aaa4a0;padding:.7rem .75rem}.login-button{width:100%;margin-top:.25rem}.auth-pending .app-shell,.auth-required .app-shell{display:none}.app-authenticated .login-shell{display:none}.operator-avatar{border:0;display:grid;place-items:center;background:var(--mace-teal);color:#fff;width:2.25rem;height:2.25rem;border-radius:50%;cursor:pointer;font-weight:700}.operator-avatar:hover{filter:brightness(.9)}
.logout-button{border:1px solid var(--mace-teal);background:var(--mace-teal);color:#fff;padding:.52rem .8rem;cursor:pointer;font-size:.78rem;font-weight:700;box-shadow:0 2px 5px rgba(0,154,166,.2)}.logout-button:hover{background:#087d85;border-color:#087d85;box-shadow:0 3px 8px rgba(0,154,166,.3)}.logout-button:focus-visible{outline:3px solid #fcb425;outline-offset:2px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.1rem}.account-card{border:1px solid var(--mace-line);padding:1rem;display:grid;gap:.8rem}.account-card h3{font-size:1rem;font-weight:500;margin:0}.account-card label{display:grid;gap:.35rem}.account-card label span{font-size:.78rem;color:var(--mace-muted)}.account-card input,.account-card select{border:1px solid #aaa4a0;padding:.68rem .75rem;background:#fff}.account-state{font-size:.78rem}.account-state.enabled{color:#086a71}.account-state.disabled{color:var(--mace-danger)}@media(max-width:760px){.account-grid{grid-template-columns:1fr}}
#history-dialog{width:min(75rem,calc(100% - 2rem))}.history-dialog{padding:1.5rem;display:grid;gap:1rem}.history-dialog .table-wrap{max-height:22rem}.history-dialog table{min-width:0;table-layout:fixed}.history-dialog th,.history-dialog td{white-space:normal;overflow-wrap:anywhere}.history-dialog th:first-child,.history-dialog td:first-child{width:10rem}@media(max-width:760px){.history-dialog{padding:1rem}.history-dialog .table-wrap{overflow:auto}.history-dialog table{min-width:43rem}}
.viewer [data-open-user],.viewer #new-asset,.viewer #new-mobile,.viewer #new-line,.viewer [data-new-special],.viewer #software-form,.viewer #backup-button{display:none!important}.viewer .software-inline{pointer-events:none;opacity:.65}
.viewer #new-platform{display:none!important}.viewer.can-write-platforms #new-platform{display:inline-block!important}
.viewer.can-write-users [data-open-user],.viewer.can-write-assets #new-asset,.viewer.can-write-mobiles #new-mobile,.viewer.can-write-lines #new-line,.viewer.can-write-directory [data-new-special]{display:inline-block!important}.viewer.can-write-software #software-form{display:block!important}.viewer.can-write-software .software-inline{pointer-events:auto;opacity:1}
#backup-button{display:none!important}
.security-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}.security-summary article{border-top:3px solid var(--mace-teal);background:var(--mace-mist);padding:.8rem}.security-summary article:nth-child(2){border-color:#9d3655}.security-summary article:nth-child(3){border-color:var(--mace-ink)}.security-summary span{display:block;color:var(--mace-muted);font-size:.76rem}.security-summary strong{display:block;font-size:1.15rem;margin-top:.35rem;font-weight:500}.audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1rem}.audit-grid h3{font-size:.95rem;font-weight:500;margin:0 0 .65rem}.audit-grid .table-wrap{max-height:26rem}.security-note{color:var(--mace-muted);font-size:.78rem;line-height:1.45;margin-top:1rem}@media(max-width:760px){.security-summary,.audit-grid{grid-template-columns:1fr}.audit-grid table{min-width:34rem}}
.audit-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.audit-heading h3{margin-bottom:.65rem}
.summary-grid.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}
.platform-accounts{border:1px solid var(--mace-line);padding:.8rem;display:grid;gap:.65rem}.platform-accounts legend{padding:0 .2rem;color:var(--mace-muted);font-size:.8rem}.platform-account-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:.5rem;align-items:end;border-bottom:1px solid var(--mace-line);padding-bottom:.65rem}.platform-account-row:last-child{border-bottom:0}.platform-account-row label{display:grid;gap:.25rem;font-size:.75rem;color:var(--mace-muted)}.platform-account-row input{min-width:0;border:1px solid #aaa4a0;padding:.5rem}.platform-account-row button{margin-bottom:0}@media(max-width:760px){.platform-account-row{grid-template-columns:1fr 1fr}.platform-account-row button{grid-column:1/-1}}
.platform-accounts-cell{min-width:34rem}.platform-account-display{display:grid;grid-template-columns:minmax(10rem,1.25fr) minmax(8rem,1fr) minmax(8rem,1fr);gap:.55rem;border:1px solid var(--mace-line);border-left:3px solid var(--mace-teal);background:var(--mace-mist);padding:.5rem .6rem;margin:.25rem 0}.platform-account-display>div{display:grid;gap:.13rem;min-width:0}.platform-account-display span{font-size:.68rem;color:var(--mace-muted);text-transform:uppercase;letter-spacing:.03em}.platform-account-display strong,.platform-account-display code{font-size:.78rem;overflow-wrap:anywhere;color:var(--mace-ink);font-family:inherit}.platform-account-display code{font-weight:600}.platform-account-display p{grid-column:1/-1;margin:.1rem 0 0;font-size:.75rem;color:var(--mace-muted);overflow-wrap:anywhere}@media(max-width:760px){.platform-accounts-cell{min-width:24rem}.platform-account-display{grid-template-columns:1fr}.platform-account-display p{grid-column:auto}}
#platform-dialog{width:min(70rem,calc(100% - 2rem))}@media(max-width:760px){#platform-dialog{width:min(31rem,calc(100% - 2rem))}}
