@import url('base.css');

.app-layout { display: flex; min-height: 100vh; }

.sidebar {
    width: var(--sidebar-width); background: var(--secondary);
    color: #fff; position: fixed; top: 0; left: 0; bottom: 0;
    overflow-y: auto; z-index: 100; transition: transform .2s;
}
.sidebar-brand {
    padding: 20px; font-size: 1.25rem; font-weight: 700;
    border-bottom: 1px solid rgba(255,255,255,.1);
    display: flex; align-items: center; gap: 10px;
}
.sidebar-brand span { color: var(--primary-light); }
.sidebar-nav { padding: 12px 0; }
.nav-section { padding: 8px 20px 4px; font-size: 11px; text-transform: uppercase; color: rgba(255,255,255,.4); letter-spacing: .5px; }
.nav-item a {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 20px; color: rgba(255,255,255,.75);
    text-decoration: none; font-size: 14px; transition: all .15s;
}
.nav-item a:hover, .nav-item a.active {
    background: rgba(255,255,255,.08); color: #fff;
    border-left: 3px solid var(--primary);
}
.nav-item a .icon { width: 20px; text-align: center; }

.main-content {
    flex: 1; margin-left: var(--sidebar-width);
    display: flex; flex-direction: column; min-height: 100vh;
}
.topbar {
    background: var(--surface); border-bottom: 1px solid var(--border);
    padding: 12px 24px; display: flex; align-items: center;
    justify-content: space-between; position: sticky; top: 0; z-index: 50;
}
.topbar-outlet { font-size: 13px; color: var(--text-muted); }
.topbar-user { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.page-content { padding: 24px; flex: 1; }
.page-header { margin-bottom: 24px; display: flex; align-items: center; justify-content: space-between; }

.stat-card {
    background: var(--surface); border-radius: var(--radius);
    padding: 20px; box-shadow: var(--shadow);
}
.stat-card .label { font-size: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .5px; }
.stat-card .value { font-size: 1.5rem; font-weight: 700; margin-top: 4px; }
.stat-card .sub { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
.stat-card.primary .value { color: var(--primary); }
.stat-card.success .value { color: var(--success); }

.auth-layout {
    min-height: 100vh; display: flex; align-items: center;
    justify-content: center; background: linear-gradient(135deg, var(--secondary) 0%, #6a040f 100%);
}
.auth-card {
    background: var(--surface); border-radius: 12px;
    padding: 40px; width: 100%; max-width: 420px;
    box-shadow: 0 8px 32px rgba(0,0,0,.2);
}
.auth-card .logo { text-align: center; margin-bottom: 24px; }
.auth-card .logo h1 { color: var(--primary); font-size: 1.5rem; }
.auth-card .logo p { color: var(--text-muted); font-size: 13px; }

@media (max-width: 768px) {
    .sidebar { transform: translateX(-100%); }
    .sidebar.open { transform: translateX(0); }
    .main-content { margin-left: 0; }
}
