       :root {
            --color-primary: #6652A6;
            --color-secondary: #D7AC30;
            --color-light: #E1DDEE;
            --color-dark: #312658;
            --color-accent1: #D7BCE8;
            --color-accent2: #E59D51;
        }
        
        body {
            background-color: var(--color-light);
            color: var(--color-dark);
            min-height: 100vh;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }
        
        .navbar {
            background: rgba(49, 38, 88, 0.95);
            backdrop-filter: blur(10px);
            border-bottom: 2px solid var(--color-primary);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        }
        
        .card {
            background: rgba(49, 38, 88, 0.85);
            border: 1px solid var(--color-primary);
            border-radius: 12px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
            color: var(--color-light);
            transition: transform 0.3s, box-shadow 0.3s;
        }
        
        .card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
        }
        
        .card-header {
            background: rgba(38, 28, 70, 0.9);
            border-bottom: 1px solid var(--color-primary);
            font-weight: 600;
        }
        
        .btn-primary {
            background: linear-gradient(135deg, var(--color-primary), var(--color-dark));
            border: none;
            transition: all 0.3s;
        }
        
        .btn-primary:hover {
            background: linear-gradient(135deg, #7863c0, #3d2f7a);
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(102, 82, 166, 0.4);
        }
        
        .btn-secondary {
            background: linear-gradient(135deg, var(--color-secondary), #c6951b);
            border: none;
            color: #312658;
            font-weight: 600;
        }
        
        .btn-secondary:hover {
            background: linear-gradient(135deg, #e8b83d, #d7ac30);
            color: #312658;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(215, 172, 48, 0.4);
        }
        
        .btn-accent {
            background: linear-gradient(135deg, var(--color-accent2), #d88c36);
            border: none;
            color: #312658;
            font-weight: 600;
        }
        
        .btn-accent:hover {
            background: linear-gradient(135deg, #f0aa5d, #e59d51);
            color: #312658;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(229, 157, 81, 0.4);
        }
        
        .badge-publico { background-color: var(--color-secondary); color: var(--color-dark); }
        .badge-confidencial { background-color: var(--color-accent2); color: var(--color-dark); }
        .badge-restringido { background-color: #e67c73; }
        .badge-secreto { background-color: #c44d65; }
        
        .filters-card {
            background: rgba(49, 38, 88, 0.7);
            padding: 20px;
            border-radius: 12px;
            margin-bottom: 20px;
            border: 1px solid var(--color-primary);
        }
        
        .viewer-container {
            background: rgba(49, 38, 88, 0.7);
            border-radius: 12px;
            padding: 25px;
            min-height: 500px;
            border: 1px solid var(--color-primary);
        }
        
        .document-icon {
            font-size: 3.5rem;
            margin-bottom: 15px;
            color: var(--color-primary);
        }
        
        .document-preview {
            background: rgba(49, 38, 88, 0.5);
            border-radius: 12px;
            padding: 25px;
            height: 100%;
            border: 1px solid var(--color-primary);
        }
        
        .sticky-top {
            top: 20px;
        }
        
        .modal-content {
            background: rgba(49, 38, 88, 0.95);
            color: var(--color-light);
            border: 2px solid var(--color-primary);
            border-radius: 15px;
        }
        
        .form-control, .form-select {
            background: rgba(225, 221, 238, 0.15);
            border: 1px solid var(--color-primary);
            color: var(--color-light);
            border-radius: 8px;
        }
        
        .form-control:focus, .form-select:focus {
            background: rgba(225, 221, 238, 0.2);
            border-color: var(--color-accent2);
            box-shadow: 0 0 0 0.25rem rgba(229, 157, 81, 0.25);
            color: var(--color-light);
        }
        
        .table {
            --bs-table-bg: transparent;
            --bs-table-color: var(--color-light);
            --bs-table-border-color: rgba(102, 82, 166, 0.5);
        }
        
        .table-hover tbody tr:hover {
            --bs-table-bg: rgba(102, 82, 166, 0.2);
        }
        
        .search-box {
            position: relative;
        }
        
        .search-box input {
            padding-left: 45px;
            background: rgba(225, 221, 238, 0.15);
            border: 1px solid var(--color-primary);
            color: var(--color-light);
            border-radius: 30px;
        }
        
        .search-box i {
            position: absolute;
            left: 20px;
            top: 13px;
            color: var(--color-accent2);
        }
        
        .stats-card {
            text-align: center;
            padding: 20px 15px;
            border-radius: 12px;
            background: rgba(49, 38, 88, 0.7);
            border: 1px solid var(--color-primary);
            transition: all 0.3s;
        }
        
        .stats-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
        }
        
        .stats-number {
            font-size: 2.8rem;
            font-weight: 700;
            margin-bottom: 5px;
            background: linear-gradient(to right, var(--color-accent2), var(--color-secondary));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        
        .stats-label {
            font-size: 1rem;
            opacity: 0.9;
        }
        
        .category-badge {
            display: inline-block;
            padding: 6px 16px;
            border-radius: 20px;
            font-weight: 600;
            font-size: 0.85rem;
        }
        
        .sidebar-title {
            position: relative;
            padding-bottom: 15px;
            margin-bottom: 20px;
        }
        
        .sidebar-title:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 50px;
            height: 3px;
            background: linear-gradient(to right, var(--color-accent2), var(--color-secondary));
            border-radius: 3px;
        }
        
        .file-upload-container {
            background: rgba(49, 38, 88, 0.5);
            border: 2px dashed var(--color-primary);
            border-radius: 12px;
            transition: all 0.3s;
        }
        
        .file-upload-container:hover {
            background: rgba(49, 38, 88, 0.7);
            border-color: var(--color-accent2);
        }
        
        .action-btn {
            width: 36px;
            height: 36px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            transition: all 0.2s;
        }
        
        .action-btn:hover {
            transform: scale(1.1);
        }
        
        .public-badge {
            background: linear-gradient(135deg, var(--color-accent2), var(--color-secondary));
            color: var(--color-dark);
            font-weight: bold;
            padding: 3px 8px;
            border-radius: 4px;
            font-size: 0.8rem;
        }
        
        .public-link-box {
            background: rgba(49, 38, 88, 0.7);
            border: 1px solid var(--color-accent2);
            border-radius: 8px;
            padding: 15px;
            margin-top: 20px;
        }
        
        .public-link {
            word-break: break-all;
            background: rgba(0, 0, 0, 0.3);
            padding: 10px;
            border-radius: 6px;
            margin-top: 10px;
            font-size: 0.9rem;
        }