:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.auth-container{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:16px;gap:25px;background:linear-gradient(135deg,#f4f6f8,#eef1f5)}.auth-box{width:100%;max-width:380px;padding:32px 28px;background:#fff;border-radius:12px;box-shadow:0 12px 35px #0000001a}.auth-box h2{text-align:center;margin-bottom:24px;font-size:1.6rem;font-weight:600;color:#111827}.auth-box input{width:100%;padding:12px 14px;margin-bottom:16px;border:1px solid #d1d5db;border-radius:6px;font-size:15px;color:#111827;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.auth-box input::placeholder{color:#9ca3af}.auth-box input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.auth-box button{width:100%;padding:12px;margin-top:4px;border:none;background:#2563eb;color:#fff;font-size:16px;font-weight:500;border-radius:6px;cursor:pointer;transition:background .2s ease,transform .1s ease}.auth-box input{box-sizing:border-box}.auth-box button:hover{background:#1e40af}.error{background:#fee2e2;color:#991b1b;padding:10px;border-radius:6px;font-size:14px;margin-bottom:12px;text-align:center}.logo{width:300px;height:170px}.auth-box button:active{transform:scale(.98)}.toggle{margin-top:16px;text-align:center;color:#2563eb;cursor:pointer;font-size:14px;font-weight:500}.toggle:hover{text-decoration:underline}.password-wrapper{position:relative;width:100%}.password-wrapper input{width:100%;padding-right:60px}.toggle-password{position:absolute;right:12px;top:20%;cursor:pointer;color:#666;font-size:22px;display:flex;align-items:flex-start}.toggle-password svg{display:block}.toggle-password:hover{color:#000}@media(max-width:480px){.auth-box{padding:24px 20px}.auth-box h2{font-size:1.4rem}.auth-box input{font-size:14px;padding:11px 12px}.auth-box button{font-size:15px}}@media(min-width:1024px){.auth-box{max-width:420px}}.dashboard-container{height:100vh;display:flex;flex-direction:column;background:#f4f7fb;font-family:Roboto Condensed,sans-serif}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:18px 50px;background:#fff;border-bottom:1px solid #dbe3f0}.header-left{display:flex;align-items:center;gap:14px}.header-left img{height:38px}.brand-text{font-size:24px;font-weight:600;letter-spacing:.5px}.brand-dark{color:#1e3a8a}.brand-light{color:#2563eb}.header-center{flex:1;display:flex;justify-content:center}.search-input{width:500px;padding:12px 18px;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;font-size:14px;transition:.2s ease;outline:none}.search-input:focus{border-color:#2563eb;background:#fff}.header-right{display:flex;align-items:center}.upload-btn{background:#2563eb;color:#fff;padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:.2s ease}.upload-btn:hover{background:#1e40af}.dashboard-body{padding:40px 60px}.table-wrapper{margin-top:30px;overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.data-table{width:100%;border-collapse:collapse;min-width:1200px;font-size:14px}.data-table thead{background:#f3f4f6}.data-table th{text-align:left;padding:14px 16px;font-weight:600;border-bottom:1px solid #e5e7eb;white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.data-table a{text-decoration:none;color:#374151;font-weight:500}.download-btn{padding:6px 14px;border:1px solid #d1d5db;background:#f9fafb;border-radius:6px;cursor:pointer;font-size:13px}.download-btn:hover{background:#f3f4f6}.table-wrapper{margin-top:30px;overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.data-table{width:100%;border-collapse:collapse;min-width:1800px;font-size:13px}.data-table thead{background:#f5f6f8}.data-table th{padding:12px 14px;text-align:left;font-weight:600;border-bottom:1px solid #e5e7eb;white-space:nowrap}.data-table td{padding:10px 14px;border-bottom:1px solid #f0f0f0;white-space:nowrap}.data-table tbody tr:hover{background:#fafafa}.file-btn{padding:4px 10px;font-size:12px;border:1px solid #d1d5db;background:#f9fafb;border-radius:4px;cursor:pointer}.file-btn:hover{background:#f3f4f6}.modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-container{width:95%;max-width:1100px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:10px;padding:30px;box-shadow:0 15px 40px #00000026;font-family:Inter,sans-serif}.form-section{margin-bottom:30px}.form-section h3{font-size:15px;font-weight:600;margin-bottom:16px;border-bottom:1px solid #e5e7eb;padding-bottom:6px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:span 2}.form-group label{font-size:13px;font-weight:500;color:#374151}.upload-form input,.upload-form textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none}.upload-form input:focus,.upload-form textarea:focus{border-color:#2563eb}.modal-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:20px}.submit-btn{background:#2563eb;color:#fff;border:none}.modal-header{position:relative;display:flex;align-items:center;margin-bottom:20px}.modal-header h2{font-size:20px;font-weight:600}.close-btn{position:absolute;right:0;top:0;border:none;background:transparent;font-size:22px;cursor:pointer;color:#6b7280}.close-btn:hover{color:#111827}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#fff;border-bottom:1px solid #eee}.search-wrapper{position:relative;width:520px}.search-input{width:100%;padding:14px 18px 14px 48px;border-radius:14px;border:1px solid #e0e0e0;background:#f8f9fb;font-size:16px;font-weight:500;transition:all .25s ease}.search-input::placeholder{font-size:15px;opacity:.6}.search-input:focus{outline:none;border-color:#1e88e5;background:#fff;box-shadow:0 0 0 4px #1e88e51f}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;opacity:.6}.upload-btn{padding:12px 22px;font-size:15px;font-weight:600;border-radius:10px;border:none;cursor:pointer;color:#fff;background:linear-gradient(135deg,#1e88e5,#1565c0);transition:opacity .2s ease}.upload-btn:hover{opacity:.9;transform:none;box-shadow:none}.upload-btn:active{opacity:.85}.submit-btn{background-color:#2563eb;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:.2s ease}.submit-btn:hover{background-color:#1d4ed8}.cancel-btn{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:10px 20px;border-radius:8px;cursor:pointer;transition:.2s ease}.cancel-btn:hover{background-color:#e5e7eb}.delete-btn{background-color:#ef4444;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:.2s ease}.delete-btn:hover{background-color:#dc2626}.header-right{display:flex;align-items:center;gap:14px}.logout-btn{padding:12px 22px;font-size:15px;font-weight:600;border-radius:10px;border:none;cursor:pointer;color:#fff;background:linear-gradient(135deg,#f87171,#ef4444);transition:opacity .2s ease}.logout-btn:hover{opacity:.9}.logout-btn:active{opacity:.85}
