@charset "UTF-8";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body,html{background-color:#f9f9f9;font-family:Roboto,Segoe UI,sans-serif;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.auth-page{background-color:#f9f9f9;box-sizing:border-box;flex-direction:column;height:98vh;width:100%}.auth-page,.library-title{align-items:center;display:flex;justify-content:center}.library-title{color:#333;font-size:clamp(32px,3vmin,28px);font-weight:600;margin-bottom:2vh;margin-top:1vh;text-align:center}.library-logo{align-items:center;background:#fff;border-radius:8px;color:#fff;display:flex;font-size:clamp(16px,2vmin,22px);font-weight:700;height:clamp(50px,3vmin,40px);justify-content:center;margin-right:.8em;transition:transform .3s ease;width:clamp(50px,3vmin,40px)}.auth-container{border-radius:12px;height:90vh;margin:0 auto;max-width:2000px;overflow:visible;width:95%}.auth-container,.auth-image-section{background-color:#f9f9f9;display:flex}.auth-image-section{align-items:center;flex:1 1;flex-direction:column;height:100%;justify-content:top;overflow:hidden;position:relative}.auth-image{border-radius:2vh;box-shadow:0 10px 30px #0000001a;height:100%;margin:0;max-height:70vh;max-width:90%;object-fit:fill;transition:transform .3s ease;width:85%}.auth-image-caption{color:#333;margin-top:1vh;max-width:90%;text-align:center}.auth-image-caption h2{color:#333;font-size:clamp(20px,2.2vmin,22px);font-weight:500;margin-bottom:1vh}.auth-image-caption p{color:#555;font-size:clamp(15px,1.8vmin,15px);line-height:1.4}.auth-form-section{align-items:center;border-radius:2.5vh;flex:0.5 1;justify-content:top;margin-right:3%;max-height:800px;padding:0 3%}.auth-box,.auth-form-section{background-color:#fff;display:flex;flex-direction:column;height:100%}.auth-box{justify-content:center;max-width:400px;padding:3vh 3%;transition:transform .3s ease,box-shadow .3s ease;width:100%}.auth-toggle{border-bottom:1px solid #e5e7eb;display:flex;gap:10px;justify-content:center;margin-bottom:2vh;padding-bottom:1vh}.auth-toggle button{background:#0000;border:none;color:#555;cursor:pointer;font-size:clamp(13px,1.8vmin,15px);font-weight:500;padding:.6vh 1em;position:relative;transition:all .2s}.auth-toggle button.active{color:#294b7a}.auth-toggle button.active:after{background-color:#294b7a;bottom:-1vh;content:"";height:2px;left:0;position:absolute;width:100%}.auth-toggle button:hover{color:#294b7a}.auth-form{display:flex;flex:1 1;flex-direction:column;height:100%}.auth-form h2{color:#333;font-size:clamp(16px,2vmin,20px);font-weight:500;margin-bottom:2vh}.auth-form .form-group{box-sizing:border-box;margin-bottom:2vh;width:100%}.auth-form input,.auth-form select{background-color:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:clamp(13px,1.6vmin,14px);margin:.8vh 0;padding:1.2vh 14px;transition:all .2s;width:100%}.auth-form input:focus,.auth-form select:focus{border-color:#294b7a;box-shadow:0 0 0 2px #294b7a1a;outline:none}.form-row{flex-wrap:wrap;gap:10px;margin-bottom:2vh}.form-row .form-group{flex:1 1;margin-bottom:0;min-width:0}.scrollable-form{-ms-overflow-style:none;flex:1 1;margin-bottom:2vh;overflow-y:auto;padding-right:10px;scrollbar-width:thin}.scrollable-form::-webkit-scrollbar{width:5px}.scrollable-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.scrollable-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:10px}.scrollable-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.register-form{display:flex;flex:1 1;flex-direction:column;max-height:none}.auth-form button[type=submit]{background:#294b7a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:clamp(14px,1.8vmin,15px);font-weight:500;margin-top:2vh;overflow:hidden;padding:1.5vh 10px;position:relative;transition:all .3s;width:100%}.auth-form button[type=submit]:hover{background:#1f3c63;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.auth-form button[type=submit]:active{transform:translateY(0)}.error{background-color:#d32f2f14;border-left:3px solid #d32f2f;color:#d32f2f}.error,.success{border-radius:4px;font-size:clamp(12px,1.5vmin,13px);margin:.5vh 0 1.5vh;padding:.8vh 10px;text-align:left}.success{background-color:#388e3c14;border-left:3px solid #388e3c;color:#388e3c}.google-login-container{flex-direction:column;margin-top:2.5vh}.google-login-container,.separator{align-items:center;display:flex;width:100%}.separator{margin:2vh 0;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #e5e7eb;content:"";flex:1 1}.separator span{color:#777;font-size:clamp(12px,1.5vmin,13px);padding:0 10px}.back-to-login,.forgot-password{color:#294b7a;cursor:pointer;display:inline-block;font-size:clamp(12px,1.5vmin,13px);margin-top:2vh;text-align:center;transition:all .2s}.back-to-login:hover,.forgot-password:hover{color:#1f3c63;text-decoration:underline}.auth-form{animation:fadeIn .3s ease-in-out}@media screen and (max-width:768px){.auth-image-section{display:none}.auth-form-section{flex:1 1;height:600px;margin-right:0;max-height:none;padding:0 5%}.auth-form-section .error{height:700px}.auth-container{height:100vh;width:min(90%,400px)}.auth-box{max-width:100%;padding:2vh 2%}.form-row{flex-direction:column;gap:0}.library-title{font-size:clamp(24px,5vw,28px);margin-top:2vh}body,html{overflow:auto}.auth-page{height:auto;min-height:100vh}}@media screen and (max-width:480px){.auth-form-section{padding:0 3%}.auth-box{border-radius:4%}.auth-toggle button{font-size:14px;padding:.5vh .8em}.auth-form input,.auth-form select{padding:10px}.auth-form button[type=submit]{padding:12px 10px}}.alert{align-items:center;animation:slideIn .4s ease-out,fadeIn .4s ease-out;background:#fff;border-radius:12px;box-shadow:0 6px 24px #00000026;display:flex;font-family:Poppins,Segoe UI,sans-serif;justify-content:space-between;padding:16px 20px;position:fixed;right:20px;top:20px;transition:transform .2s ease,opacity .2s ease;width:360px;z-index:1000}.alert:hover{box-shadow:0 8px 28px #0000002e;transform:translateY(-2px)}@keyframes slideIn{0%{opacity:0;transform:translateX(120%)}to{opacity:1;transform:translateX(0)}}.alert-content{align-items:center;display:flex;flex:1 1;gap:14px}.alert-icon{flex-shrink:0;font-size:24px}.alert-message{color:#1f2937;font-size:16px;font-weight:500;line-height:1.5;word-break:break-word}.alert-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:22px;height:28px;justify-content:center;opacity:.8;transition:all .2s ease;width:28px}.alert-close:hover{background:#0000000d;opacity:1;transform:rotate(90deg)}.alert-error{background:linear-gradient(135deg,#eaa0a0,#eb4646);border-left:5px solid #ef4444;color:#991b1b;z-index:100000}.alert-warning{background:linear-gradient(135deg,#eee0af,#fba300);border-left:5px solid #f59e0b;color:#854d0e;z-index:100000}.alert-success{background:linear-gradient(135deg,#b8f4d5,#32e771);border-left:5px solid #10b981;color:#065f46;z-index:100000}.alert-info{background:linear-gradient(135deg,#e0f2fe,#88d1f9);border-left:5px solid #38bdf8;color:#075985;z-index:100000}@media (max-width:500px){.alert{right:5%;top:10px;width:80%}}.slick-slider{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;box-sizing:border-box;touch-action:pan-y;-webkit-user-select:none;user-select:none;-khtml-user-select:none}.slick-list,.slick-slider{display:block;position:relative}.slick-list{margin:0;overflow:hidden;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{transform:translateZ(0)}.slick-track{display:block;left:0;margin-left:auto;margin-right:auto;position:relative;top:0}.slick-track:after,.slick-track:before{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{border:1px solid #0000;display:block;height:auto}.slick-arrow.slick-hidden{display:none}.slick-loading .slick-list{background:#fff url(data:image/gif;base64,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) 50% no-repeat}@font-face{font-family:slick;font-style:normal;font-weight:400;src:url(/static/media/slick.a4e97f5a2a64f0ab1323.eot);src:url(/static/media/slick.a4e97f5a2a64f0ab1323.eot?#iefix) format("embedded-opentype"),url(/static/media/slick.295183786cd8a1389865.woff) format("woff"),url(/static/media/slick.c94f7671dcc99dce43e2.ttf) format("truetype"),url(/static/media/slick.2630a3e3eab21c607e21.svg#slick) format("svg")}.slick-next,.slick-prev{border:none;cursor:pointer;display:block;font-size:0;height:20px;line-height:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:20px}.slick-next,.slick-next:focus,.slick-next:hover,.slick-prev,.slick-prev:focus,.slick-prev:hover{background:#0000;color:#0000;outline:none}.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1}.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25}.slick-next:before,.slick-prev:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-family:slick;line-height:1;opacity:.75}.slick-prev{left:-25px}[dir=rtl] .slick-prev{left:auto;right:-25px}.slick-prev:before{content:"←"}[dir=rtl] .slick-prev:before{content:"→"}.slick-next{right:-25px}[dir=rtl] .slick-next{left:-25px;right:auto}.slick-next:before{content:"→"}[dir=rtl] .slick-next:before{content:"←"}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{bottom:-25px;display:block;list-style:none;margin:0;padding:0;position:absolute;text-align:center;width:100%}.slick-dots li{display:inline-block;margin:0 5px;padding:0;position:relative}.slick-dots li,.slick-dots li button{cursor:pointer;height:20px;width:20px}.slick-dots li button{background:#0000;border:0;color:#0000;display:block;font-size:0;line-height:0;outline:none;padding:5px}.slick-dots li button:focus,.slick-dots li button:hover{outline:none}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;content:"•";font-family:slick;font-size:6px;height:20px;left:0;line-height:20px;opacity:.25;position:absolute;text-align:center;top:0;width:20px}.slick-dots li.slick-active button:before{color:#000;opacity:.75}.menu-icon{align-items:center;display:flex;font-size:20px;justify-content:center;min-width:24px}.main-content{padding:30px 40px;transition:.3s ease}.greeting{color:#111827;font-size:26px;font-weight:600}.profile-actions{gap:15px;position:relative}.profile-actions,.profile-btn{align-items:center;display:flex}.profile-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:50%;box-shadow:0 3px 10px #3b82f64d;color:#fff;cursor:pointer;font-size:18px;font-weight:600;height:48px;justify-content:center;transition:all .3s ease;width:48px}.profile-btn:hover{box-shadow:0 5px 15px #3b82f666;transform:scale(1.05)}.profile-initial{text-transform:uppercase}.logout-circle-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;box-shadow:0 3px 10px #ef44444d;color:#fff;cursor:pointer;display:flex;font-size:18px;height:48px;justify-content:center;transition:all .3s ease;width:48px}.logout-circle-btn:hover{box-shadow:0 5px 15px #ef444466;transform:scale(1.05)}.logout-icon{font-size:20px}.announcement-slide{height:100%}.announcement-text h3{font-size:20px}.announcement-text p{font-size:14px}.slick-dots{bottom:15px}.slick-dots li button:before{color:#fff;font-size:12px;opacity:.5}.slick-dots li.slick-active button:before{color:#fff;opacity:1}.slick-next,.slick-prev{align-items:center;background:#0000004d;border-radius:50%;display:flex!important;height:40px;justify-content:center;width:40px;z-index:10}.slick-next:before,.slick-prev:before{font-size:20px}.slick-prev{left:15px}.slick-next{right:15px}.library-info{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;margin:30px auto;max-width:900px;padding:30px}.library-info h2{color:#1f2937;font-size:28px;font-weight:600;margin-bottom:20px;text-align:center}.library-info p{color:#4b5563;font-size:16px;line-height:1.6;margin-bottom:20px;text-align:left}.feature-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px;padding-left:20px}.feature-list li{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;font-size:16px;gap:12px;list-style-type:none;margin:8px 0;padding:12px;transition:.3s}.feature-list li:hover{background:#e5e7eb;box-shadow:0 2px 5px #0000001a;transform:translateY(-2px)}.feature-icon{font-size:20px}.no-announcements{align-items:center;background:#f3f4f6;border-radius:16px;display:flex;height:250px;justify-content:center}.empty-state{padding:20px}.empty-icon{display:block;margin-bottom:15px;opacity:.6}.empty-state p{color:#6b7280}.profile-dropdown{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;position:absolute;right:0;top:50px;width:350px;z-index:1000}.profile-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;padding:20px}.profile-avatar{align-items:center;background-color:#3498db;border-radius:50%;display:flex;height:60px;justify-content:center;margin-right:16px;width:60px}.profile-initial-large{color:#fff;font-size:28px;font-weight:700}.profile-info{flex:1 1}.profile-info h3{font-size:18px;font-weight:600;margin:0 0 6px}.profile-info p{color:#6c757d;font-size:14px;margin:0}.profile-details{border-bottom:1px solid #e9ecef;padding:20px}.profile-detail-item{display:flex;font-size:15px;margin-bottom:12px}.profile-detail-item:last-child{margin-bottom:0}.detail-label{color:#495057;font-weight:500;width:35%}.detail-value{color:#212529;width:65%}.profile-actions-footer{display:flex;padding:20px}.edit-profile-btn,.logout-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:15px;font-weight:500;justify-content:center;padding:10px 0;transition:background-color .2s}.edit-profile-btn{background-color:#e9ecef;color:#495057;margin-right:12px}.edit-profile-btn:hover{background-color:#dee2e6}.logout-btn{background-color:#dc3545;color:#fff}.logout-btn:hover{background-color:#c82333}.profile-completion-form h3{color:#1f2937;font-size:20px;margin-bottom:20px}.form-field{margin-bottom:20px}.form-field input,.form-field select{border-radius:6px;font-size:16px;padding:12px;transition:border-color .3s}.save-profile-btn,.skip-btn{border-radius:6px;font-size:16px;font-weight:500;padding:12px 24px}.save-profile-btn{background-color:#3b82f6}.save-profile-btn:hover{background-color:#2563eb}.skip-btn{background-color:initial;border:1px solid #d1d5db;color:var(--danger-color)}.skip-btn:hover{background-color:#f3f4f6}.dashboard-container{min-width:768px;overflow-x:auto;overflow-y:hidden;transition:all .3s ease}.profile-completion-overlay{background-color:#00000080;overflow-y:auto}.profile-completion-form{border-radius:12px;box-shadow:0 6px 24px #0003;margin:auto;max-height:90vh;max-width:500px;width:90%}.announcement-slider-container{max-width:90%}.announcement-slide{animation:floatUpAnnouncement .8s ease-out;height:250px;width:100%}@keyframes floatUpAnnouncement{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.announcement-image{height:100%;object-fit:cover}.announcement-slide:nth-child(2){animation-delay:.2s}.announcement-slide:nth-child(3){animation-delay:.4s}.announcement-slide:nth-child(4){animation-delay:.6s}#hidden-btn{visibility:hidden}.announcement-slider-container{border-radius:16px;box-shadow:0 4px 20px #00000026;margin:0 auto 30px;max-height:100%;max-width:100%;overflow:hidden}.announcement-slide{border-radius:16px;height:80vh;overflow:hidden;position:relative}.announcement-image{height:80vh;object-fit:fill;transition:transform .5s;width:100%}.announcement-slide:hover .announcement-image{transform:scale(1.05)}.announcement-text{background:linear-gradient(0deg,#000000e6,#0000);border-bottom-left-radius:16px;border-bottom-right-radius:16px;bottom:0;color:#fff;left:0;padding:20px;position:absolute;text-align:left;width:100%}.announcement-text h3{font-size:28px;font-weight:600;margin:0}.announcement-text p{font-size:18px;line-height:1.5;margin:8px 0 0;max-width:80%;opacity:.9}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px;margin-top:-5px;transition:all .3s ease}.page-title{color:#1f2937;font-size:1.2rem;margin:0;white-space:nowrap}.search-container{margin-left:20px;max-width:300px;position:relative}.search-input{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 15px 10px 40px;transition:all .3s ease;width:100%}.search-input:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 2px 5px #00000014;outline:none}.search-icon{color:#6b7280;font-size:16px;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.header-right{align-items:center;gap:20px}.notification-btn{align-items:center;background:#3b82f61a;border:none;border-radius:8px;color:#3b82f6;cursor:pointer;display:flex;height:38px;justify-content:center;position:relative;transition:.3s;width:38px}.notification-btn:hover{background:#3b82f633}.notification-badge{background:#ef4444;border-radius:50%;color:#fff;font-size:11px;font-weight:700;height:18px;position:absolute;right:-5px;top:-5px;width:18px}.notification-badge,.profile-completion-overlay{align-items:center;display:flex;justify-content:center}.profile-completion-overlay{background-color:#0009;height:100%;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:2000}.profile-completion-form{animation:fadeInForm .4s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 10px 30px #0003;margin-top:-1vh;max-height:80vh;max-width:550px;overflow-x:hidden;overflow-y:auto;padding:30px;position:relative;scrollbar-color:#d1d5db #0000;scrollbar-width:thin;width:450px}.profile-completion-form::-webkit-scrollbar{width:6px}.profile-completion-form::-webkit-scrollbar-track{background:#0000}.profile-completion-form::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:10px}@keyframes fadeInForm{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-completion-form h3{color:#111827;font-size:24px;font-weight:600;margin-bottom:25px;padding-bottom:15px;position:relative;text-align:center}.profile-completion-form h3:after{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:3px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.form-field label{color:#4b5563;display:block;font-size:15px;font-weight:500;margin-bottom:8px}.form-field input:focus,.form-field select:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.form-field input::placeholder{color:#9ca3af}.form-field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280'%3E%3Cpath d='M8 10.5a.5.5 0 0 1-.354-.146l-4-4a.5.5 0 0 1 .708-.708L8 9.293l3.646-3.647a.5.5 0 0 1 .708.708l-4 4A.5.5 0 0 1 8 10.5z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding-right:42px}.form-actions{gap:16px;justify-content:space-between;margin-top:30px}.save-profile-btn,.skip-btn{align-items:center;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;justify-content:center;padding:14px 24px;transition:all .3s}.save-profile-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;box-shadow:0 4px 12px #3b82f64d;color:#fff}.save-profile-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 6px 15px #3b82f666;transform:translateY(-2px)}.save-profile-btn:active{transform:translateY(0)}.skip-btn{background-color:var(--danger-color);border:1px solid #e5e7eb;color:#fff}.skip-btn:hover{background-color:red;color:#fff;transform:translateY(-2px)}.error-message{gap:6px;margin-top:6px}.error-icon{font-size:16px}.required-field:after{color:#ef4444;content:"*";margin-left:4px}.form-field-group{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:640px){.form-field-group{grid-template-columns:1fr}.profile-completion-form{margin-left:0;max-height:90vh;padding:25px 20px}.form-actions{flex-direction:column}.save-profile-btn,.skip-btn{width:100%}}.form-field{margin-bottom:22px;width:100%}.form-field input,.form-field select{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:10px;box-sizing:border-box;color:#1f2937;font-size:15px;padding:14px 10px;transition:all .3s;width:100%}.dashboard-container{background:#f8f9fa;display:flex;flex-direction:column;font-family:Poppins,Segoe UI,sans-serif;height:100vh;position:relative}.mobile-header{align-items:center;background:#fff;display:none;justify-content:space-between;left:0;padding:15px;position:fixed;right:0;top:0;z-index:1001}.toggle-btn{background:#f3f4f6;color:#4b5563;height:40px;width:40px}.toggle-btn:hover{background:#e5e7eb}.hamburger-icon{font-size:24px}.main-content{margin-top:70px;transition:filter .3s ease}.blurred{filter:blur(2px);pointer-events:auto}@media (max-width:768px){.dashboard-container{flex-direction:column}.mobile-header{background-color:#f8f9fa;display:flex;height:5%;max-height:50px}.mobile-header-text{color:#030c1e;font-size:25px;font-weight:600}.sidebar{height:100%;left:0;position:fixed;top:0;transition:width .3s ease;z-index:1000}.sidebar.collapsed{overflow:hidden;padding:0;width:0}.sidebar:not(.collapsed){width:70%}.sidebar:not(.collapsed) .toggle-btn{background:#ffffff1a}.main-content{padding:15px}.dashboard-header .profile-btn{display:none}.profile-btn{height:40px;width:40px}.announcement-slider-container{border-radius:16px;box-shadow:0 4px 20px #00000026;margin:0 auto 30px;max-width:100%;overflow:hidden}.announcement-slide{animation:floatUpAnnouncement .8s ease-out;border-radius:16px;height:250px;overflow:hidden;position:relative}.announcement-image{height:100%;object-fit:contain;transition:transform .5s;width:100%}}@media (min-width:769px){.dashboard-container{flex-direction:row}.sidebar{height:100vh;position:static}.main-content{margin-top:0}}@media (max-width:768px){.dashboard-container{flex-direction:column;min-width:0;width:100vw}.main-content{margin-top:70px;padding:15px;width:100vw}.announcement-slider-container{height:250px;margin:0 0 30px;max-width:100vw;width:90vw}.announcement-image,.announcement-slide{object-fit:fill;width:100%}.profile-completion-form{max-width:80vw;padding:25px 20px;width:80vw}.mobile-announcement-text{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:1rem 0;padding:1rem}.mobile-announcement-item{display:none;padding:.5rem 0}.mobile-announcement-item.active{display:block}.mobile-announcement-item h3{color:#333;font-size:1.2rem;margin-bottom:.5rem}.mobile-announcement-item p{color:#666;font-size:.9rem;line-height:1.4}}@media (min-width:769px){.floating-announcements-container,.mobile-announcement-text{display:none}}@media (max-width:768px){.main-content{width:calc(100% - 20px)}.announcement-slide .announcement-text{display:none}.floating-announcements-container{background-color:#f7f9fc;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:400px;margin-bottom:20px;position:relative}.floating-announcements-heading{background:linear-gradient(135deg,var(--primary-color),#1f2937);font-size:1rem;padding:8px 16px}.floating-announcement-item{background-color:#fff;border-radius:6px;left:1%;padding:12px;transition:transform 1s ease-in-out,opacity .5s ease-in-out;width:90%}.floating-announcement-item h3{color:#000;font-size:1rem}.floating-announcement-item p{color:#333;font-size:.875rem}.floating-announcements-container{background-color:#f8f9fa;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;height:500px;overflow:hidden;width:90vw}.floating-announcements-heading{background-color:#4a90e2;border-top-left-radius:10px;border-top-right-radius:10px;color:#fff;font-size:18px;font-weight:600;padding:12px 16px;text-align:center}.announcements-content{height:calc(100% - 42px);overflow:hidden;padding:10px;position:relative}.floating-announcement-item{background:#fff;border-left:4px solid #4a90e2;border-radius:8px;box-shadow:0 2px 8px #0000001a;height:100px;left:2vw;padding:12px 16px;position:absolute;transition:opacity .3s ease;width:75vw}.floating-announcement-item h3{color:#333;font-size:16px;font-weight:600;line-height:1.3;margin:0 0 6px}.floating-announcement-item p{color:#555;font-size:14px;line-height:1.4;margin:0}.empty-state{align-items:center;color:#888;display:flex;flex-direction:column;height:calc(100% - 42px);justify-content:center}.empty-icon{font-size:32px;margin-bottom:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.floating-announcement-item{animation:fadeIn .5s ease-in-out}}.sidebar{background:linear-gradient(180deg,#1f2937,#111827);box-shadow:3px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;height:100vh;min-width:200px;overflow:hidden;padding:20px 15px;transition:all .3s ease;width:18%;z-index:10002}.sidebar.collapsed{min-width:40px;width:40px}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:10px;margin-bottom:30px;padding-bottom:20px}.sidebar-title{color:#fff;font-size:1.2rem;font-weight:700;margin:0;white-space:nowrap}.toggle-btn{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:.3s;width:36px}.toggle-btn,.toggle-btn:hover{background:#ffffff1a}.hamburger-icon{font-size:20px;line-height:1}.sidebar-menu{list-style:none;margin:0;padding:0;width:100%}.sidebar-menu li{align-items:center;border-radius:8px;cursor:pointer;display:flex;margin-bottom:8px;padding:15px 15px 15px 8px;transition:.3s}.sidebar-menu li:hover{background:#ffffff1a}.sidebar-menu li.active{background:#3b82f6}.menu-icon{flex-shrink:0;font-size:18px;margin-right:12px;text-align:center;width:24px}.sidebar.collapsed .menu-icon{margin-right:0}.menu-text{white-space:nowrap}@media (max-width:768px){.sidebar.collapsed{display:none}.toggle-btn{height:34px;width:34px}.toggle-btn,.toggle-btn:hover{background:#231717}}.app-container,.book-container{background-color:#f8f9fa;min-height:100vh}.book-container{display:flex;flex-direction:column;flex-grow:1;overflow-y:scroll;padding:0 30px 30px;transition:margin-left .3s ease}.page-header{align-items:flex-start;border-bottom:1px solid #e9ecef;flex-wrap:wrap;margin-bottom:30px;padding-bottom:15px}.header-left{flex:1 1;min-width:250px}.page-header h1{color:#333;font-size:2rem;font-weight:600;margin-bottom:8px}.page-header p{color:#6c757d;font-size:16px;margin:0}.header-right{align-self:flex-start;display:flex;gap:30px;margin-left:20px}.recommend-btn{background-color:#2a5298;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;height:45px;min-width:150px;padding:0 15px;transition:background-color .2s;white-space:nowrap}.recommend-btn:hover{background-color:#2a5298;transform:translateY(-2px)}.search-section{margin-bottom:30px;margin-top:30px;max-width:600px;position:relative;width:100%}.search-container{display:flex;gap:12px;margin-bottom:8px;width:100%}.search-container input,.search-container select{border:1px solid #ced4da;border-radius:8px;font-size:15px;height:45px;outline:none;padding:0 15px;transition:all .2s ease}.search-container input:focus,.search-container select:focus{border-color:#2a5298;box-shadow:0 0 0 3px #2a52981a}.filter-dropdown{background-color:#fff;width:120px}.search-input{background-color:#fff;flex-grow:1;min-width:250px}.search-results{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;list-style:none;margin:0;max-height:300px;overflow-y:auto;padding:0;position:absolute;width:100%;z-index:10}.search-results li{border-bottom:1px solid #f0f0f0;color:#333;cursor:pointer;font-size:15px;padding:12px 15px;transition:background-color .2s}.search-results li:hover{background-color:#f8f9fa}.search-results li:last-child{border-bottom:none}.book-details-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:row;margin-bottom:30px;min-height:400px;overflow:hidden}@media (max-width:768px){.book-details-card{flex-direction:column}}.book-image-container{align-items:center;background-color:#f0f2f5;display:flex;flex:0 0 300px;justify-content:center;overflow:hidden;padding:20px}.book-image{border-radius:5px;box-shadow:0 4px 10px #0000001a;max-height:360px;max-width:100%;object-fit:contain}.book-info{display:flex;flex-direction:column;flex-grow:1;max-height:600px;overflow-y:auto;padding:30px}.book-title{color:#2a5298;font-size:24px;font-weight:600;line-height:1.3;margin-bottom:20px}.book-metadata{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.metadata-item{align-items:center;display:flex}.metadata-label{color:#6c757d;font-size:15px;font-weight:500;width:150px}.metadata-value{color:#333;font-size:16px}.star-rating{align-items:center;display:flex;gap:10px}.rating-value{color:#2a5298;font-size:16px;font-weight:600}.stars{display:flex}.star{color:#e0e0e0;font-size:18px}.star.filled{color:#ffc107}.book-actions{display:flex;gap:15px;margin-bottom:20px;margin-top:auto}.action-btn{font-size:15px;padding:12px 25px}.issue-btn{background-color:#4caf50;color:#fff}.issue-btn:hover:not(.disabled){background-color:#43a047;transform:translateY(-2px)}.issue-btn.disabled{background-color:#a5d6a7;cursor:not-allowed}.rate-btn{background-color:#2196f3;color:#fff}.rate-btn:hover{background-color:#1e88e5;transform:translateY(-2px)}.rate-btn.active,.rate-btn.active:hover{background-color:#ef4444}.rate-book-section{background-color:#f8f9fa;border-radius:8px;margin-top:10px;overflow:visible;padding:20px;position:relative;width:100%}.rating-selector{display:flex;gap:10px;justify-content:center;margin-bottom:15px}.rating-star{color:#e0e0e0;cursor:pointer;font-size:30px;transition:color .2s}.rating-star.selected,.rating-star:hover{color:#ffc107}.submit-rating-btn{border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;position:relative;transition:background-color .2s;width:100%;z-index:1}.submit-rating-btn,.submit-rating-btn:hover{background-color:#2a5298}.empty-state{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:50px 20px}.empty-illustration{font-size:80px;margin-bottom:20px}.empty-state h2{color:#2a5298;font-size:24px;font-weight:600;margin-bottom:10px}.empty-state p{color:#6c757d;font-size:16px;max-width:450px}.loading-indicator{color:#6c757d;font-size:18px;height:200px}.loading-indicator,.recommendation-modal{align-items:center;display:flex;justify-content:center}.recommendation-modal{background:#00000080;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.recommendation-form{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-height:90vh;max-width:80%;overflow-y:auto;padding:20px 40px;width:500px}.recommendation-form h2{color:#2a5298;font-size:24px;font-weight:600;margin-bottom:25px;text-align:center}.form-group input,.form-group textarea{border:1px solid #ced4da;border-radius:8px;font-size:15px;padding:12px 15px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#2a5298;box-shadow:0 0 0 3px #2a52981a;outline:none}.form-group textarea{height:120px;resize:vertical}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:25px}.cancel-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;padding:12px 25px;transition:all .3s ease}.submit-btn{background-color:#2a5298;color:#fff}.submit-btn:hover{background-color:#2a5298;transform:translateY(-2px)}.cancel-btn:hover{background-color:#ef4444}@media (max-width:768px){.search-container{flex-direction:column;max-width:300px;width:100%}.filter-dropdown,.search-input{width:100%}.filter-dropdown{max-width:150px}.book-actions{flex-direction:column}.action-btn{width:100%}}.seat-booking-container{background:#fff;color:#fff}.seat-booking-header{padding:10px 30px}.dashboard-card,.seat-card-btn{border-radius:10px;box-shadow:0 4px 10px #0003;transition:.3s}.heading_color{color:#111827;font-size:28px;font-weight:600}.loading-spinner{border:5px solid #ffffff4d;border-top-color:#194ad2;margin-bottom:10px}.view-mode-toggle{display:flex;gap:10px;justify-content:center;margin-bottom:20px;max-width:600px;width:100%}.view-mode-btn{background:#f3f4f6;background:var(--neutral-color);border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;padding:12px 20px;transition:.3s}.view-mode-btn.active{background:#b3d219;color:#1e3c72;font-weight:700}.view-mode-btn:hover:not(.active){transform:translateY(-5px)}.booking-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;box-shadow:0 8px 32px #0003}.rooms-container{width:100%}.rooms-container h3{color:#2a5298;color:var(--primary-color);margin-bottom:20px;text-align:center}.rooms-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));width:100%}.room-card{background:#fff3}.room-card:hover{background:#ffffff4d;box-shadow:0 10px 20px #0003}.room-card h4{color:#fff}.room-card p{color:#b3d219}.rooms-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0}.room-tab{background:#fff3;border:none;border-radius:30px;color:#fff;cursor:pointer;padding:10px 15px;transition:.3s}.room-tab.active{background:#b3d219;color:#1e3c72;font-weight:700}.room-tab:hover:not(.active){background:#ffffff4d}.selected-room,.selected-seat-info,.selected-time-info{align-items:center;border-bottom:1px solid #fff3;display:flex;gap:10px;justify-content:space-between;margin-bottom:20px;padding-bottom:15px;width:100%}.back-btn{background:#2a5298;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 15px;transition:.3s}.back-btn:hover{background:#2a5298;background:var(--primary-color);transform:translateY(-3px)}.theater-container{margin-top:20px;width:100%}.seat-legend{display:flex;gap:20px;justify-content:center;margin-bottom:20px}.legend-item{align-items:center;display:flex;gap:8px}.legend-box{border-radius:4px;height:20px;width:20px}.legend-box.available{background-color:#fff;border:1px solid green}.legend-box.booked{background-color:#ef4444;background-color:var(--danger-color);border:1px solid #ef4444;border:1px solid var(--danger-color)}.legend-box.selected{background-color:#2a5298;background-color:var(--primary-color);border:1px solid #2a5298;border:1px solid var(--primary-color)}.theater-layout{align-items:center;display:flex;flex-direction:column;gap:30px;overflow:scroll}.entrance{background-color:#2a5298;border-radius:20px;box-shadow:0 4px 8px #0003;color:#fff;font-weight:700;margin-bottom:20px;padding:8px 40px}.section-container{margin-bottom:30px;width:100%}.section-title{margin-bottom:15px;text-align:center}.rows-container{flex-direction:column}.row,.rows-container{align-items:center;display:flex;gap:10px}.row-label{align-items:center;background-color:#2a5298;border-radius:50%;color:#fff;font-weight:700;height:24px;width:24px}.row-label,.seats-row{display:flex;justify-content:center}.seats-row{flex-wrap:wrap;gap:8px}.theater-seat{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-weight:700;height:40px;justify-content:center;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:40px}.theater-seat.selected,.theater-seat:hover:not(.booked){box-shadow:0 5px 15px #0000004d;transform:translateY(-5px)}.theater-seat.selected{background-color:#4ecdc4}.time-slot-container{width:100%}.time-slot-container h3{color:#b3d219;margin-bottom:20px;text-align:center}.time-slot-selection{width:100%}.note{color:#aa2121b3;font-style:italic;margin-bottom:15px;text-align:center}.time-slots-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:30px}.time-slot{background:#fff3}.time-slot.available{border:1px solid green}.time-slot.available,.time-slot.available:hover{background:#f3f4f6;background:var(--neutral-color);color:#333}.time-slot.available:hover{transform:translateY(-3px)}.time-slot.booked,.time-slot.unavailable{background:#f31818;color:#fff;cursor:not-allowed;opacity:.7}.time-slot.selected{background:#4ecdc4;box-shadow:0 5px 15px #0003;transform:translateY(-3px)}.room-selection-container{width:100%}.booking-actions{display:flex;gap:15px;justify-content:center;margin-top:30px}.book-btn{background:#b3d219;color:#1e3c72;transition:.3s}.book-btn:hover{background:#c2e320;box-shadow:0 4px 8px #0003}.book-btn:disabled{background:#ccc;box-shadow:none}.cancel-btn{transition:.3s}.cancel-btn:hover{background:#ef4444;background:var(--danger-color);box-shadow:0 4px 8px #0003}.day-selector{display:flex;gap:15px;justify-content:center;margin:20px 0}.day-btn{background-color:#f5f5f5;border:2px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-size:16px;font-weight:600;min-width:120px;padding:10px 25px;text-align:center;transition:all .3s ease}.day-btn:hover{background-color:#e8e8e8;border-color:#ccc}.day-btn.active{background-color:#4682b4;border-color:#3a6d99;box-shadow:0 3px 6px #0003}.content-area{flex:1 1;height:100vh;overflow-y:auto}.seat-booking-container{align-items:center;background-color:#fff;border-radius:2%;color:#000;display:flex;flex-direction:column;min-height:100vh;padding:20px}.seat-booking-header{align-items:flex-start;background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:20px;padding:0 30px;width:100%}.library-name{color:#2a5298;color:var(--text-primary);font-size:24px;font-weight:700}.seat-menu{display:flex;gap:15px}.dashboard-card,.seat-card-btn{background:#fff;border:1px solid #2a5298;border:1px solid var(--primary-color);border-radius:8px;box-shadow:0 2px 6px #0000001a;color:#2a5298;color:var(--primary-color);cursor:pointer;font-size:16px;padding:10px 15px;text-align:center;transition:all .2s}.dashboard-card:hover,.seat-card-btn:hover{background:#2a5298;background:var(--primary-color);color:#fff;transform:translateY(-2px)}.logout{background:#ef4444;background:var(--danger-color);border:none;color:#fff}.logout:hover{background:#c00;transform:translateY(-2px)}.booking-container{align-items:center;background-color:#fff;border-radius:15px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;max-width:1000px;padding:20px;width:90%}.rooms-container h3,.time-slot-container h3{color:#2a5298;color:var(--primary-color);margin-bottom:20px;text-align:center}.room-card{background-color:#f3f4f6;background-color:var(--neutral-color);border-radius:12px;cursor:pointer;padding:20px;text-align:center;transition:all .3s ease}.room-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-5px)}.room-card h4{color:#2a5298;color:var(--text-primary);font-size:18px;margin-bottom:10px}.room-card p{font-size:14px}.room-card p,.time-slot{color:#4b5563;color:var(--text-secondary)}.time-slot{background-color:#f3f4f6;background-color:var(--neutral-color);border-radius:8px;cursor:pointer;padding:12px;text-align:center;transition:all .3s ease}.time-slot.available:hover{box-shadow:0 2px 6px #0000001a;transform:translateY(-2px)}.book-btn,.time-slot.selected,.time-slot.selected:hover{background-color:#2a5298;background-color:var(--primary-color);color:#fff}.book-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;padding:12px 25px;transition:all .2s}.book-btn:hover{background-color:#1e3a8a;transform:translateY(-2px)}.book-btn:disabled{background-color:#f3f4f6;background-color:var(--neutral-color);color:#4b5563;color:var(--text-secondary);cursor:not-allowed;transform:none}.cancel-btn{background-color:#ef4444;background-color:var(--danger-color);font-size:16px;padding:12px 25px;transition:all .2s}.cancel-btn:hover{background-color:#d32f2f}.theater-seat.available{background-color:#fff;border:1px solid green;color:#2a5298;color:var(--primary-color)}.theater-seat.booked{background-color:#f31818;color:#fff;cursor:not-allowed}.theater-seat.selected{background-color:#2a5298;background-color:var(--primary-color);color:#fff}.day-btn{background-color:#f3f4f6;background-color:var(--neutral-color);border:1px solid #ddd;color:#4b5563;color:var(--text-secondary);transition:all .2s}.day-btn:hover{background-color:#f3f4f6cc}.day-btn.active{background-color:#2a5298;background-color:var(--primary-color);border-color:#2a5298;border-color:var(--primary-color);color:#fff}.view-mode-btn{background-color:#f3f4f6;background-color:var(--neutral-color);border:none;color:#4b5563;color:var(--text-secondary)}.view-mode-btn.active{background-color:#2a5298;background-color:var(--primary-color);color:#fff}.seat-header{align-items:flex-start;font-size:1.2rem;margin-bottom:30px;margin-top:-5px}.seat-header,.selected-room-time-info{display:flex;justify-content:space-between;width:100%}.selected-room-time-info{align-items:center;border-bottom:1px solid #fff3;margin-bottom:4%;padding-bottom:4%}.absolute-seat{transition:all .3s ease}.absolute-seat.available{background-color:#fff;border:1px solid green;color:#000}.absolute-seat.booked{background-color:#f31818;color:#fff;cursor:not-allowed;opacity:.7}.absolute-seat.selected{background-color:#1e3a8a;color:#fff;transform:translate(-50%,50%) scale(1.2);z-index:10}.absolute-seat.pending,.time-slot.pending{background-color:#ffff68;color:#000;cursor:not-allowed}.legend-box.pending{background-color:#ff0}.button-library-floor-plan{background-color:#2a5298;background-color:var(--primary-color);border:none;border-radius:8px;box-shadow:0 4px 8px #0003;color:#fff;cursor:pointer;font-size:16px;margin:20px -40% 15px 0;padding:10px 20px;text-decoration:none;transition:all .3s ease}.booking-limit-info{font-size:large;margin-bottom:20px;text-align:center}.theater-layout{overflow:hidden}@media (max-width:768px){.header-buttons,.header-right{display:none}.theater-layout{-webkit-overflow-scrolling:touch;height:500px;min-width:700px;object-fit:contain;overflow-x:scroll;overflow-x:auto;overflow-y:hidden;width:700px}.section-container{height:80%}.absolute-seat{font-size:10px;height:20px;width:20px}.seat-booking-container{padding:10px}.booking-container{padding:10px;width:100%}.selected-room,.selected-room-time-info,.selected-seat-info,.selected-time-info{align-items:flex-start;flex-direction:column;gap:10px}.back-btn{text-align:center;width:100%}.seat-legend{align-items:flex-start;flex-direction:column;gap:10px}.header-buttons,.header-right{display:none}.theater-layout{min-width:700px;overflow-x:scroll;width:700px}.theater-container{overflow-x:scroll;padding:0 10px;width:100%}.rows-container{min-width:min-content}.booking-container{padding:15px 10px;width:95%}}:root{--text-primary:#2a5298}.main-content{background:#f5f7fa;background:var(--background-color);margin-left:250px}.main-content.expanded{margin-left:80px}.bookings-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:0 auto;max-width:1200px;padding:24px}.page-title{color:#2a5298;color:var(--text-primary);font-size:28px;font-weight:700;margin-bottom:24px;margin-top:-5px;text-align:center}.booking-view-selector,.bookings-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:center;margin-bottom:24px;padding-bottom:16px}.tab-btn{background:var(--neutral-color);box-shadow:0 2px 6px #0000001a;color:var(--text-secondary)}.tab-btn.active{background:var(--primary-color)}.bookings-section{min-height:400px}.bookings-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.booking-card{border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.booking-card:hover{box-shadow:0 10px 15px #0000001a;transform:translateY(-4px)}.booking-card-header{background:linear-gradient(135deg,#2a5298,#1f2937);background:linear-gradient(135deg,var(--primary-color),#1f2937);color:#fff;padding:16px}.booking-card-header h3{font-size:18px;font-weight:600;margin:0}.booking-card-body{flex-grow:1;padding:16px}.booking-card-body p{color:#4b5563;color:var(--text-secondary);font-size:16px;margin:8px 0}.booking-label{color:#2a5298;color:var(--text-primary);display:inline-block;font-weight:600;width:60px}.booking-card-footer{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding:16px}.cancel-btn{background:#ef4444;background:var(--danger-color);border:none;border-radius:8px;box-shadow:0 2px 6px #0000001a;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .3s ease}.cancel-btn:hover{background:#dc2626;transform:translateY(-2px)}.action-btn{background:#2a5298;background:var(--primary-color);border:none;border-radius:8px;box-shadow:0 2px 6px #0000001a;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease}.action-btn:hover{background:#1e3a8a;transform:translateY(-2px)}.no-bookings{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px}.no-bookings p{color:#4b5563;color:var(--text-secondary);font-size:18px}.section-title{border-bottom:2px solid #e5e7eb;color:#2a5298;color:var(--text-primary);font-size:20px;margin:24px 0 16px;padding-bottom:8px;text-transform:capitalize}.booking-card.compact{width:100%}.booking-card.compact .booking-card-header{font-size:14px;padding:10px}.booking-card.compact .booking-card-body{font-size:12px;padding:10px}.booking-card.compact .booking-card-footer{padding:10px}.booking-card.compact .booking-label{font-size:11px;width:45px}@media (max-width:768px){.main-content{margin-left:80px;padding:16px;width:calc(100% - 80px)}.bookings-container{padding:16px}.book-a-seat-btn,.browse-books-btn{width:150px}.bookings-grid{grid-template-columns:1fr}.tab-btn{font-size:14px;padding:10px 16px}}@media (max-width:400px){.booking-view-selector{border-bottom:1px solid #e5e7eb;display:flex;gap:10px;justify-content:center;margin-bottom:24px;padding-bottom:16px}}@media (max-width:370px){.booking-view-selector,.bookings-tabs{border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:10px;justify-content:center;margin-bottom:24px;padding-bottom:16px}}.page-header .page-title{align-items:center;color:#2a5298;color:var(--text-primary);display:flex;font-size:2rem;font-weight:700;gap:12px;margin-bottom:24px;margin-top:20px;text-align:left}.page-title:before{content:"📅";font-size:1.5rem}.page-header{justify-content:space-between}.date-filter,.page-header{align-items:center;display:flex;margin-bottom:20px}.date-filter{background:#f3f4f6;background:var(--neutral-color);border-radius:8px;box-shadow:0 2px 4px #0000000d;gap:16px;justify-content:center;padding:12px}.date-filter label{color:#2a5298;color:var(--text-primary);font-weight:600;margin-right:12px;margin-top:auto}.date-input{border:1px solid #e5e7eb;border-radius:6px;margin-right:12px;width:200px}.clear-filter-btn,.date-input{font-size:14px;padding:8px 12px}.clear-filter-btn{background:#e5e7eb;border:none;border-radius:6px;color:#4b5563;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.clear-filter-btn:hover{background:#d1d5db}@media (max-width:576px){.date-filter{align-items:center;flex-direction:column;gap:10px}.date-filter label,.date-input{margin-right:0}.date-input{width:80%}.clear-filter-btn{width:40%}}.app-container{display:flex;height:100vh;overflow:hidden;width:100%}.main-content{background:#f8f9fa;flex-grow:1;left:0;margin-left:0;overflow-y:auto;padding:24px;position:relative;transition:all .3s ease;width:calc(100% - 250px)}.main-content.expanded{margin-left:0;width:calc(100% - 80px)}.complaint-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:0 auto;max-width:1200px;padding:24px}.page-header.repositioned{margin-bottom:28px;position:relative;text-align:left;top:-8px}.page-header.repositioned h1{color:#333;font-size:2rem;font-weight:700;margin-bottom:10px}.header-subtitle{color:#6b7280;font-size:16px;text-align:left}.success-message-complaint{align-items:center;animation:fadeIn .5s,fadeOut .5s 2.5s;background-color:#d1fae5;border-left:4px solid #10b981;border-radius:8px;color:#065f46;display:none;margin-bottom:24px;padding:16px}.success-icon{align-items:center;background-color:#10b981;border-radius:50%;color:#fff;display:inline-flex;font-weight:700;height:24px;justify-content:center;margin-right:12px;width:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.form-type-selection{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:800px;padding:32px}.form-type-selection h2{color:#1f2937;font-weight:600;margin-top:0}.form-type-buttons{display:flex;flex-wrap:wrap}.form-type-btn{border-radius:12px;box-shadow:0 4px 6px #0000001a;flex:1 1;font-size:16px;max-width:300px;min-width:200px;padding:24px}.form-type-btn:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-4px)}.complaint-btn{background-color:#fee2e2;color:#991b1b}.feedback-btn{background-color:#e0f2fe;color:#1e40af}.btn-icon{font-size:32px;margin-bottom:16px}.btn-text{font-weight:600}.complaint-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:28px;margin-left:auto;margin-right:auto;max-width:800px;overflow:hidden}.card-header{align-items:center;background:linear-gradient(135deg,#1f2937,#2a5298);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.card-header h2{font-size:20px;font-weight:600;margin:0}.back-button{align-items:center;background:#fff3;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;gap:4px;padding:6px 12px;transition:all .2s ease}.back-button:hover{background:#ffffff4d}.form-icon{font-size:24px}.form-group label{color:#4b5563;display:block;font-weight:600;margin-bottom:8px}.required{color:#ef4444;margin-left:2px}.complaint-form input,.complaint-form select,.complaint-form textarea{border:1px solid #d1d5db;border-radius:6px;font-size:16px;padding:12px;transition:all .3s}.complaint-form input:focus,.complaint-form select:focus,.complaint-form textarea:focus{border-color:#2a5298;box-shadow:0 0 0 3px #2a529833;outline:none}.complaint-form input.error,.complaint-form select.error,.complaint-form textarea.error{border-color:#ef4444}.error-message{color:#ef4444;display:block;font-size:14px;margin-top:5px}.file-upload-container{align-items:center;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;cursor:pointer;display:flex;height:45px;justify-content:center;margin-bottom:8px;overflow:hidden;position:relative}.file-input{cursor:pointer;height:100%;opacity:0;position:absolute;z-index:2}.file-upload-text{align-items:center;display:flex;justify-content:center;z-index:1}.file-placeholder{color:#6b7280}.file-name{color:#2a5298;font-weight:500}.file-instructions{color:#9ca3af;display:block;font-size:12px;margin-top:4px}.submit-button{background:#2a5298;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:all .3s ease;width:100%}.submit-button:hover{background:#1e3a8a;box-shadow:0 4px 12px #2a529833;transform:translateY(-2px)}.submit-button:active{transform:translateY(0)}.submit-button.submitting{background:#93c5fd;cursor:not-allowed}.complaint-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:center;margin-bottom:24px;margin-left:auto;margin-right:auto;max-width:800px;padding-bottom:16px}.tab-btn{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#4b5563;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.tab-btn:hover{background:#e5e7eb;transform:translateY(-2px)}.tab-btn.active{background:#2a5298;box-shadow:0 4px 6px #2a529833;color:#fff}.tab-icon{font-size:18px}.complaints-list-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;margin-left:auto;margin-right:auto;max-width:100%;min-height:400px;padding:24px}.complaints-list-container h2{border-bottom:1px solid #e5e7eb;color:#2a5298;font-size:20px;font-weight:600;margin-bottom:24px;margin-top:0;padding-bottom:12px}.complaints-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.complaint-card{border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:all .3s ease}.complaint-card:hover{box-shadow:0 10px 15px #0000001a;transform:translateY(-4px)}.card-top{align-items:center;background:linear-gradient(135deg,#1f2937,#2a5298);color:#fff;display:flex;justify-content:space-between;margin-bottom:12px;padding:16px}.complaint-category{background:#fff3;border-radius:20px;color:#fff}.complaint-category,.status-badge{font-size:14px;font-weight:500;padding:4px 10px}.status-pending{background:#fef3c7;color:#92400e}.status-in-progress{background:#dbeafe;color:#1e40af}.status-resolved{background:#d1fae5;color:#065f46}.status-closed{background:#e5e7eb;color:#4b5563}.complaint-title{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 12px;padding:16px 16px 0}.complaint-description{line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:15px;line-height:1.5;margin:0 0 16px;overflow:hidden;padding:0 16px}.complaint-footer{color:#9ca3af;justify-content:space-between}.complaint-date{font-style:italic}.complaint-user{font-weight:500}.has-attachment{font-size:16px}.empty-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px;padding:48px 0}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state p{font-size:18px;margin:0 0 8px}.empty-subtitle{color:#9ca3af;font-size:14px!important}@media (max-width:800px){.complaint-tabs{display:grid;grid-template-columns:2fr 2fr}}@media (max-width:480px){.main-content{margin-left:0;padding:16px;width:calc(100% - 80px)}.complaint-container{padding:16px}.complaint-tabs{flex-direction:column;gap:10px}.complaints-grid{grid-template-columns:1fr}.card-header,.complaint-form{padding:16px}.tab-btn{font-size:14px;padding:10px 16px}.form-type-buttons{flex-direction:column}}.complaint-form-card.narrow-form{max-width:600px}.complaint-form-card.form-container{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:500px;width:calc(100% - 48px)}.complaint-form{box-sizing:border-box;padding:24px;width:100%}.complaint-form .form-group{margin-bottom:20px;width:100%}.complaint-form input,.complaint-form select,.complaint-form textarea{box-sizing:border-box;max-width:100%;width:100%}.file-upload-container{box-sizing:border-box;width:100%}.file-input{width:100%}.app-container,.complaint-container,.main-content{max-width:100%;overflow-x:hidden}.has-attachment{cursor:pointer;transition:color .3s ease}.has-attachment:hover{color:#007bff}.file-upload-text .file-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-type-selection{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:0 auto 24px;max-width:1200px;padding:24px;text-align:center}.form-type-selection h2{border-bottom:1px solid #e5e7eb;color:#000;color:var(--text-primary);font-size:20px;margin-bottom:24px;padding-bottom:16px}.form-type-buttons{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));justify-content:center}.form-type-btn{align-items:center;background:#f3f4f6;background:var(--neutral-color);border:none;border-radius:10px;color:#4b5563;color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;font-weight:600;justify-content:center;padding:16px;text-align:center;transition:all .3s ease}.form-type-btn:hover{background:#e5e7eb;box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.form-type-btn.active{background:#2a5298;background:var(--primary-color);color:#fff}.form-type-btn-icon{font-size:24px;margin-bottom:8px}.complaint-container .page-header h1:before{content:"📩";font-size:2rem}.complaint-timeline{margin:0 16px 16px;padding:0;position:relative}.complaint-timeline:before{background:#e5e7eb;content:"";height:100%;left:14px;position:absolute;top:0;width:2px}.timeline-item{display:flex;padding:8px 0;position:relative}.timeline-icon{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;display:flex;font-size:14px;height:30px;justify-content:center;width:30px;z-index:1}.timeline-item.submission .timeline-icon{border-color:#2a5298}.timeline-item.resolution .timeline-icon{border-color:#10b981}.timeline-content{margin-left:16px;padding:0 8px}.timeline-title{color:#4b5563;font-size:14px;font-weight:600}.timeline-date{color:#6b7280;font-size:13px}.comments-section{border-top:1px solid #e5e7eb;margin:0 16px 16px;padding-top:16px}.comments-header{align-items:center;color:#4b5563;display:flex;font-size:15px;font-weight:600;margin-bottom:12px}.comments-header:before{content:"💬";font-size:14px;margin-right:6px}.comments-list{border-left:3px solid #2a5298;max-height:200px;overflow-y:auto;padding-left:12px}.comment-item{background-color:#f9fafb;border-radius:8px;margin-bottom:8px;padding:12px}.comment-content{color:#4b5563;font-size:14px;line-height:1.5;margin-bottom:6px}.comment-date{color:#9ca3af;font-size:12px;font-style:italic;text-align:right}.complaint-card{display:flex;flex-direction:column;min-height:200px}.complaint-description{flex-grow:0;margin-bottom:16px}.complaint-footer{align-items:center;border-top:1px solid #f3f4f6;color:#6b7280;display:flex;font-size:14px;justify-content:flex-end;margin-top:auto;padding:16px}.attachment-icon{align-items:center;color:#4b5563;cursor:pointer;display:flex;gap:4px;transition:color .2s}.attachment-icon:hover{color:#2a5298}.article-request-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.article-request-header h1{color:#333;font-size:28px}.article-request-form-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 2fr}.info-panel{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 5px #0000001a;padding:20px}.info-panel h3{color:#333;font-size:18px;margin-top:0}.info-panel ol{padding-left:20px}.info-panel li{line-height:1.4;margin-bottom:10px}.note{background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:0 4px 4px 0;margin-top:20px;padding:10px}.article-request-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:25px 50px 25px 25px}.form-group{margin-bottom:20px}.form-row{display:flex;gap:20px}.half{flex:1 1}label{color:#333;display:block;font-weight:700;margin-bottom:8px}input,textarea{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:10px;transition:border-color .3s;width:100%}input:focus,textarea:focus{border-color:#4a90e2;outline:none}.article-request-form .artice-submit-button{background-color:#2a5298;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 20px;transition:background-color .3s}.artice-submit-button:hover{background-color:#3a80d2}.artice-submit-button:disabled{background-color:#a0c0e4;cursor:not-allowed}.success-message{background-color:#d4edda;border-radius:8px;box-shadow:0 2px 5px #0000001a;padding:30px;text-align:center}.success-message h2{color:#28a745;margin-top:0}.success-message p{font-size:18px;margin-bottom:30px}.action-buttons{display:flex;gap:15px;justify-content:center}.action-buttons button{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:10px 20px;transition:background-color .3s}.action-buttons button:hover{background-color:#3a80d2}#publicationYear{width:90%}@media (max-width:640px){.article-request-form-container{display:flex;flex-direction:column;gap:15px}#publicationYear{width:100%}.info-panel{padding:15px}.success-message{padding:20px}.success-message h2{font-size:22px}.success-message p{font-size:16px}}:root{--danger-color:#f44336;--warning-color:#ffc107;--text-primary:#333;--text-secondary:#555}article
.dashboard-container{background-color:#f5f7fa;background-color:var(--background-color);display:flex;min-height:100vh}.main-content{flex:1 1;overflow-y:scroll;padding:20px;transition:margin-left .3s;width:calc(100% - 240px)}.sidebar-collapsed .main-content{width:calc(100% - 60px)}.my-articles-container{margin:0 auto;max-width:1200px}.my-articles-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.my-articles-header h1{color:#333;color:var(--text-primary);font-size:1.8rem;margin:0}.header-buttons{display:flex;gap:15px}.back-button,.request-button{border:none;border-radius:8px;box-shadow:0 2px 6px #0000001a;cursor:pointer;font-size:.9rem;padding:10px 15px;transition:all .2s}.request-button:hover{background-color:#3d8b40}.back-button:hover{background-color:#1e3a8a;transform:translateY(-2px)}.loading-container{height:200px}.loading-spinner{border-top-color:#2a5298;border-top:4px solid var(--primary-color)}.error-message{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:20px 0;padding:20px}.error-message button{background-color:#f44336;background-color:var(--danger-color);border-radius:8px;margin-top:15px;padding:8px 15px;transition:all .2s}.error-message button:hover{background-color:#d32f2f;transform:translateY(-2px)}.empty-state{background-color:#f3f4f6;background-color:var(--neutral-color);border-radius:8px;margin:20px 0;padding:40px 20px;text-align:center}.empty-state h2{color:#555;color:var(--text-secondary);margin-top:0}.empty-state button{background-color:#4caf50;background-color:var(--success-color);border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:20px;padding:10px 20px;transition:all .2s}.empty-state button:hover{background-color:#3d8b40;transform:translateY(-2px)}.articles-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.article-card{padding:20px}.article-card:hover{box-shadow:0 10px 15px #00000026;transform:translateY(-5px)}.article-header{margin-bottom:15px}.article-header h2{color:#333;color:var(--text-primary)}.status-badge{border-radius:20px;font-size:.8rem;font-weight:700;padding:5px 10px;text-transform:uppercase;white-space:nowrap}.status-pending{background-color:#ffc107;background-color:var(--warning-color);color:#333}.status-fulfilled{background-color:#4caf50;background-color:var(--success-color);color:#fff}.status-rejected{background-color:#f44336;background-color:var(--danger-color);color:#fff}.article-details{margin-bottom:15px}.article-details p{color:#555;color:var(--text-secondary);font-size:.9rem;margin:5px 0}.expiry-warning{color:#f44336;color:var(--danger-color)}.additional-info{background-color:#f3f4f6;background-color:var(--neutral-color);border-radius:8px;font-size:.9rem;margin-bottom:15px;padding:10px 15px}.additional-info p{margin:5px 0}.article-actions{display:flex;justify-content:center;margin-top:15px}.view-button{background-color:#2a5298;background-color:var(--primary-color);border:none;border-radius:8px;box-shadow:0 2px 6px #0000001a;color:#fff;cursor:pointer;font-weight:700;padding:8px 20px;transition:all .2s;width:100%}.view-button:hover{background-color:#1e3a8a;transform:translateY(-2px)}.view-button:disabled{background-color:#b0b0b0;cursor:not-allowed}.article-status-message{background-color:#e8f5e9;border-radius:8px;font-size:.9rem;padding:10px}.article-status-message.rejected{background-color:#ffebee}.article-header{align-items:flex-start;background:linear-gradient(135deg,#2a5298,#1f2937);background:linear-gradient(135deg,var(--primary-color),#1f2937);display:flex;justify-content:space-between;margin:-20px -20px 15px;padding:16px}.article-header h2{color:#fff;flex:1 1;font-size:1.2rem;margin:0;padding-right:15px}.request-button{background-color:#4caf50;background-color:var(--success-color);color:#fff}.request-button:hover{background-color:#1e3a8a;transform:translateY(-2px)}.article-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:all .3s ease}@media (max-width:768px){.sidebar-collapsed .main-content{width:90vw}.main-content{overflow-y:visible;width:90vw}.header-buttons{display:none}}:root{--primary-color:#2a5298;--background-color:#f5f7fa;--success-color:#4caf50;--danger-color:#ef4444;--neutral-color:#f3f4f6;--text-primary:#000;--text-secondary:#4b5563}.article-viewer-container{background-color:#f5f5f5;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow-y:scroll;padding:20px;width:100%}.article-viewer-container.fullscreen{background-color:#f9f9f9;padding:10px}.article-viewer-header{align-items:flex-start;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.article-info{flex:1 1}.article-info h1{color:#333;font-size:1.5rem;margin-bottom:10px;margin-top:-10px}.article-info p{color:#555;font-size:.9rem;margin:0}.article-controls{display:flex;gap:10px}.back-button,.control-button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:8px 15px;transition:background-color .2s}.control-button{background-color:#e0e0e0;color:#333}.control-button:hover{background-color:#d0d0d0}.back-button{color:#fff}.back-button,.back-button:hover{background-color:#2a5298;background-color:var(--primary-color)}.back-button:hover{transform:scale(1.05)}.article-content{display:flex;flex:1 1;flex-direction:column;margin-bottom:20px;min-height:0}.page-viewer{align-items:start;background-color:#e0e0e0;border-radius:4px;display:flex;flex:1 1;justify-content:center;min-height:600px;overflow:scroll}.page-image{background-color:#fff;box-shadow:0 2px 8px #0003;max-height:180%;max-width:min(100vw,180%)}.page-navigation{align-items:center;background-color:#fff;border-radius:4px;display:flex;gap:15px;justify-content:center;margin-top:15px;padding:15px 0}.page-navigation button{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 15px;transition:background-color .2s}.page-navigation button,.page-navigation button:hover{background-color:#2a5298;background-color:var(--primary-color)}.page-navigation button:disabled{background-color:#b0b0b0;cursor:not-allowed}.page-indicator{color:#555;font-size:.9rem}.page-input{border:1px solid #ddd;border-radius:4px;padding:5px;text-align:center;width:60px}.pdf-viewer{border-radius:4px;flex:1 1;min-height:600px;overflow:hidden}.pdf-iframe{border:none}.article-abstract{background-color:#fff;border-radius:4px;margin-top:20px;padding:20px}.article-abstract h3{color:#333;margin-top:0}.loading-container{align-items:center;display:flex;flex-direction:column;height:400px;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2196f3;height:40px;margin-bottom:15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{align-items:center;background-color:#ffebee;border-radius:4px;display:flex;flex-direction:column;justify-content:center;margin:40px auto;max-width:500px;padding:30px;text-align:center}.error-message h2{color:#d32f2f;margin-top:0}.error-message button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:20px;padding:10px 20px}.error-message button:hover{background-color:#0d8bf2}@media (max-width:500px){.page-image{height:100%;max-width:100%}.page-viewer{max-height:600px;min-height:500px}}@media (max-width:768px){.page-image{max-height:100%;width:100%}}
/*# sourceMappingURL=main.9ba55128.css.map*/