:root{--primary: #10b981;--primary-hover: #059669;--primary-light: #ecfdf5;--secondary: #6366f1;--dark: #0f172a;--dark-light: #1e293b;--light: #f8fafc;--border: #e2e8f0;--text: #334155;--text-light: #64748b;--white: #ffffff;--success: #10b981;--success-glow: rgba(16, 185, 129, .25);--error: #ef4444;--error-glow: rgba(239, 68, 68, .25);--warning: #f59e0b;--warning-glow: rgba(245, 158, 11, .25);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-md: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-lg: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: 6px;--radius: 12px;--radius-lg: 16px;--radius-full: 9999px;--transition: all .25s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Lora", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:#f1f5f9;color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}h1,h2,h3,h4,h5,h6{color:var(--dark);font-weight:700;letter-spacing:-.025em}button{cursor:pointer;border:none;font-family:inherit;transition:var(--transition)}a{color:var(--secondary);text-decoration:none;transition:var(--transition)}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background-color:var(--dark);color:var(--white);display:flex;flex-direction:column;padding:24px 16px;position:fixed;top:0;bottom:0;left:0;z-index:100;box-shadow:var(--shadow-lg)}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:32px}.sidebar-logo h2{color:var(--white);font-size:1.15rem;font-weight:800;letter-spacing:.5px}.sidebar-menu{display:flex;flex-direction:column;gap:8px;flex-grow:1}.sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#94a3b8;font-size:.925rem;font-weight:500;border-radius:var(--radius);transition:var(--transition);background:transparent;width:100%;text-align:left}.sidebar-item:hover{color:var(--white);background-color:#ffffff0d}.sidebar-item.active{color:var(--white);background-color:var(--primary);box-shadow:0 4px 14px #10b98166}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:16px;display:flex;flex-direction:column;gap:12px}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:38px;height:38px;border-radius:var(--radius-full);background-color:var(--primary-light);color:var(--primary);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:1rem}.user-meta{display:flex;flex-direction:column}.user-name{font-weight:600;font-size:.875rem;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.user-role{font-size:.75rem;color:#64748b;text-transform:capitalize}.logout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;font-size:.85rem;font-weight:600;border-radius:var(--radius);background-color:#ef44441a;color:var(--error)}.logout-btn:hover{background-color:var(--error);color:var(--white)}.main-wrapper{margin-left:260px;flex-grow:1;display:flex;flex-direction:column;min-height:100vh}.top-bar{background-color:var(--white);padding:16px 32px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;sticky:top;position:sticky;top:0;z-index:90}.page-title h1{font-size:1.5rem;font-weight:800;color:var(--dark)}.page-title p{font-size:.875rem;color:var(--text-light);margin-top:2px}.selectors-container{display:flex;gap:12px}.selector-wrapper{display:flex;flex-direction:column;gap:4px}.selector-label{font-size:.65rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.custom-select{padding:8px 16px;font-size:.875rem;font-weight:600;color:var(--dark);background-color:var(--light);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;cursor:pointer;transition:var(--transition)}.custom-select:focus{border-color:var(--primary);background-color:var(--white);box-shadow:0 0 0 3px var(--primary-light)}.content-body{padding:32px;flex-grow:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;border-radius:var(--radius);transition:var(--transition)}.btn-primary{background-color:var(--primary);color:var(--white)}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow)}.btn-secondary{background-color:var(--white);border:1px solid var(--border);color:var(--text)}.btn-secondary:hover{background-color:var(--light);border-color:#cbd5e1}.btn-danger{background-color:var(--error);color:var(--white)}.btn-danger:hover{background-color:#dc2626;box-shadow:var(--shadow)}.card{background-color:var(--white);border-radius:var(--radius);border:1px solid var(--border);padding:24px;box-shadow:var(--shadow-sm)}.card-title{font-size:1.125rem;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:8px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.stat-card{background-color:var(--white);border-radius:var(--radius);border:1px solid var(--border);padding:24px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-sm)}.stat-icon{width:56px;height:56px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.stat-icon.success{background-color:var(--primary-light);color:var(--primary)}.stat-icon.indigo{background-color:#e0e7ff;color:var(--secondary)}.stat-icon.warning{background-color:#fef3c7;color:var(--warning)}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:800;color:var(--dark);line-height:1.2}.stat-label{font-size:.85rem;font-weight:500;color:var(--text-light)}.folder-explorer{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.folder-card{background-color:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;cursor:pointer;position:relative;transition:var(--transition)}.folder-card:hover{transform:translateY(-2px);border-color:#cbd5e1;box-shadow:var(--shadow)}.folder-card.active{border-color:var(--primary);background-color:var(--primary-light)}.folder-icon-wrapper{color:#f59e0b;display:flex;align-items:center;justify-content:center}.folder-name{font-size:.875rem;font-weight:600;color:var(--dark);line-height:1.3;word-break:break-word}.folder-count{font-size:.75rem;color:var(--text-light);margin-top:auto}.compliance-matrix-container{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background-color:var(--white);box-shadow:var(--shadow-sm)}.compliance-matrix{width:100%;border-collapse:collapse;text-align:left}.compliance-matrix th,.compliance-matrix td{padding:16px 20px;border-bottom:1px solid var(--border);font-size:.875rem}.compliance-matrix th{background-color:var(--light);color:var(--dark);font-weight:700;white-space:nowrap}.compliance-matrix tr:last-child td{border-bottom:none}.compliance-matrix tr:hover td{background-color:#f8fafc}.traffic-light{width:16px;height:16px;border-radius:var(--radius-full);display:inline-block}.traffic-light.green{background-color:var(--success);box-shadow:0 0 10px var(--success-glow),0 0 5px var(--success)}.traffic-light.red{background-color:var(--error);box-shadow:0 0 10px var(--error-glow),0 0 5px var(--error)}.traffic-cell{display:flex;align-items:center;gap:12px}.context-menu-container{position:relative;display:inline-block}.three-dots-btn{background:transparent;color:var(--text-light);width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.three-dots-btn:hover{background-color:#cbd5e1;color:var(--dark)}.context-menu{position:absolute;right:0;top:100%;margin-top:4px;width:200px;background-color:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:150;overflow:hidden;display:flex;flex-direction:column}.context-menu-item{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:.825rem;color:var(--text);background:transparent;width:100%;text-align:left}.context-menu-item:hover{background-color:var(--light);color:var(--dark)}.context-menu-item.delete{color:var(--error)}.context-menu-item.delete:hover{background-color:#fef2f2}.upload-dropzone{border:2px dashed #cbd5e1;border-radius:var(--radius);padding:32px;text-align:center;background-color:var(--light);cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.upload-dropzone:hover{border-color:var(--primary);background-color:var(--primary-light)}.dropzone-icon{color:var(--primary)}.dropzone-text{font-size:.875rem;font-weight:600;color:var(--text)}.dropzone-subtext{font-size:.75rem;color:var(--text-light)}.tabs-container{display:flex;border-bottom:1px solid var(--border);margin-bottom:24px;gap:16px}.tab-btn{padding:12px 8px;font-size:.9rem;font-weight:600;color:var(--text-light);background:transparent;border-bottom:2px solid transparent;transition:var(--transition)}.tab-btn:hover{color:var(--dark)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:span 2}.form-label{font-size:.8rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.3px}.form-input,.form-textarea{padding:10px 14px;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;background-color:var(--white);color:var(--dark);font-family:inherit;transition:var(--transition)}.form-input:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-textarea{resize:vertical;min-height:100px}.repeater-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;background-color:var(--light);margin-bottom:16px;position:relative}.repeater-delete{position:absolute;top:12px;right:12px;color:var(--error);background:transparent}.file-list{display:flex;flex-direction:column;gap:8px}.file-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--light);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition)}.file-row:hover{background-color:var(--white);box-shadow:var(--shadow-sm);border-color:#cbd5e1}.file-info{display:flex;align-items:center;gap:12px}.file-type-icon{display:flex;align-items:center;justify-content:center}.file-type-icon.pdf{color:#ef4444}.file-type-icon.excel{color:#10b981}.file-type-icon.word{color:#3b82f6}.file-type-icon.image{color:#a855f7}.file-name-meta{display:flex;flex-direction:column}.file-name-display{font-size:.875rem;font-weight:600;color:var(--dark);max-width:450px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta-desc{font-size:.725rem;color:var(--text-light)}.latex-cv-container{max-width:800px;margin:0 auto;background-color:var(--white);padding:40px;box-shadow:var(--shadow-md);border:1px solid var(--border);font-family:var(--font-serif);color:#111;line-height:1.45}.latex-cv-header{text-align:center;margin-bottom:24px}.latex-cv-header h1{font-family:var(--font-serif);font-size:2.25rem;font-weight:500;color:#000;margin-bottom:4px}.latex-cv-contacts{font-family:var(--font-sans);font-size:.8rem;color:#444;display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:8px}.latex-cv-section-title{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;text-transform:uppercase;color:#000;border-bottom:1px solid #111;padding-bottom:3px;margin-top:24px;margin-bottom:12px;letter-spacing:.5px}.latex-cv-item{display:grid;grid-template-columns:120px 1fr;gap:16px;margin-bottom:12px;font-size:.925rem}.latex-cv-date{font-family:var(--font-sans);font-size:.8rem;font-weight:600;color:#444;text-align:right}.latex-cv-desc h4{font-size:.95rem;font-weight:700;margin-bottom:2px}.latex-cv-desc em{font-size:.875rem;color:#333}.latex-cv-desc p{margin-top:4px;color:#444;font-size:.875rem}.auth-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--dark) 0%,#1e293b 100%);padding:24px}.auth-card{width:100%;max-width:440px;background-color:#fffffff2;border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{color:var(--primary);margin-bottom:16px;display:inline-flex;padding:12px;background-color:var(--primary-light);border-radius:var(--radius)}.auth-header h2{font-size:1.5rem;font-weight:800;color:var(--dark)}.auth-header p{font-size:.875rem;color:var(--text-light);margin-top:4px}.auth-tabs{display:flex;background-color:#cbd5e1;padding:4px;border-radius:var(--radius-sm);margin-bottom:24px}.auth-tab-btn{flex:1;padding:8px;font-size:.875rem;font-weight:600;background:transparent;color:var(--text);border-radius:4px}.auth-tab-btn.active{background-color:var(--white);color:var(--dark);box-shadow:var(--shadow-sm)}@media print{body{background-color:#fff!important;color:#000!important}.sidebar,.top-bar,.tabs-container,.btn,.three-dots-btn,.custom-select,.selectors-container,.page-title p{display:none!important}.main-wrapper{margin-left:0!important}.content-body{padding:0!important}.latex-cv-container{box-shadow:none!important;border:none!important;padding:0!important;max-width:100%!important}}.hamburger-btn,.mobile-close-btn{display:none!important}@media (max-width: 900px){.hamburger-btn,.mobile-close-btn{display:block!important}.sidebar{transform:translate(-100%);transition:transform .3s ease;z-index:100}.sidebar.open{transform:translate(0)}.main-wrapper{margin-left:0!important;width:100%!important}.stats-grid{grid-template-columns:1fr!important}}@keyframes urgentGlow{0%{text-shadow:0 0 2px rgba(239,68,68,.4);color:#b91c1c}50%{text-shadow:0 0 8px rgba(239,68,68,.8);color:#ef4444}to{text-shadow:0 0 2px rgba(239,68,68,.4);color:#b91c1c}}.notice-urgent-text{animation:urgentGlow 2s infinite alternate;font-weight:700}.active-context-pill{display:flex;align-items:center;background-color:var(--white);border:1px solid var(--border);border-radius:8px;padding:4px 12px;box-shadow:var(--shadow-sm);transition:var(--transition);gap:8px}.active-context-pill:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.pill-icon{color:var(--primary);display:flex;align-items:center}.pill-label{color:var(--text-light);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pill-select{border:none;background:transparent;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--dark);cursor:pointer;outline:none;padding:4px 20px 4px 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right center;background-size:16px}.pill-select:focus{color:var(--primary)}.welcome-banner{background-color:#1e293b;border-radius:16px;padding:32px 40px;color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 25px #0000001a;gap:20px}.welcome-banner-role{background-color:#ffffff1a;padding:12px 24px;border-radius:12px;text-align:center}.dashboard-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 900px){.top-bar{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}.top-bar>div:first-child{width:100%;justify-content:space-between}.welcome-banner{flex-direction:column;align-items:flex-start;padding:24px;gap:16px}.welcome-banner-role{align-self:flex-start}.dashboard-bottom-grid{grid-template-columns:1fr}.tabs-container{flex-wrap:wrap;gap:8px}.content-header{flex-direction:column;align-items:flex-start;gap:16px}}
