:root { --sidebar-width:274px; --ink:#14233b; --navy:#102a4c; --navy-soft:#e8f0fb; --orange:#e77718; --orange-dark:#c85e0a; --canvas:#f3f6fb; --line:#dce5f1; }
* { box-sizing:border-box; }
body { background:var(--canvas); color:var(--ink); font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.sidebar { width:var(--sidebar-width); height:100vh; height:100dvh; min-height:0; position:fixed; left:0; top:0; overflow:hidden; background:#102a4c; color:#fff; z-index:1000; box-shadow:10px 0 28px rgba(20,35,59,.13); }
.sidebar .brand { padding:1.35rem 1.15rem 1.1rem; border-bottom:1px solid rgba(255,255,255,.12); background:#0d243f; }
.brand-logo { width:82px; height:82px; object-fit:contain; background:#fff; border-radius:12px; padding:5px; box-shadow:0 8px 20px rgba(0,0,0,.18); }
.brand-mark { width:64px; height:64px; margin:auto; border-radius:12px; display:grid; place-items:center; background:rgba(255,255,255,.14); font-size:28px; }
.sidebar .nav-link { color:rgba(255,255,255,.78); border-radius:8px; margin:.08rem .65rem; padding:.64rem .78rem; font-size:.92rem; line-height:1.25; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background:rgba(255,255,255,.15); color:#fff; }
.sidebar-nav { height:calc(100vh - 156px); height:calc(100dvh - 156px); max-height:none; overflow-y:auto; overflow-x:hidden; scrollbar-width:none; padding:0 0 1rem; }.sidebar-nav::-webkit-scrollbar { display:none; }
.nav-group { min-width:0; margin:.42rem .65rem; border:1px solid rgba(255,255,255,.10); border-radius:10px; overflow:hidden; }.nav-group summary { display:flex; align-items:center; justify-content:space-between; gap:.6rem; cursor:pointer; list-style:none; color:#fff; padding:.76rem .82rem; font-size:.9rem; font-weight:700; user-select:none; }.nav-group summary>span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.nav-group summary::-webkit-details-marker { display:none; }.nav-group summary:hover { filter:brightness(1.06); }.nav-group-chevron { flex:0 0 auto; font-size:.75rem; transition:transform .18s ease; }.nav-group[open] .nav-group-chevron { transform:rotate(180deg); }.nav-group-links { padding:.28rem 0 .46rem; background:rgba(5,17,34,.20); }.nav-group-links .nav-link { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:.06rem .45rem; padding:.53rem .7rem .53rem 1.5rem; font-size:.88rem; position:relative; }.nav-group-links .nav-link::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; position:absolute; left:.68rem; top:50%; transform:translateY(-50%); opacity:.65; }
.nav-group-tienda summary { background:rgba(32,117,160,.46); }.nav-group-almacen summary { background:rgba(223,113,26,.44); }.nav-group-rrhh summary { background:rgba(102,69,167,.45); }.nav-group-fiscal summary { background:rgba(24,124,131,.44); }.nav-group-admin summary { background:rgba(175,75,84,.38); }
.main-content { margin-left:var(--sidebar-width); min-height:100vh; }.topbar { background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); padding:.9rem 1.55rem; position:sticky; top:0; z-index:900; box-shadow:0 2px 12px rgba(20,35,59,.04); }.page-content { padding:1.55rem; }
.notification-button { position:relative; width:40px; height:40px; display:grid; place-items:center; color:#28425f; }.notification-count { position:absolute; min-width:18px; height:18px; padding:0 4px; display:grid; place-items:center; right:-5px; top:-5px; border-radius:10px; background:#c94856; color:#fff; border:2px solid #fff; font-size:.68rem; font-weight:800; }.notification-menu { width:min(390px,calc(100vw - 2rem)); border:1px solid #d6e1ee; box-shadow:0 16px 38px rgba(25,45,76,.18); border-radius:10px; overflow:hidden; }.notification-title { padding:.82rem 1rem; font-weight:800; color:#183653; background:#f4f8fc; border-bottom:1px solid #dce6f2; }.notification-item { display:flex; gap:.72rem; align-items:flex-start; padding:.82rem 1rem; color:#28425f; text-decoration:none; border-bottom:1px solid #e6edf5; }.notification-item:hover { background:#f7fafc; color:#183653; }.notification-item strong { display:block; font-size:.88rem; }.notification-item small { display:block; margin-top:.12rem; color:#61738a; line-height:1.3; }.notification-icon { width:32px; height:32px; display:grid; place-items:center; flex:0 0 auto; border-radius:8px; background:#eef4fb; }.notification-empty { min-height:112px; display:flex; flex-direction:column; gap:.5rem; align-items:center; justify-content:center; color:#58708a; font-size:.86rem; }.notification-empty i { font-size:1.5rem; color:#298456; }.logout-button { border-color:#e1a9ad; color:#b33342; background:#fff7f7; white-space:nowrap; }.logout-button:hover { color:#fff; background:#c94856; border-color:#c94856; }
.card { border:1px solid rgba(190,204,222,.62); border-radius:12px; box-shadow:0 8px 24px rgba(26,47,75,.055); background:#fff; }.kpi-card { border-top:3px solid var(--orange); }.kpi-card .icon { width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:var(--navy-soft); color:var(--navy); font-size:1.3rem; }
.table thead th { background:#eef4fb; color:#38506e; border:0; font-size:.77rem; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }.table td { vertical-align:middle; border-color:#e5edf7; }.btn { border-radius:8px; font-weight:650; }.btn-primary { background:var(--orange); border-color:var(--orange); }.btn-primary:hover,.btn-primary:focus { background:var(--orange-dark); border-color:var(--orange-dark); }.btn-outline-primary { color:var(--navy); border-color:#9cb4d4; }.btn-outline-primary:hover { background:var(--navy); border-color:var(--navy); }.badge-soft-success { background:#e7f7ed; color:#1d6c43; }.badge-soft-warning { background:#fff1d9; color:#9a560d; }.badge-soft-danger { background:#fbe8e9; color:#a13c45; }.money { font-variant-numeric:tabular-nums; }.form-control,.form-select { border-color:#cbd8e8; border-radius:8px; padding:.68rem .8rem; }.form-control:focus,.form-select:focus { border-color:#df821f; box-shadow:0 0 0 .2rem rgba(231,119,24,.14); }
.muebles-login-page { min-height:100vh; padding:clamp(1.25rem,4vw,4rem); display:grid; place-items:center; overflow:hidden; color:#fff; background:#071b39 url('../img/login-muebles-fondo.png') center center/cover no-repeat; position:relative; }.muebles-login-page::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,19,45,.22),rgba(3,19,45,.06) 58%,rgba(3,19,45,.12)); }.muebles-login-page::after { content:""; position:absolute; width:760px; height:760px; left:-470px; bottom:-540px; border:2px solid rgba(255,119,23,.45); border-radius:50%; }.muebles-login-shell { width:min(1320px,100%); min-height:670px; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,520px); gap:clamp(3rem,8vw,10rem); align-items:center; position:relative; z-index:1; }.muebles-login-hero { max-width:690px; padding-left:clamp(0rem,3vw,2rem); }.muebles-login-tag { display:inline-flex; align-items:center; gap:.65rem; padding:.72rem 1.1rem; border-radius:9px; background:#f57a18; color:#fff; font-size:.82rem; letter-spacing:.04em; font-weight:800; }.muebles-login-tag i { font-size:1.35rem; }.muebles-login-hero h1 { margin:2rem 0 1.25rem; font-size:clamp(2.8rem,4.25vw,4.3rem); letter-spacing:0; line-height:1.05; font-weight:800; }.muebles-login-hero h1 em { color:#f57a18; font-style:normal; }.muebles-login-hero>p { max-width:570px; color:#d9e4f3; font-size:1.22rem; line-height:1.48; }.muebles-login-capabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }.muebles-login-capabilities>div { min-height:84px; padding-left:72px; position:relative; border-right:1px solid rgba(231,143,65,.45); }.muebles-login-capabilities>div:last-child { border-right:0; }.muebles-login-capabilities span { position:absolute; left:0; top:0; width:52px; height:52px; border:1px solid rgba(242,130,36,.55); border-radius:50%; display:grid; place-items:center; color:#ff8c28; font-size:1.45rem; }.muebles-login-capabilities strong,.muebles-login-capabilities small { display:block; }.muebles-login-capabilities strong { font-size:.94rem; margin:.3rem 0 .2rem; }.muebles-login-capabilities small { color:#c1d0e2; font-size:.76rem; line-height:1.32; }.muebles-login-card { width:100%; background:linear-gradient(180deg,#fff 0%,#fbfbfc 100%); color:#142849; border-radius:18px; border-top:5px solid #f57a18; padding:2.35rem 3.4rem 1.3rem; box-shadow:0 28px 72px rgba(0,11,31,.42); }.muebles-login-brand { text-align:center; }.muebles-login-brand img { width:137px; height:116px; object-fit:contain; display:block; margin:0 auto .15rem; }.muebles-login-brand h2 { margin:0; color:#0e2d57; font-weight:800; font-size:1.5rem; line-height:1.06; }.muebles-login-brand h2 span { font-size:1.14rem; }.muebles-login-brand h2 span::first-letter { color:#f57a18; }.muebles-login-brand p { color:#6f7580; margin:1rem 0 1.6rem; font-size:.93rem; }.muebles-login-welcome { text-align:center; margin-bottom:1.55rem; color:#172d50; font-weight:700; }.muebles-login-welcome i { color:#f57a18; font-size:1.3rem; vertical-align:-2px; margin-right:.45rem; }.muebles-login-form label:not(.muebles-remember) { color:#182b4c; display:block; font-size:.88rem; font-weight:750; margin:0 0 .43rem; }.muebles-input { height:54px; border:1px solid #d8dde5; border-radius:8px; display:flex; align-items:center; margin-bottom:1rem; background:#fff; transition:border-color .18s ease,box-shadow .18s ease; }.muebles-input:focus-within { border-color:#f57a18; box-shadow:0 0 0 .18rem rgba(245,122,24,.13); }.muebles-input>i { color:#6e7680; padding:0 .9rem 0 1rem; font-size:1.25rem; }.muebles-input input { min-width:0; width:100%; height:100%; border:0; outline:0; padding:.5rem .8rem .5rem 0; color:#152a4b; background:transparent; }.muebles-input input::placeholder { color:#9ba1aa; }.password-toggle { width:46px; border:0; height:100%; color:#6e7680; background:transparent; }.muebles-remember { display:flex; align-items:center; gap:.5rem; margin:.25rem 0 1.25rem; color:#636c77; font-size:.82rem; }.muebles-remember input { width:16px; height:16px; accent-color:#f57a18; }.muebles-login-submit { height:55px; width:100%; border:0; border-radius:8px; background:linear-gradient(90deg,#f47c18,#f06a13); color:#fff; font-size:1rem; font-weight:800; box-shadow:0 8px 18px rgba(232,104,19,.22); }.muebles-login-submit i { margin-left:1rem; font-size:1.3rem; vertical-align:-2px; }.muebles-login-security { color:#6f7780; text-align:center; margin:1rem 0; font-size:.8rem; }.muebles-login-security i { margin-right:.35rem; }.muebles-login-footer { padding-top:1rem; border-top:1px solid #e1e4e8; text-align:center; color:#7a818b; font-size:.78rem; }.company-preview { width:180px; height:150px; object-fit:contain; border:1px solid #e5e7eb; border-radius:12px; padding:10px; background:#fff; }.logo-placeholder { width:180px; height:150px; margin:auto; border:2px dashed #cbd5e1; border-radius:12px; display:grid; place-items:center; font-size:42px; color:#94a3b8; }
.module-card { transition:transform .2s ease,box-shadow .2s ease; }.module-card:hover { transform:translateY(-3px); box-shadow:0 15px 38px rgba(30,55,40,.12); }.module-icon { width:64px; height:64px; border-radius:14px; display:grid; place-items:center; font-size:30px; }.module-icon.tienda { background:#e7f7ed; color:#217346; }.module-icon.almacen { background:#fff1d9; color:#a45b0e; }
@media (max-width:991px) { .sidebar { transform:translateX(-100%); transition:.25s; }.sidebar.show { transform:translateX(0); }.main-content { margin-left:0; }.muebles-login-shell { grid-template-columns:minmax(0,520px); justify-content:center; min-height:auto; }.muebles-login-hero { display:none; } } @media (max-width:575px) { .muebles-login-page { padding:1rem; }.muebles-login-card { padding:1.8rem 1.25rem 1.15rem; border-radius:14px; }.muebles-login-brand img { width:120px; height:100px; } }
@media print { .sidebar,.topbar,.no-print { display:none!important; }.main-content { margin:0; }.card { box-shadow:none; border:0; } body { background:#fff; } }
