/* Lmnir — shared visual system */
:root{--sidebar-width:272px;--topbar-height:80px;--primary:#731463;--primary-dark:#590d4c;--primary-rgb:115,20,99;--primary-soft:#f6edf6;--ink:#2e172a;--ink-soft:#4b3448;--text-muted:#786679;--bg-soft:#f6f4f6;--border-soft:#e8e2e9;--radius:12px;--radius-sm:8px;--shadow-sm:0 2px 6px #183c2805}
body{font-size:.9rem;line-height:1.6}
.sidebar{background:#2c1027;scrollbar-width:thin;scrollbar-color:#60425e transparent}
.sidebar-brand{min-height:80px;padding:1.2rem 1.6rem;font-size:1.4rem;letter-spacing:-.04em}
.sidebar-brand i{background:#b4e1e8;color:#3f3242;box-shadow:none;width:38px;height:38px}
.sidebar-nav{padding:1.25rem .9rem;gap:3px}
.sidebar-nav .nav-link{font-size:.82rem;color:#cdbbce;padding:.64rem .9rem;border-radius:7px}
.sidebar-nav .nav-link.active{background:#492547;color:#fff;border-left-color:#80cdd7}
.sidebar-nav .nav-link.active i{color:#9fdfe7}
.sidebar-section-label{color:#a88fa9;font-size:.65rem;letter-spacing:.12em;margin-top:1.4rem;margin-bottom:.45rem}
.topbar{padding-inline:2rem;box-shadow:none;gap:.75rem}
.topbar-title{font-size:1.08rem;letter-spacing:-.025em}
.topbar-user{gap:.8rem;font-size:.8rem}
.user-name{padding-inline:.8rem;border-inline-start:1px solid var(--border-soft)}
.content{padding:2rem;max-width:1600px}
.card-panel{padding:1.5rem;box-shadow:var(--shadow-sm)}
.card-panel h2,.card-panel h3{font-size:1.05rem}
.kpi-card{padding:1.5rem;box-shadow:none;align-items:flex-start}
.kpi-card:hover{transform:none;box-shadow:0 4px 18px #173a2808}
.kpi-icon{width:44px;height:44px;border-radius:10px;box-shadow:none}
.kpi-value{font-size:1.8rem;font-variant-numeric:tabular-nums;letter-spacing:-.045em}
.kpi-label{font-size:.76rem;margin-top:.25rem}
.btn{font-size:.84rem;font-weight:600;border-radius:8px;padding:.58rem .95rem;transition:background-color .15s,border-color .15s}
.btn-sm{font-size:.76rem;padding:.38rem .65rem}
.btn-primary{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary-dark);--bs-btn-hover-border-color:var(--primary-dark);box-shadow:0 2px 3px #103a2010}
.btn-outline-secondary{--bs-btn-color:#624c62;--bs-btn-border-color:#ded6e0;--bs-btn-hover-bg:#f2eef3;--bs-btn-hover-color:#3d193e;--bs-btn-hover-border-color:#c5b8c9;background-color:#fff}
.btn:focus-visible,a:focus-visible{outline:3px solid #54b6bd;outline-offset:3px}
.form-control,.form-select,.choices__inner{font-size:.86rem;background-color:#fff;min-height:42px}
.form-label{font-size:.77rem;font-weight:600;margin-bottom:.45rem}
.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}
.table{--bs-table-bg:transparent;--bs-table-border-color:var(--border-soft);font-size:.84rem}
.table>:not(caption)>*>*{padding:.95rem .85rem}
.table thead th,.table-responsive-cards thead th{background:#f6f4f7;color:#736176;font-size:.68rem;letter-spacing:.065em;font-weight:600;padding:.85rem;text-transform:uppercase;white-space:nowrap}
.table tbody tr:hover>*{background-color:#faf8fa}
.table tbody tr:last-child td{border-bottom:0}
.table td{font-variant-numeric:tabular-nums}
.product-thumb{width:42px;height:42px;border-radius:9px}
.badge{font-weight:600;padding:.4rem .65rem;border-radius:6px;letter-spacing:.01em}
.modal-content{border:1px solid var(--border-soft);border-radius:14px;box-shadow:0 24px 80px #0e281d30}
.modal-header,.modal-footer{padding:1.2rem 1.5rem;border-color:var(--border-soft)}
.modal-body{padding:1.5rem}
.dropdown-menu{border:1px solid var(--border-soft);border-radius:10px;padding:.4rem;box-shadow:0 10px 30px #102c2512;font-size:.84rem}
.dropdown-item{border-radius:6px;padding:.5rem .75rem}
.dropdown-item.active,.page-item.active .page-link{background:var(--primary);border-color:var(--primary)}
.page-link{color:var(--primary)}
.page-intro{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.7rem;flex-wrap:wrap}
.page-intro h2{font-size:1.7rem;letter-spacing:-.045em;margin:0 0 .35rem}
.page-intro p{color:var(--text-muted);margin:0;font-size:.85rem}
.page-eyebrow{color:var(--primary);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin-bottom:.5rem}
.stock-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.stock-table-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;gap:1rem}
.stock-table-heading h3{margin:0;font-size:.95rem}
.quantity-pill{display:inline-block;padding:.3rem .6rem;border-radius:6px;background:#edf5f0;color:#22553d;font-weight:650}
.product-picker-native{display:none!important}
.product-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:start;color:var(--ink)}
.product-picker-trigger.is-placeholder{color:var(--text-muted)}
.product-picker-trigger::after{content:"\f349";font-family:"bootstrap-icons";font-size:.8rem;color:var(--text-muted);flex-shrink:0}
.product-picker-list{max-height:min(55vh,420px);overflow-y:auto}
.product-picker-list .list-group-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;cursor:pointer;font-size:.85rem}
.product-picker-list .list-group-item.active{background:var(--primary);border-color:var(--primary)}
.login-page{min-height:100vh;background:#f6f4f6;display:grid;grid-template-columns:1fr 1fr;padding:0}
.login-story{min-height:100vh;background:#2c1027;color:#fff;padding:clamp(2rem,6vw,7rem);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.login-story::after{content:'';position:absolute;width:440px;height:440px;border:1px solid #543856;border-radius:50%;inset-inline-end:-220px;bottom:-220px;box-shadow:0 0 0 60px #ffffff03,0 0 0 120px #ffffff03;pointer-events:none}
.login-story .login-brand{color:#fff;margin-bottom:5rem;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.8rem}
.login-brand i{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#b4e1e8;color:#3f3242}
.login-story h1{color:#fff;font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.15;letter-spacing:-.045em;max-width:550px;margin-bottom:1.5rem}
.login-story p{color:#cbb7ce;max-width:430px;font-size:1rem;line-height:1.9}
.login-modules{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.login-modules span{border:1px solid #583c59;border-radius:7px;padding:.5rem .9rem;color:#e2d6e4;font-size:.8rem}
.login-main{padding:5rem 2rem;display:flex;align-items:center;justify-content:center;min-width:0}
.login-card{width:100%;max-width:410px}
.login-card h2{font-size:1.85rem;letter-spacing:-.04em;margin-bottom:.75rem}
.login-tagline{color:var(--text-muted);margin-bottom:2rem}
.login-card .form-control{padding:.85rem 1rem}
.login-card .btn-primary{margin-top:1rem;padding:.85rem}
.lang-switch{position:absolute;top:1.5rem;inset-inline-end:2rem;z-index:2}
html[dir="rtl"] .sidebar.open{transform:translateX(0)}
@media(min-width:992px){html[dir="rtl"] .sidebar{transform:translateX(0)}}
@media(max-width:991.98px){.topbar{padding-inline:1rem}.content{padding:1.25rem}.login-page{grid-template-columns:1fr}.login-story{display:none}.login-main{min-height:100vh}.page-intro h2{font-size:1.4rem}}
@media(max-width:575.98px){.content{padding:1rem}.card-panel{padding:1rem}.topbar{gap:.4rem;height:70px}.topbar-title{font-size:.93rem}.topbar-user{gap:.35rem}.topbar .btn{padding:.4rem .5rem}.table-responsive-cards td{padding:.5rem 0;overflow-wrap:anywhere}.table-responsive-cards td:before{text-align:start}.table-responsive-cards td>a{min-width:0}.stock-actions{width:100%}.stock-actions .btn{flex:1}.login-main{padding-inline:1.5rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
