@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";
:root{--bg-primary:#f8f9fa;--bg-secondary:#fff;--text-main:#1a1b1e;--text-muted:#646b7a;--accent-primary:#f97316;--accent-hover:#ea580c;--border-color:#e5e7eb;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--sidebar-w:240px;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--transition:.2s ease-in-out}[data-theme=dark],body.dark{--bg-primary:#0f1115;--bg-secondary:#1a1d24;--text-main:#f1f5f9;--text-muted:#94a3b8;--border-color:#2e333e}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Outfit,sans-serif;line-height:1.5}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;gap:32px;height:100vh;padding:24px;display:flex;position:fixed;overflow-y:auto}.brand{color:var(--accent-primary);align-items:center;gap:8px;font-size:24px;font-weight:700;display:flex}.nav-links{flex-direction:column;gap:8px;display:flex}.nav-section-label{color:var(--text-muted);letter-spacing:1px;margin:24px 12px 8px;padding-left:4px;font-size:10px;font-weight:800}.nav-item{border-radius:var(--radius-sm);color:var(--text-muted);transition:var(--transition);align-items:center;gap:12px;padding:12px 16px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg-primary);color:var(--text-main);transform:translate(4px)}.nav-item.active{background:color-mix(in srgb, var(--accent-primary) 15%, transparent);color:var(--accent-primary)}.topbar{top:0;left:var(--sidebar-w);background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;align-items:center;height:60px;padding:0 24px;display:flex;position:fixed;right:0}[data-theme=dark] .topbar,body.dark .topbar{background:#1a1d24d9}.topbar-links{align-items:center;gap:16px;width:100%;display:flex}.topbar-spacer{flex:1}.topbar-page-title{color:var(--text-main);align-items:center;gap:6px;font-size:16px;font-weight:700;display:flex}.topbar-page-subtitle{color:var(--text-muted);border-left:1px solid var(--border-color);margin-left:8px;padding-left:8px;font-size:12px;font-weight:400}.topbar-status-badge{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);transition:var(--transition);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.topbar-status-badge:hover{border-color:var(--text-muted);background:var(--bg-primary);transform:translateY(-1px)}.topbar-status-badge.success{color:var(--success);border-color:color-mix(in srgb, var(--success) 35%, transparent);background:color-mix(in srgb, var(--success) 8%, transparent)}.topbar-status-badge.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent)}.topbar-status-badge.neutral{color:var(--text-muted);border-color:var(--border-color);background:var(--bg-primary)}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-header{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.nav-group-header:hover{background:var(--bg-primary);color:var(--text-main)}.nav-group-header.active{color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary) 8%, transparent)}.nav-group-items{flex-direction:column;gap:2px;padding-left:20px;transition:max-height .25s cubic-bezier(.4,0,.2,1),opacity .2s ease-in-out;display:flex;overflow:hidden}.nav-group-items.collapsed{opacity:0;pointer-events:none;max-height:0}.nav-group-items.expanded{opacity:1;max-height:500px;margin-top:2px;margin-bottom:6px}.submenu-item{border-radius:var(--radius-sm);color:var(--text-muted);transition:var(--transition);align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.submenu-item:hover{background:var(--bg-primary);color:var(--text-main);transform:translate(3px)}.submenu-item.active{color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary) 8%, transparent);font-weight:700}.main-content{margin-left:var(--sidebar-w);flex:1;padding:84px 24px 24px}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:24px;box-shadow:0 4px 24px -12px #0000000d}.page-header{margin-bottom:32px}.page-title{color:var(--text-main);font-size:32px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:4px}.btn{background:var(--bg-secondary);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:Outfit,sans-serif;font-weight:600;display:inline-flex}.btn:hover{background:var(--bg-primary);border-color:var(--text-muted)}.btn-primary{background:var(--accent-primary);color:#fff;border:none}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 8px 16px -8px var(--accent-primary);transform:translateY(-2px)}.input-group{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.input-label{color:var(--text-muted);font-size:14px;font-weight:600}.input-text{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-main);transition:var(--transition);box-sizing:border-box;outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:15px}.input-text:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-primary) 20%, transparent)}.table-container{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:16px}.data-table th{background:var(--bg-primary);color:var(--text-muted);font-size:14px;font-weight:600}.data-table tr:hover td{background:color-mix(in srgb, var(--bg-primary) 50%, transparent)}.data-table tr:last-child td{border-bottom:none}.badge{border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600}.badge-success{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.badge-neutral{background:var(--bg-primary);color:var(--text-muted)}.input-text:disabled{opacity:.6;cursor:not-allowed;background:color-mix(in srgb, var(--bg-primary) 50%, transparent);border-color:var(--border-color);color:var(--text-muted)}.fade-in{animation:.3s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-product{border:1px solid var(--border-color);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:120px;transition:all .2s;display:flex}.card-product:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 10px 30px #0000001a}.product-name{text-align:center;margin-bottom:8px;font-weight:700}.product-price{color:var(--accent-primary);font-weight:900}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.role-card{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.role-card:hover{transform:translateY(-8px)scale(1.02);border-color:var(--accent-primary)!important;box-shadow:0 20px 40px -15px color-mix(in srgb, var(--accent-primary) 20%, transparent)!important}.role-card:active{transform:scale(.98)}
