*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa}button{font-family:inherit;transition:all .2s ease}button:active{transform:translateY(1px)}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:18px;color:#999}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em}input,select,textarea{transition:all .2s ease}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #1b4f911a}.auth-page{min-height:100vh;display:flex;flex-direction:column}.auth-container{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1b4f91,#0d2d5e,#1b4f91);background-size:400% 400%;animation:gradient-shift 15s ease infinite;padding:20px;position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,153,51,.1) 0%,transparent 70%);animation:pulse-glow 8s ease-in-out infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.auth-card{background:#fff;border-radius:20px;padding:48px;box-shadow:0 30px 80px #0006,0 0 0 1px #ffffff1a;width:100%;max-width:450px;position:relative;z-index:1;animation:card-entrance .6s ease-out}@keyframes card-entrance{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-logo{width:100%;max-width:300px;height:auto;margin:0 auto 30px;display:block}.auth-card h2{color:#1b4f91;margin-bottom:36px;font-size:28px;text-align:center;font-weight:700;letter-spacing:.02em}.form-group label{display:block;margin-bottom:10px;color:#333;font-weight:600;font-size:15px}.form-group input,.form-group select{width:100%;padding:14px 16px;border:2px solid #e0e4e8;border-radius:12px;font-size:16px;transition:all .3s ease;background:#fafbfc}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1b4f91;background:#fff;box-shadow:0 0 0 4px #1b4f911a;transform:translateY(-1px)}.btn-primary{width:100%;padding:16px;background:linear-gradient(135deg,#1b4f91,#0d2d5e);color:#fff;border:none;border-radius:12px;font-size:17px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #1b4f914d;letter-spacing:.03em}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1b4f9166}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #1b4f914d}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;text-align:center}.success-message{background:#efe;color:#3c3;padding:12px;border-radius:6px;margin-bottom:20px;text-align:center}.auth-link{text-align:center;margin-top:20px;color:#666}.auth-link a{color:#f93;text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}@media (max-width: 500px){.auth-card{padding:30px 20px}.auth-logo{max-width:250px}}.footer{background:linear-gradient(135deg,#1b4f91,#0d2d5e);color:#fff;margin-top:auto;padding:48px 24px 24px;width:100%}.footer-content{margin:0 auto 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:48px}.footer-section h3{color:#f93;font-size:20px;font-weight:700;margin:0 0 20px;letter-spacing:.02em}.footer-section p{color:#ffffffd9;line-height:1.7;margin:0 0 12px;font-size:15px}.contact-info p{margin:0 0 8px}.contact-info strong{color:#fff;font-weight:700}.footer a{color:#f93;text-decoration:none;transition:all .2s ease;font-weight:500}.footer a:hover{color:#ffb366;text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:24px;text-align:center}.footer-bottom p{color:#ffffffb3;font-size:14px;margin:0}@media (max-width: 768px){.footer{padding:32px 20px 20px}.footer-content{grid-template-columns:1fr;gap:32px}.footer-section h3{font-size:18px}}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:40px}.loader-spinner{width:60px;height:60px;border:4px solid #f3f3f3;border-top:4px solid #1B4F91;border-right:4px solid #FF9933;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-message{margin-top:20px;color:#1b4f91;font-size:16px;font-weight:500}.thumbnail-container{width:100%;min-height:180px;max-height:280px;display:flex;align-items:center;justify-content:center;background:#f5f7fa;border-radius:8px;overflow:hidden;position:relative;margin-bottom:16px}.thumbnail-image{width:100%;height:auto;max-height:280px;object-fit:contain}.thumbnail-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#999;font-size:14px}.thumbnail-icon{font-size:72px;opacity:.7}.thumbnail-container canvas{max-width:100%;max-height:100%}.react-pdf__Page{display:flex;align-items:center;justify-content:center}.react-pdf__Page__canvas{max-width:100%;height:auto!important}.navbar{background:#1b4f91;color:#fff;padding:18px 0;box-shadow:0 4px 20px #00000014;position:sticky;top:0;z-index:100}.nav-content{width:100%;padding:0 24px;display:flex;justify-content:space-between;align-items:center}.navbar-logo{height:42px;width:auto;transition:transform .2s ease}.navbar-logo:hover{transform:scale(1.05)}.nav-actions{display:flex;gap:10px;align-items:center}.btn-nav{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);padding:9px 18px;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;font-weight:500;font-size:14px}.btn-nav:hover{background:#ff993340;border-color:#f936;transform:translateY(-1px)}.btn-genius{background:linear-gradient(135deg,#ffd70033,#f933);border-color:#ffd70066}.btn-genius:hover{background:linear-gradient(135deg,#ffd7004d,#ff993359);border-color:#ffd70099;transform:translateY(-1px);box-shadow:0 4px 12px #ffd7004d}.btn-requests{background:linear-gradient(135deg,#3498db33,#2980b933);border-color:#3498db66}.btn-requests:hover{background:linear-gradient(135deg,#3498db4d,#2980b959);border-color:#3498db99;transform:translateY(-1px);box-shadow:0 4px 12px #3498db4d}.badge{position:absolute;top:-6px;right:-6px;background:#f93;color:#fff;border-radius:50%;padding:3px 7px;font-size:11px;font-weight:700;min-width:20px;text-align:center;box-shadow:0 2px 8px #f936;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.user-info{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#fff}.user-icon{width:20px;height:20px;color:#fff}.btn-logout{background:#f93;color:#fff;border:none;padding:9px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;box-shadow:0 2px 8px #ff99334d}.btn-logout:hover{background:#e68a2e;transform:translateY(-1px);box-shadow:0 4px 12px #f936}.hamburger-btn{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px}.hamburger-btn span{display:block;width:25px;height:3px;background:#fff;border-radius:2px;transition:all .3s ease}@media (max-width: 768px){.nav-content{position:relative}.navbar-logo{height:35px}.hamburger-btn{display:flex}.nav-actions{position:absolute;top:100%;left:0;right:0;background:#1b4f91;flex-direction:column;gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height .3s ease;box-shadow:0 4px 20px #00000026}.nav-actions.mobile-open{max-height:500px;padding:12px 24px}.nav-actions .btn-nav,.nav-actions .user-info,.nav-actions .btn-logout{width:100%;margin:6px 0;text-align:center}.nav-actions .user-info{justify-content:center}}.dashboard{min-height:100vh;background:#f5f7fa}.dashboard .content{width:100%;padding:40px 24px}.search-bar{display:flex;gap:14px;margin-bottom:36px;flex-wrap:wrap;background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(27,79,145,.08)}.search-bar input{flex:1;min-width:220px;padding:14px 18px;border:2px solid #e0e4e8;border-radius:10px;font-size:15px;transition:all .2s ease}.search-bar input:focus{border-color:#1b4f91;background:#f8f9fa}.search-bar select{padding:14px 18px;border:2px solid #e0e4e8;border-radius:10px;font-size:15px;min-width:180px;transition:all .2s ease;background:#fff;cursor:pointer}.search-bar select:focus{border-color:#1b4f91;background:#f8f9fa}.btn-search{padding:14px 28px;background:#1b4f91;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;box-shadow:0 2px 10px #1b4f9140;transition:all .2s ease}.btn-search:hover{background:#0d2d5e;transform:translateY(-2px);box-shadow:0 4px 16px #1b4f9159}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}.document-card{background:#fff;border-radius:16px;padding:0;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #0000000f;overflow:hidden;border:1px solid rgba(27,79,145,.08);position:relative}.document-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #1b4f912e;border-color:#1b4f9126}.document-card h3{margin:0 0 10px;color:#1b4f91;font-size:18px;padding:0 24px;font-weight:700;line-height:1.4}.doc-description{color:#666;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0 24px;font-size:14px;line-height:1.5}.doc-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;margin-bottom:16px;padding:0 24px}.doc-category{color:#1b4f91;font-size:12px;font-weight:500;padding:4px 10px;border:1px solid #d0dae8;border-radius:6px;background:#f8fafc;transition:all .2s ease}.doc-date{color:#999;font-size:13px;font-weight:400}.doc-uploader{color:#888;font-size:13px;margin:0 0 20px;padding:0 20px}.no-documents{text-align:center;color:#999;padding:60px 20px;font-size:18px}.badge-new{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#f93,#e68a2e);color:#fff;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 12px #f936;z-index:10;animation:pulse-badge 2s infinite}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:40px;padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;border:1px solid rgba(27,79,145,.08)}.btn-page{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#1b4f91;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;transition:all .2s ease}.btn-page:hover:not(:disabled){background:#0d2d5e;transform:translateY(-2px);box-shadow:0 4px 12px #1b4f914d}.btn-page:disabled{background:#e0e4e8;color:#999;cursor:not-allowed;opacity:.6}.btn-page svg{width:20px;height:20px}.page-info{display:flex;flex-direction:column;align-items:center;gap:4px}.page-number{font-size:16px;font-weight:700;color:#1b4f91}.items-count{font-size:13px;color:#666}@media (max-width: 768px){.search-bar{flex-direction:column}.search-bar input,.search-bar select{width:100%}.documents-grid{grid-template-columns:1fr}.pagination{flex-direction:column;gap:16px}.btn-page{width:100%;justify-content:center}}.viewer-container{width:100%;background:#f5f7fa;border-radius:12px;margin:30px 0;display:flex;justify-content:center;align-items:center;min-height:400px}.viewer-image-wrapper{width:100%;display:flex;justify-content:center;align-items:center;padding:20px;position:relative}.viewer-image{max-width:100%;max-height:600px;width:auto;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a}.pdf-viewer{width:100%;display:flex;flex-direction:column;align-items:center;padding:20px}.pdf-viewer canvas{box-shadow:0 4px 12px #0000001a;border-radius:8px}.pdf-controls{display:flex;align-items:center;gap:20px;margin-top:20px;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.pdf-nav-btn{padding:10px 20px;background:#1b4f91;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .3s}.pdf-nav-btn:hover:not(:disabled){background:#0d2d5e}.pdf-nav-btn:disabled{background:#ccc;cursor:not-allowed}.pdf-page-info{margin:0;color:#555;font-weight:500;min-width:150px;text-align:center}.viewer-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.viewer-icon{font-size:100px;opacity:.7;margin-bottom:20px}.viewer-filename{color:#555;font-size:18px;font-weight:600;margin:0 0 10px;word-break:break-word;max-width:80%}.viewer-hint{color:#999;margin:0}.viewer-loading{padding:60px 20px;text-align:center;color:#999;font-size:16px}@media (max-width: 768px){.viewer-image{max-height:400px}.pdf-controls{flex-direction:column;gap:10px}.pdf-page-info{order:-1}.viewer-icon{font-size:80px}}.document-detail{min-height:100vh;background:#f5f7fa}.document-detail .content{width:100%;padding:40px 24px}.document-detail .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.btn-back{background:#fff;border:2px solid #e0e4e8;padding:11px 22px;border-radius:10px;cursor:pointer;font-size:15px;font-weight:500;transition:all .2s ease}.btn-back:hover{border-color:#1b4f91;background:#f8f9fa;transform:translate(-3px)}.detail-actions{display:flex;gap:12px}.btn-download,.btn-edit{background:#1b4f91;color:#fff;border:none;padding:11px 22px;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;box-shadow:0 2px 10px #1b4f9140;transition:all .2s ease}.btn-download:hover,.btn-edit:hover{background:#0d2d5e;transform:translateY(-2px);box-shadow:0 4px 16px #1b4f9159}.btn-delete{background:#e74c3c;color:#fff;border:none;padding:11px 22px;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;box-shadow:0 2px 10px #e74c3c40;transition:all .2s ease}.btn-delete:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 4px 16px #e74c3c59}.detail-content{width:100%;margin:0 auto;background:#fff;border-radius:16px;padding:48px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(27,79,145,.08)}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.detail-preview{position:sticky;top:24px;background:#f8f9fa;border-radius:12px;padding:24px;border:1px solid #e0e4e8}.detail-info{min-width:0}.detail-info h1{margin:0 0 32px;color:#1b4f91;font-size:32px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.detail-content h1 .badge-new{background:linear-gradient(135deg,#f93,#e68a2e);color:#fff;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 12px #f936;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{transform:scale(1);box-shadow:0 4px 12px #f936}50%{transform:scale(1.05);box-shadow:0 6px 16px #f939}}.doc-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:36px;padding:28px;background:linear-gradient(to bottom,#f8f9fa,#f0f2f5);border-radius:12px;border:1px solid #e0e4e8}.info-item{color:#666;font-size:15px}.info-item strong{color:#1b4f91;display:block;margin-bottom:6px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.doc-section{margin-bottom:32px}.doc-section h3{color:#1b4f91;margin-bottom:16px;font-size:20px}.doc-section p{color:#666;line-height:1.7;font-size:15px}.tags{display:flex;flex-wrap:wrap;gap:10px}.tag{background:#f93;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;box-shadow:0 2px 8px #ff993340}.comments-section{margin-top:48px;padding-top:36px;border-top:3px solid #e0e4e8}.comments-section h3{color:#1b4f91;margin-bottom:24px;font-size:24px}.add-comment textarea{width:100%;padding:16px;border:2px solid #e0e4e8;border-radius:12px;font-size:15px;font-family:inherit;resize:vertical;margin-bottom:14px;min-height:100px;transition:all .2s ease}.add-comment textarea:focus{border-color:#1b4f91;background:#f8f9fa}.btn-comment{background:#f93;color:#fff;border:none;padding:12px 28px;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;box-shadow:0 2px 10px #ff993340;transition:all .2s ease}.btn-comment:hover{background:#e68a2e;transform:translateY(-2px);box-shadow:0 4px 16px #ff993359}.comments-list{display:flex;flex-direction:column;gap:18px}.comment{background:linear-gradient(to bottom,#f8f9fa,#f0f2f5);padding:20px;border-radius:12px;border:1px solid #e0e4e8;transition:all .2s ease}.comment:hover{box-shadow:0 4px 12px #0000000f;transform:translate(4px)}.comment-header{display:flex;justify-content:space-between;margin-bottom:10px;align-items:center}.comment-header strong{color:#1b4f91;font-size:16px}.comment-date{color:#999;font-size:13px}.comment-text{color:#666;margin:0 0 12px;line-height:1.6;font-size:15px}.btn-delete-comment{background:transparent;color:#e74c3c;border:1px solid #e74c3c;padding:6px 14px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.no-comments{text-align:center;color:#999;padding:20px}.loading{text-align:center;padding:60px;font-size:18px;color:#999}.linked-documents-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}.linked-doc-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#f8f9fa,#e8f4f8);border:2px solid #1B4F91;border-radius:12px;cursor:pointer;transition:all .3s ease}.linked-doc-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #1b4f9133;border-color:#f93;background:linear-gradient(135deg,#fff,#f0f8ff)}.linked-doc-info{flex:1;min-width:0}.linked-doc-info h4{margin:0 0 8px;color:#1b4f91;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linked-doc-category{display:inline-block;padding:4px 12px;background:#f93;color:#fff;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:8px}.linked-doc-description{margin:8px 0 0;color:#666;font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.linked-doc-arrow{font-size:24px;color:#1b4f91;font-weight:700;transition:transform .3s ease}.linked-doc-card:hover .linked-doc-arrow{transform:translate(4px);color:#f93}@media (max-width: 1024px){.detail-layout{grid-template-columns:1fr;gap:32px}.detail-preview{position:static}}@media (max-width: 768px){.document-detail .page-header{flex-direction:column;gap:16px;align-items:stretch}.detail-actions{justify-content:center}.detail-content{padding:24px 20px}.doc-info{grid-template-columns:1fr}.detail-info h1{font-size:24px}}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.modal-container{background:#fff;border-radius:12px;overflow-y:auto;overflow-x:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-content{background:#fff;padding:30px;border-radius:12px;max-height:90vh;overflow-y:auto;text-align:center}.modal-icon{width:80px;height:80px;margin:0 auto 28px;border-radius:50%;padding:20px;display:flex;align-items:center;justify-content:center}.modal-icon-success{background:#10b981;color:#fff}.modal-icon-error{background:#ef4444;color:#fff}.modal-icon-warning{background:#f59e0b;color:#fff}.modal-icon-info{background:#1b4f91;color:#fff}.modal-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 12px;letter-spacing:-.01em}.modal-message{font-size:16px;color:#6b7280;line-height:1.6;margin:0;white-space:pre-wrap}.modal-actions{margin-top:28px;display:flex;gap:12px;justify-content:center}.btn-modal-cancel{background:#fff;color:#4b5563;border:2px solid #e5e7eb;padding:12px 32px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px}.btn-modal-cancel:hover{background:#f9fafb;border-color:#d1d5db}.btn-modal-cancel:active{transform:translateY(0)}.btn-modal-confirm{background:#1b4f91;color:#fff;border:none;padding:12px 32px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px}.btn-modal-confirm:hover{background:#163d73}.btn-modal-confirm:active{transform:translateY(0)}.btn-modal-destructive{background:#dc3545}.btn-modal-destructive:hover{background:#c82333}@media (max-width: 640px){.modal-container{width:95%;border-radius:14px}.modal-content{padding:24px}.modal-actions{flex-direction:column;gap:12px}.modal-icon{width:72px;height:72px}.modal-title{font-size:22px}.modal-message{font-size:15px}.btn-modal-cancel,.btn-modal-confirm{width:100%;min-width:auto;padding:14px 24px}}.user-management{min-height:100vh;background:#f5f7fa}.user-management .content{width:100%;padding:40px 24px}.user-management .page-header{display:flex;align-items:center;gap:20px;margin-bottom:36px}.btn-invite{background:#f93;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;margin-left:auto}.btn-invite:hover{background:#e68a2e}.user-management .page-header h1{color:#1b4f91;margin:0;flex:1;font-size:28px}.section{background:#fff;padding:36px;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(27,79,145,.08);margin-bottom:40px}.section h2{margin:0 0 28px;color:#1b4f91;font-size:24px}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.user-card{border:2px solid #ddd;border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:16px}.user-card.pending{border-color:#f93;background:#fff9f0}.user-info h3{margin:0 0 8px;color:#1b4f91}.user-email{color:#666;margin:0 0 12px}.user-type{display:inline-block;background:#1b4f91;color:#fff;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600}.user-actions{display:flex;gap:12px}.btn-approve{flex:1;background:#28a745;color:#fff;border:none;padding:10px;border-radius:6px;cursor:pointer;font-weight:600}.btn-approve:hover{background:#218838}.btn-reject{flex:1;background:#dc3545;color:#fff;border:none;padding:10px;border-radius:6px;cursor:pointer;font-weight:600}.btn-reject:hover{background:#c82333}.users-table{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:#f8f9fa}th{text-align:left;padding:16px;font-weight:700;color:#1b4f91;border-bottom:2px solid #dee2e6;font-size:14px;text-transform:uppercase;letter-spacing:.05em}td{padding:18px 16px;border-bottom:1px solid #f0f2f5;font-size:15px;color:#333}tbody tr{transition:all .2s ease}tbody tr:hover{background:#f8f9fa;box-shadow:0 2px 8px #0000000a}.status-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.rejected{background:#f8d7da;color:#721c24}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:30px;border-radius:12px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h2{margin:0 0 24px;color:#1b4f91}.modal-content .form-group{margin-bottom:20px}.modal-content .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.modal-content .form-group input,.modal-content .form-group select{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px}.modal-actions{display:flex;gap:12px;margin-top:24px}.table-actions{display:flex;gap:8px}.btn-table-edit{background:#f93;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.btn-table-edit:hover{background:#e68a2e}.btn-table-reset{background:#1b4f91;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.btn-table-reset:hover{background:#0d2d5e}.btn-table-delete{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.btn-table-delete:hover{background:#c82333}@media (max-width: 768px){.users-grid{grid-template-columns:1fr}.users-table{font-size:14px}.modal-content{width:95%;padding:20px}}.category-management{min-height:100vh;background:#f5f7fa}.category-management .content{width:100%;padding:40px 24px}.category-management .page-header{display:flex;align-items:center;gap:20px;margin-bottom:36px}.btn-back{background:#1b4f91;color:#fff;border:none;padding:11px 22px;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;box-shadow:0 2px 8px #1b4f9133}.btn-back:hover{background:#0d2d5e;transform:translateY(-2px);box-shadow:0 4px 12px #1b4f914d}.category-management .page-header h1{color:#1b4f91;margin:0;flex:1;font-size:28px}.btn-add{background:#f93;color:#fff;border:none;padding:11px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;box-shadow:0 2px 8px #ff993340}.btn-add:hover{background:#e68a2e;transform:translateY(-2px);box-shadow:0 4px 12px #ff993359}.success-message{background:#d4edda;color:#155724;padding:16px 24px;border-radius:10px;border:1px solid #c3e6cb;margin-bottom:24px;box-shadow:0 2px 8px #1557241a;animation:slideIn .3s ease}.error-message{background:#f8d7da;color:#721c24;padding:16px 24px;border-radius:10px;border:1px solid #f5c6cb;margin-bottom:24px;box-shadow:0 2px 8px #721c241a;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-container{background:#fff;padding:36px;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:36px;border:1px solid rgba(27,79,145,.08)}.form-container h2{margin:0 0 24px;color:#1b4f91}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px;font-family:inherit}.form-actions{display:flex;gap:12px}.btn-save{background:#28a745;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-weight:600}.btn-save:hover{background:#218838}.btn-cancel{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-weight:600}.btn-cancel:hover{background:#5a6268}.categories-list{display:grid;gap:20px}.category-card{background:#fff;border-radius:16px;padding:28px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 16px #0000000f;border:1px solid rgba(27,79,145,.08);transition:all .3s ease}.category-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px);border-color:#1b4f9126}.category-info h3{margin:0 0 10px;color:#1b4f91;font-size:20px}.category-info p{margin:0;color:#666;font-size:15px;line-height:1.5}.category-actions{display:flex;gap:10px}.btn-edit{background:#f93;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;box-shadow:0 2px 8px #ff993340}.btn-edit:hover{background:#e68a2e;transform:translateY(-1px);box-shadow:0 4px 12px #ff993359}.btn-delete{background:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;box-shadow:0 2px 8px #dc354540}.btn-delete:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc354559}.no-categories{text-align:center;color:#999;padding:40px;background:#fff;border-radius:12px}@media (max-width: 768px){.header{flex-wrap:wrap}.category-card{flex-direction:column;align-items:flex-start;gap:16px}}.upload-document{min-height:100vh;background:#f5f7fa}.upload-document .content{width:100%;padding:40px 24px}.upload-document .page-header{display:flex;align-items:center;gap:20px;margin-bottom:36px}.upload-document .page-header h1{margin:0;color:#1b4f91;font-size:32px;font-weight:700;flex:1}.upload-content{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(27,79,145,.08)}.error-message{background:#fee;color:#c00;padding:12px 16px;border-radius:8px;margin-bottom:24px;border-left:4px solid #c00}.upload-grid{display:grid;grid-template-columns:minmax(0,55%) minmax(320px,1fr);gap:32px;margin-bottom:32px}.section-title{color:#1b4f91;font-size:20px;font-weight:700;margin:0 0 24px;padding-bottom:12px;border-bottom:3px solid #FF9933}.upload-form-section{display:flex;flex-direction:column;min-width:0}.upload-preview-section{background:#f8f9fa;border-radius:12px;padding:24px;border:2px solid #1B4F91;box-shadow:0 4px 16px #1b4f911f;display:flex;flex-direction:column;position:sticky;top:110px;align-self:flex-start}.upload-content .form-group{margin-bottom:24px}.upload-content label{display:block;margin-bottom:10px;color:#333;font-weight:600;font-size:15px}.upload-content input[type=text],.upload-content select,.upload-content textarea{width:100%;padding:14px 16px;border:2px solid #e0e4e8;border-radius:10px;font-size:15px;font-family:inherit;transition:all .2s ease}.upload-content input[type=text]:focus,.upload-content select:focus,.upload-content textarea:focus{outline:none;border-color:#1b4f91;background:#f8f9fa}.upload-content input[type=text]:disabled,.upload-content select:disabled,.upload-content textarea:disabled{background:#f5f5f5;color:#999;cursor:not-allowed;opacity:.6}.upload-content textarea{resize:vertical;min-height:100px}.file-upload-area{position:relative}.file-upload-area input[type=file]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:3px dashed #d0d5dd;border-radius:12px;background:#fafbfc;transition:all .3s ease;cursor:pointer;text-align:center}.file-upload-label:hover{border-color:#f93;background:#fff9f0}.file-upload-label svg{color:#1b4f91;margin-bottom:16px}.upload-text{font-size:16px;font-weight:600;color:#333;margin-bottom:8px}.file-size{font-size:14px;color:#666}.preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999;text-align:center}.preview-placeholder svg{color:#d0d5dd;margin-bottom:16px}.preview-placeholder p{margin:0;font-size:15px}.preview-container{display:flex;flex-direction:column;gap:20px}.preview-image{width:100%;max-height:400px;object-fit:contain;border-radius:8px;background:#fff}.preview-pdf{width:100%;height:500px;border:none;border-radius:8px;background:#fff}.preview-file-info{display:flex;flex-direction:column;align-items:center;padding:40px 20px;background:#fff;border-radius:8px}.preview-file-info svg{color:#1b4f91;margin-bottom:16px}.file-name{font-size:16px;font-weight:600;color:#333;text-align:center;word-break:break-all}.file-details{background:#fff;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.file-detail-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #e0e4e8}.file-detail-item:last-child{border-bottom:none;padding-bottom:0}.detail-label{font-weight:600;color:#666;font-size:14px}.detail-value{color:#333;font-size:14px;text-align:right;word-break:break-all;max-width:70%}.tag-suggestions{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px}.tag-suggestion{background:#f0f2f5;border:2px solid #e0e4e8;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.tag-suggestion:hover{background:#f93;color:#fff;border-color:#f93;transform:translateY(-2px);box-shadow:0 4px 12px #ff99334d}.linked-docs-selector{margin-top:12px;padding:20px;background:#f8f9fa;border-radius:12px;border:2px solid #1B4F91;box-shadow:0 2px 12px #1b4f911a}.docs-search-bar{position:relative;margin-bottom:16px}.docs-search-input{width:100%;padding:12px 40px 12px 16px;border:2px solid #ccc;border-radius:8px;font-size:15px;transition:all .3s ease;background:#fff}.docs-search-input:focus{outline:none;border-color:#1b4f91;box-shadow:0 0 0 3px #1b4f911a}.btn-clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#666;font-size:18px;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s ease}.btn-clear-search:hover{background:#f0f0f0;color:#333}.docs-checkboxes{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.doc-checkbox{display:flex;align-items:center;gap:16px;padding:12px;background:#fff;border:2px solid #e0e4e8;border-radius:8px;cursor:pointer;transition:all .2s ease}.doc-checkbox:hover{border-color:#1b4f91;background:#f8f9fa;transform:translate(4px)}.doc-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#1B4F91}.doc-checkbox-label{flex:1;font-size:15px;color:#333;margin-left:10px}.doc-category{display:inline-block;margin-left:8px;padding:2px 10px;background:#1b4f91;color:#fff;font-size:13px;font-style:normal;font-weight:600;border-radius:12px}.no-docs-message{color:#666;font-size:14px;margin:0;text-align:center;padding:20px}.field-description{margin:-6px 0 12px;color:#666;font-size:14px;font-style:italic}.form-actions{padding-top:24px;border-top:2px solid #e0e4e8}.btn-upload{width:100%;padding:18px;background:#1b4f91;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}.btn-upload:hover:not(:disabled){background:#0d2d5e}.btn-upload:disabled{opacity:.7;cursor:not-allowed}.upload-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.upload-progress{margin-top:24px;animation:fadeIn .3s ease}.upload-progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.upload-progress-fill{height:100%;background:#1b4f91;border-radius:4px;animation:progressAnimation 1.5s ease-in-out infinite;width:100%;transform-origin:left}.upload-progress-text{margin:12px 0 0;font-size:14px;color:#666;text-align:center;font-weight:600}@media (max-width: 1024px){.upload-grid{grid-template-columns:1fr;gap:32px}.upload-preview-section{order:-1}}@media (max-width: 768px){.upload-document .content{padding:24px 16px}.upload-document .page-header h1{font-size:24px}.upload-content{padding:24px 20px}.section-title{font-size:18px}.upload-preview-section{position:static}.preview-pdf{height:300px}}.genius-ideas{min-height:100vh;background:#f5f7fa}.genius-ideas .content{width:100%;padding:40px 24px}.genius-header{text-align:center;margin-bottom:36px;background:#fff;padding:32px 24px;border-radius:16px;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(27,79,145,.08)}.genius-header h1{color:#1b4f91;margin:0 0 12px;font-size:32px;font-weight:700}.genius-subtitle{color:#64748b;margin:0 0 24px;font-size:16px}.header-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-submit-idea{padding:14px 32px;background:#f93;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;box-shadow:0 2px 10px #ff99334d;transition:all .2s ease}.btn-submit-idea:hover{background:#e68a2e;transform:translateY(-2px);box-shadow:0 4px 16px #f936}.genius-filters{margin-bottom:24px;display:flex;justify-content:flex-end;gap:12px}.sort-select{padding:12px 18px;border:2px solid #e0e4e8;border-radius:10px;font-size:15px;background:#fff;cursor:pointer;transition:all .2s ease}.sort-select:focus{border-color:#1b4f91;background:#f8f9fa}.ideas-list{display:flex;flex-direction:column;gap:16px}.idea-card{background:#fff;border-radius:16px;padding:24px;display:flex;gap:20px;box-shadow:0 4px 16px #0000000f;border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.idea-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1b4f91,#f93);opacity:0;transition:opacity .3s ease}.idea-card:hover:before{opacity:1}.idea-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #1b4f9126;border-color:#1b4f9133}.idea-vote-section{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:60px}.vote-btn{background:#fff;border:2px solid #e0e4e8;border-radius:8px;padding:8px;cursor:pointer;color:#64748b;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.vote-btn:hover{background:#f8f9fa;border-color:#1b4f91;color:#1b4f91}.vote-btn.voted{background:#1b4f91;border-color:#1b4f91;color:#fff}.vote-btn.voted:hover{background:#0d2d5e}.vote-count{font-size:18px;font-weight:700;color:#1b4f91}.idea-content{flex:1;cursor:pointer}.idea-title{margin:0 0 12px;color:#1b4f91;font-size:20px;font-weight:700}.idea-description{margin:0 0 16px;color:#475569;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.idea-meta{display:flex;gap:16px;align-items:center;color:#64748b;font-size:14px}.idea-author{font-weight:600}.idea-date{opacity:.8}.idea-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.idea-status-badge.pending{background:linear-gradient(135deg,#f93,#ffb84d);color:#fff;box-shadow:0 2px 8px #ff99334d}.idea-status-badge.approved{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;box-shadow:0 2px 8px #2ecc714d}.no-ideas{text-align:center;padding:48px 24px;color:#64748b;font-size:16px;background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000000f}@media (max-width: 768px){.genius-header h1{font-size:24px}.genius-subtitle{font-size:14px}.idea-card{flex-direction:column;gap:16px}.idea-vote-section{flex-direction:row;justify-content:flex-start;width:100%}.genius-filters{justify-content:stretch}.sort-select{width:100%}}.submit-idea{min-height:100vh;background:#f5f7fa}.submit-idea .content{width:100%;padding:40px 24px}.submit-idea-container{max-width:800px;margin:0 auto;background:#fff;border-radius:16px;padding:48px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(27,79,145,.08)}.submit-idea-container h1{margin:0 0 12px;color:#1b4f91;font-size:32px;font-weight:700}.submit-subtitle{margin:0 0 32px;color:#64748b;font-size:16px;line-height:1.5}.idea-form .form-group{margin-bottom:24px}.idea-form label{display:block;margin-bottom:10px;color:#333;font-weight:600;font-size:15px}.idea-form input[type=text],.idea-form textarea{width:100%;padding:14px 16px;border:2px solid #e0e4e8;border-radius:10px;font-size:15px;font-family:inherit;transition:all .2s ease}.idea-form input[type=text]:focus,.idea-form textarea:focus{outline:none;border-color:#1b4f91;background:#f8f9fa}.idea-form textarea{resize:vertical;min-height:200px;line-height:1.6}.char-count{display:block;margin-top:6px;color:#64748b;font-size:13px;text-align:right}.error-message{padding:14px 18px;background:#fee;border:1px solid #fcc;color:#c33;border-radius:10px;margin-bottom:20px;font-size:14px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.btn-cancel{padding:14px 28px;background:#fff;color:#64748b;border:2px solid #e0e4e8;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:#f8f9fa;border-color:#cbd5e0}.btn-submit{padding:14px 28px;background:#f93;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;box-shadow:0 2px 10px #ff99334d;transition:all .2s ease}.btn-submit:hover:not(:disabled){background:#e68a2e;transform:translateY(-2px);box-shadow:0 4px 16px #f936}.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.submit-idea-container{padding:32px 24px}.submit-idea-container h1{font-size:24px}.submit-subtitle{font-size:14px}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;padding:40px;max-width:500px;width:90%;text-align:center;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-icon{font-size:64px;margin-bottom:20px}.modal-content h2{color:#1b4f91;margin:0 0 16px;font-size:26px;font-weight:700}.modal-message{color:#333;font-size:16px;line-height:1.6;margin:0 0 12px}.modal-submessage{color:#666;font-size:14px;line-height:1.5;margin:0 0 28px}.btn-modal-ok{padding:14px 40px;background:#1b4f91;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-modal-ok:hover{background:#163d73}.idea-detail{min-height:100vh;background:#f5f7fa}.idea-detail .content{width:100%;padding:40px 24px}.idea-detail .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.header-actions{display:flex;gap:12px;align-items:center}.btn-back{background:#fff;border:2px solid #e0e4e8;color:#64748b;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:#f8f9fa;border-color:#1b4f91;color:#1b4f91}.btn-approve{background:linear-gradient(135deg,#27ae60,#229954);border:none;color:#fff;padding:12px 24px;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #27ae6033}.btn-approve .btn-icon{font-size:18px;font-weight:700}.btn-approve:hover{background:linear-gradient(135deg,#229954,#1e8449);transform:translateY(-2px);box-shadow:0 6px 16px #27ae6059}.btn-reject{background:linear-gradient(135deg,#dc3545,#c82333);border:none;color:#fff;padding:12px 24px;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #dc354533}.btn-reject .btn-icon{font-size:18px;font-weight:700}.btn-reject:hover{background:linear-gradient(135deg,#c82333,#bd2130);transform:translateY(-2px);box-shadow:0 6px 16px #dc354559}.btn-reopen{background:linear-gradient(135deg,#f93,#e6851a);border:none;color:#fff;padding:12px 24px;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #f933}.btn-reopen .btn-icon{font-size:18px;font-weight:700}.btn-reopen:hover{background:linear-gradient(135deg,#e6851a,#cc7a17);transform:translateY(-2px);box-shadow:0 6px 16px #ff993359}.btn-delete{background:transparent;border:2px solid #dc3545;color:#dc3545;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:#dc3545;color:#fff;transform:translateY(-2px)}.idea-content-wrapper{display:flex;flex-direction:column;gap:24px}.idea-main-card{background:#fff;border-radius:16px;padding:48px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(27,79,145,.08);display:flex;gap:32px}.idea-vote-section-detail{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:80px}.vote-btn-detail{background:#fff;border:3px solid #e0e4e8;border-radius:12px;padding:16px;cursor:pointer;color:#64748b;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.vote-btn-detail:hover{background:#f8f9fa;border-color:#1b4f91;color:#1b4f91;transform:translateY(-2px)}.vote-btn-detail.voted{background:#1b4f91;border-color:#1b4f91;color:#fff}.vote-btn-detail.voted:hover{background:#0d2d5e}.vote-count-detail{font-size:28px;font-weight:700;color:#1b4f91}.vote-label{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.idea-main-content{flex:1}.idea-main-content h1{margin:0 0 20px;color:#1b4f91;font-size:36px;font-weight:700;line-height:1.2}.idea-meta-detail{display:flex;gap:24px;margin-bottom:24px;padding-bottom:24px;border-bottom:2px solid #f0f2f5}.idea-author-detail,.idea-date-detail{display:flex;align-items:center;gap:8px;color:#64748b;font-size:15px}.idea-author-detail{font-weight:600}.idea-description-detail{color:#475569;font-size:16px;line-height:1.8;white-space:pre-wrap}.comments-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(27,79,145,.08)}.comments-section h2{margin:0 0 24px;color:#1b4f91;font-size:24px;font-weight:700}.add-comment{margin-bottom:32px}.add-comment textarea{width:100%;padding:14px 16px;border:2px solid #e0e4e8;border-radius:10px;font-size:15px;font-family:inherit;resize:vertical;transition:all .2s ease;margin-bottom:12px}.add-comment textarea:focus{outline:none;border-color:#1b4f91;background:#f8f9fa}.btn-add-comment{padding:12px 24px;background:#f93;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;box-shadow:0 2px 10px #ff99334d;transition:all .2s ease}.btn-add-comment:hover:not(:disabled){background:#e68a2e;transform:translateY(-2px);box-shadow:0 4px 16px #f936}.btn-add-comment:disabled{opacity:.5;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:16px}.comment-card{background:#f8f9fa;border-radius:12px;padding:20px;border:1px solid #e0e4e8;position:relative}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.comment-author{font-weight:600;color:#1b4f91;font-size:15px}.comment-date{color:#64748b;font-size:13px}.comment-text{margin:0;color:#475569;line-height:1.6;white-space:pre-wrap}.btn-delete-comment{margin-top:12px;padding:6px 14px;background:transparent;color:#e74c3c;border:1px solid #e74c3c;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease}.btn-delete-comment:hover{background:#e74c3c;color:#fff}.no-comments{text-align:center;padding:32px;color:#64748b;font-size:15px}@media (max-width: 768px){.idea-main-card{flex-direction:column;padding:32px 24px}.idea-vote-section-detail{flex-direction:row;justify-content:flex-start;width:100%}.idea-main-content h1{font-size:24px}.idea-meta-detail{flex-direction:column;gap:12px}.comments-section{padding:24px 16px}}.requests-list-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8f4f8);display:flex;flex-direction:column}.requests-list-content{flex:1;width:100%;padding:40px 24px}.requests-list-content .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.requests-list-content .page-header h1{margin:0;color:#1b4f91;font-size:32px;font-weight:700}.btn-new-request{padding:14px 28px;background:linear-gradient(135deg,#f93,#ffa84d);border:none;color:#fff;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-new-request:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f936}.filter-tabs{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}.filter-tabs button{padding:12px 24px;background:#fff;border:2px solid #e0e0e0;color:#666;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.filter-tabs button:hover{border-color:#1b4f91;color:#1b4f91}.filter-tabs button.active{background:#1b4f91;border-color:#1b4f91;color:#fff}.no-requests{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014}.no-requests-icon{font-size:64px;margin-bottom:20px}.no-requests h3{color:#1b4f91;margin-bottom:12px;font-size:24px}.no-requests p{color:#666;margin-bottom:24px;font-size:16px}.btn-create-first{padding:14px 32px;background:linear-gradient(135deg,#f93,#ffa84d);border:none;color:#fff;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-create-first:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f936}.requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.request-card{background:#fff;border-radius:12px;padding:24px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #00000014}.request-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.request-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.request-card-header h3{margin:0;color:#1b4f91;font-size:18px;font-weight:700;flex:1}.status-badge{padding:6px 12px;color:#fff;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;flex-shrink:0}.request-description{color:#555;line-height:1.6;margin:0 0 16px}.request-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #e0e0e0}.request-meta{display:flex;flex-direction:column;gap:6px}.request-date,.request-user{font-size:14px;color:#666}.btn-view{padding:8px 20px;background:transparent;border:2px solid #1B4F91;color:#1b4f91;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-view:hover{background:#1b4f91;color:#fff}@media (max-width: 768px){.requests-list-content{padding:24px 16px}.requests-list-content .page-header{flex-direction:column;gap:16px;align-items:stretch}.requests-list-content .page-header h1{font-size:24px}.btn-new-request{width:100%}.requests-grid{grid-template-columns:1fr}}.create-request-page{min-height:100vh;background:#f5f7fa;display:flex;flex-direction:column}.create-request-content{flex:1;width:100%;padding:40px 24px}.create-request-content .page-header{display:flex;align-items:center;gap:24px;margin-bottom:32px}.create-request-content .page-header h1{margin:0;color:#1b4f91;font-size:32px;font-weight:700}.btn-back:hover{background:#1b4f91;color:#fff;transform:translateY(-2px)}.info-box{background:#f93;color:#fff;padding:20px;border-radius:12px;display:flex;gap:16px;margin-bottom:32px}.info-icon{font-size:24px;flex-shrink:0}.info-text{flex:1;line-height:1.6}.info-text strong{display:block;margin-bottom:8px;font-size:18px}.request-form{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 20px #00000014}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;color:#1b4f91;font-weight:600;font-size:16px}.form-group input,.form-group textarea{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;font-family:inherit;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#1b4f91}.form-group textarea{resize:vertical;min-height:150px}.help-text{display:block;margin-top:8px;color:#666;font-size:14px;font-style:italic}.error-message{background:#fee;color:#c33;padding:12px 16px;border-radius:8px;margin-bottom:20px;border-left:4px solid #c33}.form-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:32px}.btn-cancel{padding:14px 32px;background:#fff;border:2px solid #ccc;color:#666;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#f5f5f5;border-color:#999}.btn-submit{padding:14px 32px;background:#1b4f91;border:none;color:#fff;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-submit:hover:not(:disabled){background:#163d73}.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.create-request-content{padding:24px 16px}.create-request-content .page-header{flex-direction:column;align-items:flex-start;gap:16px}.create-request-content .page-header h1{font-size:24px}.request-form{padding:24px 16px}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.request-detail-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8f4f8);display:flex;flex-direction:column}.request-detail-content{flex:1;width:100%;padding:40px 24px}.request-detail-content .page-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.btn-back{padding:10px 20px;background:#fff;border:2px solid #1B4F91;color:#1b4f91;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease;font-weight:600}.btn-back:hover{background:#1b4f91;color:#fff}.btn-delete-request{padding:10px 20px;background:#fff;border:2px solid #e74c3c;color:#e74c3c;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease;font-weight:600;display:inline-flex;align-items:center;gap:8px}.btn-delete-request:hover{background:#e74c3c;color:#fff}.btn-delete-request svg{width:16px;height:16px}.request-info-card{background:#fff;border-radius:16px;padding:32px;margin-bottom:32px;box-shadow:0 4px 20px #00000014}.request-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:2px solid #e0e0e0}.request-header h1{margin:0 0 12px;color:#1b4f91;font-size:28px;font-weight:700}.request-meta{display:flex;gap:24px;color:#666;font-size:14px}.status-badge{padding:10px 20px;color:#fff;border-radius:20px;font-size:14px;font-weight:600;white-space:nowrap}.status-selector{display:flex;flex-direction:column;gap:8px;min-width:200px}.status-selector label{color:#666;font-size:13px;font-weight:600}.status-select{padding:10px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;font-weight:600;background:#fff;cursor:pointer;transition:all .2s ease}.status-select:hover:not(:disabled){border-color:#1b4f91;background:#f8f9fa}.status-select:disabled{opacity:.6;cursor:not-allowed}.request-description h3{color:#1b4f91;margin-bottom:12px;font-size:18px}.request-description p{color:#555;line-height:1.8;font-size:16px}.content-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.revisions-section,.comments-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px #00000014}.revisions-section h2,.comments-section h2{color:#1b4f91;margin:0 0 20px;font-size:20px;font-weight:700}.upload-form{background:#f8f9fa;padding:20px;border-radius:12px;margin-bottom:24px}.upload-form h3{color:#1b4f91;margin:0 0 16px;font-size:16px}.upload-group{display:flex;flex-direction:column;gap:12px}.upload-group input[type=file],.upload-group input[type=text]{padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .2s ease}.upload-group input[type=file]:disabled,.upload-group input[type=text]:disabled{background:#f5f5f5;color:#999;cursor:not-allowed;opacity:.6}.upload-group button{padding:12px;background:#1b4f91;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.upload-group button:hover:not(:disabled){background:#0d2d5e}.upload-group button:disabled{opacity:.7;cursor:not-allowed}.upload-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.upload-progress{margin-top:16px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.upload-progress-bar{width:100%;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.upload-progress-fill{height:100%;background:#1b4f91;border-radius:3px;animation:progressAnimation 1.5s ease-in-out infinite;width:100%;transform-origin:left}@keyframes progressAnimation{0%{transform:scaleX(0)}50%{transform:scaleX(.7)}to{transform:scaleX(1)}}.upload-progress-text{margin:8px 0 0;font-size:13px;color:#666;text-align:center}.no-data{text-align:center;padding:40px;color:#999;font-style:italic}.revisions-list{display:flex;flex-direction:column;gap:16px}.revision-card{border:2px solid #e0e0e0;border-radius:12px;padding:16px;transition:all .2s ease}.revision-card:hover{border-color:#1b4f91;box-shadow:0 4px 12px #1b4f911a}.revision-header{display:flex;justify-content:space-between;margin-bottom:12px}.revision-number{background:#1b4f91;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.revision-date{color:#666;font-size:13px}.revision-info{margin-bottom:12px}.file-info{display:flex;justify-content:space-between;margin-bottom:8px}.file-name{color:#1b4f91;font-weight:600}.file-size{color:#999;font-size:13px}.revision-notes{background:#f8f9fa;padding:10px;border-radius:6px;margin:8px 0;font-size:14px;color:#555}.revision-uploader{color:#666;font-size:13px;margin-top:8px}.revision-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.btn-download{display:inline-block;padding:8px 16px;background:transparent;border:2px solid #27ae60;color:#27ae60;border-radius:6px;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s ease}.btn-download:hover{background:#27ae60;color:#fff}.btn-delete-revision{padding:8px 12px;background:transparent;border:2px solid #e74c3c;color:#e74c3c;border-radius:6px;font-size:16px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn-delete-revision:hover{background:#e74c3c;color:#fff}.btn-delete-revision svg{display:block}.comments-list{max-height:400px;overflow-y:auto;margin-bottom:20px}.comment{padding:16px;border-radius:12px;margin-bottom:16px}.user-comment{background:#e8f4f8;border-left:4px solid #1B4F91}.admin-comment{background:#fff3e0;border-left:4px solid #FF9933}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px}.comment-header strong{color:#1b4f91}.admin-badge{background:#f93;color:#fff;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:700}.comment-dates{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.comment-date{color:#999;font-size:12px}.comment-date.edited{color:#666;font-style:italic;font-weight:600}.comment-actions{display:flex;gap:8px;margin-left:8px}.btn-comment-edit,.btn-comment-delete{background:transparent;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn-comment-edit{color:#1b4f91}.btn-comment-delete{color:#dc3545}.btn-comment-edit:hover{background:#1b4f911a}.btn-comment-delete:hover{background:#dc35451a}.btn-comment-edit svg,.btn-comment-delete svg{display:block}.comment-text{margin:0;color:#555;line-height:1.6}.comment-edit-form{display:flex;flex-direction:column;gap:12px}.comment-edit-form textarea{padding:12px;border:2px solid #1B4F91;border-radius:8px;font-family:inherit;font-size:14px;resize:vertical}.comment-edit-form textarea:focus{outline:none;border-color:#f93}.edit-actions{display:flex;gap:8px}.btn-save-edit{padding:8px 16px;background:#1b4f91;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save-edit:hover{background:#163d73;transform:translateY(-1px)}.btn-cancel-edit{padding:8px 16px;background:#e5e7eb;color:#374151;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel-edit:hover{background:#d1d5db}.comment-form{display:flex;flex-direction:column;gap:12px}.comment-form textarea{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;resize:vertical}.comment-form textarea:focus{outline:none;border-color:#1b4f91}.comment-form button{padding:12px;background:linear-gradient(135deg,#f93,#ffa84d);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.comment-form button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff99334d}@media (max-width: 1024px){.content-grid{grid-template-columns:1fr}}@media (max-width: 768px){.request-detail-content{padding:24px 16px}.request-info-card{padding:20px}.request-header{flex-direction:column}.request-header h1{font-size:22px}.request-meta{flex-direction:column;gap:8px}}
