:root{--bg:#f5f8fc;--panel:#fff;--ink:#111827;--muted:#667085;--line:#e4e9f0;--accent:#0b63f6;--accent-dark:#084cc7;--accent-soft:#eaf3ff;--brand-gray:#4a4a4a;--brand-blue:#0b63f6;--brand-sky:#2ea3ff;--brand-cyan:#60c2ff;--success:#067647;--success-bg:#ecfdf3;--warning:#b54708;--warning-bg:#fffaeb;--danger:#b42318;--danger-bg:#fff1f0;--sidebar:#17263b;--radius:16px;--radius-sm:10px;--shadow:0 12px 34px rgba(20,56,100,.08);--sidebar-width:270px)}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}a{color:inherit}button,input,select,textarea{font:inherit}.muted,.text-muted{color:var(--muted)!important}
.app-shell{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;background:var(--sidebar);color:#fff;z-index:1040;border-right:1px solid #202024;transition:transform .22s ease}.app-sidebar-brand{height:90px;min-height:90px;padding:18px 22px;display:flex;align-items:center;border-bottom:1px solid #222226}.app-sidebar-brand a{display:flex;align-items:center;min-width:0}.app-sidebar-brand img{display:block;width:185px;height:50px;object-fit:contain;object-position:left center;background:#fff;border-radius:10px;padding:8px 10px}.app-sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:28px;line-height:1}.app-sidebar-scroll{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#3b3b40 transparent;padding-bottom:16px}.app-profile{display:flex;align-items:center;gap:11px;margin:18px 12px 2px;padding:11px;border:1px solid #29292e;border-radius:12px;background:#151518;color:#fff;text-decoration:none}.app-profile:hover{background:#1b1b1f;color:#fff}.app-profile img,.app-profile-initial{width:38px;height:38px;flex:0 0 38px;border-radius:50%;object-fit:cover}.app-profile-initial,.app-user-initial{display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:900;box-shadow:0 0 0 4px rgba(11,99,246,.14)}.app-profile-copy{display:flex;flex-direction:column;min-width:0}.app-profile-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.app-profile-copy small{color:#92949c;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav-label{padding:24px 22px 9px;color:#7f8088;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.app-nav{display:flex;flex-direction:column;gap:4px;padding:0 12px}.app-nav-link,.app-nav-group>summary{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:10px;color:#c9cbd1;text-decoration:none;font-weight:650;transition:.18s ease;cursor:pointer;list-style:none}.app-nav-link:hover,.app-nav-group>summary:hover{background:#17171a;color:#fff}.app-nav-link.active{background:linear-gradient(90deg,rgba(11,99,246,.28),rgba(46,163,255,.10));color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.app-nav-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:#1d1d20;color:#e7e7e9;font-size:14px}.app-nav-link.active .app-nav-icon,.app-nav-group[open]>summary .app-nav-icon{background:var(--accent);color:#fff}.app-nav-group{margin-top:5px}.app-nav-group>summary{justify-content:space-between;margin:0 12px}.app-nav-group>summary::-webkit-details-marker,.app-nav-nested>summary::-webkit-details-marker{display:none}.app-nav-group>summary>span:first-child{display:flex;align-items:center;gap:11px}.app-chevron{font-size:15px;transition:transform .2s}.app-nav-group[open]>summary .app-chevron{transform:rotate(180deg)}.app-subnav{margin:4px 0 8px;padding-left:48px}.app-subnav>.app-nav-link{padding:8px 11px;font-size:12px;color:#aeb0b7}.app-nav-nested{border-left:1px solid #2a2a2f;margin:2px 0}.app-nav-nested>summary{padding:9px 11px;color:#b9bbc2;font-size:12px;font-weight:700;cursor:pointer;list-style:none}.app-nav-nested>summary:after{content:'+';float:right}.app-nav-nested[open]>summary:after{content:'−'}.app-nav-nested>a{display:block;padding:7px 12px 7px 24px;color:#92949c;text-decoration:none;font-size:12px;border-radius:7px}.app-nav-nested>a:hover{background:#18181c;color:#fff}.app-logout-nav{margin-top:12px}.app-sidebar-footer{margin-top:auto;padding:16px 22px 20px;border-top:1px solid #222226;color:#8e9098;display:flex;align-items:center;gap:10px}.app-sidebar-footer small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version-chip{font-size:10px;font-weight:800;color:#fff;border:1px solid #343438;border-radius:999px;padding:4px 7px;background:#17171a}.app-main{min-height:100vh;margin-left:var(--sidebar-width);transition:margin .22s ease}.app-topbar{position:sticky;top:0;z-index:1030;height:78px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.app-topbar-left,.app-topbar-actions,.app-user{display:flex;align-items:center}.app-topbar-left{gap:14px}.app-topbar-actions{gap:12px}.app-topbar-title{font-size:17px;font-weight:800}.app-topbar-subtitle{margin-top:2px;color:var(--muted);font-size:12px}.app-menu-toggle{border:1px solid var(--line);background:#fff;border-radius:10px;width:42px;height:42px;cursor:pointer}.app-company-button,.app-logout{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;color:#36363b;text-decoration:none;font-weight:700;font-size:12px}.app-company-button:hover,.app-logout:hover{border-color:#c7c9ce;color:var(--accent)}.app-company-dot{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--accent)}.app-user{gap:10px;padding:5px 7px;text-decoration:none;border-radius:10px}.app-user:hover{background:#f7f7f8;color:inherit}.app-user img,.app-user-initial{width:38px;height:38px;flex:0 0 38px;border-radius:50%;object-fit:cover}.app-user-meta{display:flex;flex-direction:column;min-width:0}.app-user-meta strong{font-size:12px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-user-meta small{font-size:10px;color:var(--muted);margin-top:2px}.app-page{max-width:1680px;margin:0 auto;padding:30px 30px 50px;min-height:calc(100vh - 122px)}.app-footer{padding:17px 30px;text-align:center;color:var(--muted);font-size:11px;border-top:1px solid var(--line);background:#fff}.app-loader{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:#fff;transition:opacity .25s,visibility .25s}.app-loader img{max-width:180px;max-height:80px;object-fit:contain}.app-loader.is-hidden{opacity:0;visibility:hidden}.app-backdrop{display:none}
.sidebar-collapsed .app-sidebar{transform:translateX(-100%)}.sidebar-collapsed .app-main{margin-left:0}.sidebar-collapsed .app-menu-toggle{color:var(--accent);border-color:#9cc5ff}
h1,h2,h3,h4,h5,h6{color:var(--ink);font-weight:800;letter-spacing:-.015em}.page-title{padding:0!important;margin:0 0 22px!important}.page-title .row{align-items:center}.page-title h3{margin:0;font-size:26px}.breadcrumb{margin:0;background:transparent!important}.breadcrumb-item{color:var(--muted)}.breadcrumb-item.active{color:var(--ink)}
.card{border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:var(--panel);box-shadow:var(--shadow)!important;overflow:visible}.card-header{padding:20px 22px!important;background:transparent!important;border-bottom:1px solid var(--line)!important;border-radius:var(--radius) var(--radius) 0 0!important}.card-header:first-child{border-radius:var(--radius) var(--radius) 0 0!important}.card-header h3,.card-header h4,.card-header h5{margin:0}.card-body{padding:22px}.card-footer{background:#fafafa!important;border-top:1px solid var(--line)!important;padding:16px 22px!important}.widget-content,.table-responsive{border-radius:var(--radius-sm)}
.btn{border-radius:9px;font-weight:750;padding:.58rem .9rem;box-shadow:none!important;transition:.16s ease}.btn-sm{border-radius:8px;padding:.4rem .66rem}.btn-primary{background:linear-gradient(135deg,var(--brand-blue),var(--brand-sky))!important;border-color:var(--brand-blue)!important;color:#fff!important}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-dark),#188fe8)!important;border-color:var(--accent-dark)!important;transform:translateY(-1px)}.btn-danger{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.btn-danger:hover{background:#912018!important;border-color:#912018!important;transform:translateY(-1px)}.btn-secondary,.btn-light{background:#fff!important;border-color:var(--line)!important;color:#27272b!important}.btn-secondary:hover,.btn-light:hover{background:#f5f5f6!important;border-color:#c9cbd0!important}.btn-success{background:var(--success)!important;border-color:var(--success)!important}.btn-warning{background:#f79009!important;border-color:#f79009!important}.btn-info{background:#344054!important;border-color:#344054!important;color:#fff!important}.btn-outline-primary{color:var(--accent)!important;border-color:var(--accent)!important}.btn-outline-primary:hover{background:var(--accent)!important;color:#fff!important}
.form-label,label{font-weight:700;color:#343439;margin-bottom:7px}.form-control,.form-select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=time],textarea,select{border:1px solid #d8dadd;border-radius:9px;background:#fff;color:var(--ink);min-height:42px;box-shadow:none}.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,99,246,.13)!important;outline:0}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}.input-group-text{border-color:#d8dadd;background:#f7f7f8}.form-text{color:var(--muted)}fieldset{border-color:var(--line)!important}
.table{margin-bottom:0;color:var(--ink);vertical-align:middle}.table>:not(caption)>*>*{padding:.82rem .85rem;border-bottom-color:var(--line)}.table thead th{background:#f7f7f8!important;color:#4b4c52;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid var(--line)!important;white-space:nowrap}.table-hover>tbody>tr:hover>*{background:#f5f9ff}.table-striped>tbody>tr:nth-of-type(odd)>*{background:#fbfbfc}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid var(--line)!important;border-radius:8px!important}.page-link{color:var(--ink);border-color:var(--line)}.page-item.active .page-link{background:var(--accent);border-color:var(--accent)}
.modal-content{border:0;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.modal-header{padding:20px 22px;border-bottom:1px solid var(--line)}.modal-body{padding:22px}.modal-footer{padding:16px 22px;border-top:1px solid var(--line);background:#fafafa;border-radius:0 0 18px 18px}.modal-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:10px;font-weight:900}.modal-title{margin-top:3px}.offcanvas,.dropdown-menu{border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.alert{border:0;border-radius:11px}.alert-success{background:var(--success-bg);color:var(--success)}.alert-danger{background:var(--danger-bg);color:var(--danger)}.alert-warning{background:var(--warning-bg);color:var(--warning)}.alert-info{background:#eff8ff;color:#175cd3}.badge{font-weight:800;border-radius:999px}.badge.bg-primary,.badge-primary{background:var(--accent)!important}.nav-tabs{border-bottom-color:var(--line)}.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;color:var(--muted);font-weight:750}.nav-tabs .nav-link.active{color:var(--accent);border-bottom-color:var(--accent);background:transparent}.accordion-item{border-color:var(--line);border-radius:10px!important;overflow:hidden;margin-bottom:8px}.accordion-button{font-weight:750}.accordion-button:not(.collapsed){color:var(--accent);background:var(--accent-soft);box-shadow:none}.accordion-button:focus{box-shadow:0 0 0 3px rgba(11,99,246,.12)}
.bg-primary,.bg-danger{background-color:var(--accent)!important}.text-primary,.txt-primary{color:var(--accent)!important}.border-primary{border-color:var(--accent)!important}.progress-bar{background:var(--accent)}.pagination{gap:4px}.pagination .page-link{border-radius:8px!important}.list-group-item{border-color:var(--line)}
.theme-dark{--bg:#111214;--panel:#191a1d;--ink:#f5f5f6;--muted:#a3a5ad;--line:#2e3035;--shadow:0 12px 34px rgba(0,0,0,.2);color-scheme:dark}.theme-dark .app-topbar,.theme-dark .app-footer,.theme-dark .card,.theme-dark .modal-content,.theme-dark .form-control,.theme-dark .form-select,.theme-dark input,.theme-dark textarea,.theme-dark select,.theme-dark .app-company-button,.theme-dark .app-logout,.theme-dark .app-menu-toggle{background:#191a1d;color:var(--ink)}.theme-dark .table thead th,.theme-dark .card-footer,.theme-dark .modal-footer,.theme-dark .input-group-text{background:#222327!important;color:#d9dae0}.theme-dark .table-striped>tbody>tr:nth-of-type(odd)>*{background:#1d1e21}.theme-dark .table-hover>tbody>tr:hover>*{background:#272022}.theme-dark .app-user:hover{background:#242529}.theme-dark .btn-secondary,.theme-dark .btn-light{background:#242529!important;color:#f5f5f6!important;border-color:#36383e!important}.theme-dark .text-dark{color:#f5f5f6!important}.theme-dark .bg-white{background:#191a1d!important}
.auth-page{min-height:100vh;background:radial-gradient(circle at 18% 16%,rgba(46,163,255,.22) 0 86px,transparent 87px),radial-gradient(circle at 82% 14%,rgba(11,99,246,.12) 0 110px,transparent 111px),radial-gradient(circle at 72% 88%,rgba(96,194,255,.18) 0 180px,transparent 181px),linear-gradient(145deg,#f8fbff 0%,#edf6ff 48%,#ffffff 100%);color:var(--ink)}.auth-page .login-section,.auth-page .auth-bg{position:relative;z-index:2;background:transparent!important;min-height:100vh!important}.auth-page .card{opacity:1!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:0 30px 90px rgba(0,0,0,.35)!important}.auth-page .card:before{content:'';display:block;height:5px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-sky),var(--brand-cyan));border-radius:16px 16px 0 0}.auth-page .card-body{padding:34px!important}.auth-page a{color:var(--accent);font-weight:700}.auth-page .bg-stage,.auth-page .float-layer,.auth-page .login-overlay{display:none!important}.public-page{min-height:100vh;background:var(--bg)}.public-main{max-width:1180px;margin:0 auto;padding:32px}
@media(max-width:1100px){.app-sidebar{transform:translateX(-100%)}.app-main{margin-left:0}.sidebar-collapsed .app-sidebar{transform:translateX(-100%)}html.sidebar-open .app-sidebar{transform:translateX(0)}html.sidebar-open .app-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1035}.app-sidebar-close{display:block}.app-page{padding:24px}.app-topbar{padding:0 22px}}
@media(max-width:760px){.app-topbar{height:68px;padding:0 14px}.app-topbar-actions{gap:6px}.app-user-meta,.app-logout{display:none}.app-page{padding:18px 14px 36px}.app-topbar-title{font-size:14px}.app-topbar-subtitle{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-body{padding:16px}.card-header{padding:16px!important}.page-title h3{font-size:22px}.public-main{padding:16px}.auth-page .card-body{padding:24px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.auth-logo{display:block;max-width:220px;max-height:74px;margin-left:auto;margin-right:auto;object-fit:contain}
.app-icon-button{width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:#303035;cursor:pointer;font-size:18px}.app-icon-button:hover{color:var(--accent);border-color:#9cc5ff}
.theme-dark .app-icon-button{background:#191a1d;color:#f5f5f6;border-color:var(--line)}
.app-sidebar-close{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;margin-left:auto;border:1px solid #303036;border-radius:9px;background:#17171a;color:#fff;font-size:25px;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.app-sidebar-close:hover,.app-sidebar-close:focus-visible{background:var(--accent);border-color:var(--accent);transform:scale(1.04);outline:0}
.error-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.error-card{width:min(100%,560px);padding:48px;text-align:center;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.32);border-top:5px solid var(--accent)}.error-code{font-size:clamp(64px,13vw,112px);font-weight:950;line-height:1;letter-spacing:-.08em;color:#ececef}.error-card h1{font-size:28px;margin:10px 0}.error-card p{color:var(--muted);font-size:15px;line-height:1.7;margin:0 auto 24px;max-width:430px}

/* Catalog and settings system, aligned with the travel project's Campus view */
.catalog-ui-view .app-page,.settings-ui-view .app-page{padding-top:34px;min-height:calc(100vh - 78px)}
.catalog-ui-view .app-page>.pt-3,.catalog-ui-view .app-page>.py-3,.catalog-ui-view .app-page>.container-fluid,.settings-ui-view .app-page>.row.pt-3{padding-top:0!important}
.catalog-ui-view .pos-module,.catalog-ui-view .app-page>.pt-3,.catalog-ui-view .app-page>.py-3{position:relative}
.catalog-ui-view .card,.settings-ui-view .card{box-shadow:0 8px 24px rgba(1,1,1,.045)!important}
.catalog-ui-view .card-header,.settings-ui-view .card-header{padding:22px 24px!important}
.catalog-ui-view .card-header>div:first-child h4,.catalog-ui-view .card-header>div:first-child h5,.catalog-ui-view .card-header>h4,.catalog-ui-view .card-header>h5,.settings-ui-view .card-header h5{font-size:22px;line-height:1.2}
.catalog-ui-view .card-header>div:first-child h4:before,.catalog-ui-view .card-header>div:first-child h5:before,.catalog-ui-view .card-header>h4:before,.catalog-ui-view .card-header>h5:before,.settings-ui-view .card-header h5:before{content:'Administración';display:block;margin-bottom:7px;color:var(--accent);font-size:10px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.catalog-ui-view .pos-module>.card:first-of-type,.catalog-ui-view .app-page>.pt-3>.card:first-of-type{border-top:4px solid var(--accent)!important}
.catalog-ui-view .card-header small{display:block;margin-top:6px;font-size:13px;line-height:1.5}
.catalog-ui-view .card-body>form.row,.catalog-ui-view form[data-pos-list-filter],.catalog-ui-view .card-body.border-bottom form,.catalog-ui-view form.row.g-3.mb-3{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fafafa;margin-left:0;margin-right:0;margin-bottom:20px!important;align-items:end}
.catalog-ui-view .card-body>form.row>.col-12,.catalog-ui-view form.row.g-3.mb-3>.col-12{margin-top:12px}
.catalog-ui-view .card-body>form.row label,.catalog-ui-view form[data-pos-list-filter] label{font-size:11px;text-transform:uppercase;letter-spacing:.035em;color:#555860}
.catalog-ui-view .card-body>form.row .btn,.catalog-ui-view form[data-pos-list-filter] .btn{min-height:42px}
.catalog-ui-view .table-responsive{border:1px solid var(--line);border-radius:12px!important;background:var(--panel);overflow:auto}
.catalog-ui-view .card-body.p-0>.table-responsive,.catalog-ui-view .card>.table-responsive{border:0;border-radius:0 0 var(--radius) var(--radius)!important}
.catalog-ui-view .table thead th{padding:12px 14px!important;background:#f5f5f6!important;color:#45464d;font-size:10px;letter-spacing:.065em;border-bottom:1px solid #dfe1e4!important}
.catalog-ui-view .table tbody td{padding:12px 14px!important;font-size:13px}
.catalog-ui-view .table tbody tr:last-child td{border-bottom:0}
.catalog-ui-view .table tbody tr:hover>*{background:#fff7f7!important}
.catalog-ui-view .table .sortable{cursor:pointer}.catalog-ui-view .table .sortable:hover{color:var(--accent)!important}
.catalog-ui-view .badge,.catalog-ui-view a.badge,.catalog-ui-view button.badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:5px 9px!important;border:1px solid transparent;border-radius:8px!important;text-decoration:none;font-size:11px;line-height:1;font-weight:800}
.catalog-ui-view a.badge-info,.catalog-ui-view button.badge-info,.catalog-ui-view .badge-info{background:#fff!important;color:#343439!important;border-color:#d9dbdf!important}
.catalog-ui-view a.badge-info:hover,.catalog-ui-view button.badge-info:hover{border-color:#b9bbc1!important;color:var(--accent)!important}
.catalog-ui-view .badge-danger,.catalog-ui-view button.badge-danger,.catalog-ui-view a.badge-danger{background:var(--danger-bg)!important;color:var(--danger)!important;border-color:#f3c2be!important}
.catalog-ui-view .badge-success,.catalog-ui-view .bg-success{background:var(--success-bg)!important;color:var(--success)!important;border-color:#abefc6!important}
.catalog-ui-view .badge-warning,.catalog-ui-view .bg-warning{background:var(--warning-bg)!important;color:var(--warning)!important;border-color:#fedf89!important}
.catalog-ui-view .d-flex.justify-content-left.align-items-center.small{padding:10px 2px;color:var(--muted);overflow-x:auto}.catalog-ui-view .d-flex.justify-content-left.align-items-center.small>div{flex-wrap:wrap}.catalog-ui-view .d-flex.justify-content-left.align-items-center.small strong{color:var(--ink)}
.catalog-ui-view .pagination{display:flex;flex-wrap:wrap;align-items:center;margin:18px 0 0}.catalog-ui-view .page-link{min-width:36px;text-align:center;font-size:12px;font-weight:750;background:var(--panel)}
.catalog-ui-view .modal-header{border-top:4px solid var(--accent);border-radius:18px 18px 0 0}.catalog-ui-view .modal-title:before{content:'Confirmación';display:block;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}
.catalog-ui-view .img-thumbnail,.settings-ui-view .img-thumbnail{border:1px solid var(--line);border-radius:12px;padding:7px;background:var(--panel)}
.catalog-ui-view hr,.settings-ui-view hr{border-color:var(--line);opacity:1}

.settings-ui-view .app-page{max-width:1420px}.settings-ui-view .app-page>form:first-of-type>.row,.company-ui-view .app-page>.row{margin:0}
.settings-ui-view .app-page>form:first-of-type>.row>.col-12,.company-ui-view .app-page>.row>.col-12{padding:0}
.settings-ui-view .card{border-top:4px solid var(--accent)!important}
.settings-ui-view .card-body{padding:26px}
.settings-ui-view .profile-title{padding:0}.settings-ui-view .profile-title .media{display:flex;align-items:center;gap:15px;padding:16px 18px;background:linear-gradient(110deg,#fff 0%,#fff 72%,var(--accent-soft) 100%);border:1px solid var(--line);border-radius:14px}.settings-ui-view .profile-title .media img{width:70px;height:70px;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 1px var(--line),0 8px 22px rgba(1,1,1,.1)}.settings-ui-view .profile-title .media-body{padding:0}.settings-ui-view .profile-title h3{margin:0 0 4px!important;font-size:21px}.settings-ui-view .profile-title p{margin:0;color:var(--muted)}
.settings-ui-view form .row.g-3{row-gap:5px}.settings-ui-view form .col-12.d-flex.gap-2{padding-top:12px;border-top:1px solid var(--line);margin-top:20px}
.settings-ui-view .default-according{margin-top:20px}.settings-ui-view .default-according .card{border-top:1px solid var(--line)!important}.settings-ui-view .default-according .card-header{padding:0!important}.settings-ui-view .default-according .card-header .btn-link{width:100%;padding:19px 22px!important;text-align:left;color:var(--ink);text-decoration:none;font-weight:850}.settings-ui-view .default-according .card-header .btn-link:hover{color:var(--accent)}.settings-ui-view .default-according .card-header .btn-link:before{content:'Preferencias';display:block;margin-bottom:5px;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.settings-ui-view h4.mb-2{font-size:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.company-ui-view #form-data>.row:first-of-type{padding:15px 4px 4px;border-bottom:1px solid var(--line);margin:0 0 4px}.company-ui-view input[type=file]{padding:8px}.company-ui-view [id^=preview-wrapper]{display:inline-block;margin-right:12px;padding:8px;background:#fafafa;border:1px solid var(--line);border-radius:12px}

.theme-dark.catalog-ui-view .card-body>form.row,.theme-dark.catalog-ui-view form[data-pos-list-filter],.theme-dark.catalog-ui-view .card-body.border-bottom form,.theme-dark.catalog-ui-view form.row.g-3.mb-3,.theme-dark.company-ui-view [id^=preview-wrapper]{background:#202125}.theme-dark.catalog-ui-view .table thead th{background:#222327!important;color:#d7d8dc}.theme-dark.catalog-ui-view .table tbody tr:hover>*{background:#292225!important}.theme-dark.settings-ui-view .profile-title .media{background:linear-gradient(110deg,#202125 0%,#202125 72%,#351718 100%)}.theme-dark.settings-ui-view .profile-title .media img{border-color:#2b2c31}
@media(max-width:760px){.catalog-ui-view .app-page,.settings-ui-view .app-page{padding-top:20px}.catalog-ui-view .card-header,.settings-ui-view .card-header{padding:18px!important}.catalog-ui-view .card-header>div:first-child h4,.catalog-ui-view .card-header>div:first-child h5,.settings-ui-view .card-header h5{font-size:19px}.catalog-ui-view .card-header.d-flex{align-items:flex-start!important;gap:12px}.catalog-ui-view .card-header .d-flex.gap-2{flex-wrap:wrap}.settings-ui-view .card-body{padding:18px}.settings-ui-view .profile-title .media{align-items:flex-start}}

/* Reusable Campus-style controls for catalog tables without native server pagination */
.catalog-list-tools{margin:0 0 12px}.catalog-list-filters{display:grid;grid-template-columns:minmax(150px,190px) minmax(190px,1fr) minmax(160px,190px);gap:12px;padding:15px 16px;background:#fafafa;border:1px solid var(--line);border-radius:12px}.catalog-list-filters label{display:flex;flex-direction:column;gap:6px;margin:0;color:#555860;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.catalog-list-filters select{width:100%;min-height:40px}.catalog-list-status{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:11px 2px}.catalog-list-status-bottom{margin-top:3px}.catalog-list-summary{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.catalog-list-summary strong{color:var(--ink);font-size:14px}.catalog-list-summary span{padding-left:9px;border-left:1px solid var(--line)}.catalog-list-pagination{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.catalog-list-page{min-width:34px;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.catalog-list-page:hover:not(:disabled),.catalog-list-page.active{border-color:var(--accent);background:var(--accent);color:#fff}.catalog-list-page.disabled{opacity:.45;cursor:not-allowed}.theme-dark .catalog-list-filters{background:#202125}.theme-dark .catalog-list-page{background:#202125}
@media(max-width:760px){.catalog-list-filters{grid-template-columns:1fr}.catalog-list-status{align-items:flex-start;flex-direction:column}.catalog-list-pagination{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}}
.catalog-server-status{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:13px 16px}.catalog-server-status-top{border-bottom:1px solid var(--line)}.catalog-server-status-bottom{border-top:1px solid var(--line)}
@media(max-width:760px){.catalog-server-status{align-items:flex-start;flex-direction:column}.catalog-server-status nav{width:100%;overflow-x:auto;padding-bottom:4px}.catalog-server-status .pagination{flex-wrap:nowrap}}

/* Settings forms: account and company */
.settings-ui-view .settings-section{padding:20px 0 24px;border-bottom:1px solid var(--line)}
.settings-ui-view .settings-section:first-of-type{padding-top:0}.settings-ui-view .settings-section.mb-0{border-bottom:0;padding-bottom:4px}
.settings-ui-view .settings-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:16px}
.settings-ui-view .settings-section-heading h6{margin:0;font-size:15px;font-weight:850;color:var(--ink)}
.settings-ui-view .settings-section-heading span{font-size:12px;color:var(--muted)}
.settings-ui-view .settings-actions{display:flex;gap:10px;align-items:center;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}
.account-ui-view .account-profile-summary{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(110deg,#fff 0%,#fff 72%,var(--accent-soft) 100%)}
.account-ui-view .account-profile-summary>img{width:62px;height:62px;object-fit:cover;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 1px var(--line)}
.account-ui-view .account-profile-name{font-size:18px;font-weight:850;line-height:1.25}
.account-ui-view .account-avatar-editor{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:start}
.account-ui-view .account-avatar-preview{width:132px;height:132px;padding:7px;border:1px solid var(--line);border-radius:16px;background:#fafafa}
.account-ui-view .account-avatar-preview img{width:100%;height:100%;object-fit:cover;border-radius:11px}
.account-ui-view .account-avatar-fields{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);gap:16px;align-items:end}
.account-ui-view .account-file-picker,.company-ui-view .company-file-picker{display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:12px 15px;border:1px dashed #c8cbd0;border-radius:12px;background:#fafafa;cursor:pointer;transition:.15s ease}
.account-ui-view .account-file-picker:hover,.company-ui-view .company-file-picker:hover{border-color:var(--accent);background:var(--accent-soft)}
.account-ui-view .account-file-picker-title{font-weight:800;color:var(--ink)}.account-ui-view .account-file-picker-help{margin-top:3px;font-size:11px;color:var(--muted)}
.company-ui-view .company-brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.company-ui-view .company-brand-item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:15px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fafafa}
.company-ui-view .company-brand-preview{display:flex!important;align-items:center;justify-content:center;width:112px;height:112px;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.company-ui-view .company-brand-preview[style*="display:none"]{display:flex!important}.company-ui-view .company-brand-preview img[src=""]{display:none}
.company-ui-view .company-brand-preview img{max-width:100%;max-height:100%;object-fit:contain}
.company-ui-view .company-brand-copy{min-width:0}.company-ui-view .company-brand-copy>strong{display:block;font-size:14px}.company-ui-view .company-brand-copy>span{display:block;margin:3px 0 10px;font-size:11px;color:var(--muted)}
.company-ui-view .company-file-picker{display:inline-flex;min-height:auto;padding:8px 11px;font-size:12px;font-weight:800}
.theme-dark .account-ui-view .account-profile-summary{background:linear-gradient(110deg,#202125 0%,#202125 72%,#351718 100%)}
.theme-dark .account-ui-view .account-avatar-preview,.theme-dark .account-ui-view .account-file-picker,.theme-dark .company-ui-view .company-brand-item,.theme-dark .company-ui-view .company-file-picker{background:#202125}
/* Align generated client-side list counters and pagers with the table content. */
.catalog-ui-view .catalog-list-status{padding-left:20px;padding-right:20px}
@media(max-width:900px){.account-ui-view .account-avatar-fields{grid-template-columns:1fr}.company-ui-view .company-brand-grid{grid-template-columns:1fr}}
@media(max-width:600px){.settings-ui-view .settings-section-heading{align-items:flex-start;flex-direction:column;gap:4px}.account-ui-view .account-avatar-editor{grid-template-columns:1fr}.account-ui-view .account-avatar-preview{width:112px;height:112px}.company-ui-view .company-brand-item{grid-template-columns:1fr}.company-ui-view .company-brand-preview{width:100%;height:120px}.settings-ui-view .settings-actions{flex-wrap:wrap}}

/* List action columns: always compact, horizontal and visually stable. */
.catalog-ui-view .table th.list-actions,.catalog-ui-view .table td.list-actions{width:1%;min-width:92px;white-space:nowrap;vertical-align:middle}
.catalog-ui-view .table td.list-actions{text-align:left!important}
.catalog-ui-view .table td.list-actions>.btn,.catalog-ui-view .table td.list-actions>a.btn,.catalog-ui-view .table td.list-actions>form,.catalog-ui-view .table td.list-actions>form>.btn,.catalog-ui-view .table td.list-actions>.badge,.catalog-ui-view .table td.list-actions>form>.badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin:1px 4px 1px 0}
.catalog-ui-view .table td.list-actions>form{display:inline-block!important;margin:0 4px 0 0}
.catalog-ui-view .table td.list-actions .btn-sm{padding:.34rem .58rem;font-size:11px;line-height:1.15}
.catalog-ui-view .table tbody td{vertical-align:middle}


/* Global modern toast notifications */
.app-toast-container{position:fixed;top:86px;right:22px;z-index:11050;display:flex;flex-direction:column;align-items:flex-end;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.app-toast{--toast-accent:#64748b;--toast-soft:#f1f5f9;position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 30px;gap:11px;align-items:start;width:100%;padding:14px 14px 17px;background:rgba(255,255,255,.97);border:1px solid rgba(15,23,42,.10);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.16),0 3px 12px rgba(15,23,42,.08);overflow:hidden;opacity:0;transform:translate3d(18px,-8px,0) scale(.985);transition:opacity .2s ease,transform .2s ease;pointer-events:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.app-toast.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}.app-toast.is-leaving{opacity:0;transform:translate3d(12px,-4px,0) scale(.985)}
.app-toast--success{--toast-accent:#159447;--toast-soft:#eaf8ef}.app-toast--error{--toast-accent:#dc2626;--toast-soft:#fff0f0}.app-toast--warning{--toast-accent:#d97706;--toast-soft:#fff7e8}.app-toast--info{--toast-accent:#2563eb;--toast-soft:#eef5ff}
.app-toast__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:var(--toast-soft);color:var(--toast-accent)}.app-toast__icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.app-toast__content{min-width:0;padding-top:1px}.app-toast__title{margin:0 0 3px;color:#111827;font-size:13px;font-weight:850;line-height:1.25}.app-toast__message{color:#5f6570;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.app-toast__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-2px -2px 0 0;padding:0;border:0;border-radius:8px;background:transparent;color:#8b919b;cursor:pointer;transition:background .15s ease,color .15s ease}.app-toast__close:hover{background:#f3f4f6;color:#111827}.app-toast__close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.app-toast__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(15,23,42,.045)}.app-toast__progress span{display:block;width:100%;height:100%;background:var(--toast-accent);transform-origin:left center}@keyframes appToastProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.theme-dark .app-toast{background:rgba(31,32,36,.97);border-color:rgba(255,255,255,.09);box-shadow:0 18px 50px rgba(0,0,0,.42),0 3px 12px rgba(0,0,0,.28)}.theme-dark .app-toast__title{color:#f4f4f5}.theme-dark .app-toast__message{color:#b9bcc3}.theme-dark .app-toast__close{color:#9ca0a8}.theme-dark .app-toast__close:hover{background:#2b2d31;color:#fff}.theme-dark .app-toast__progress{background:rgba(255,255,255,.06)}.theme-dark .app-toast--success{--toast-soft:#173526}.theme-dark .app-toast--error{--toast-soft:#3d1f22}.theme-dark .app-toast--warning{--toast-soft:#3b2e17}.theme-dark .app-toast--info{--toast-soft:#1c2f4b}
@media(max-width:600px){.app-toast-container{top:74px;right:14px;left:14px;width:auto;align-items:stretch}.app-toast{grid-template-columns:38px minmax(0,1fr) 28px;padding:13px 12px 16px}.app-toast__icon{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.app-toast{transition:none}.app-toast__progress span{animation:none!important}}

/* Centro de notificaciones */
.app-notifications{position:relative}.app-notification-button{position:relative}.app-notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:linear-gradient(135deg,var(--brand-blue),var(--brand-sky));color:#fff;font-size:10px;font-weight:800;line-height:18px;box-shadow:0 0 0 2px var(--bs-body-bg,#fff)}
.app-notification-panel{position:absolute;top:calc(100% + 12px);right:0;width:min(390px,calc(100vw - 24px));background:#fff;border:1px solid #e4e8ee;border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.18);z-index:1080;overflow:hidden}.app-notification-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #edf0f4}.app-notification-head>div{display:grid}.app-notification-head strong{font-size:14px}.app-notification-head small{font-size:11px;color:#7a8493}.app-notification-readall{border:0;background:transparent;color:var(--accent);font-weight:700;font-size:11px}.app-notification-list{max-height:420px;overflow:auto}.app-notification-item{display:flex;gap:11px;padding:13px 16px;color:inherit;text-decoration:none;border-bottom:1px solid #f0f2f5;background:#fff}.app-notification-item:hover{background:#fafbfc;color:inherit}.app-notification-item.is-unread{background:#f4f9ff}.app-notification-status{flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin-top:6px;background:#94a3b8}.app-notification-status--warning{background:#f59e0b}.app-notification-status--danger,.app-notification-status--error{background:#e9161b}.app-notification-status--success{background:#16a34a}.app-notification-status--info{background:#2563eb}.app-notification-copy{display:grid;min-width:0;gap:3px}.app-notification-copy strong{font-size:12px}.app-notification-copy span{font-size:12px;line-height:1.35;color:#536070}.app-notification-copy small{font-size:10px;color:#929baa}.app-notification-empty{padding:28px 18px;text-align:center;color:#7a8493;font-size:12px}.theme-dark .app-notification-panel,.theme-dark .app-notification-item{background:#171a20;border-color:#2b3038}.theme-dark .app-notification-item.is-unread{background:#17263b}.theme-dark .app-notification-item:hover{background:#20242b}.theme-dark .app-notification-copy span{color:#b7c0cc}.theme-dark .app-notification-head{border-color:#2b3038}

/* Notification center actions */
.app-notification-actions{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #edf0f4;background:#fafbfc}
.app-notification-action{flex:1;min-height:32px;padding:7px 10px;border:1px solid #dfe4ea;border-radius:9px;background:#fff;color:#374151;font-size:10.5px;font-weight:800;line-height:1.2;cursor:pointer;transition:.15s ease}
.app-notification-action:hover:not(:disabled){border-color:#c8ced7;background:#f5f6f8}
.app-notification-action--danger{border-color:#f1b8ba;color:#d6151a;background:#fffafa}
.app-notification-action--danger:hover:not(:disabled){border-color:#e9161b;background:#fff1f1}
.app-notification-action:disabled{opacity:.45;cursor:not-allowed}
.theme-dark .app-notification-actions{background:#1d2026;border-color:#2b3038}
.theme-dark .app-notification-action{background:#20242b;border-color:#343a44;color:#d8dde5}
.theme-dark .app-notification-action:hover:not(:disabled){background:#292e36;border-color:#454c58}
.theme-dark .app-notification-action--danger{color:#ff8589;background:#281d1f;border-color:#593034}
@media(max-width:480px){.app-notification-actions{flex-direction:column}.app-notification-action{width:100%}}

/* User editor follows the same visual language as Mi cuenta. */
.user-settings-ui-view .card-header form{margin:0}
.user-settings-ui-view .account-profile-summary{margin-top:0}
.user-settings-ui-view .settings-section:first-of-type{padding-top:0}

/* Notification center: keep the dropdown fully inside narrow viewports. */
@media (max-width:760px){
  .app-notification-panel{
    position:fixed;
    top:74px;
    left:12px;
    right:12px;
    width:auto;
    max-width:none;
    max-height:calc(100vh - 88px);
    border-radius:14px;
  }
  .app-notification-list{
    max-height:calc(100vh - 238px);
  }
  .app-notification-head{
    padding:13px 14px;
  }
  .app-notification-actions{
    padding:9px 10px;
    gap:7px;
  }
  .app-notification-item{
    padding:12px 14px;
  }
}
@media (max-width:480px){
  .app-notification-panel{
    top:72px;
    left:8px;
    right:8px;
    max-height:calc(100vh - 82px);
  }
  .app-notification-actions{
    flex-direction:column;
  }
  .app-notification-action{
    width:100%;
  }
  .app-notification-list{
    max-height:calc(100vh - 244px);
  }
}

/* POS responsive refinements */
@media (max-width:767.98px){
  .pos-module .row.g-2,.pos-module .row.g-3{--bs-gutter-x:.75rem}
  .pos-module .form-control,.pos-module .form-select{min-height:42px}
  .pos-module textarea.form-control{min-height:86px}
  .pos-module .btn-sm{min-height:36px;display:inline-flex;align-items:center;justify-content:center}
  .pos-module .table-responsive{border-radius:10px}
  #posConfigForm .card-header{align-items:flex-start!important;flex-wrap:wrap}
  #posConfigForm .card-header>.d-flex{flex-wrap:wrap}
}
@media (max-width:575.98px){
  #posConfigForm .card-header>.d-flex{width:100%}
  #posConfigForm .card-header>.d-flex>.btn,#posConfigForm .card-header>.d-flex>a.btn{flex:1 1 auto}
  .pos-module .modal-dialog{margin:.5rem}
  .pos-module .modal-footer{gap:8px;flex-wrap:wrap}
  .pos-module .modal-footer .btn{flex:1 1 auto}
}

/* POS sidebar: active state for nested report, audit and catalog entries. */
.app-nav-nested>a.active{background:linear-gradient(90deg,rgba(11,99,246,.22),rgba(46,163,255,.07));color:#fff;box-shadow:inset 2px 0 0 var(--accent)}

/* Perfiles de seguridad */
.role-profile-shell{max-width:1380px;margin:0 auto}.role-profile-card{border:0;border-radius:18px;box-shadow:0 14px 34px rgba(15,23,42,.08);overflow:hidden}.role-profile-hero{padding:22px 24px;border-bottom:1px solid rgba(148,163,184,.22);background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(99,102,241,.03))}.role-profile-hero h5{margin:0 0 4px;font-weight:700}.role-profile-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.role-profile-section{border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:18px;background:var(--bs-body-bg,#fff)}.role-profile-section h6{font-weight:700;margin-bottom:14px}.role-permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.role-permission-card{border:1px solid rgba(148,163,184,.24);border-radius:16px;overflow:hidden;background:var(--bs-body-bg,#fff)}.role-permission-card-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;background:rgba(148,163,184,.08);border-bottom:1px solid rgba(148,163,184,.18)}.role-permission-card-head h6{margin:0;font-weight:700}.role-permission-card-head small{color:var(--bs-secondary-color,#6c757d)}.role-permission-list{padding:4px 16px}.role-permission-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid rgba(148,163,184,.16);cursor:pointer}.role-permission-item:last-child{border-bottom:0}.role-permission-copy{display:flex;flex-direction:column;min-width:0}.role-permission-copy strong{font-size:.92rem;font-weight:600}.role-permission-copy small{font-size:.72rem;color:var(--bs-secondary-color,#6c757d);word-break:break-word}.ios-switch{position:relative;display:inline-flex;flex:0 0 auto;width:46px;height:27px}.ios-switch input{position:absolute;opacity:0;pointer-events:none}.ios-switch-track{position:absolute;inset:0;border-radius:999px;background:#cbd5e1;transition:.2s ease;box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}.ios-switch-thumb{position:absolute;width:23px;height:23px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.25);transition:.2s ease}.ios-switch input:checked + .ios-switch-track{background:var(--accent)}.ios-switch input:checked + .ios-switch-track .ios-switch-thumb{transform:translateX(19px)}.ios-switch input:focus-visible + .ios-switch-track{outline:3px solid rgba(59,130,246,.25);outline-offset:2px}.security-list-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.security-list-actions form{margin:0}.security-list-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:32px;padding:4px 10px;border-radius:8px;font-size:.78rem;font-weight:600}.security-list-actions-cell{width:170px;min-width:170px;white-space:nowrap;vertical-align:middle!important}
@media (max-width:991.98px){.role-permissions-grid{grid-template-columns:1fr}.role-profile-meta{grid-template-columns:1fr 1fr}}@media (max-width:575.98px){.role-profile-meta{grid-template-columns:1fr}.role-profile-hero{padding:18px}.role-profile-section{padding:14px}.role-permission-card-head{align-items:flex-start;flex-direction:column}.role-toggle-group{width:100%}.security-list-actions-cell{min-width:150px}.security-list-actions .btn{min-width:64px}}


/* TecnoprocIT brand refresh - 2026-09-14 */
body{background:linear-gradient(180deg,#f7faff 0,#f5f8fc 180px,#f5f8fc 100%)}
.app-sidebar{background:linear-gradient(180deg,#1b2d45 0%,#14253a 58%,#101f31 100%);border-right-color:rgba(255,255,255,.07);box-shadow:14px 0 40px rgba(10,36,70,.08)}
.app-sidebar-brand{border-bottom-color:rgba(255,255,255,.08)}
.app-sidebar-brand img{background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.11)}
.app-profile{border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.045)}
.app-profile:hover{background:rgba(46,163,255,.10)}
.app-nav-label{color:#8091a7}
.app-nav-link,.app-nav-group>summary{color:#d8e1ec}
.app-nav-link:hover,.app-nav-group>summary:hover{background:rgba(255,255,255,.055);color:#fff}
.app-nav-icon{background:rgba(255,255,255,.07);color:#d9e4f1}
.app-nav-link.active{background:linear-gradient(90deg,rgba(11,99,246,.92),rgba(46,163,255,.82));box-shadow:0 8px 22px rgba(11,99,246,.22);color:#fff}
.app-nav-link.active .app-nav-icon,.app-nav-group[open]>summary .app-nav-icon{background:rgba(255,255,255,.18);color:#fff}
.app-nav-group[open]>summary{color:#fff;background:rgba(11,99,246,.10)}
.app-nav-nested{border-left-color:rgba(255,255,255,.12)}
.app-nav-nested>a:hover{background:rgba(255,255,255,.06)}
.app-sidebar-footer{border-top-color:rgba(255,255,255,.08);color:#8ea0b7}
.version-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.app-topbar{background:rgba(255,255,255,.94);box-shadow:0 4px 22px rgba(29,68,112,.035)}
.app-menu-toggle,.app-company-button,.app-logout,.app-icon-button{border-color:#e1e8f0}
.app-menu-toggle:hover,.app-company-button:hover,.app-logout:hover,.app-icon-button:hover{background:#f4f9ff;border-color:#b9d5fb;color:var(--accent)}
.app-company-dot{box-shadow:0 0 0 4px rgba(11,99,246,.09)}
.card{border-color:#e5ebf2!important;box-shadow:0 12px 34px rgba(24,61,105,.065)!important}
.card-header{background:linear-gradient(180deg,#fff,#fbfdff)!important}
.btn-primary{box-shadow:0 7px 16px rgba(11,99,246,.18)!important}
.btn-outline-primary{background:#fff!important}
.btn-outline-primary:hover{background:linear-gradient(135deg,var(--brand-blue),var(--brand-sky))!important;border-color:var(--brand-blue)!important}
.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{border-color:#55a8ff;box-shadow:0 0 0 3px rgba(11,99,246,.12)!important}
.table thead th{background:#f5f8fc!important;color:#44546a}
.table-hover>tbody>tr:hover>*{background:#f3f8ff}
.page-item.active .page-link,.catalog-list-page.active{box-shadow:0 5px 12px rgba(11,99,246,.15)}
.modal-eyebrow{color:var(--brand-blue)}
.accordion-button:not(.collapsed){background:#eef6ff;color:#0b63f6}
.auth-page .card{background:rgba(255,255,255,.96)!important;border-color:rgba(255,255,255,.8)!important;box-shadow:0 30px 80px rgba(43,91,145,.16)!important;backdrop-filter:blur(12px)}
.auth-page .auth-logo{max-width:250px}
.auth-page .modal-eyebrow{display:none}
.auth-page .btn-primary{min-height:46px}
.auth-page .form-control{background:#fff;border-color:#cad6e4}
.settings-ui-view .profile-title,.account-ui-view .account-profile-summary{background:linear-gradient(110deg,#fff 0%,#fff 66%,#eef6ff 100%)}
.role-profile-hero{background:linear-gradient(135deg,rgba(11,99,246,.09),rgba(46,163,255,.035))}
.role-permission-card-head{background:#f6f9fd}
.ios-switch input:checked + .ios-switch-track{background:linear-gradient(135deg,var(--brand-blue),var(--brand-sky))}
.app-notification-panel{border-color:#e0e8f2;box-shadow:0 20px 55px rgba(24,61,105,.18)}
.app-notification-item.is-unread{background:#f2f8ff}
.app-notification-readall{color:var(--brand-blue)}
.theme-dark .app-notification-readall{color:#60c2ff}
@media(max-width:760px){.auth-page{background:linear-gradient(160deg,#eef6ff 0%,#fff 56%,#f7fbff 100%)}}

/* ======================================================================
   TecnoprocIT dark theme completion - 2026-09-14
   Keeps the current visual language and extends it consistently to views,
   forms, lists, POS screens, dropdowns, modals and third-party widgets.
   ====================================================================== */
.theme-dark{
  --bg:#08111d;
  --panel:#101d2b;
  --ink:#f5f8fc;
  --muted:#93a4b8;
  --line:#26384b;
  --accent:#2ea3ff;
  --accent-dark:#0b63f6;
  --accent-soft:#102d4d;
  --sidebar:#0d1b2a;
  --shadow:0 14px 36px rgba(0,0,0,.34);
  --bs-body-bg:#08111d;
  --bs-body-color:#f5f8fc;
  --bs-secondary-color:#93a4b8;
  --bs-border-color:#26384b;
  --bs-tertiary-bg:#132436;
  color-scheme:dark;
}
.theme-dark{background:linear-gradient(180deg,#091624 0,#08111d 220px,#08111d 100%)!important;color:var(--ink)}
.theme-dark .app-main,.theme-dark .app-page{background:transparent;color:var(--ink)}
.theme-dark .app-topbar{background:rgba(11,25,40,.96)!important;border-bottom-color:#213448!important;box-shadow:0 5px 26px rgba(0,0,0,.22)!important}
.theme-dark .app-topbar strong,.theme-dark .app-topbar b,.theme-dark .app-user-name{color:#f7fbff}
.theme-dark .app-topbar small,.theme-dark .app-user-role{color:#91a2b7}
.theme-dark .app-menu-toggle,.theme-dark .app-company-button,.theme-dark .app-logout,.theme-dark .app-icon-button{background:#0f2031!important;border-color:#294158!important;color:#dbe8f6!important}
.theme-dark .app-menu-toggle:hover,.theme-dark .app-company-button:hover,.theme-dark .app-logout:hover,.theme-dark .app-icon-button:hover{background:#15314c!important;border-color:#2ea3ff!important;color:#60c2ff!important}
.theme-dark .app-company-dot{box-shadow:0 0 0 4px rgba(46,163,255,.13)}
.theme-dark .app-footer{background:#0b1927!important;border-color:#22364a!important;color:#8296ad!important}

.theme-dark .card,.theme-dark .modal-content,.theme-dark .dropdown-menu,.theme-dark .offcanvas,.theme-dark .list-group-item,.theme-dark .accordion-item,.theme-dark .role-profile-section,.theme-dark .role-permission-card{background:#101d2b!important;border-color:#26384b!important;color:#f3f7fb!important;box-shadow:0 14px 38px rgba(0,0,0,.2)!important}
.theme-dark .card-header,.theme-dark .card-footer,.theme-dark .modal-header,.theme-dark .modal-footer,.theme-dark .accordion-header,.theme-dark .role-permission-card-head{background:#132436!important;border-color:#26384b!important;color:#f3f7fb!important}
.theme-dark .card-header h1,.theme-dark .card-header h2,.theme-dark .card-header h3,.theme-dark .card-header h4,.theme-dark .card-header h5,.theme-dark .card-header h6,.theme-dark .modal-title,.theme-dark h1,.theme-dark h2,.theme-dark h3,.theme-dark h4,.theme-dark h5,.theme-dark h6{color:#f5f8fc}
.theme-dark .text-muted,.theme-dark .text-secondary,.theme-dark small,.theme-dark .form-text,.theme-dark .help-text,.theme-dark .role-permission-copy small,.theme-dark .role-permission-card-head small{color:#91a2b7!important}
.theme-dark .border,.theme-dark .border-top,.theme-dark .border-bottom,.theme-dark .border-start,.theme-dark .border-end{border-color:#26384b!important}
.theme-dark hr{border-color:#2a3d50;opacity:1}

.theme-dark .form-control,.theme-dark .form-select,.theme-dark input:not([type=checkbox]):not([type=radio]):not([type=range]),.theme-dark textarea,.theme-dark select,.theme-dark .input-group-text{background:#0c1927!important;border-color:#2a4056!important;color:#eef5fc!important}
.theme-dark .form-control::placeholder,.theme-dark input::placeholder,.theme-dark textarea::placeholder{color:#71859b!important;opacity:1}
.theme-dark .form-control:focus,.theme-dark .form-select:focus,.theme-dark input:focus,.theme-dark textarea:focus,.theme-dark select:focus{background:#0d1c2c!important;border-color:#2ea3ff!important;color:#fff!important;box-shadow:0 0 0 3px rgba(46,163,255,.15)!important}
.theme-dark .form-control:disabled,.theme-dark .form-select:disabled,.theme-dark input:disabled,.theme-dark textarea:disabled,.theme-dark select:disabled,.theme-dark .form-control[readonly]{background:#152435!important;color:#8fa0b4!important;border-color:#26394c!important;opacity:1}
.theme-dark input[type=file]::file-selector-button{background:#18314a;color:#dcecff;border-color:#2b4560}
.theme-dark input[type=file]::file-selector-button:hover{background:#20466b}
.theme-dark .form-check-input{background-color:#0c1927;border-color:#51667c}
.theme-dark .form-check-input:checked{background-color:#0b63f6;border-color:#2ea3ff}
.theme-dark .ios-switch-track{background:#31465b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.theme-dark .ios-switch-thumb{background:#eaf3ff;box-shadow:0 2px 7px rgba(0,0,0,.45)}
.theme-dark .ios-switch input:checked + .ios-switch-track{background:linear-gradient(135deg,#0b63f6,#2ea3ff)}

.theme-dark .btn-secondary,.theme-dark .btn-light{background:#14273a!important;border-color:#30465b!important;color:#e8f1fa!important}
.theme-dark .btn-secondary:hover,.theme-dark .btn-light:hover{background:#1a344e!important;border-color:#3c5d7b!important;color:#fff!important}
.theme-dark .btn-outline-primary{background:transparent!important;color:#60c2ff!important;border-color:#2e8ee8!important}
.theme-dark .btn-outline-primary:hover{background:linear-gradient(135deg,#0b63f6,#2ea3ff)!important;color:#fff!important}
.theme-dark .btn-outline-secondary{color:#c8d5e3!important;border-color:#455b70!important}.theme-dark .btn-outline-secondary:hover{background:#1b3248!important;color:#fff!important}
.theme-dark .btn-close{filter:invert(1) grayscale(1) brightness(1.6)}

.theme-dark .table{--bs-table-bg:transparent;--bs-table-color:#dce8f4;--bs-table-border-color:#273b4f;--bs-table-striped-bg:#112235;--bs-table-striped-color:#eaf2fa;--bs-table-hover-bg:#172d44;--bs-table-hover-color:#fff;color:#dce8f4!important;border-color:#273b4f!important}
.theme-dark .table thead th,.theme-dark .table-light>*,.theme-dark .table-secondary>*{background:#14283c!important;color:#b9cbe0!important;border-color:#2a4055!important}
.theme-dark .table tbody td,.theme-dark .table tbody th{background:transparent!important;color:#dce8f4!important;border-color:#273b4f!important}
.theme-dark .table-striped>tbody>tr:nth-of-type(odd)>*{background:#102033!important;color:#e7f0f9!important}
.theme-dark .table-hover>tbody>tr:hover>*{background:#172d44!important;color:#fff!important}
.theme-dark .table-responsive{border-color:#273b4f!important;background:#0f1d2b}
.theme-dark .catalog-list-filters{background:#102033!important;border-color:#273b4f!important}.theme-dark .catalog-list-filters label{color:#9bb0c6}
.theme-dark .catalog-list-summary strong{color:#f4f8fc}.theme-dark .catalog-list-summary span{border-color:#2b4054}
.theme-dark .catalog-list-page{background:#102033!important;border-color:#2b4054!important;color:#cfe0f1!important}.theme-dark .catalog-list-page:hover:not(:disabled),.theme-dark .catalog-list-page.active{background:#0b63f6!important;border-color:#2ea3ff!important;color:#fff!important}
.theme-dark .page-link{background:#102033;color:#cfe1f4;border-color:#2b4054}.theme-dark .page-link:hover{background:#18334e;color:#fff;border-color:#3a5a77}.theme-dark .page-item.active .page-link{background:#0b63f6;border-color:#2ea3ff;color:#fff}.theme-dark .page-item.disabled .page-link{background:#0c1927;color:#5f7388;border-color:#22364a}

.theme-dark .alert-info{background:#102d4d!important;border-color:#1f5d92!important;color:#c8e8ff!important}.theme-dark .alert-success{background:#0e3229!important;border-color:#1e6e57!important;color:#c7f9e8!important}.theme-dark .alert-warning{background:#382b12!important;border-color:#74520f!important;color:#ffe9a8!important}.theme-dark .alert-danger{background:#3b1b20!important;border-color:#7b303b!important;color:#ffd2d8!important}
.theme-dark .badge.bg-light,.theme-dark .badge.text-bg-light{background:#203348!important;color:#dbe8f5!important}
.theme-dark .bg-light{background:#132436!important}.theme-dark .bg-white{background:#101d2b!important}

.theme-dark .accordion-button{background:#132436!important;color:#e8f2fb!important;box-shadow:none!important}.theme-dark .accordion-button:not(.collapsed){background:linear-gradient(90deg,#153657,#102b48)!important;color:#75c7ff!important}.theme-dark .accordion-button::after{filter:invert(1) brightness(1.5)}.theme-dark .accordion-body{background:#101d2b;color:#d9e5f0}
.theme-dark .nav-tabs{border-color:#2a4055}.theme-dark .nav-tabs .nav-link{color:#98abc0;border-color:transparent}.theme-dark .nav-tabs .nav-link:hover{color:#d7e7f7;border-color:#2b4054}.theme-dark .nav-tabs .nav-link.active{background:#101d2b;color:#60c2ff;border-color:#2a4055 #2a4055 #101d2b}
.theme-dark .nav-pills .nav-link{color:#9eb3c8}.theme-dark .nav-pills .nav-link.active{background:linear-gradient(135deg,#0b63f6,#2ea3ff);color:#fff}
.theme-dark .dropdown-item{color:#d8e5f2}.theme-dark .dropdown-item:hover,.theme-dark .dropdown-item:focus{background:#173049;color:#fff}.theme-dark .dropdown-divider{border-color:#2a4055}

.theme-dark .account-ui-view .account-profile-summary,.theme-dark .settings-ui-view .profile-title .media{background:linear-gradient(110deg,#101d2b 0%,#101d2b 66%,#12385d 100%)!important;border-color:#2a4055!important}
.theme-dark .account-ui-view .account-avatar-preview,.theme-dark .account-ui-view .account-file-picker,.theme-dark .company-ui-view .company-brand-item,.theme-dark .company-ui-view .company-file-picker,.theme-dark .company-ui-view [id^=preview-wrapper]{background:#0c1927!important;border-color:#2b4054!important;color:#dbe7f3!important}
.theme-dark .role-profile-hero{background:linear-gradient(135deg,rgba(11,99,246,.20),rgba(46,163,255,.06))!important;border-color:#2a4055!important}
.theme-dark .role-profile-card{background:#101d2b!important}.theme-dark .role-profile-section,.theme-dark .role-permission-card{background:#0f1e2d!important}.theme-dark .role-permission-card-head{background:#14283c!important}.theme-dark .role-permission-item{border-color:#25394d!important}

.theme-dark .app-notification-panel{background:#0f1d2b!important;border-color:#2a4055!important;box-shadow:0 24px 62px rgba(0,0,0,.48)!important}.theme-dark .app-notification-head,.theme-dark .app-notification-actions{background:#122337!important;border-color:#293e52!important}.theme-dark .app-notification-item{background:#0f1d2b!important;border-color:#25394d!important}.theme-dark .app-notification-item.is-unread{background:#102c49!important}.theme-dark .app-notification-item:hover{background:#173049!important}.theme-dark .app-notification-copy strong{color:#edf6ff}.theme-dark .app-notification-copy span{color:#b2c3d4}.theme-dark .app-notification-copy small{color:#7f94aa}.theme-dark .app-notification-empty{color:#8fa2b7}.theme-dark .app-notification-action{background:#102235!important;border-color:#30465a!important;color:#d6e4f1!important}.theme-dark .app-notification-action:hover:not(:disabled){background:#17334f!important;border-color:#3b5b79!important}.theme-dark .app-notification-action--danger{background:#321c23!important;border-color:#67313d!important;color:#ff9aa8!important}
.theme-dark .app-toast{background:rgba(13,27,42,.98)!important;border-color:#2a4055!important}.theme-dark .app-toast__title{color:#f5f9fd}.theme-dark .app-toast__message{color:#b6c6d6}

/* Dashboard / cards with inline light gradients */
.theme-dark .app-page .card[style*="linear-gradient"],.theme-dark .app-page [style*="background:linear-gradient(110deg,#fff"]{background:linear-gradient(110deg,#101d2b 0%,#101d2b 68%,#11365a 100%)!important}
.theme-dark .dashboard-card,.theme-dark .metric-card,.theme-dark .stat-card{background:#101d2b!important;border-color:#26384b!important;color:#f3f8fc!important}

/* Bootstrap/SweetAlert/date widgets */
.theme-dark .swal-modal,.theme-dark .swal2-popup{background:#101d2b!important;color:#edf5fc!important;border:1px solid #2a4055}.theme-dark .swal-title,.theme-dark .swal2-title{color:#f6f9fc!important}.theme-dark .swal-text,.theme-dark .swal2-html-container{color:#bacada!important}.theme-dark .swal-icon--success:after,.theme-dark .swal-icon--success:before,.theme-dark .swal-icon--success__hide-corners{background:#101d2b!important}
.theme-dark .datepicker,.theme-dark .datepicker-dropdown,.theme-dark .datepicker table tr td,.theme-dark .datepicker table tr th{background:#101d2b!important;color:#d8e6f3!important}.theme-dark .datepicker table tr td.day:hover,.theme-dark .datepicker table tr td.focused{background:#183650!important}.theme-dark .datepicker table tr td.active,.theme-dark .datepicker table tr td.active:hover{background:#0b63f6!important;color:#fff!important}.theme-dark .datepicker table tr td.old,.theme-dark .datepicker table tr td.new{color:#60778e!important}

/* POS classic screen */
.theme-dark .pos-desktop{background:#08111d!important;color:#edf5fc!important}.theme-dark .pos-topbar,.theme-dark .pos-payment-topbar,.theme-dark .pos-statusbar{background:#102033!important;border-color:#2a4055!important;color:#e8f3fd!important}.theme-dark .pos-menu-btn{color:#dce9f5!important}.theme-dark .pos-menu-btn:hover{color:#60c2ff!important}.theme-dark .pos-capture-main,.theme-dark .pos-side-panel,.theme-dark .pos-function-panel,.theme-dark .pos-payment-left,.theme-dark .pos-payment-right,.theme-dark .pos-payment-body{background:#0f1d2b!important;color:#edf5fc!important;border-color:#2a4055!important}.theme-dark .pos-input,.theme-dark .pos-payment-select,.theme-dark .pos-payment-amount,.theme-dark .pos-payment-ref-input,.theme-dark .pos-side-qty,.theme-dark .pos-side-observations{background:#091727!important;color:#f4f9fd!important;border-color:#31506b!important}.theme-dark .pos-products-wrap,.theme-dark .pos-payments-table,.theme-dark .pos-products-table{background:#0b1927!important;border-color:#2a4055!important;color:#deebf7!important}.theme-dark .pos-products-table thead,.theme-dark .pos-payments-table thead{background:#14283c!important;color:#c8d9ea!important}.theme-dark .pos-products-table td,.theme-dark .pos-products-table th,.theme-dark .pos-payments-table td,.theme-dark .pos-payments-table th{border-color:#273d52!important;color:inherit!important}.theme-dark .pos-result-item{background:#102235!important;color:#dceaf7!important;border-color:#2b4258!important}.theme-dark .pos-result-item:hover{background:#173653!important;color:#fff!important}.theme-dark .pos-empty-side{background:#0d1d2d!important;border-color:#36506a!important;color:#91a7bc!important}.theme-dark .pos-empty-side .pos-product-placeholder{color:#91a7bc!important}.theme-dark .pos-total-box,.theme-dark .pos-side-total-row,.theme-dark .pos-pay-total,.theme-dark .pos-pay-pending{background:#132a42!important;color:#fff!important;border-color:#2e5275!important}.theme-dark .pos-message-panel{background:#102235!important;color:#cbdced!important;border-color:#2b4258!important}.theme-dark .pos-payment-screen.is-active{background:#08111d!important}.theme-dark .pos-classic-btn,.theme-dark .pos-shortcut-btn{background:#14283c!important;color:#dce9f6!important;border-color:#36506a!important}.theme-dark .pos-classic-btn:hover,.theme-dark .pos-shortcut-btn:hover{background:#1a3a58!important;border-color:#2ea3ff!important;color:#fff!important}

/* Messenger / editor / generic legacy blocks */
.theme-dark .messaging-shell,.theme-dark .messaging-panel,.theme-dark .chat-panel,.theme-dark .chat-list,.theme-dark .chat-conversation,.theme-dark .cot-editor,.theme-dark .editor-shell{background:#0f1d2b!important;color:#e4eef8!important;border-color:#293e52!important}
.theme-dark [style*="background:#fff"],.theme-dark [style*="background: #fff"],.theme-dark [style*="background:#f8fafc"],.theme-dark [style*="background: #f8fafc"],.theme-dark [style*="background:#f6f7fb"],.theme-dark [style*="background: #f6f7fb"]{background:#101d2b!important;color:#edf5fc!important}

/* Scrollbars */
.theme-dark *{scrollbar-color:#35506a #0b1826}.theme-dark ::-webkit-scrollbar{width:10px;height:10px}.theme-dark ::-webkit-scrollbar-track{background:#0b1826}.theme-dark ::-webkit-scrollbar-thumb{background:#35506a;border:2px solid #0b1826;border-radius:999px}.theme-dark ::-webkit-scrollbar-thumb:hover{background:#47708f}

/* ========================================================================== */
/* Dark mode hardening pass — 2026-09-14                                      */
/* Covers legacy views and components that still carry light inline styles.   */
/* ========================================================================== */
.theme-dark,
.theme-dark .app-page,
.theme-dark .app-main{color-scheme:dark}

/* Text that used to inherit dark/light-theme values. */
.theme-dark label,
.theme-dark .form-label,
.theme-dark legend,
.theme-dark dt,
.theme-dark dd,
.theme-dark .settings-section-heading h6,
.theme-dark .settings-section-heading span,
.theme-dark .account-profile-name,
.theme-dark .account-file-picker-title,
.theme-dark .company-file-picker-title,
.theme-dark .catalog-list-filters label,
.theme-dark .pos-report-filter label,
.theme-dark .pos-report-filters label,
.theme-dark .filter-label,
.theme-dark .control-label{color:#dce8f4!important}
.theme-dark .settings-section-heading span,
.theme-dark .account-file-picker-help,
.theme-dark .company-file-picker-help{color:#91a8bd!important}
.theme-dark p,
.theme-dark li,
.theme-dark td,
.theme-dark th{border-color:#273b4f}

/* Account/company forms: force every visual panel to use the dark surface. */
.theme-dark .account-ui-view .account-profile-summary,
.theme-dark .user-settings-ui-view .account-profile-summary{
  background:linear-gradient(110deg,#0f1d2b 0%,#0f1d2b 66%,#12385d 100%)!important;
  color:#edf6ff!important;
  border-color:#2d455c!important;
}
.theme-dark .account-ui-view .account-profile-summary *,
.theme-dark .user-settings-ui-view .account-profile-summary *{color:inherit}
.theme-dark .account-ui-view .account-profile-summary .text-muted,
.theme-dark .user-settings-ui-view .account-profile-summary .text-muted{color:#9cb2c8!important}
.theme-dark .account-ui-view .account-avatar-preview,
.theme-dark .account-ui-view .account-file-picker,
.theme-dark .company-ui-view .company-brand-item,
.theme-dark .company-ui-view .company-file-picker,
.theme-dark .company-ui-view [id^="preview-wrapper"]{
  background:#0b1927!important;
  color:#dfeaf5!important;
  border-color:#30485f!important;
}
.theme-dark .account-ui-view .account-profile-summary>img{border-color:#d8e8f6!important;box-shadow:0 0 0 1px #31506a!important}
.theme-dark .settings-section{border-color:#263b50!important}
.theme-dark .settings-actions{border-color:#263b50!important}

/* Generic list/filter blocks used across POS, management and configuration. */
.theme-dark .catalog-list-filters,
.theme-dark .filters-card,
.theme-dark .filter-panel,
.theme-dark .toolbar,
.theme-dark .table-toolbar,
.theme-dark .list-toolbar,
.theme-dark .pos-report-filter,
.theme-dark .pos-report-filters,
.theme-dark .pos-report-toolbar{
  background:#0f1f30!important;
  border-color:#2b4258!important;
  color:#dce8f4!important;
}
.theme-dark .catalog-list-summary,
.theme-dark .catalog-list-pagination,
.theme-dark .table-summary,
.theme-dark .list-summary{color:#9db2c7!important}

/* Bootstrap helpers that frequently leak a light surface. */
.theme-dark .bg-body,
.theme-dark .bg-body-tertiary,
.theme-dark .bg-body-secondary,
.theme-dark .text-bg-light{background:#112235!important;color:#eaf3fc!important}
.theme-dark .border-light{border-color:#2c4359!important}
.theme-dark .shadow-sm,.theme-dark .shadow{box-shadow:0 10px 30px rgba(0,0,0,.22)!important}
.theme-dark .input-group-text{color:#dce8f4!important}
.theme-dark option,.theme-dark optgroup{background:#0c1927;color:#eef5fc}
.theme-dark input[type="date"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="time"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.45)}

/* Inline legacy light surfaces: keep this near the end so inline CSS cannot win. */
.theme-dark [style*="background:#fff"],
.theme-dark [style*="background: #fff"],
.theme-dark [style*="background:#ffffff"],
.theme-dark [style*="background: #ffffff"],
.theme-dark [style*="background:white"],
.theme-dark [style*="background: white"],
.theme-dark [style*="background:#fafafa"],
.theme-dark [style*="background: #fafafa"],
.theme-dark [style*="background:#f9f9f9"],
.theme-dark [style*="background: #f9f9f9"],
.theme-dark [style*="background:#f8f8f8"],
.theme-dark [style*="background: #f8f8f8"],
.theme-dark [style*="background:#f7f7f7"],
.theme-dark [style*="background: #f7f7f7"],
.theme-dark [style*="background:#f6f7fb"],
.theme-dark [style*="background: #f6f7fb"],
.theme-dark [style*="background:#f3f4f6"],
.theme-dark [style*="background: #f3f4f6"]{
  background:#101d2b!important;
  color:#edf5fc!important;
}
.theme-dark [style*="color:#111"],.theme-dark [style*="color: #111"],
.theme-dark [style*="color:#222"],.theme-dark [style*="color: #222"],
.theme-dark [style*="color:#333"],.theme-dark [style*="color: #333"],
.theme-dark [style*="color:#444"],.theme-dark [style*="color: #444"],
.theme-dark [style*="color:black"],.theme-dark [style*="color: black"]{color:#edf5fc!important}

/* Messaging and custom editors. */
.theme-dark .chat-conversation-item{background:#0e1c2b!important;border-color:#293f55!important;color:#dce8f4!important}
.theme-dark .chat-conversation-item.active{background:#12365a!important;border-color:#2ea3ff!important}
.theme-dark .chat-bubble{background:#101f30!important;border-color:#2b4258!important;color:#e7f1fa!important}
.theme-dark .chat-bubble.outbound{background:#12345a!important;border-color:#245d93!important}
.theme-dark .chat-bubble.inbound{background:#101f30!important}
.theme-dark .chat-bubble-meta{color:#92a7bb!important}
.theme-dark .emoji-picker,.theme-dark .emoji-btn{background:#101f30!important;border-color:#2b4258!important;color:#eef6fd!important}
.theme-dark .emoji-btn:hover{background:#173a5a!important;border-color:#2ea3ff!important}
.theme-dark .uf-editor,.theme-dark .uf-editor-toolbar{background:#0f1d2b!important;border-color:#2b4258!important;color:#e7f1fa!important}
.theme-dark .uf-editor blockquote{background:rgba(46,163,255,.10)!important;border-left-color:#2ea3ff!important}

/* Keep printed output neutral even when the user prefers dark mode. */
@media print{
  .theme-dark,.theme-dark body,.theme-dark .ticket-print,.theme-dark .ticket-print *{color:#000!important;color-scheme:light}
  .theme-dark .ticket-print,.theme-dark .ticket-print .card,.theme-dark .ticket-print .card-body,.theme-dark .ticket-print table,.theme-dark .ticket-print th,.theme-dark .ticket-print td{background:#fff!important;border-color:#bbb!important}
}

/* =========================================================
   Listados estandarizados: mismo patrón visual que /pos/ventas
   ========================================================= */
.standard-list-filters,
.catalog-list-filters,
form[data-pos-list-filter],
.pos-report-filters{
  padding:17px!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-bottom:20px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fafafa!important;
  align-items:end!important;
}
.standard-list-filters label,
.catalog-list-filters label,
form[data-pos-list-filter] label,
.pos-report-filters label{
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  color:#555860!important;
}
.standard-list-filters .form-control,
.standard-list-filters .form-select,
.catalog-list-filters select,
form[data-pos-list-filter] .form-control,
form[data-pos-list-filter] .form-select,
.pos-report-filters .form-control,
.pos-report-filters .form-select{
  min-height:42px;
}
.standard-list-filters .btn,
form[data-pos-list-filter] .btn,
.pos-report-filters .btn{
  min-height:42px;
}

.catalog-server-status,
.catalog-list-status,
.pos-report-pagination{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  padding:13px 16px!important;
  background:transparent!important;
}
.catalog-server-status-top,
.catalog-list-status-top{border-bottom:1px solid var(--line)!important}
.catalog-server-status-bottom,
.catalog-list-status-bottom,
.pos-report-pagination{border-top:1px solid var(--line)!important}
.catalog-list-summary{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.catalog-list-summary strong{
  color:var(--ink)!important;
  font-size:14px!important;
  font-weight:850!important;
}
.catalog-list-summary>span{
  padding-left:9px!important;
  border-left:1px solid var(--line)!important;
}
.catalog-server-status nav,
.catalog-list-pagination,
.pos-report-pagination nav{margin-left:auto}
.catalog-server-status .pagination,
.catalog-list-status .pagination,
.pos-report-pagination .pagination{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex-wrap:wrap!important;
  margin:0!important;
}
.catalog-server-status .page-item,
.catalog-list-status .page-item,
.pos-report-pagination .page-item{margin:0!important}
.catalog-server-status .page-link,
.catalog-list-status .page-link,
.pos-report-pagination .page-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:34px!important;
  min-height:32px!important;
  padding:6px 10px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:var(--panel)!important;
  color:var(--ink)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.15!important;
  box-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer;
}
.catalog-server-status .page-link:hover,
.catalog-list-status .page-link:hover,
.pos-report-pagination .page-link:hover{
  border-color:var(--accent)!important;
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
}
.catalog-server-status .page-item.active .page-link,
.catalog-list-status .page-item.active .page-link,
.pos-report-pagination .page-item.active .page-link{
  border-color:var(--accent)!important;
  background:linear-gradient(135deg,var(--brand-blue),var(--brand-sky))!important;
  color:#fff!important;
}
.catalog-server-status .page-item.disabled .page-link,
.catalog-list-status .page-item.disabled .page-link,
.pos-report-pagination .page-item.disabled .page-link,
.catalog-server-status .page-link:disabled,
.catalog-list-status .page-link:disabled,
.pos-report-pagination .page-link:disabled{
  opacity:.45!important;
  pointer-events:none!important;
  cursor:not-allowed!important;
}
.standard-per-page-control{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 0 4px!important;
  padding-left:10px!important;
  border-left:1px solid var(--line)!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.standard-per-page-control .form-select{
  width:auto!important;
  min-width:118px!important;
  min-height:32px!important;
  height:32px!important;
  padding-top:4px!important;
  padding-bottom:4px!important;
  font-size:11px!important;
}

/* Botones de acciones dentro de listados: compactos y uniformes. */
.security-list-actions-cell,
th.list-actions,
td.list-actions{width:1%!important;min-width:100px!important;white-space:nowrap!important;vertical-align:middle!important}
.security-list-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
}
.security-list-actions form{display:inline-flex!important;margin:0!important}
.security-list-actions .btn,
td.list-actions .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:31px!important;
  padding:5px 9px!important;
  border-radius:8px!important;
  font-size:11px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* Reportes: el selector de cantidad usa el mismo lenguaje visual del paginador. */
.pos-report-list-status{border-bottom:1px solid var(--line)!important}
.pos-report-pagination{margin:0!important}

/* Modo oscuro de listados y filtros estandarizados. */
.theme-dark .standard-list-filters,
.theme-dark .catalog-list-filters,
.theme-dark form[data-pos-list-filter],
.theme-dark .pos-report-filters{
  background:#0f1f30!important;
  border-color:#2b4258!important;
}
.theme-dark .standard-list-filters label,
.theme-dark .catalog-list-filters label,
.theme-dark form[data-pos-list-filter] label,
.theme-dark .pos-report-filters label{color:#9fb7cd!important}
.theme-dark .catalog-server-status-top,
.theme-dark .catalog-server-status-bottom,
.theme-dark .catalog-list-status-top,
.theme-dark .catalog-list-status-bottom,
.theme-dark .pos-report-pagination,
.theme-dark .pos-report-list-status{border-color:#2b4258!important}
.theme-dark .catalog-list-summary{color:#9db2c7!important}
.theme-dark .catalog-list-summary strong{color:#eef6fd!important}
.theme-dark .catalog-list-summary>span,
.theme-dark .standard-per-page-control{border-color:#2b4258!important}
.theme-dark .catalog-server-status .page-link,
.theme-dark .catalog-list-status .page-link,
.theme-dark .pos-report-pagination .page-link{
  background:#0f1f30!important;
  border-color:#30495f!important;
  color:#dce8f4!important;
}
.theme-dark .catalog-server-status .page-link:hover,
.theme-dark .catalog-list-status .page-link:hover,
.theme-dark .pos-report-pagination .page-link:hover{
  background:#173a5a!important;
  border-color:var(--brand-sky)!important;
  color:#fff!important;
}
.theme-dark .catalog-server-status .page-item.active .page-link,
.theme-dark .catalog-list-status .page-item.active .page-link,
.theme-dark .pos-report-pagination .page-item.active .page-link{
  background:linear-gradient(135deg,var(--brand-blue),var(--brand-sky))!important;
  border-color:var(--brand-sky)!important;
  color:#fff!important;
}

@media(max-width:760px){
  .catalog-server-status,
  .catalog-list-status,
  .pos-report-pagination{align-items:flex-start!important;flex-direction:column!important}
  .catalog-server-status nav,
  .catalog-list-pagination,
  .pos-report-pagination nav{width:100%!important;margin-left:0!important;overflow-x:auto!important;padding-bottom:4px!important}
  .catalog-server-status .pagination,
  .catalog-list-status .pagination,
  .pos-report-pagination .pagination{flex-wrap:nowrap!important;width:max-content!important}
  .standard-per-page-control{margin-left:0!important;padding-left:0!important;border-left:0!important}
}

/* ========================================================================== */
/* Native date/time controls + account/company dark-mode polish — 2026-09-14 */
/* ========================================================================== */

/*
 * Use our own visible glyph while keeping the browser's native picker button
 * clickable (its WebKit indicator is transparent). This avoids the black
 * calendar/clock icon that Chromium can keep when the application is dark.
 */
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"]{
  padding-right:2.45rem!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right .78rem center!important;
  background-size:17px 17px!important;
}
input[type="time"]{
  padding-right:2.45rem!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right .78rem center!important;
  background-size:17px 17px!important;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  opacity:0!important;
  cursor:pointer!important;
  width:20px!important;
  height:20px!important;
  margin-right:-.15rem!important;
}
.theme-dark input[type="date"],
.theme-dark input[type="datetime-local"],
.theme-dark input[type="month"],
.theme-dark input[type="week"]{
  color-scheme:dark;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2360C2FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")!important;
}
.theme-dark input[type="time"]{
  color-scheme:dark;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2360C2FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")!important;
}

/* Mi cuenta / editor de usuarios: dark surfaces and text must remain legible. */
.theme-dark.account-ui-view .account-settings-card,
.theme-dark.user-settings-ui-view .account-settings-card,
.theme-dark.account-ui-view .account-settings-card>.card-header,
.theme-dark.account-ui-view .account-settings-card>.card-body,
.theme-dark.user-settings-ui-view .account-settings-card>.card-header,
.theme-dark.user-settings-ui-view .account-settings-card>.card-body{
  background:#0f1d2b!important;
  border-color:#2b4258!important;
  color:#eaf3fc!important;
}
.theme-dark.account-ui-view .account-profile-summary,
.theme-dark.user-settings-ui-view .account-profile-summary{
  background:linear-gradient(110deg,#102235 0%,#102235 66%,#123c63 100%)!important;
  border:1px solid #304a62!important;
  color:#f2f8fe!important;
  box-shadow:none!important;
}
.theme-dark.account-ui-view .account-profile-name,
.theme-dark.user-settings-ui-view .account-profile-name{color:#f6faff!important}
.theme-dark.account-ui-view .account-profile-summary .text-muted,
.theme-dark.user-settings-ui-view .account-profile-summary .text-muted{color:#9fc1dc!important}
.theme-dark.account-ui-view .settings-section-heading h6,
.theme-dark.user-settings-ui-view .settings-section-heading h6{color:#f0f7fd!important}
.theme-dark.account-ui-view .settings-section-heading span,
.theme-dark.user-settings-ui-view .settings-section-heading span,
.theme-dark.account-ui-view .form-text,
.theme-dark.user-settings-ui-view .form-text{color:#92acc2!important}
.theme-dark.account-ui-view .account-avatar-preview,
.theme-dark.user-settings-ui-view .account-avatar-preview{
  background:#0a1724!important;
  border-color:#35526d!important;
}
.theme-dark.account-ui-view .account-avatar-preview img,
.theme-dark.user-settings-ui-view .account-avatar-preview img{border:0!important}
.theme-dark.account-ui-view .account-file-picker,
.theme-dark.user-settings-ui-view .account-file-picker{
  background:#102235!important;
  border-color:#3b5870!important;
  color:#eaf4fd!important;
}
.theme-dark.account-ui-view .account-file-picker:hover,
.theme-dark.user-settings-ui-view .account-file-picker:hover{
  background:#123657!important;
  border-color:#2ea3ff!important;
}
.theme-dark.account-ui-view .account-file-picker-title,
.theme-dark.user-settings-ui-view .account-file-picker-title{color:#f1f8fe!important}
.theme-dark.account-ui-view .account-file-picker-help,
.theme-dark.user-settings-ui-view .account-file-picker-help{color:#94b2ca!important}
.theme-dark.account-ui-view .form-control:disabled,
.theme-dark.user-settings-ui-view .form-control:disabled{
  background:#17283a!important;
  color:#b8cadd!important;
  border-color:#30495f!important;
  opacity:1!important;
}
.theme-dark.account-ui-view .input-group-text,
.theme-dark.user-settings-ui-view .input-group-text{
  background:#14283c!important;
  color:#dceaf6!important;
  border-color:#30495f!important;
}

/* Configurar empresa: normalize every brand/upload card and section in dark mode. */
.theme-dark.company-ui-view .company-settings-card,
.theme-dark.company-ui-view .company-settings-card>.card-header,
.theme-dark.company-ui-view .company-settings-card>.card-body{
  background:#0f1d2b!important;
  border-color:#2b4258!important;
  color:#eaf3fc!important;
}
.theme-dark.company-ui-view .settings-section-heading h6{color:#f0f7fd!important}
.theme-dark.company-ui-view .settings-section-heading span,
.theme-dark.company-ui-view .form-text,
.theme-dark.company-ui-view .text-muted{color:#92acc2!important}
.theme-dark.company-ui-view .company-brand-item{
  background:#102235!important;
  border-color:#30495f!important;
  color:#eaf3fc!important;
}
.theme-dark.company-ui-view .company-brand-preview,
.theme-dark.company-ui-view [id^="preview-wrapper"]{
  background:#0a1724!important;
  border-color:#35526d!important;
}
.theme-dark.company-ui-view .company-brand-copy>strong{color:#f1f8fe!important}
.theme-dark.company-ui-view .company-brand-copy>span{color:#91abc2!important}
.theme-dark.company-ui-view .company-file-picker{
  background:#14283c!important;
  border-color:#3a5770!important;
  color:#eaf4fd!important;
}
.theme-dark.company-ui-view .company-file-picker:hover{
  background:#173a5a!important;
  border-color:#2ea3ff!important;
  color:#fff!important;
}
.theme-dark.company-ui-view .linea-desc,
.theme-dark.company-ui-view .form-control,
.theme-dark.company-ui-view .form-select{
  background-color:#0b1927!important;
  color:#edf6ff!important;
  border-color:#30495f!important;
}
.theme-dark.company-ui-view .linea-desc::placeholder,
.theme-dark.company-ui-view .form-control::placeholder{color:#718ca5!important}

/* Shared settings controls and secondary actions. */
.theme-dark.account-ui-view .form-control,
.theme-dark.account-ui-view .form-select,
.theme-dark.user-settings-ui-view .form-control,
.theme-dark.user-settings-ui-view .form-select{
  background-color:#0b1927!important;
  color:#edf6ff!important;
  border-color:#30495f!important;
}
.theme-dark.account-ui-view .form-control::placeholder,
.theme-dark.user-settings-ui-view .form-control::placeholder{color:#718ca5!important}
.theme-dark.account-ui-view .btn-outline-secondary,
.theme-dark.user-settings-ui-view .btn-outline-secondary,
.theme-dark.company-ui-view .btn-outline-secondary{
  background:#102235!important;
  color:#dceaf6!important;
  border-color:#3b5870!important;
}
.theme-dark.account-ui-view .btn-outline-secondary:hover,
.theme-dark.user-settings-ui-view .btn-outline-secondary:hover,
.theme-dark.company-ui-view .btn-outline-secondary:hover{
  background:#173a5a!important;
  color:#fff!important;
  border-color:#2ea3ff!important;
}

/* ========================================================================== */
/* Native date/time picker indicators — clickable in light + dark themes      */
/* 2026-09-14                                                                 */
/* ========================================================================== */
/*
 * Do not draw a decorative calendar/clock as a background image. Chromium's
 * native picker indicator is the real interactive control; keeping it visible
 * makes the icon itself clickable instead of leaving an invisible hot-zone to
 * its right. color-scheme lets the browser render the native control correctly
 * and the dark-theme filter aligns the glyph with the TecnoprocIT palette.
 */
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"]{
  background-image:none!important;
  padding-right:.75rem!important;
  color-scheme:light;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  display:block!important;
  opacity:.78!important;
  visibility:visible!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:2px!important;
  margin:0!important;
  background:transparent!important;
  filter:none!important;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover,
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
input[type="month"]::-webkit-calendar-picker-indicator:hover,
input[type="week"]::-webkit-calendar-picker-indicator:hover,
input[type="time"]::-webkit-calendar-picker-indicator:hover{
  opacity:1!important;
}
.theme-dark input[type="date"],
.theme-dark input[type="datetime-local"],
.theme-dark input[type="month"],
.theme-dark input[type="week"],
.theme-dark input[type="time"]{
  background-image:none!important;
  color-scheme:dark!important;
}
.theme-dark input[type="date"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="month"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="week"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="time"]::-webkit-calendar-picker-indicator{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  /* Converts Chromium's native glyph to the theme's light corporate blue. */
  filter:invert(73%) sepia(89%) saturate(1113%) hue-rotate(174deg) brightness(103%) contrast(101%)!important;
}

/* ========================================================================== */
/* FINAL date/time picker indicator fix — preserve Chromium native icon        */
/* 2026-09-14                                                                 */
/* ========================================================================== */
/*
 * Important: do NOT assign background/background-image to the WebKit picker
 * indicator itself. In Chromium that pseudo-element paints the native glyph;
 * clearing its background also clears the calendar icon. We only size/filter
 * the native interactive control so the visible icon and clickable area are
 * exactly the same element.
 */
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"]{
  background-image:none!important;
  padding-right:.75rem!important;
  color-scheme:light!important;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  display:block!important;
  -webkit-appearance:auto!important;
  appearance:auto!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:0!important;
  margin:0!important;
  filter:none!important;
}

.theme-dark input[type="date"],
.theme-dark input[type="datetime-local"],
.theme-dark input[type="month"],
.theme-dark input[type="week"],
.theme-dark input[type="time"]{
  background-image:none!important;
  color-scheme:dark!important;
}

.theme-dark input[type="date"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="month"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="week"]::-webkit-calendar-picker-indicator,
.theme-dark input[type="time"]::-webkit-calendar-picker-indicator{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  /* Chromium renders a light native glyph with color-scheme: dark. Keep it
     unpainted/unmasked so the real button remains visible and clickable. */
  filter:none!important;
}

/* ========================================================================== */
/* Temporal inputs — stable visible picker icon + aligned click target         */
/* 2026-09-14                                                                 */
/* ========================================================================== */
/*
 * Chromium can suppress the native calendar glyph when application styles
 * alter color-scheme/appearance.  Draw the TecnoprocIT glyph on the input and
 * let custom.js open the *native* picker only when that same glyph is clicked.
 * This keeps the visible icon and the interactive target in exactly the same
 * place in both light and dark themes.
 */
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"]{
  padding-right:2.65rem!important;
  color-scheme:light!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235A6B82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right .70rem center!important;
  background-size:18px 18px!important;
}
input[type="time"]{
  padding-right:2.65rem!important;
  color-scheme:light!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235A6B82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right .70rem center!important;
  background-size:18px 18px!important;
}

/* Hide only Chromium's painted indicator.  custom.js keeps the visible glyph
   above as the real click target and calls showPicker() from that user click. */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  opacity:0!important;
  pointer-events:none!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
}

.theme-dark input[type="date"],
.theme-dark input[type="datetime-local"],
.theme-dark input[type="month"],
.theme-dark input[type="week"]{
  color-scheme:dark!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2360C2FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")!important;
}
.theme-dark input[type="time"]{
  color-scheme:dark!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2360C2FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")!important;
}

input[type="date"]:not(:disabled):not([readonly]),
input[type="datetime-local"]:not(:disabled):not([readonly]),
input[type="month"]:not(:disabled):not([readonly]),
input[type="week"]:not(:disabled):not([readonly]),
input[type="time"]:not(:disabled):not([readonly]){
  cursor:text;
}

/* ========================================================================== */
/* DEFINITIVE temporal picker control: explicit button, theme independent     */
/* 2026-09-14                                                                 */
/* ========================================================================== */
.temporal-picker-wrap{
  position:relative;
  display:block;
  width:100%;
}
.temporal-picker-wrap>input[type="date"],
.temporal-picker-wrap>input[type="datetime-local"],
.temporal-picker-wrap>input[type="month"],
.temporal-picker-wrap>input[type="week"],
.temporal-picker-wrap>input[type="time"]{
  width:100%!important;
  padding-right:2.75rem!important;
  background-image:none!important;
}
.temporal-picker-wrap>input::-webkit-calendar-picker-indicator{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}
.temporal-picker-button{
  position:absolute;
  z-index:3;
  top:50%;
  right:.58rem;
  transform:translateY(-50%);
  width:2rem;
  height:2rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  border:0;
  border-radius:.45rem;
  background:transparent;
  color:#607087;
  cursor:pointer;
  line-height:1;
}
.temporal-picker-button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.temporal-picker-button:hover,
.temporal-picker-button:focus-visible{
  color:#0B63F6;
  background:rgba(11,99,246,.08);
  outline:none;
}
.temporal-picker-button:disabled{
  opacity:.35;
  cursor:default;
  background:transparent;
}
.theme-dark .temporal-picker-button{
  color:#60C2FF!important;
}
.theme-dark .temporal-picker-button:hover,
.theme-dark .temporal-picker-button:focus-visible{
  color:#9ADCFF!important;
  background:rgba(96,194,255,.12)!important;
}
/* Keep the explicit button above form-control focus rings and input-group UI. */
.input-group .temporal-picker-wrap{flex:1 1 auto;min-width:0}

/* Initial-based user avatar fallback */
.account-profile-summary .account-avatar-initial{width:52px;height:52px;flex:0 0 52px}
.account-avatar-preview{display:grid;place-items:center}
.account-avatar-initial,.legacy-user-initial{display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#0b63f6,#2ea3ff);color:#fff;font-weight:900;line-height:1;box-shadow:0 0 0 4px rgba(11,99,246,.14)}
.account-avatar-initial{font-size:22px}
.account-avatar-initial--large{width:100%;height:100%;font-size:42px}
.legacy-user-initial{width:70px;height:70px;font-size:28px}
.theme-dark .account-avatar-initial,.theme-dark .legacy-user-initial{background:linear-gradient(145deg,#0b63f6,#2ea3ff);color:#fff;box-shadow:0 0 0 4px rgba(46,163,255,.14)}

/* Password visibility control */
.password-field{position:relative;width:100%}
.password-field>.form-control{width:100%;padding-right:2.85rem!important}
.password-toggle{position:absolute;z-index:4;top:50%;right:.5rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;border-radius:.5rem;background:transparent;color:#667085;cursor:pointer;transition:color .15s ease,background .15s ease}
.password-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.password-toggle:hover,.password-toggle:focus-visible{color:var(--brand-blue);background:rgba(11,99,246,.08);outline:0}
.password-toggle.is-visible{color:var(--brand-blue)}
.theme-dark .password-toggle{color:#9fb2c7}
.theme-dark .password-toggle:hover,.theme-dark .password-toggle:focus-visible,.theme-dark .password-toggle.is-visible{color:#60c2ff;background:rgba(96,194,255,.10)}
.password-field>.form-control.is-invalid{background-position:right 3rem center!important}

/* Director account-style form */
.director-settings-ui-view .account-settings-card{max-width:none}
.director-settings-ui-view .account-profile-summary{min-height:92px}
.director-settings-ui-view .account-avatar-fields{align-items:end}
