:root{--primary: #4f46e5;--primary-dark: #4338ca;--primary-light: #6366f1;--accent-soft: #eef0fe;--app-bg: #f6f8fb;--surface: #ffffff;--border: #e9edf3;--border-strong: #e2e6ee;--text: #0f172a;--muted: #64748b;--muted-2: #94a3b8;--sb-bg-top: #0f172a;--sb-bg-bottom: #131d33;--sb-border: #1f2c43;--sb-text: #aeb9cc;--sb-text-dim: #7c8aa3;--sb-icon: #6b7a94;--radius: 14px;--radius-sm: 11px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 14px rgba(15, 23, 42, .08)}body{background-color:var(--app-bg);color:var(--text);font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif}.app-topbar{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs);min-height:56px}.navbar-brand-modern{text-decoration:none;gap:11px;padding:0}.navbar-brand-modern .brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg, var(--primary-light), var(--primary));display:grid;place-items:center;color:#fff;font-size:.9rem;box-shadow:0 4px 10px rgba(79,70,229,0.28);flex:0 0 auto}.navbar-brand-modern .brand-text{font-weight:700;letter-spacing:-.02em;font-size:1.05rem;color:var(--text);white-space:nowrap}.navbar-brand-modern:hover .brand-text{color:var(--primary-dark)}.app-topbar .public-nav .nav-link{color:var(--muted);font-weight:600}.app-topbar .public-nav .nav-link:hover{color:var(--primary)}#sidebarToggle{background-color:#f1f5f9}#sidebarToggle:hover,#sidebarToggle:focus{background-color:#e2e8f0}.sidebar{background:linear-gradient(180deg, var(--sb-bg-top) 0%, var(--sb-bg-bottom) 100%);box-shadow:inset -1px 0 0 var(--sb-border);border-right:none}.sidebar .nav-link{color:var(--sb-text);font-weight:500;border-radius:var(--radius-sm);margin:2px 10px;padding:10px 13px;position:relative;transition:background-color .15s ease, color .15s ease}.sidebar .nav-link i{color:var(--sb-icon);width:1.25rem;text-align:center;transition:color .15s ease}.sidebar .nav-link:hover{background:rgba(255,255,255,0.06);color:#ffffff}.sidebar .nav-link:hover i{color:#aab6cc}.sidebar .nav-link.active{background:linear-gradient(135deg, rgba(99,102,241,0.24), rgba(79,70,229,0.16));color:#ffffff;box-shadow:inset 0 0 0 1px rgba(99,102,241,0.35)}.sidebar .nav-link.active i{color:#a5b4fc}.sidebar .nav-link.active::before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:3px;background:#818cf8}.sidebar .nav-link.w-100{color:var(--sb-text)}.sidebar .nav-link.w-100:hover{color:#fff}.sidebar .border-top{border-color:var(--sb-border) !important}.sidebar .text-muted{color:var(--sb-text-dim) !important}.sidebar .nav.flex-column.mt-auto{border-top:1px solid var(--sb-border);padding-top:.5rem;margin-top:1rem}.sidebar .folder-tree-container{background-color:rgba(255,255,255,0.04);border:1px solid var(--sb-border)}.sidebar .folder-tree-container:not(:has(.folder-tree-section)){display:none}.sidebar .folder-tree-section h6{color:var(--sb-text-dim);border-bottom-color:var(--sb-border)}.sidebar .folder-link{color:var(--sb-text)}.sidebar .folder-link:hover{background-color:rgba(255,255,255,0.07);color:#fff}.sidebar .folder-link i{color:var(--sb-icon)}.sidebar ::-webkit-scrollbar-track{background:transparent}.sidebar ::-webkit-scrollbar-thumb{background:#324158}.sidebar ::-webkit-scrollbar-thumb:hover{background:#3f5170}.btn{border-radius:11px;font-weight:600}.btn-primary{background-color:var(--primary);border-color:var(--primary);box-shadow:0 4px 12px rgba(79,70,229,0.22)}.btn-primary:hover,.btn-primary:focus{background-color:var(--primary-dark);border-color:var(--primary-dark)}.btn-outline-primary{color:var(--primary);border-color:var(--border-strong)}.btn-outline-primary:hover{background-color:var(--primary);border-color:var(--primary);color:#fff}.btn-outline-secondary{color:var(--muted);border-color:var(--border-strong)}.btn-outline-secondary:hover{background-color:#f1f5f9;border-color:var(--border-strong);color:var(--text)}a{color:var(--primary)}a:hover{color:var(--primary-dark)}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card:hover{box-shadow:var(--shadow-md);transform:none}.card-header{background-color:var(--surface);border-bottom:1px solid var(--border);padding:1rem 1.25rem}.card-header h4,.card-header h5{letter-spacing:-.01em}.form-control,.form-select{border-radius:11px;border:1px solid var(--border-strong);background-color:#fbfcfe}.form-control:focus,.form-select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px rgba(79,70,229,0.15);background-color:#fff}.breadcrumb-container .breadcrumb{background:var(--surface) !important;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xs);padding:.65rem 1rem !important;margin-bottom:0;font-size:.9rem}.breadcrumb-item+.breadcrumb-item::before{color:var(--muted-2)}.breadcrumb-item.active{color:var(--text);font-weight:600}.file-listing-table thead th,.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);font-weight:600;border-bottom:1px solid var(--border)}.file-listing-table tbody tr:hover,.table-hover tbody tr:hover{background-color:#f7f9fc}.file-listing-table tbody td{border-bottom:1px solid var(--border)}.file-listing-table tbody td:first-child>i.fas{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;margin-right:10px;font-size:1rem;vertical-align:middle;background:color-mix(in srgb, currentColor 14%, transparent)}.file-listing-table tbody td:first-child a{font-weight:600;color:var(--text)}.file-listing-table tbody td:first-child a:hover{color:var(--primary)}.folder-filters .btn-group{background-color:#eef1f6;border-radius:11px;box-shadow:none}.folder-filters .btn{color:var(--muted);border-radius:8px !important}.folder-filters .btn:hover{background-color:rgba(79,70,229,0.08);color:var(--primary)}.folder-filters .btn.active{background-color:var(--primary);color:#fff;box-shadow:0 2px 6px rgba(79,70,229,0.3)}.file-listing-table .badge{font-weight:600;border-radius:20px;padding:.4em .7em}.file-listing-table .badge.bg-success{background-color:var(--accent-soft) !important;color:var(--primary-dark) !important}.file-listing-table .badge.bg-secondary{background-color:#eef1f6 !important;color:var(--muted) !important}.empty-state{background-color:#f7f9fc;border:1px dashed var(--border-strong)}.empty-state i{color:var(--primary-light)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:focus{outline:none}
