:root {
    --minia-primary: #6C151E;
    --minia-primary-rgb: 108,21,30;
    --minia-primary-soft: #F8ECE9;
    --minia-secondary: #756A62;
    --minia-success: #2F6A57;
    --minia-danger: #A93B46;
    --minia-warning: #C28A47;
    --minia-info: #497C77;
    --minia-cyan: #4fc6e1;
    --minia-bg: #FBF7F2;
    --minia-card: #FFFEFC;
    --minia-card-soft: #FFF7EE;
    --minia-border: #EADBCD;
    --minia-border-strong: #DFC8B6;
    --minia-text: #34413F;
    --minia-heading: #0F3D3A;
    --minia-muted: #756A62;
    --minia-sidebar-width: 250px;
    --minia-sidebar-collapsed: 78px;
    --minia-topbar-height: 70px;
    --minia-radius: 4px;
    --minia-shadow: 0 2px 6px rgba(18,38,63,.035);
    --minia-shadow-hover: 0 9px 24px rgba(18,38,63,.09);
    --minia-transition: .22s cubic-bezier(.4,0,.2,1);
}

html[data-theme="dark"] {
    --minia-bg: #1f232d;
    --minia-card: #252a36;
    --minia-card-soft: #292f3d;
    --minia-border: #313746;
    --minia-border-strong: #394052;
    --minia-text: #c3cbe0;
    --minia-heading: #f1f3f9;
    --minia-muted: #9aa4ba;
    --minia-primary-soft: rgba(108,21,30,.16);
    --minia-shadow: 0 2px 8px rgba(0,0,0,.13);
    --minia-shadow-hover: 0 12px 28px rgba(0,0,0,.2);
}

* { box-sizing: border-box; }
html { min-height: 100%; font-size: 14px; }
body {
    min-height: 100vh;
    margin: 0;
    background: var(--minia-bg);
    color: var(--minia-text);
    font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body, input, button, select, textarea, table, .btn, .form-control, .form-select { font-family: "Tajawal", "Segoe UI", Tahoma, Arial, sans-serif !important; }
a { color: var(--minia-primary); text-decoration: none; }
a:hover { color: #551018; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
::selection { background: rgba(var(--minia-primary-rgb),.18); }

/* ===== Shell ===== */
.minia-sidebar {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 1040;
    width: var(--minia-sidebar-width);
    height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--minia-card);
    border-left: 1px solid var(--minia-border);
    box-shadow: -1px 0 0 rgba(18,38,63,.02);
    transition: width var(--minia-transition), transform var(--minia-transition), background var(--minia-transition);
}

.minia-brand-row {
    height: var(--minia-topbar-height);
    padding: 0 14px 0 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--minia-border);
}
.minia-brand {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--minia-heading);
}
.minia-brand:hover { color: var(--minia-heading); }
.minia-brand-mark {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(145deg,#7A202A,#6C151E);
    box-shadow: 0 7px 16px rgba(var(--minia-primary-rgb),.22);
    transform: rotate(0deg);
    transition: transform .35s ease, box-shadow .25s ease;
}
.minia-brand:hover .minia-brand-mark { transform: rotate(-4deg) scale(1.04); box-shadow: 0 10px 22px rgba(var(--minia-primary-rgb),.28); }
.minia-brand-mark svg { width: 20px; height: 20px; }
.minia-brand-copy { min-width: 0; display:flex; flex-direction:column; line-height:1.08; }
.minia-brand-copy strong { color: var(--minia-heading); font-size: 1rem; font-weight: 700; letter-spacing:.1px; white-space:nowrap; }
.minia-brand-copy small { margin-top:5px; color:var(--minia-muted); font-size:.6rem; letter-spacing:.25px; white-space:nowrap; }
.minia-sidebar-collapse,
.minia-menu-btn,
.minia-icon-btn {
    border: 0;
    outline: 0;
    display: inline-grid;
    place-items: center;
    cursor: pointer;
    background: transparent;
    color: var(--minia-muted);
    transition: color .18s ease, background .18s ease, transform .18s ease;
}
.minia-sidebar-collapse { width:34px; height:34px; border-radius:6px; }
.minia-sidebar-collapse:hover { color:var(--minia-primary); background:var(--minia-primary-soft); }
.minia-sidebar-collapse svg { width:19px; height:19px; }

.minia-sidebar-scroll {
    flex:1;
    overflow-y:auto;
    overflow-x:hidden;
    padding: 12px 10px 18px;
    scrollbar-width: thin;
    scrollbar-color: #d9dce3 transparent;
}
.minia-menu-title {
    padding: 13px 12px 7px;
    color: #a6aab5;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.4px;
    white-space:nowrap;
}
.minia-nav-link,
.minia-nav-toggle {
    position:relative;
    width:100%;
    min-height:42px;
    margin:2px 0;
    padding: 9px 11px;
    display:flex;
    align-items:center;
    gap:11px;
    border:0;
    border-radius:5px;
    color:#545a6d;
    background:transparent;
    text-decoration:none;
    text-align:right;
    font:inherit;
    font-size:.84rem;
    font-weight:500;
    transition: all .18s ease;
}
html[data-theme="dark"] .minia-nav-link,
html[data-theme="dark"] .minia-nav-toggle { color:#aab4c8; }
.minia-nav-link:hover,
.minia-nav-toggle:hover { color:var(--minia-primary); background:rgba(var(--minia-primary-rgb),.055); transform:translateX(-1px); }
.minia-nav-link.active { color:var(--minia-primary); background:var(--minia-primary-soft); font-weight:600; }
.minia-nav-link.active::before {
    content:"";
    position:absolute;
    right:-10px;
    top:8px;
    bottom:8px;
    width:3px;
    border-radius:3px 0 0 3px;
    background:var(--minia-primary);
}
.minia-nav-icon { width:21px; height:21px; flex:0 0 21px; display:grid; place-items:center; color:#756A62; }
.minia-nav-icon svg { width:18px; height:18px; }
.minia-nav-link.active .minia-nav-icon,
.minia-nav-link:hover .minia-nav-icon,
.minia-nav-toggle:hover .minia-nav-icon { color:var(--minia-primary); }
.minia-nav-text { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.minia-nav-arrow { width:18px; height:18px; margin-right:auto; display:grid; place-items:center; color:#a3a8b3; transition:transform .2s ease; }
.minia-nav-arrow svg { width:15px; height:15px; }
.minia-nav-group.open .minia-nav-arrow { transform:rotate(180deg); }
.minia-submenu { max-height:0; overflow:hidden; padding:0 31px 0 0; transition:max-height .26s ease; }
.minia-nav-group.open .minia-submenu { max-height:460px; }
.minia-submenu a {
    position:relative;
    display:block;
    padding:7px 11px;
    color:#6f7484;
    font-size:.79rem;
    border-radius:4px;
    transition:all .16s ease;
}
html[data-theme="dark"] .minia-submenu a { color:#98a3b8; }
.minia-submenu a::before { content:""; position:absolute; right:-12px; top:50%; width:4px; height:4px; margin-top:-2px; border-radius:50%; background:#c8ccd5; }
.minia-submenu a:hover,
.minia-submenu a.active { color:var(--minia-primary); transform:translateX(-2px); }
.minia-submenu a.active::before { background:var(--minia-primary); box-shadow:0 0 0 4px rgba(var(--minia-primary-rgb),.08); }

.minia-sidebar-footer { padding: 10px 14px 16px; }
.minia-plan-card { padding:14px 12px; text-align:center; border-radius:6px; background:#F5DABF; color:#6C151E; overflow:hidden; position:relative; }
html[data-theme="dark"] .minia-plan-card { background:rgba(var(--minia-primary-rgb),.12); color:#F5DABF; }
.minia-plan-card strong { display:block; font-size:.78rem; }
.minia-plan-card small { display:block; margin-top:5px; color:#6C5B52; font-size:.65rem; line-height:1.5; }
.minia-plan-visual { height:31px; margin-bottom:7px; display:flex; justify-content:center; align-items:flex-end; gap:5px; }
.minia-plan-visual span { width:8px; border-radius:8px 8px 2px 2px; background:linear-gradient(#0F3D3A,#6C151E); animation:equalize 2.2s ease-in-out infinite; }
.minia-plan-visual span:nth-child(1){height:18px;animation-delay:-.4s}.minia-plan-visual span:nth-child(2){height:29px;animation-delay:-.9s}.minia-plan-visual span:nth-child(3){height:23px;animation-delay:-1.4s}
@keyframes equalize { 0%,100%{transform:scaleY(.8);opacity:.8}50%{transform:scaleY(1.1);opacity:1} }

.minia-main { min-height:100vh; margin-right:var(--minia-sidebar-width); display:flex; flex-direction:column; transition:margin-right var(--minia-transition); }
.minia-topbar {
    position:sticky;
    top:0;
    z-index:1025;
    height:var(--minia-topbar-height);
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--minia-border);
    box-shadow:0 1px 3px rgba(18,38,63,.03);
    backdrop-filter:blur(10px);
    transition:background var(--minia-transition), border-color var(--minia-transition);
}
html[data-theme="dark"] .minia-topbar { background:rgba(37,42,54,.96); }
.minia-topbar-inner { height:100%; padding:0 22px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.minia-topbar-search-wrap,.minia-topbar-actions { display:flex; align-items:center; gap:8px; min-width:0; }
.minia-menu-btn { width:40px; height:40px; border-radius:5px; }
.minia-menu-btn:hover,.minia-icon-btn:hover { color:var(--minia-primary); background:var(--minia-primary-soft); transform:translateY(-1px); }
.minia-menu-btn svg,.minia-icon-btn svg { width:19px; height:19px; }
.minia-search {
    width:240px;
    height:38px;
    align-items:center;
    gap:8px;
    padding:0 12px;
    border-radius:5px;
    background:#f3f3f9;
    color:#989dac;
    transition:width .22s ease, box-shadow .22s ease, background .22s ease;
}
html[data-theme="dark"] .minia-search { background:#202531; }
.minia-search:focus-within { width:300px; box-shadow:0 0 0 3px rgba(var(--minia-primary-rgb),.08); }
.minia-search svg { width:17px; height:17px; }
.minia-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--minia-text); font-size:.78rem; }
.minia-search input::placeholder { color:#a9aebb; }
.minia-search kbd { padding:2px 5px; border-radius:3px; color:#8c91a0; background:#fff; border:1px solid #e6e8ed; font-size:.58rem; box-shadow:none; }
html[data-theme="dark"] .minia-search kbd { background:#2e3442; border-color:#3a4150; }
.minia-topbar-action {
    height:38px;
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border-radius:5px;
    color:#fff;
    background:var(--minia-primary);
    font-size:.78rem;
    font-weight:600;
    box-shadow:0 4px 10px rgba(var(--minia-primary-rgb),.16);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.minia-topbar-action:hover { color:#fff; background:#4b62d0; transform:translateY(-1px); box-shadow:0 7px 16px rgba(var(--minia-primary-rgb),.23); }
.minia-topbar-action svg { width:16px;height:16px; }
.minia-icon-btn { width:40px;height:40px;border-radius:5px; }
.theme-sun { display:none; }
html[data-theme="dark"] .theme-moon { display:none; }
html[data-theme="dark"] .theme-sun { display:block; }
.minia-notification { position:relative; }
.minia-notification-dot { position:absolute; top:8px; left:8px; width:7px; height:7px; border-radius:50%; background:var(--minia-danger); box-shadow:0 0 0 3px var(--minia-card); animation:notifyPulse 2.1s infinite; }
@keyframes notifyPulse { 0%,100%{transform:scale(1)}50%{transform:scale(1.22)} }

.minia-content { flex:1; min-width:0; }
.minia-content-inner { padding:22px 22px 28px; max-width:1900px; margin:0 auto; }
.minia-footer { min-height:58px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; gap:14px; color:var(--minia-muted); font-size:.72rem; border-top:1px solid var(--minia-border); background:var(--minia-card); }
.minia-sidebar-backdrop { display:none; }

/* ===== User dropdown ===== */
.studio-user-menu { margin-right:2px; }
.studio-user-trigger { min-height:46px; padding:3px 6px 3px 8px; display:flex; align-items:center; gap:8px; border:0; border-radius:5px; color:var(--minia-heading); background:transparent; transition:background .18s ease; }
.studio-user-trigger:hover { background:var(--minia-card-soft); }
.user-avatar { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#6579e8,#6C151E); font-size:.73rem; font-weight:700; }
.user-avatar.large { width:42px;height:42px;font-size:.82rem; }
.user-copy { flex-direction:column; text-align:right; line-height:1.2; }
.user-copy strong { font-size:.76rem; color:var(--minia-heading); font-weight:600; }
.user-copy small { margin-top:3px; color:var(--minia-muted); font-size:.61rem; }
.user-chevron { width:13px;height:13px;color:#9ea3b1; }
.studio-user-dropdown { min-width:210px; padding:8px; border:1px solid var(--minia-border); border-radius:6px; background:var(--minia-card); box-shadow:0 10px 30px rgba(18,38,63,.12); }
.user-dropdown-head { padding:7px; display:flex;align-items:center;gap:9px; }
.user-dropdown-head div { display:flex;flex-direction:column; }
.user-dropdown-head strong { color:var(--minia-heading);font-size:.78rem; }
.user-dropdown-head small { margin-top:3px;color:var(--minia-muted);font-size:.65rem; }
.studio-logout-item { display:flex;align-items:center;gap:8px;border-radius:4px;color:var(--minia-danger);font-size:.76rem; }
.studio-logout-item svg { width:16px;height:16px; }
.studio-logout-item:hover { color:var(--minia-danger); background:rgba(244,106,106,.08); }

.minia-quick-menu { min-width:230px; border:1px solid var(--minia-border); border-radius:6px; background:var(--minia-card); box-shadow:0 12px 30px rgba(18,38,63,.12); }
.minia-quick-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:5px; }
.minia-quick-grid a { padding:12px 8px; display:flex;flex-direction:column;align-items:center;gap:7px;border-radius:5px;color:var(--minia-text);font-size:.72rem; }
.minia-quick-grid a:hover { background:var(--minia-primary-soft); color:var(--minia-primary); }
.minia-quick-grid a span { width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--minia-primary-soft);color:var(--minia-primary); }
.minia-quick-grid svg { width:16px;height:16px; }

/* ===== Global content styling ===== */
.page-heading,.minia-page-heading { margin:0 0 18px; display:flex;align-items:flex-start;justify-content:space-between;gap:16px; }
.page-heading h1,.minia-page-heading h1 { margin:0;color:var(--minia-heading);font-size:1.03rem;font-weight:700; }
.page-heading p,.minia-page-heading p { margin:6px 0 0;color:var(--minia-muted);font-size:.72rem; }
.page-breadcrumb { align-items:center;gap:8px;color:#a0a4b1;font-size:.68rem; }
.page-breadcrumb strong { color:var(--minia-muted);font-weight:500; }
.page-breadcrumb .sep { color:#c0c3cc; }

.card { border:1px solid var(--minia-border); border-radius:var(--minia-radius); background:var(--minia-card); box-shadow:var(--minia-shadow); color:var(--minia-text); transition:background var(--minia-transition),border-color var(--minia-transition),transform .2s ease,box-shadow .2s ease; }
.card-header { background:transparent;border-bottom:1px solid var(--minia-border);color:var(--minia-heading); }
.card-footer { background:transparent;border-top:1px solid var(--minia-border); }
.card.ui-rise:hover { transform:translateY(-2px); box-shadow:var(--minia-shadow-hover); }
.minia-panel { overflow:hidden; }
.minia-panel .card-header { min-height:52px;padding:13px 16px; }
.panel-title-row { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.panel-title-row>div { display:flex;flex-direction:column; }
.panel-title-row strong { color:var(--minia-heading);font-size:.82rem;font-weight:600; }
.panel-title-row small { margin-top:4px;color:var(--minia-muted);font-size:.64rem; }
.panel-link { font-size:.67rem;font-weight:600; }

.btn { border-radius:4px;font-size:.75rem;font-weight:500;box-shadow:none!important;transition:all .16s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--minia-primary);border-color:var(--minia-primary); }
.btn-primary:hover,.btn-primary:focus { background:#4a61cf;border-color:#4a61cf; }
.btn-success { background:var(--minia-success);border-color:var(--minia-success); }
.btn-danger { background:var(--minia-danger);border-color:var(--minia-danger); }
.btn-warning { background:var(--minia-warning);border-color:var(--minia-warning);color:#fff; }
.btn-outline-primary { color:var(--minia-primary);border-color:rgba(var(--minia-primary-rgb),.4); }
.btn-outline-primary:hover { background:var(--minia-primary);border-color:var(--minia-primary); }
.btn-soft-primary { color:var(--minia-primary);background:var(--minia-primary-soft);border:1px solid transparent; }
.btn-soft-primary:hover { color:#fff;background:var(--minia-primary); }

.form-control,.form-select {
    min-height:38px;
    border:1px solid var(--minia-border-strong);
    border-radius:4px;
    background:var(--minia-card);
    color:var(--minia-text);
    font-size:.76rem;
    transition:border-color .16s ease,box-shadow .16s ease,background .2s ease;
}
.form-control:focus,.form-select:focus { border-color:#a7b3ef;box-shadow:0 0 0 3px rgba(var(--minia-primary-rgb),.08);background:var(--minia-card);color:var(--minia-text); }
.form-label { color:var(--minia-heading);font-size:.72rem;font-weight:500; }
.input-group-text { border-color:var(--minia-border-strong);background:var(--minia-card-soft);color:var(--minia-muted); }

.table { margin-bottom:0;color:var(--minia-text); }
.table>:not(caption)>*>* { padding:.78rem .75rem;border-bottom-color:var(--minia-border);background:transparent; }
.table thead th { color:var(--minia-muted);font-size:.68rem;font-weight:600;text-transform:none;background:var(--minia-card-soft);white-space:nowrap; }
.table tbody td { font-size:.74rem;vertical-align:middle; }
.table-hover>tbody>tr:hover>* { background:rgba(var(--minia-primary-rgb),.025); }
.badge { border-radius:3px;font-weight:500;padding:.38em .55em;font-size:.66rem; }
.studio-badge { color:#5365bd;background:#eff1ff;border:1px solid #e5e8ff; }
html[data-theme="dark"] .studio-badge { color:#aeb9ff;background:rgba(var(--minia-primary-rgb),.14);border-color:rgba(var(--minia-primary-rgb),.2); }
.dropdown-menu { border-color:var(--minia-border);background:var(--minia-card);color:var(--minia-text); }
.dropdown-item { color:var(--minia-text);font-size:.75rem; }
.dropdown-item:hover { color:var(--minia-primary);background:var(--minia-primary-soft); }
.modal-content { background:var(--minia-card);border-color:var(--minia-border); }
.modal-header,.modal-footer { border-color:var(--minia-border); }
.alert { border-radius:4px;font-size:.75rem; }
.minia-alert { animation:slideDown .28s ease both; }
@keyframes slideDown { from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none} }

/* ===== Dashboard: Minia-inspired composition ===== */
.dashboard-page { animation:dashboardEnter .42s ease both; }
@keyframes dashboardEnter { from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none} }
.dashboard-stat-card { min-height:112px; }
.dashboard-stat-card .card-body { padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px; }
.dashboard-stat-copy { min-width:0;display:flex;flex-direction:column; }
.dashboard-stat-label { color:var(--minia-muted);font-size:.69rem; }
.dashboard-stat-number { margin-top:7px;color:var(--minia-heading);font-size:1.25rem;font-weight:600;line-height:1;white-space:nowrap; }
.dashboard-stat-number em { font-size:.63rem;font-style:normal;font-weight:500;color:var(--minia-muted); }
.dashboard-stat-meta { margin-top:11px;display:flex;align-items:center;gap:6px;color:var(--minia-muted);font-size:.61rem; }
.dashboard-trend { padding:3px 5px;border-radius:3px;font-weight:600; }
.dashboard-trend.success { color:#1f9669;background:rgba(52,195,143,.13); }
.dashboard-trend.danger { color:#d25353;background:rgba(244,106,106,.13); }
.dashboard-trend.warning { color:#c38b29;background:rgba(241,180,76,.16); }
.dashboard-trend.info { color:#3e86c4;background:rgba(80,165,241,.13); }
.dashboard-sparkline { width:118px;height:54px;align-self:flex-end; }
.dashboard-sparkline svg { width:100%;height:100%;overflow:visible; }
.dashboard-sparkline path { fill:none;stroke:var(--minia-primary);stroke-width:2;stroke-dasharray:170;stroke-dashoffset:170;animation:drawSpark .9s .15s ease forwards; }
.dashboard-sparkline .spark-fill { fill:url(#none);stroke:none; }
.dashboard-sparkline.success path { stroke:var(--minia-success); }
.dashboard-sparkline.warning path { stroke:var(--minia-warning); }
.dashboard-sparkline.danger path { stroke:var(--minia-danger); }
@keyframes drawSpark { to{stroke-dashoffset:0} }

.dashboard-section-row { margin-top:16px; }
.dashboard-card-title { min-height:49px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--minia-border); }
.dashboard-card-title h3 { margin:0;color:var(--minia-heading);font-size:.78rem;font-weight:600; }
.dashboard-card-title small { color:var(--minia-muted);font-size:.62rem; }
.dashboard-filter-pills { display:flex;gap:4px; }
.dashboard-filter-pills span { min-width:30px;padding:4px 7px;border-radius:3px;text-align:center;color:#9398a7;background:var(--minia-card-soft);font-size:.58rem; }
.dashboard-filter-pills span.active { color:var(--minia-primary);background:var(--minia-primary-soft); }

.equipment-balance-body { min-height:290px;padding:18px;display:flex;align-items:center;gap:24px; }
.equipment-pie-wrap { flex:0 0 47%;display:flex;justify-content:center; }
.equipment-pie {
    --a: 50;
    --b: 25;
    width:min(205px,100%);
    aspect-ratio:1;
    border-radius:50%;
    position:relative;
    background:conic-gradient(var(--minia-primary) 0 calc(var(--a)*1%), #747de1 calc(var(--a)*1%) calc((var(--a) + var(--b))*1%), #aeb7ef calc((var(--a) + var(--b))*1%) 100%);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);
    transform:rotate(-18deg);
    animation:pieReveal .9s .08s cubic-bezier(.2,.8,.2,1) both;
}
.equipment-pie::after { content:"";position:absolute;inset:28%;border-radius:50%;background:var(--minia-card);box-shadow:0 0 0 1px var(--minia-border); }
.equipment-pie-center { position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center;transform:rotate(18deg); }
.equipment-pie-center strong { color:var(--minia-heading);font-size:1.45rem; }
.equipment-pie-center span { margin-top:3px;color:var(--minia-muted);font-size:.62rem; }
@keyframes pieReveal { from{transform:rotate(-70deg) scale(.82);opacity:0}to{transform:rotate(-18deg) scale(1);opacity:1} }
.equipment-balance-legend { flex:1;display:flex;flex-direction:column;gap:16px; }
.equipment-legend-row { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px; }
.equipment-legend-dot { width:7px;height:7px;border-radius:50%; }
.equipment-legend-dot.primary{background:var(--minia-primary)}.equipment-legend-dot.mid{background:#747de1}.equipment-legend-dot.light{background:#aeb7ef}
.equipment-legend-row div { display:flex;flex-direction:column; }
.equipment-legend-row strong { color:var(--minia-heading);font-size:.72rem;font-weight:500; }
.equipment-legend-row small { margin-top:3px;color:var(--minia-muted);font-size:.61rem; }
.equipment-legend-row em { color:var(--minia-muted);font-size:.65rem;font-style:normal; }

.overview-body { min-height:290px;padding:18px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:18px; }
.radial-meter { width:170px;aspect-ratio:1;margin:auto;position:relative;display:grid;place-items:center; }
.radial-meter::before { content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--minia-primary) calc(var(--meter)*1%), #eef0f5 0);mask:radial-gradient(circle 62px at center,transparent 97%,#000 100%);-webkit-mask:radial-gradient(circle 62px at center,transparent 97%,#000 100%);animation:meterGrow 1s ease both; }
html[data-theme="dark"] .radial-meter::before { background:conic-gradient(var(--minia-primary) calc(var(--meter)*1%), #343a49 0); }
.radial-meter span { color:#abb1c0;font-size:.85rem; }
.radial-meter strong { color:var(--minia-heading);font-size:1.35rem;font-weight:500; }
.radial-meter-inner { display:flex;flex-direction:column;align-items:center; }
@keyframes meterGrow { from{opacity:0;transform:rotate(-40deg) scale(.85)}to{opacity:1;transform:none} }
.overview-numbers { display:grid;grid-template-columns:1fr 1fr;gap:16px 18px; }
.overview-number { min-width:0; }
.overview-number span { display:block;color:var(--minia-muted);font-size:.59rem;text-transform:uppercase; }
.overview-number strong { display:block;margin-top:6px;color:var(--minia-heading);font-size:.84rem;font-weight:600;white-space:nowrap; }
.overview-number small { display:block;margin-top:4px;color:var(--minia-muted);font-size:.6rem; }

.dashboard-feature-card {
    min-height:100%;
    padding:22px 18px;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    background:linear-gradient(145deg,#5b63d6 0%,#6C151E 58%,#4b57c5 100%);
    border:0;
    box-shadow:0 10px 25px rgba(var(--minia-primary-rgb),.18);
}
.dashboard-feature-card::before { content:"";position:absolute;width:120px;height:120px;left:-32px;top:-36px;border-radius:50%;background:rgba(255,255,255,.07); }
.dashboard-feature-card::after { content:"";position:absolute;width:90px;height:90px;right:-28px;bottom:-24px;border-radius:50%;border:18px solid rgba(255,255,255,.06); }
.dashboard-feature-icon { width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);animation:floatFeature 3.2s ease-in-out infinite; }
.dashboard-feature-icon svg { width:25px;height:25px; }
.dashboard-feature-card h3 { margin:17px 0 0;font-size:1rem;font-weight:700; }
.dashboard-feature-card p { max-width:240px;margin:9px 0 16px;color:rgba(255,255,255,.74);font-size:.68rem;line-height:1.65; }
.dashboard-feature-card .btn { position:relative;z-index:2;color:#4c5cc9;background:#fff;border:0; }
@keyframes floatFeature { 0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)} }

.market-overview-body { min-height:300px;padding:17px;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(190px,.7fr);gap:22px; }
.operation-bars { min-height:245px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;padding:15px 8px 25px;border-bottom:1px solid var(--minia-border);background-image:linear-gradient(to top,var(--minia-border) 1px,transparent 1px);background-size:100% 25%; }
.operation-bar-item { flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px; }
.operation-bar-track { width:min(30px,65%);height:188px;display:flex;align-items:flex-end;border-radius:3px 3px 0 0;background:linear-gradient(to top,rgba(var(--minia-primary-rgb),.04),transparent);overflow:hidden; }
.operation-bar-fill { width:100%;min-height:5px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#667bed,var(--minia-primary));transform-origin:bottom;animation:barGrow .85s ease both;box-shadow:0 -3px 10px rgba(var(--minia-primary-rgb),.12); }
.operation-bar-item:nth-child(2) .operation-bar-fill,.operation-bar-item:nth-child(5) .operation-bar-fill { background:linear-gradient(180deg,#4fd9aa,var(--minia-success)); }
.operation-bar-item span { color:var(--minia-muted);font-size:.58rem;text-align:center;white-space:nowrap; }
@keyframes barGrow { from{transform:scaleY(.05);opacity:.2}to{transform:scaleY(1);opacity:1} }
.market-ranking { display:flex;flex-direction:column;justify-content:center;gap:10px; }
.market-rank-item { display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px; }
.market-rank-number { width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--minia-muted);background:var(--minia-card-soft);font-size:.62rem; }
.market-rank-copy { min-width:0;display:flex;flex-direction:column; }
.market-rank-copy strong { color:var(--minia-heading);font-size:.68rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.market-rank-copy small { margin-top:2px;color:var(--minia-muted);font-size:.58rem; }
.market-rank-pill { padding:3px 5px;border-radius:3px;color:#219869;background:rgba(52,195,143,.12);font-size:.58rem;font-weight:600; }

.location-status-body { min-height:300px;padding:22px 18px;display:flex;flex-direction:column;justify-content:center; }
.location-visual { position:relative;height:130px;margin-bottom:20px;display:grid;place-items:center; }
.location-orbit { width:125px;height:125px;border-radius:50%;border:1px dashed #dfe2eb;position:relative;animation:orbitSpin 16s linear infinite; }
.location-orbit::before,.location-orbit::after { content:"";position:absolute;border-radius:50%;background:var(--minia-primary);box-shadow:0 0 0 5px rgba(var(--minia-primary-rgb),.08); }
.location-orbit::before { width:8px;height:8px;top:18px;left:20px; }
.location-orbit::after { width:6px;height:6px;bottom:22px;right:16px;background:var(--minia-success);box-shadow:0 0 0 5px rgba(52,195,143,.08); }
.location-camera { position:absolute;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:var(--minia-primary);background:var(--minia-primary-soft); }
.location-camera svg { width:23px;height:23px; }
@keyframes orbitSpin { to{transform:rotate(360deg)} }
.location-progress-list { display:flex;flex-direction:column;gap:13px; }
.location-progress-head { display:flex;align-items:center;justify-content:space-between;color:var(--minia-muted);font-size:.64rem; }
.location-progress-head strong { color:var(--minia-heading);font-weight:500; }
.location-progress { height:4px;border-radius:10px;background:#EADBCD;overflow:hidden; }
html[data-theme="dark"] .location-progress { background:#343a49; }
.location-progress span { display:block;height:100%;border-radius:inherit;background:var(--minia-primary);animation:progressReveal .8s ease both; }
.location-progress-list .location-progress-item:nth-child(2) .location-progress span { background:var(--minia-success); }
.location-progress-list .location-progress-item:nth-child(3) .location-progress span { background:var(--minia-warning); }
@keyframes progressReveal { from{width:0!important} }

.dashboard-table-card .card-body { padding:0; }
.dashboard-table-card .table td,.dashboard-table-card .table th { white-space:nowrap; }
.date-chip { width:34px;height:34px;border-radius:4px;display:inline-grid;place-items:center;color:var(--minia-primary);background:var(--minia-primary-soft);font-weight:700;vertical-align:middle; }
.date-copy { display:inline-flex;flex-direction:column;margin-right:7px;vertical-align:middle;line-height:1.15; }
.date-copy strong { color:var(--minia-heading);font-size:.65rem;font-weight:600; }
.date-copy small { margin-top:4px;color:var(--minia-muted);font-size:.58rem; }

.recent-task-list { padding:8px 14px 12px; }
.recent-task-item { padding:10px 3px;display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;border-bottom:1px solid var(--minia-border);color:var(--minia-text);transition:transform .16s ease; }
.recent-task-item:last-child { border-bottom:0; }
.recent-task-item:hover { color:var(--minia-text);transform:translateX(-2px); }
.task-dot { width:7px;height:7px;border-radius:50%;background:var(--minia-primary);box-shadow:0 0 0 4px rgba(var(--minia-primary-rgb),.08); }
.recent-task-item>div { min-width:0;display:flex;flex-direction:column; }
.recent-task-item strong { color:var(--minia-heading);font-size:.7rem;font-weight:600; }
.recent-task-item small { margin-top:3px;color:var(--minia-muted);font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }

/* ===== Responsive and collapsible sidebar ===== */
body.sidebar-collapsed .minia-sidebar { width:var(--minia-sidebar-collapsed); }
body.sidebar-collapsed .minia-main { margin-right:var(--minia-sidebar-collapsed); }
body.sidebar-collapsed .minia-brand-copy,
body.sidebar-collapsed .minia-menu-title,
body.sidebar-collapsed .minia-nav-text,
body.sidebar-collapsed .minia-nav-arrow,
body.sidebar-collapsed .minia-submenu,
body.sidebar-collapsed .minia-sidebar-footer { display:none!important; }
body.sidebar-collapsed .minia-brand-row { padding:0 12px;justify-content:center; }
body.sidebar-collapsed .minia-brand { flex:0 0 auto; }
body.sidebar-collapsed .minia-sidebar-collapse { position:absolute;left:-16px;background:var(--minia-card);border:1px solid var(--minia-border);box-shadow:var(--minia-shadow); }
body.sidebar-collapsed .minia-nav-link,
body.sidebar-collapsed .minia-nav-toggle { justify-content:center;padding-inline:0; }
body.sidebar-collapsed .minia-nav-icon { width:22px;flex-basis:22px; }
body.sidebar-collapsed .minia-nav-link.active::before { right:-10px; }

.menu-search-hidden { display:none!important; }
.menu-search-match { background:var(--minia-primary-soft)!important;color:var(--minia-primary)!important; }
.minia-nav-group.menu-search-open .minia-submenu { max-height:460px; }

@media (max-width: 1199.98px) {
    .market-overview-body { grid-template-columns:1fr; }
    .market-ranking { display:grid;grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 991.98px) {
    .minia-sidebar { transform:translateX(105%); box-shadow:-16px 0 35px rgba(18,38,63,.15); }
    .minia-main { margin-right:0; }
    body.sidebar-mobile-open .minia-sidebar { transform:translateX(0); }
    body.sidebar-mobile-open .minia-sidebar-backdrop { display:block;position:fixed;inset:0;z-index:1035;background:rgba(34,39,52,.45);backdrop-filter:blur(1px); }
    .minia-content-inner { padding:18px 15px 25px; }
    .minia-topbar-inner { padding:0 14px; }
    .minia-footer { padding-inline:15px; }
    .equipment-balance-body,.overview-body { min-height:auto; }
}
@media (max-width: 767.98px) {
    .minia-topbar { height:64px; }
    .minia-topbar-inner { height:64px; }
    .page-heading,.minia-page-heading { align-items:center; }
    .dashboard-stat-card { min-height:102px; }
    .dashboard-sparkline { width:92px; }
    .equipment-balance-body { flex-direction:column; }
    .equipment-pie-wrap { flex-basis:auto; }
    .equipment-balance-legend { width:100%; }
    .overview-body { grid-template-columns:1fr; }
    .market-overview-body { padding:12px; }
    .operation-bars { overflow-x:auto;justify-content:flex-start;gap:18px; }
    .operation-bar-item { min-width:48px; }
    .market-ranking { grid-template-columns:1fr; }
    .minia-footer { flex-direction:column;justify-content:center;text-align:center;padding-block:12px; }
}
@media (max-width: 575.98px) {
    .minia-sidebar { width:min(84vw,280px); }
    .minia-topbar-actions { gap:3px; }
    .minia-icon-btn,.minia-menu-btn { width:36px;height:36px; }
    .studio-user-trigger { padding:2px; }
    .dashboard-stat-card .card-body { padding:13px; }
    .dashboard-stat-number { font-size:1.08rem; }
    .dashboard-sparkline { width:78px; }
    .page-heading h1,.minia-page-heading h1 { font-size:.95rem; }
}

/* ===== Authentication ===== */
.minia-auth-shell { min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr;background:var(--minia-card); }
.minia-auth-brand-panel { position:relative;overflow:hidden;padding:54px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(145deg,#4959c8,#6C151E 58%,#687cf0); }
.minia-auth-brand-panel::before { content:"";position:absolute;width:390px;height:390px;left:-170px;bottom:-120px;border-radius:50%;border:60px solid rgba(255,255,255,.045); }
.minia-auth-glow { position:absolute;width:260px;height:260px;right:-80px;top:-70px;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(4px); }
.minia-auth-brand { position:relative;z-index:2;display:flex;align-items:center;gap:11px;color:#fff; }
.minia-auth-brand:hover { color:#fff; }
.minia-auth-brand>span:last-child { display:flex;flex-direction:column;line-height:1; }
.minia-auth-brand strong { font-size:1rem; }
.minia-auth-brand small { margin-top:5px;color:rgba(255,255,255,.66);font-size:.61rem; }
.minia-auth-copy { position:relative;z-index:2;max-width:510px; }
.minia-auth-copy>span { color:rgba(255,255,255,.65);font-size:.65rem;letter-spacing:1.2px; }
.minia-auth-copy h1 { margin:15px 0 0;font-size:2.35rem;line-height:1.35;font-weight:700; }
.minia-auth-copy p { max-width:430px;margin:18px 0 0;color:rgba(255,255,255,.74);font-size:.82rem;line-height:1.8; }
.minia-auth-content { min-height:100vh;padding:38px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--minia-bg); }
.minia-auth-content>main { width:min(100%,520px); }
.minia-auth-content>footer { margin-top:30px;color:var(--minia-muted);font-size:.68rem; }
.app-guest .card { border:0;box-shadow:0 8px 30px rgba(18,38,63,.08); }
@media (max-width: 900px) { .minia-auth-shell{grid-template-columns:1fr}.minia-auth-brand-panel{display:none}.minia-auth-content{padding:24px 15px} }

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important; }
}

.minia-enter { animation: miniaEnter .42s cubic-bezier(.2,.75,.25,1) both; }
@keyframes miniaEnter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

/* ===== Existing page compatibility / whole-project reskin ===== */
.page-header { display:flex;align-items:flex-start;justify-content:space-between;gap:14px; }
.page-header h1,.page-header h2,.page-header h3 { margin:0;color:var(--minia-heading);font-weight:700; }
.page-header p { margin:.35rem 0 0;color:var(--minia-muted);font-size:.72rem; }
.form-card { width:min(100%,920px);padding:0;border:1px solid var(--minia-border);border-radius:var(--minia-radius);background:var(--minia-card);box-shadow:var(--minia-shadow); }
.form-card>form,.form-card>.card-body,.form-card>div { padding:1.2rem; }
.detail-label { margin-bottom:.32rem;color:var(--minia-muted);font-size:.66rem;font-weight:600; }
.white-space-preline { white-space:pre-line;line-height:1.75; }
.maintenance-problem-cell { max-width:360px;white-space:normal;line-height:1.55; }
.bg-white { background-color:var(--minia-card)!important; }
.bg-light,.table-light>* { background-color:var(--minia-card-soft)!important; }
.border,.border-top,.border-bottom { border-color:var(--minia-border)!important; }
.shadow-sm { box-shadow:var(--minia-shadow)!important; }
.rounded { border-radius:var(--minia-radius)!important; }
.text-muted { color:var(--minia-muted)!important; }
.btn-dark { background:#34413F;border-color:#34413F; }
html[data-theme="dark"] .btn-dark { background:#3a4150;border-color:#3a4150; }
.text-bg-light { color:var(--minia-text)!important;background:var(--minia-card-soft)!important; }

.calendar-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:1px;background:var(--minia-border);border:1px solid var(--minia-border);border-radius:var(--minia-radius);overflow:hidden; }
.calendar-cell { min-height:118px;padding:9px;background:var(--minia-card); }
.calendar-empty { background:var(--minia-card-soft); }
.calendar-today { box-shadow:inset 0 0 0 2px var(--minia-primary); }
.calendar-cell .calendar-day,.calendar-cell>strong:first-child { color:var(--minia-heading);font-size:.72rem; }

.toolbar { display:flex;align-items:center;gap:8px;margin:12px 0; }
.toolbar button,.toolbar a { padding:8px 12px;border:1px solid var(--minia-border-strong);border-radius:4px;background:var(--minia-card);color:var(--minia-text);font:inherit;font-size:.75rem;text-decoration:none; }
.toolbar button:hover,.toolbar a:hover { color:#fff;background:var(--minia-primary);border-color:var(--minia-primary); }

.pagination .page-link { border-color:var(--minia-border);background:var(--minia-card);color:var(--minia-text); }
.pagination .page-item.active .page-link { background:var(--minia-primary);border-color:var(--minia-primary); }
.nav-tabs { border-color:var(--minia-border); }
.nav-tabs .nav-link { color:var(--minia-muted);border-radius:4px 4px 0 0; }
.nav-tabs .nav-link.active { color:var(--minia-primary);background:var(--minia-card);border-color:var(--minia-border) var(--minia-border) var(--minia-card); }
.accordion-item { border-color:var(--minia-border);background:var(--minia-card); }
.accordion-button { background:var(--minia-card);color:var(--minia-heading); }
.accordion-button:not(.collapsed) { color:var(--minia-primary);background:var(--minia-primary-soft);box-shadow:none; }

/* Make old utility-heavy pages feel consistent even without editing every Razor view. */
.minia-content-inner > .card,
.minia-content-inner > .row > [class*="col-"] > .card { overflow:hidden; }
.minia-content-inner h1,.minia-content-inner h2,.minia-content-inner h3,.minia-content-inner h4,.minia-content-inner h5,.minia-content-inner h6 { color:var(--minia-heading); }
.minia-content-inner .card h5,.minia-content-inner .card h6 { font-weight:600; }
.minia-content-inner img { max-width:100%; }
.minia-content-inner .alert-light { color:var(--minia-text);background:var(--minia-card-soft);border-color:var(--minia-border); }

@media (max-width:767.98px){
    .calendar-grid{grid-template-columns:1fr}.calendar-cell{min-height:auto}.calendar-empty{display:none}
    .page-header{flex-direction:column}
}
