.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#2a2a2af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);transition:var(--transition)}.header.scrolled{background:#2a2a2afa;box-shadow:var(--shadow-lg)}.header-content{display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:1rem 0;gap:1rem;width:100%;box-sizing:border-box;flex-wrap:nowrap!important}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);transition:var(--transition)}.logo:hover{transform:translateY(-1px)}.logo-icon{font-size:1.5rem;color:var(--primary)}.logo-text{display:flex;align-items:center;font-weight:700;font-size:1.25rem}.spanda-bracket{color:var(--primary)}.spanda-text{color:var(--text-primary)}.spanda-dot{color:var(--primary)}.logo-subtitle{font-size:1rem;color:var(--text-muted);font-weight:400;margin-left:.5rem}.nav-link{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:var(--radius);transition:var(--transition);position:relative}.nav-link:hover{color:var(--primary);background:#e9ce041a}.nav-link.active{color:var(--primary);background:#e9ce0426}.nav-link.active:after{content:"";position:absolute;bottom:-1rem;left:50%;transform:translate(-50%);width:20px;height:2px;background:var(--primary);border-radius:1px}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:var(--transition)}.mobile-menu-btn:hover{background:var(--surface-hover);color:var(--primary)}.mobile-menu-icon{transition:var(--transition)}.nav-mobile{display:none;flex-direction:column;gap:.5rem;border-top:1px solid var(--divider-color);background:var(--bg-darker);margin:0 -1rem;padding:1rem;box-sizing:border-box}.nav-mobile.open{display:flex}.nav-mobile .nav-link{padding:.75rem 1rem;border-radius:var(--radius);background:var(--surface);margin:0}.nav-mobile .nav-link:hover{background:var(--surface-hover)}.nav-mobile .nav-link.active{background:#e9ce0433;color:var(--primary)}.nav-mobile .nav-link.active:after{display:none}.logout-button{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;border-radius:calc(var(--radius) + 2px);border:1px solid var(--border-color);background:var(--gradient-primary);color:var(--text-on-primary);font-weight:700;font-size:1.05rem;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow)}.logout-button[disabled]{opacity:.6;cursor:not-allowed;transform:none}.logout-button:hover:not([disabled]){transform:translateY(-2px);filter:brightness(.98)}.logout-icon{font-size:1.25rem}.logout-text{display:inline-block;font-size:1rem}@media (max-width: 768px){.nav-desktop{display:none}.mobile-menu-btn{display:block}.logo-subtitle{display:none}.logo-text{font-size:1.1rem}}@media (max-width: 480px){.header-content{padding:.75rem 0}.logo{gap:.5rem}.logo-icon{font-size:1.25rem}.logo-text{font-size:1rem}}.header .container-header{display:flex;align-items:center;margin:0;padding:0 1rem;box-sizing:border-box}.nav-desktop{display:flex;align-items:center;gap:3rem;margin-left:1rem;flex-wrap:nowrap;flex-shrink:1}@media (max-width: 1600px){.nav-desktop{gap:2.2rem}}@media (max-width: 1536px){.nav-desktop{gap:1.8rem}}@media (max-width: 1440px){.nav-desktop{gap:1.4rem}.nav-link{padding:.48rem .75rem;font-size:.92rem}.logout-button{padding:.7rem 1.15rem;font-size:1rem}}@media (max-width: 1366px){.nav-desktop{gap:1.15rem}.nav-link{padding:.45rem .65rem;font-size:.87rem}.nav-link svg{font-size:.87rem}.logout-button{padding:.68rem 1.1rem;font-size:.98rem}}@media (max-width: 1280px){.nav-desktop{gap:.9rem}.nav-link{padding:.4rem .55rem;font-size:.82rem;gap:.32rem}.logo-subtitle{font-size:.85rem}.logout-button{padding:.65rem 1rem;font-size:.95rem}}@media (max-width: 1200px){.nav-desktop{gap:.7rem}.nav-link{padding:.38rem .48rem;font-size:.77rem}.logout-button{padding:.6rem .9rem;font-size:.9rem}}@media (max-width: 1100px){.nav-desktop{gap:.55rem}.nav-link{padding:.35rem .42rem;font-size:.73rem;gap:.25rem}.header-content{gap:.4rem}.logout-button{padding:.55rem .8rem;font-size:.87rem}.logout-icon{font-size:1.05rem}.logo-subtitle{font-size:.75rem}}@media (max-width: 1024px){.nav-desktop{gap:.45rem}.nav-link{padding:.32rem .38rem;font-size:.7rem}.logout-button{padding:.5rem .7rem;font-size:.84rem}.logout-icon{font-size:1rem}}.header-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem;z-index:1;padding-right:0}.header{position:fixed}.header-actions{position:static;top:auto;right:auto}@media (max-width: 900px){.nav-desktop{gap:.5rem}.mobile-menu-btn{order:2;margin-right:.5rem}.logout-text{display:none}.logout-button{padding:.6rem .8rem}}.footer{background-color:#1f1f1f;border-top:1px solid var(--border-color);padding:3rem 0 0;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:2fr 1.5fr 1.5fr;gap:3rem}.text-white{color:#fff;font-size:30px;font-weight:400}.branding h2{font-size:1.8rem;margin-bottom:1rem;font-weight:600;color:var(--primary)}.highlight{color:var(--primary);font-size:30px}.branding p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.divider{border:none;border-top:1px solid var(--border-color);margin:1.5rem 0;width:100%}.footer-links h3,.social-media h3{font-size:1.2rem;margin-bottom:1.2rem;font-weight:600;color:var(--primary)}.footer-links ul{list-style:none;padding:0}.footer-links li{margin-bottom:1rem;display:flex;align-items:center}.link-icon{margin-right:.8rem;color:var(--primary);width:16px}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:var(--primary)}.social-icons{display:flex;gap:1.2rem}.social-icons a{color:var(--text-secondary);font-size:1.5rem;transition:all .3s ease}.social-icons a:hover{color:var(--primary);transform:translateY(-3px)}.footer-bottom{text-align:center;padding:1.5rem;margin-top:3rem;background-color:var(--bg-darker)}.footer-bottom p{color:var(--text-muted);font-size:.9rem}@media (max-width: 968px){.footer-content{grid-template-columns:1fr 1fr}.branding{grid-column:1 / -1}}@media (max-width: 576px){.footer-content{grid-template-columns:1fr;text-align:center;gap:2rem}.footer-links li,.social-icons{justify-content:center}.divider{margin:1rem auto}}.landing-container{min-height:100vh;background:var(--bg-dark)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#2d2d2df2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);transition:var(--transition);padding:1rem 0}.navbar.scrolled{background:#2d2d2dfa;box-shadow:var(--shadow)}.navbar .container{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-width);margin:0 auto;padding:0 3rem}.navbar .logo{display:flex;align-items:center;gap:1.5rem;padding-right:2rem;text-decoration:none;color:var(--text-primary);flex-shrink:0}.navbar .logo-icon{font-size:1.75rem;color:var(--primary)}.navbar .logo-text{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.25rem}.navbar .spanda-bracket{color:var(--primary);font-weight:700}.navbar .spanda-text{color:var(--text-primary);font-weight:700}.navbar .spanda-dot{color:var(--primary);font-weight:700}.navbar .logo-subtitle{font-size:.9rem;color:var(--text-muted);margin-left:.01rem;font-weight:400}.navbar .nav-links{display:flex;align-items:center;gap:3.5rem;margin:0 auto;flex:1;justify-content:center}.navbar .nav-button{background:none;border:none;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition);padding:.75rem 1.25rem;border-radius:var(--radius);position:relative}.navbar .nav-button:hover{color:var(--primary);background:#e9ce041a}.navbar .nav-button:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--primary);transition:all .3s ease;transform:translate(-50%)}.navbar .nav-button:hover:after{width:80%}.navbar .cta-button{background:var(--gradient-primary);color:var(--text-on-primary);border:none;padding:.875rem 2rem;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition);flex-shrink:0;box-shadow:0 2px 8px #e9ce044d}.navbar .cta-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #e9ce0466}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:80px 0 0;background:var(--gradient-bg);overflow:hidden;margin-top:0}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(233,206,4,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(233,206,4,.05) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(233,206,4,.08) 0%,transparent 50%);pointer-events:none}.hero:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(233,206,4,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.3;pointer-events:none}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:var(--max-width);margin:0 auto;padding:2rem 2rem 4rem}.hero-text{max-width:600px}.badge{display:inline-flex;align-items:center;gap:.5rem;background:#e9ce041a;color:var(--primary);padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:500;margin-bottom:1.5rem;border:1px solid rgba(233,206,4,.2)}.hero-text h1{font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-text p{font-size:1.125rem;line-height:1.7;color:var(--text-secondary);margin-bottom:2rem}.hero-stats{display:flex;gap:2rem;margin-bottom:2rem}.stat-item{text-align:center}.stat-number{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--text-muted);font-weight:500}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none;position:relative;overflow:hidden;margin-left:2rem}.cta-button.primary{background:var(--gradient-primary);color:var(--text-on-primary);box-shadow:var(--shadow)}.cta-button.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.cta-button.secondary{background:transparent;color:var(--text-primary);border:2px solid var(--primary)}.cta-button.secondary:hover{background:var(--primary);color:var(--text-on-primary)}.cta-button.large{padding:1.25rem 2.5rem;font-size:1.125rem}.arrow-icon{transition:var(--transition)}.cta-button:hover .arrow-icon{transform:translate(4px)}.hero-visual{display:flex;flex-direction:column;gap:2rem;align-items:center}.feature-showcase{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);text-align:center;max-width:400px;width:100%}.animated-feature-card{margin-bottom:1.5rem}.feature-icon-large{font-size:3rem;color:var(--primary);margin-bottom:1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animated-feature-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-primary)}.animated-feature-card p{color:var(--text-secondary);line-height:1.6}.feature-indicators{display:flex;justify-content:center;gap:.5rem}.indicator{width:8px;height:8px;border-radius:50%;background:var(--text-muted);cursor:pointer;transition:var(--transition)}.indicator.active{background:var(--primary);transform:scale(1.2)}.hero-stats-cards{display:flex;gap:1rem;width:100%}.stats-card{flex:1;background:var(--surface);border-radius:var(--radius);padding:1rem;text-align:center;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition);position:relative;overflow:hidden}.stats-card:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(233,206,4,.1),transparent);transition:var(--transition)}.stats-card:hover:after{left:100%}.stats-card:hover{transform:translateY(-4px);border-color:var(--primary)}.stats-icon{font-size:1.5rem;margin-bottom:.5rem}.stats-content{text-align:center}.stats-number{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:.25rem}.stats-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.features-section{padding:6rem 0;background:var(--bg-darker)}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.section-header p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.feature-box{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition);text-align:center;position:relative;overflow:hidden}.feature-box:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);transform:scaleX(0);transition:var(--transition)}.feature-box:hover:before{transform:scaleX(1)}.feature-box:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.icon-container{width:80px;height:80px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;transition:var(--transition)}.feature-box:hover .icon-container{transform:scale(1.1) rotate(5deg)}.icon{font-size:2rem;color:var(--text-on-primary)}.feature-box h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.feature-box p{color:var(--text-secondary);line-height:1.6}.capabilities-section{padding:6rem 0;background:var(--bg-darker)}.capabilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.capability-box{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition);text-align:center;position:relative;overflow:hidden}.capability-box:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transition:var(--transition)}.capability-box:hover:before{transform:scaleX(1)}.capability-box:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.capability-box .icon-container{width:80px;height:80px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;transition:var(--transition)}.capability-box:hover .icon-container{transform:scale(1.1)}.capability-box .icon{font-size:2rem;color:var(--text-on-primary)}.capability-box h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.capability-box p{color:var(--text-secondary);line-height:1.6}.benefits-section{padding:6rem 0;background:var(--bg-dark)}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.benefit-card{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition);text-align:center}.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.benefit-icon{font-size:2.5rem;margin-bottom:1rem}.benefit-card h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.benefit-card p{color:var(--text-secondary);line-height:1.6}.workflow-section{padding:6rem 0;background:var(--bg-darker)}.workflow-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;position:relative}.step{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition);text-align:center;position:relative}.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.step-number{width:60px;height:60px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:var(--text-on-primary);margin:0 auto 1.5rem;position:relative;z-index:2}.step-number:before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;background:var(--gradient-primary);border-radius:50%;z-index:-1;opacity:.3;transition:var(--transition)}.step:hover .step-number:before{opacity:.6;transform:scale(1.1)}.step-content h4{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.step-content p{color:var(--text-secondary);line-height:1.6}.step-icon{font-size:1.5rem;color:var(--primary);margin-bottom:1rem}.step-connector{position:absolute;top:50%;right:-1rem;width:2rem;height:2px;background:var(--primary);transform:translateY(-50%)}.final-cta-section{padding:6rem 0;background:var(--gradient-bg);position:relative;overflow:hidden}.final-cta-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 70%,rgba(233,206,4,.1) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(233,206,4,.05) 0%,transparent 50%);pointer-events:none}.cta-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto}.cta-text h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.cta-text p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem}.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.animate-on-scroll{opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.4,0,.2,1)}.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}.bits-logo-container{display:flex;align-items:center;gap:12px}.bits-logo-img{height:6rem;width:auto;object-fit:contain;padding:.5rem}.logo-text-block{display:flex;flex-direction:column}.logo-title{font-size:1.2rem;font-weight:600;color:#fff}@media (max-width: 1200px){.hero-content{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-text{max-width:100%}.hero-stats,.hero-actions{justify-content:center}}@media (max-width: 768px){.navbar .nav-links{display:none}.navbar .container{justify-content:space-between;padding:0 1rem}.navbar .logo-text{font-size:1.25rem}.navbar .logo-subtitle{display:none}.hero-content{padding:1rem 1rem 2rem}.hero-text h1{font-size:2.5rem}.hero-stats{flex-direction:column;gap:1rem}.hero-actions{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:300px}.section-header h2{font-size:2rem}.features-grid,.capabilities-grid,.benefits-grid,.workflow-steps{grid-template-columns:1fr}.step-connector{display:none}.hero-stats-cards{flex-direction:column}.cta-text h2{font-size:2rem}}@media (max-width: 480px){.hero-text h1{font-size:2rem}.section-header h2,.cta-text h2{font-size:1.75rem}.feature-box,.capability-box,.benefit-card,.step{padding:1.5rem}.cta-actions{flex-direction:column;align-items:center}}.similarity-matrix-display{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-top:1.25rem;border:1px solid var(--border-color)}.matrix-header{background:var(--gradient-bg);color:var(--text-primary);padding:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--border-color)}.matrix-header h3{margin:0;font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.625rem}.title-icon{font-size:1.5rem;color:var(--primary)}.matrix-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.view-toggle{display:flex;background:var(--bg-darker);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-color)}.view-toggle button{background:transparent;border:none;color:var(--text-secondary);padding:.5rem 1rem;cursor:pointer;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.375rem;transition:var(--transition)}.view-toggle button.active,.view-toggle button:hover{background:var(--primary);color:var(--text-on-primary)}.download-buttons{display:flex;gap:.5rem}.download-btn{background:var(--bg-darker);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem .75rem;border-radius:var(--radius);cursor:pointer;font-size:.75rem;font-weight:500;display:flex;align-items:center;gap:.375rem;transition:var(--transition)}.download-btn:hover{background:var(--surface-hover);color:var(--primary)}.matrix-filters{padding:1.25rem;background:var(--bg-darker);border-bottom:1px solid var(--border-color);display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.search-filter{flex:1;min-width:250px;position:relative}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.875rem}.search-input{width:100%;padding:.625rem .75rem .625rem 2.25rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:.875rem;background:var(--surface);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e9ce041a}.threshold-filter{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.filter-icon{color:var(--text-muted)}.threshold-slider{width:100px;accent-color:var(--primary)}.summary-stats{padding:1rem 1.25rem;background:var(--bg-darker);border-bottom:1px solid var(--border-color);display:flex;gap:2rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-label{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.125rem;font-weight:600;color:var(--primary)}.matrix-container{padding:1.25rem;overflow:auto}.no-data{padding:3.75rem 1.25rem;text-align:center;color:var(--text-muted);font-size:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.no-data svg{font-size:3rem;color:var(--border-color)}.heatmap-container{display:flex;flex-direction:column;gap:1.25rem}.heatmap-table{overflow:auto;border:1px solid var(--border-color);border-radius:var(--radius)}.heatmap-table table{width:100%;border-collapse:collapse;font-size:.75rem;min-width:600px}.professor-header,.paper-header{background:var(--bg-darker);color:var(--primary);padding:.75rem .5rem;text-align:center;font-weight:600;position:sticky;top:0;z-index:10;border:1px solid var(--border-color)}.professor-header{left:0;z-index:11;min-width:150px;max-width:150px}.paper-header{min-width:100px;max-width:100px;white-space:nowrap;font-size:.75rem;padding:.75rem .5rem;text-align:center;font-weight:600;vertical-align:middle;background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important;transform:none!important}.paper-cell{background:var(--surface);color:var(--text-primary);padding:.5rem;font-weight:600;position:sticky;left:0;z-index:9;min-width:100px;max-width:100px;text-align:center;border:1px solid var(--border-color)}.professor-header{min-width:150px;max-width:150px;white-space:nowrap;font-size:.75rem;padding:.75rem .5rem;text-align:center;font-weight:600;background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);overflow:hidden;text-overflow:ellipsis}.similarity-cell{padding:.5rem;text-align:center;font-weight:600;font-size:.6875rem;border:1px solid var(--divider-color);cursor:pointer;transition:var(--transition);min-width:100px;max-width:100px}.similarity-cell:hover{transform:scale(1.1);z-index:5;border:2px solid var(--primary);box-shadow:var(--shadow)}.color-legend{display:flex;align-items:center;gap:1rem;justify-content:center;padding:1rem;background:var(--bg-darker);border-radius:var(--radius);font-size:.75rem;color:var(--text-secondary)}.legend-items{display:flex;gap:.75rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.375rem}.color-box{width:16px;height:16px;border-radius:.1875rem;border:1px solid var(--border-color)}.table-container{overflow:auto;border:1px solid var(--border-color);border-radius:var(--radius)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{background:var(--bg-darker);padding:1rem .75rem;text-align:left;font-weight:600;color:var(--primary);border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:10}.data-table td{padding:.75rem;border-bottom:1px solid var(--divider-color);vertical-align:top}.data-table tr:hover{background:var(--surface-hover)}.professor-info,.paper-info{display:flex;flex-direction:column;gap:.25rem}.professor-info strong,.paper-info strong{color:var(--text-primary);font-weight:600}.department,.course-title,.course-code{font-size:.75rem;color:var(--text-muted)}.score-badge{display:inline-block;padding:.25rem .5rem;border-radius:.75rem;font-size:.75rem;font-weight:600;min-width:50px;text-align:center}.department-match{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:.25rem}.department-match.match{background:#10b98133;color:#10b981}.department-match.no-match{background:#dc262633;color:#fca5a5}@media (max-width: 768px){.matrix-header{flex-direction:column;align-items:flex-start;gap:.75rem}.matrix-controls{width:100%;justify-content:space-between}.matrix-filters{flex-direction:column;align-items:stretch;gap:1rem}.search-filter{min-width:auto}.summary-stats{gap:1rem;justify-content:center}.heatmap-table{font-size:.625rem}.similarity-cell{font-size:.5625rem;padding:.375rem}.professor-header,.paper-header{padding:.5rem .375rem}.legend-items{justify-content:center}}.reviewer-assigner-page{min-height:100vh;background:var(--bg-dark);padding:2rem 0}.page-header .page-description{font-size:1.2rem;opacity:.9;max-width:700px;margin:0 auto;line-height:1.6}.filter-section{background:var(--surface);border-radius:12px;padding:2rem;margin:0 2rem 2rem;box-shadow:var(--shadow)}.section-header{margin-bottom:2rem}.section-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;margin:0 0 .5rem}.section-header p{color:var(--text-muted);margin:0;font-size:.95rem}.filter-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.loading-indicator{display:flex;align-items:center;gap:.75rem;color:#9aa4ff;font-weight:500;padding:1rem;background:var(--surface-hover);border-radius:8px;margin-top:1rem}.loading-indicator .spinning{animation:spin 1s linear infinite}.upload-info-card{background:#f0fff4;border:2px solid #68d391;border-radius:8px;padding:1.5rem;margin-top:1rem}.upload-info-card h3{color:#22543d;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;font-size:1.1rem}.upload-info-card .success-icon{color:#38a169}.upload-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.detail-item{color:#2d3748;font-size:.9rem}.detail-item strong{color:#1a202c;font-weight:600}.generation-section{background:var(--surface);border-radius:12px;padding:2rem;margin:0 2rem 2rem;box-shadow:var(--shadow)}.generate-controls{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.generate-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;min-width:250px;justify-content:center}.generate-btn.ready:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.generate-btn.disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.generate-btn .spinning{animation:spin 1s linear infinite}.generation-info{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.info-item{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.95rem;font-weight:500}.results-section{background:var(--surface);border-radius:12px;padding:2rem;margin:0 2rem 2rem;box-shadow:var(--shadow)}.results-info{color:#718096;font-size:.9rem}.section-icon.success{color:#38a169}.assignment-section{background:var(--surface);border-radius:12px;padding:2rem;margin:0 2rem 2rem;box-shadow:var(--shadow)}.assignment-controls{display:flex;flex-direction:column;align-items:center;gap:2rem}.assignment-inputs{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}.input-group{display:flex;flex-direction:column;min-width:200px}.input-group label{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.95rem}.assignment-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fff;text-align:center;font-weight:600}.assignment-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.assignment-btn{background:linear-gradient(135deg,#38a169,#48bb78);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;min-width:250px;justify-content:center}.assignment-btn.ready:hover{transform:translateY(-2px);box-shadow:0 8px 25px #38a1694d}.assignment-btn.disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.assignment-results-section{background:var(--surface);border-radius:12px;padding:2rem;margin:0 2rem 2rem;box-shadow:var(--shadow)}.assignment-display{margin-top:1.5rem}.assignment-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--surface-hover);border-radius:8px;padding:1.5rem;display:flex;align-items:center;gap:1rem;border-left:4px solid #667eea}.stat-card svg{font-size:2rem;color:#667eea}.stat-content{display:flex;flex-direction:column}.stat-number{font-size:1.8rem;font-weight:700;color:#2d3748;line-height:1}.stat-label{font-size:.9rem;color:#718096;margin-top:.25rem}.assignment-table-container{overflow-x:auto;margin-bottom:2rem;border-radius:8px;border:1px solid #e2e8f0}.assignment-table{width:100%;border-collapse:collapse;background:var(--surface)}.assignment-table th{background:#f7fafc;color:#2d3748;font-weight:600;padding:1rem;text-align:left;border-bottom:2px solid #e2e8f0;font-size:.95rem}.assignment-table td{padding:1rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.professor-name{font-weight:600;color:var(--text-primary)}.department{color:#718096;font-size:.9rem}.assigned-courses{display:flex;flex-wrap:wrap;gap:.5rem}.course-tag{background:#667eea;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;white-space:nowrap}.course-count{text-align:center;font-weight:600;color:var(--text-primary);font-size:1.1rem}.assignment-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.download-btn{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.download-btn:hover{background:#5a67d8;transform:translateY(-1px)}@media (max-width: 768px){.reviewer-assigner-page{padding:1rem 0}.filter-section,.generation-section,.results-section,.assignment-section,.assignment-results-section{margin:0 1rem 1rem;padding:1.5rem}.page-header .header-content h1{font-size:2rem;flex-direction:column;gap:.5rem}.filter-form .form-grid{grid-template-columns:1fr}.assignment-inputs{flex-direction:column;align-items:center}.assignment-stats{grid-template-columns:1fr}.assignment-actions{flex-direction:column}.upload-details{grid-template-columns:1fr}}@media (max-width: 480px){.generate-btn,.assignment-btn{min-width:auto;width:100%;padding:.875rem 1.5rem;font-size:1rem}.page-header .page-description{font-size:1rem}.assignment-table{font-size:.9rem}.assignment-table th,.assignment-table td{padding:.75rem}}.csv-upload-container{background:var(--bg-darker);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}.csv-upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.csv-upload-header h3{margin:0;color:var(--text-primary);font-size:1.125rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.title-icon{color:var(--primary)}.template-download-btn{background:#e9ce041a;color:var(--primary);border:1px solid var(--primary);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:var(--transition);display:flex;align-items:center;gap:.375rem}.template-download-btn:hover{background:var(--primary);color:var(--text-on-primary)}.csv-upload-zone{border:2px dashed var(--border-color);border-radius:var(--radius);padding:1.875rem;text-align:center;background:var(--surface);transition:var(--transition);position:relative;min-height:120px;display:flex;align-items:center;justify-content:center}.csv-upload-zone.drag-over{border-color:var(--primary);background:#e9ce041a;transform:scale(1.02)}.csv-upload-zone.has-file{border-color:#10b981;background:#10b9811a}.csv-file-input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer}.csv-file-input:disabled{cursor:not-allowed}.csv-upload-label{cursor:pointer;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.csv-file-input:disabled+.csv-upload-label{cursor:not-allowed}.upload-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--primary)}.spinner{width:24px;height:24px;border:2px solid var(--bg-lighter);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}.upload-success{display:flex;align-items:center;gap:.75rem;color:#10b981}.success-icon{font-size:1.5rem}.file-info{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.file-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.file-size{font-size:.875rem;color:var(--text-muted)}.upload-prompt{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted)}.upload-icon{font-size:2rem;color:var(--border-color)}.upload-text{font-size:1rem;font-weight:500;color:var(--text-secondary)}.upload-hint{font-size:.875rem;color:var(--text-muted)}.csv-upload-error{margin-top:.75rem;padding:.75rem;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:var(--radius);color:#fca5a5;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.file-row-count{margin-top:.75rem;font-size:.875rem;color:var(--text-muted);font-weight:500;text-align:right;padding:0 .5rem}@media (max-width: 768px){.csv-upload-container{padding:1rem}.csv-upload-header{flex-direction:column;gap:.75rem;align-items:flex-start}.csv-upload-zone{padding:1.25rem;min-height:100px}.upload-icon{font-size:1.5rem}.upload-text{font-size:.875rem}}.data-operator-upload-page{min-height:100vh;background:var(--bg-dark);padding:2rem 0}.page-header{text-align:center;margin-bottom:3rem;color:#fff}.page-header .header-content h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:1rem}.page-header .page-icon{font-size:2.2rem;color:gold}.page-header .page-description{font-size:1.2rem;opacity:.9;max-width:600px;margin:0 auto;line-height:1.6}.metadata-section{background:var(--surface);border-radius:12px;padding:2rem;margin:0 2rem 2rem;box-shadow:var(--shadow)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.section-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;margin:0}.section-header p{color:var(--text-muted);margin:.5rem 0 0;font-size:.95rem}.section-icon{color:#667eea;font-size:1.3rem}.metadata-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.form-group label{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.95rem}.form-group label svg{color:#667eea;font-size:1rem}.form-control{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .2s ease;background:var(--surface);color:var(--text-primary)}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-control:invalid{border-color:#e53e3e}.upload-section{background:var(--surface);border-radius:12px;padding:2rem;margin:0 2rem 2rem;box-shadow:var(--shadow)}.clear-all-btn{background:#e53e3e;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.clear-all-btn:hover:not(:disabled){background:#c53030;transform:translateY(-1px)}.clear-all-btn:disabled{opacity:.6;cursor:not-allowed}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:2rem}.format-info{background:var(--surface-hover);border-radius:8px;padding:1.5rem;border-left:4px solid #667eea}.format-info h3{color:#2d3748;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;font-size:1.1rem}.format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.format-section h4{color:var(--text-primary);margin-bottom:.75rem;font-size:1rem}.format-section ul{list-style:none;padding:0;margin:0}.format-section li{padding:.25rem 0;font-size:.9rem;color:var(--text-muted)}.format-section code{background:var(--surface);padding:.2rem .4rem;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:.85rem;color:#9aa4ff;font-weight:600}.upload-action-section{background:var(--surface);border-radius:12px;padding:2rem;margin:0 2rem 2rem;box-shadow:var(--shadow)}.upload-controls{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;min-width:200px;justify-content:center}.upload-btn.ready:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.upload-btn.disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.upload-btn .spinning{animation:spin 1s linear infinite}.upload-info{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.info-item{display:flex;align-items:center;gap:.5rem;color:#4a5568;font-size:.95rem;font-weight:500}.info-item svg{color:#667eea}.error-message{background:#fed7d7;color:#c53030;padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;border-left:4px solid #e53e3e;margin-top:1rem}.success-message{background:#c6f6d5;color:#22543d;padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;border-left:4px solid #38a169;margin-top:1rem}.info-section{margin:0 2rem}.info-card{background:var(--surface);border-radius:12px;padding:2rem;box-shadow:var(--shadow)}.info-card h3{color:var(--text-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;font-size:1.2rem}.info-card ul{list-style:none;padding:0;margin:0}.info-card li{padding:.75rem 0;border-bottom:1px solid var(--border-color);color:var(--text-muted);line-height:1.6}.info-card li:last-child{border-bottom:none}.info-card strong{color:var(--text-primary);font-weight:600}@media (max-width: 768px){.data-operator-upload-page{padding:1rem 0}.metadata-section,.upload-section,.upload-action-section,.info-section{margin:0 1rem 1rem;padding:1.5rem}.page-header .header-content h1{font-size:2rem;flex-direction:column;gap:.5rem}.metadata-form .form-grid{grid-template-columns:1fr}.upload-grid{grid-template-columns:1fr;gap:1.5rem}.format-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.upload-info{flex-direction:column;gap:1rem}}@media (max-width: 480px){.upload-btn{min-width:auto;width:100%;padding:.875rem 1.5rem;font-size:1rem}.page-header .page-description{font-size:1rem}}:root{--surface-hover: rgba(255, 255, 255, .02);--shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}.form-section{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color);margin-bottom:2rem;overflow:hidden}.section-header{background:var(--bg-darker);padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.section-header h2{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary)}.section-icon{color:var(--primary)}.papers-count{color:var(--text-muted);font-size:.9rem;background:var(--bg-lighter);padding:.25rem .75rem;border-radius:var(--radius)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;padding:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.form-control{padding:.875rem;background:var(--bg-lighter);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:.9rem;transition:var(--transition)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e9ce041a}.form-control:disabled{opacity:.6;cursor:not-allowed}.form-actions{padding:0 2rem 2rem;display:flex;justify-content:center}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-small{padding:.5rem 1rem;font-size:.8rem}.error-card{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);margin-bottom:2rem;overflow:hidden}.error-content{padding:1.5rem 2rem;display:flex;align-items:center;gap:1rem}.error-icon{color:#fca5a5;font-size:1.5rem}.error-text h3{margin:0 0 .25rem;color:#fca5a5;font-size:1rem;font-weight:600}.error-text p{margin:0;color:#fca5a5;font-size:.9rem}.btn-analyze{background:var(--gradient-primary);color:var(--text-on-primary);border:none;border-radius:var(--radius);padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:.75rem}.btn-analyze:disabled{opacity:.6;cursor:not-allowed;transform:none}.analysis-loading{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color);margin-bottom:2rem;padding:4rem 2rem;text-align:center}.cache-indicator{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem 1rem;border-radius:var(--radius);font-size:.9rem;font-weight:500}.cache-indicator.cached{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.cache-indicator.live{background:#fbbf241a;color:#f59e0b;border:1px solid rgba(251,191,36,.3)}.metric-content h4{color:var(--text-secondary);font-size:.9rem;font-weight:600;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.metric-subtitle{font-size:.8rem;color:var(--text-muted);font-weight:500}.metric-subtitle small,.metric-content small{font-size:.8rem;color:var(--text-muted);font-weight:500;display:block;margin-top:.25rem}.loading-content h3{margin:1rem 0 .5rem;color:var(--text-primary);font-size:1.5rem;font-weight:600}.loading-content p{margin:0;color:var(--text-secondary);font-size:1rem}.large-spinner{font-size:2.5rem;color:var(--primary)}.question-pdf-viewer h5{color:var(--text-primary);margin-bottom:.5rem;font-size:1rem;font-weight:600}.question-pdf-viewer{background:var(--bg-light);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-height:300px;position:relative}.pdf-loading,.pdf-error{text-align:center;color:var(--text-muted);padding:2rem}.pdf-loading p{margin-top:1rem}.load-pdf-btn{background:var(--primary);color:var(--text-on-primary);border:none;border-radius:var(--radius);padding:.75rem 1.5rem;font-size:.9rem;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;gap:.5rem;margin:2rem auto}.pdf-container{display:flex;flex-direction:column;gap:1rem}.pdf-actions{display:flex;gap:.5rem;justify-content:center;padding:1rem}.pdf-error{text-align:center;color:var(--text-muted);padding:2rem}.pdf-error-actions{margin-top:1rem}.question-text-fallback{margin-top:1rem;padding:1rem;background:var(--bg-lighter);border-radius:var(--radius)}.question-pdf-viewer{background:var(--bg-light);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;width:100%;min-height:300px;position:relative}.pdf-loading,.pdf-error{text-align:center;color:var(--text-muted)}.pdf-error .retry-btn{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:underline;font-size:.9em;margin-top:.5rem}.load-pdf-btn{background:var(--primary);color:var(--text-on-primary);border:none;border-radius:var(--radius);padding:.75rem 1.5rem;font-size:.9rem;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;gap:.5rem}.load-pdf-btn:hover{background:var(--primary-dark)}.analysis-content p{margin-bottom:.75rem;color:var(--text-secondary);line-height:1.5}.analysis-content p strong{color:var(--text-primary)}.show-more-btn{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:underline;font-size:.9em;margin-left:.5rem}.strengths-weaknesses{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.strengths,.weaknesses{background:var(--surface-hover);border:1px solid var(--border-color);border-radius:var(--radius);padding:1rem}.strengths h5,.weaknesses h5{color:var(--text-primary);margin:0 0 .75rem;font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.strengths h5:before{content:"✓";color:#10b981;font-weight:700;font-size:1.1rem}.weaknesses h5:before{content:"✗";color:#ff6b6b;font-weight:700;font-size:1.1rem}.strengths ul,.weaknesses ul{margin:0;padding-left:1.25rem;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.strengths li,.weaknesses li{margin-bottom:.5rem}.strengths li:last-child,.weaknesses li:last-child{margin-bottom:0}.review-section{background:var(--bg-darker);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem;margin-top:1.5rem;box-shadow:0 2px 8px #0000001a}.review-section h4{display:flex;align-items:center;gap:.75rem;margin:0 0 1.5rem;color:var(--text-primary);font-size:1rem;font-weight:600}.review-options{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.review-option{background:var(--bg-lighter);border:2px solid var(--border-color);border-radius:var(--radius);padding:1rem 1.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-secondary);font-weight:600;min-width:160px;justify-content:center}.review-option:hover{border-color:var(--primary);background:var(--surface);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.review-option.selected{border-width:2px;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.review-option.selected.agree{border-color:#10b981;background:#10b9811a;color:#10b981}.review-option.selected.disagree{border-color:#ef4444;background:#ef44441a;color:#ef4444}.feedback-input{margin-top:1.5rem;animation:slideDown .3s ease-out}.feedback-input label{display:block;margin-bottom:.75rem;font-size:.9rem;font-weight:600;color:var(--text-primary)}.feedback-textarea{width:100%;background:var(--bg-lighter)!important;border:2px solid var(--border-color);border-radius:var(--radius);padding:1rem;color:var(--text-primary)!important;font-size:.9rem;resize:vertical;min-height:100px;transition:all .2s ease;font-family:inherit;line-height:1.5}.feedback-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #e9ce0426;background:var(--surface)}.paper-review-section{background:var(--bg-darker);border:1px solid var(--border-color);border-radius:var(--radius);padding:2rem;margin:2rem 0}.paper-review-section h3{display:flex;align-items:center;gap:.75rem;margin:0 0 1.5rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.paper-feedback-textarea{width:100%;background:var(--bg-lighter)!important;border:2px solid var(--border-color);border-radius:var(--radius);padding:1.25rem;color:var(--text-primary)!important;font-size:.95rem;resize:vertical;min-height:140px;margin-bottom:1.5rem;transition:all .2s ease;font-family:inherit;line-height:1.6}.paper-feedback-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #e9ce0426;background:var(--surface)}.review-error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;color:#ef4444;font-weight:500}.review-error-message .error-icon{font-size:1.1rem;flex-shrink:0}.paper-review-actions{display:flex;justify-content:center}.save-paper-feedback-btn{background:var(--gradient-primary);color:var(--text-on-primary);border:none;border-radius:var(--radius);padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.75rem;width:100%;justify-content:center;min-height:56px}.save-paper-feedback-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0003}.save-paper-feedback-btn:disabled{background:var(--bg-darker);color:var(--text-muted);cursor:not-allowed;transform:none}@media (max-width: 1200px){.question-content{grid-template-columns:1fr;gap:1.5rem}.papers-grid{grid-template-columns:1fr}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width: 768px){.container{padding:0 1rem}.analyze-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem}.header-text h1{font-size:1.5rem}.form-grid{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.section-header{padding:1rem 1.5rem;flex-direction:column;align-items:flex-start;gap:.5rem}.papers-grid{padding:1.5rem;gap:1rem}.questions-review{padding:1.5rem;gap:1.5rem}.question-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:1rem}.question-title{flex-direction:column;align-items:flex-start;gap:.5rem}.question-badges{flex-wrap:wrap}.review-options{flex-direction:column;gap:.75rem}.paper-review-section{padding:1.5rem;margin:1.5rem}}@media (max-width: 480px){.analyze-container{padding:1rem 0}.container{padding:0 .75rem}.analyze-header{padding:1rem}.header-text h1{font-size:1.25rem}.form-grid{padding:1rem}.section-header{padding:.75rem 1rem}.papers-grid,.questions-review,.question-content{padding:1rem}.paper-review-section{padding:1rem;margin:1rem}.pdf-container{min-height:300px}.pdf-container iframe,.pdf-container object{height:400px!important}}.review-progress{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}.review-progress.completed{color:var(--success-color, #10b981)}.review-progress.in_progress{color:var(--warning-color, #f59e0b)}.review-progress.not_started{color:var(--text-muted, #6b7280)}.status-icon{font-size:.875rem;margin-left:.25rem}.status-icon.completed{color:var(--success-color, #10b981)}.status-icon.in-progress{color:var(--warning-color, #f59e0b);animation:spin 2s linear infinite}.saving-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.85rem;color:var(--text-muted, #6b7280);font-style:italic}.saving-indicator .spinning{animation:spin 1s linear infinite;color:var(--primary, #667eea)}.saving-indicator svg{font-size:.875rem}.upload-question-papers{min-height:100vh;background:var(--bg-dark);padding:2rem 0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.page-header{display:flex;align-items:center;gap:2rem;margin-bottom:3rem;padding:2rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color)}.header-text p{color:var(--text-secondary);font-size:1.1rem}.upload-form-container{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--border-color)}.upload-form{padding:2rem}.form-section{margin-bottom:3rem;padding:1.5rem}.form-section h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--primary);display:inline-block;position:relative}.form-container{margin:0 auto;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;padding:2rem}.two-column-layout{display:flex;gap:2rem;flex-wrap:wrap}.two-column-layout>.form-section-2{width:calc(50% - 1rem);box-sizing:border-box}.form-section-2{border:1px solid var(--border-color);border-radius:var(--radius);margin-top:2rem;padding:1.5rem}.form-header{background:linear-gradient(135deg,var(--primary),#f4e60a);padding:2rem;color:var(--text-primary)}.form-header h2{margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.form-header p{margin:0;opacity:.8;font-size:1rem}.progress-bar{height:4px;background:var(--border-color);margin-bottom:2rem;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),#f4e60a);width:100%;transition:width .3s ease}.form-content{padding:2rem}.form-section{margin-bottom:2.5rem;margin-top:2.5rem;padding:1.5rem;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface)}.form-section:last-child{margin-bottom:0}.form-section-2:last-child{margin-bottom:0}.section-header-upload{background:var(--surface-hover);padding:.25rem;border-bottom:1px solid var(--border-color);margin:0}.section-title{font-size:1.1rem;font-weight:600;color:var(--text-secondary);margin:0;display:flex;align-items:center;gap:.5rem}.section-icon{width:18px;height:18px;opacity:.7}.section-content{padding:1rem .5rem}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.form-grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.small-form-group{width:100%}.form-group.span-2{grid-column:span 2}.form-group.span-3{grid-column:span 3}.required:after{content:" *";color:#dc2626}.form-group input,.form-group select{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius);font-size:1rem;transition:var(--transition);background:var(--surface);color:var(--text-primary)}.form-group input:disabled,.form-group select:disabled{background-color:var(--surface-hover);color:var(--text-muted);cursor:not-allowed;opacity:.7}.form-actions{padding:1.5rem 2rem;background:var(--surface-hover);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:var(--transition);font-size:1rem}.btn-primary{background:var(--primary);color:var(--text-primary)}.btn-primary:hover{background:#d4b803;transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text-secondary);border:2px solid var(--border-color)}.btn-secondary:hover{border-color:var(--border-hover);background:var(--surface-hover)}@media (max-width: 768px){.form-grid-2,.form-grid-3{grid-template-columns:1fr;gap:1rem}.form-group.span-2,.form-group.span-3{grid-column:span 1}.form-content,.form-header{padding:1.5rem}.form-actions{padding:1rem 1.5rem;flex-direction:column}}.dropzone{border:2px dashed var(--primary);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:var(--transition);background:var(--surface-hover);position:relative;overflow:hidden}.dropzone:hover{border-color:var(--primary-light);background:var(--surface);transform:translateY(-2px)}.dropzone.active{border-color:#4caf50;background:var(--surface)}.dropzone.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.dropzone.max-files{border-color:#f59e0b;background:#f59e0b1a}.max-files-notice{color:#f59e0b;font-size:.9rem;font-weight:600;margin-top:.5rem}.upload-icon{font-size:2.5rem;color:var(--primary);margin-bottom:1rem;transition:var(--transition)}.dropzone:hover .upload-icon{transform:scale(1.1)}.dropzone-text{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.dropzone-hint{color:var(--text-secondary);font-size:.95rem}.uploaded-files{margin-top:2rem}.uploaded-files h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.file-list{display:flex;flex-direction:column;gap:.75rem}.file-item{display:flex;align-items:center;padding:1rem;background:var(--surface-hover);border-radius:var(--radius);border:1px solid var(--border-color);transition:var(--transition)}.file-item:hover{background:var(--surface);transform:translate(5px)}.file-icon{font-size:1.5rem;color:#dc3545;margin-right:1rem}.file-info{flex:1;display:flex;flex-direction:column}.file-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.file-size{font-size:.85rem;color:var(--text-secondary)}.remove-file-btn{background:none;border:none;color:#dc3545;cursor:pointer;padding:.5rem;border-radius:50%;transition:var(--transition);display:flex;align-items:center;justify-content:center}.remove-file-btn:hover{background:#dc3545;color:#fff;transform:scale(1.1)}.error-message{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:var(--radius);margin-bottom:1.5rem;font-weight:500}.processing-status{text-align:center;padding:2rem;background:var(--surface-hover);border-radius:var(--radius-lg);margin-bottom:1.5rem}.progress-container{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.progress-bar{flex:1;height:8px;background:var(--surface);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:4px;transition:width .3s ease}.progress-text{font-weight:600;color:var(--text-primary);min-width:50px}.status-text{color:var(--text-secondary);font-size:.95rem;margin-bottom:1rem}.spinner{color:var(--primary);font-size:1.5rem}.success-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:var(--radius);margin-bottom:1.5rem;font-weight:500}.form-actions{text-align:center;margin-top:2rem}.submit-btn{@apply btn btn-primary;min-width:250px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #e9ce0433}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.container{padding:0 1rem}.upload-form{padding:2rem 1.5rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem}.header-icon{width:48px;height:48px;font-size:1.5rem}.header-text h1{font-size:1.5rem}.form-grid{grid-template-columns:1fr}.dropzone{padding:1.5rem 1rem}.upload-icon{font-size:2rem}.submit-btn{width:100%;padding:1rem 2rem}}@media (max-width: 480px){.header-text h1{font-size:1.1rem}.upload-form{padding:1.5rem 1rem}.dropzone{padding:1rem .5rem}.file-item{flex-direction:column;align-items:flex-start;gap:.5rem}.remove-file-btn{align-self:flex-end}}.partition-review{min-height:100vh;background:var(--bg-dark);padding:2rem 0}.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding:2rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color)}.header-content{display:flex;align-items:center;gap:2rem}.progress-indicator{background:var(--bg-darker);padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;color:var(--text-primary);border:1px solid var(--border-color)}.paper-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding:1.5rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color)}.paper-info{text-align:center;flex:1;margin:0 2rem}.paper-info h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.paper-info p{color:var(--text-secondary);margin:0;font-size:.9rem}.questions-section{background:var(--surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color);margin-bottom:2rem}.questions-section h2{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.questions-section p{color:var(--text-secondary);margin-bottom:2rem}.questions-grid{display:flex;flex-direction:column;gap:2rem}.question-card{background:var(--surface-hover);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem;transition:var(--transition)}.question-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.question-header h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.question-meta{display:flex;gap:1rem;font-size:.9rem;color:var(--text-secondary)}.marks{background:var(--primary);color:var(--text-on-primary);padding:.25rem .75rem;border-radius:var(--radius);font-weight:600}.file-size{background:var(--bg-darker);padding:.25rem .75rem;border-radius:var(--radius);border:1px solid var(--border-color)}.question-preview{margin-bottom:1.5rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-color)}.question-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background:#d97706;transform:translateY(-1px)}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.marks-input-modal{max-width:500px;width:90%}.marks-input-section{padding:20px 0}.marks-input-section h4{color:#1f2937;margin-bottom:10px;font-size:1.1rem}.marks-input-section p{color:#6b7280;margin-bottom:20px;line-height:1.5}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151}.marks-input-field{width:100%;padding:12px 16px;border:2px solid #d1d5db;border-radius:8px;font-size:16px;transition:border-color .2s ease}.marks-input-field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.marks-input-field:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-help{display:block;margin-top:8px;font-size:.875rem;color:#6b7280;line-height:1.4}.btn-primary{background:var(--primary);color:var(--text-on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-lighter);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--surface);border-color:var(--primary)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.btn-large{padding:1rem 2rem;font-size:1.1rem}.approved-status{display:flex;align-items:center;gap:.5rem;color:#10b981;font-weight:600;padding:.75rem 1rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius)}.correction-status{display:flex;align-items:center;gap:.5rem;color:#f59e0b;font-weight:600;padding:.75rem 1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);flex-wrap:wrap}.success-icon{color:#10b981}.warning-icon{color:#f59e0b}.success-icon.large{font-size:3rem;margin-bottom:1rem}.completion-section{background:var(--surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color);text-align:center}.paper-complete{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius)}.paper-complete h3{color:#10b981;margin:0;font-size:1.25rem;font-weight:600}.paper-complete p{color:var(--text-secondary);margin:0}.all-complete{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius)}.all-complete h2{color:#10b981;margin:0;font-size:1.5rem;font-weight:600}.all-complete p{color:var(--text-secondary);margin:0;font-size:1.1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.loading-container h2{color:var(--text-primary);margin:1rem 0 .5rem;font-size:1.5rem;font-weight:600}.loading-container p{color:var(--text-secondary);margin:0;font-size:1rem}.large-spinner{font-size:3rem;color:var(--primary);margin-bottom:1rem}.spinning{animation:spin 1s linear infinite}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.error-container h2{color:#ef4444;margin:1rem 0 .5rem;font-size:1.5rem;font-weight:600}.error-container p{color:var(--text-secondary);margin:0 0 2rem;font-size:1rem}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.question-pdf-viewer{margin:1rem 0}.pdf-loading{display:flex;align-items:center;justify-content:center;gap:1rem;padding:3rem;background:var(--surface-hover);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-secondary)}.pdf-container iframe,.pdf-container object{width:100%!important;height:600px!important;border:none!important;border-radius:0!important;background:#fff;display:block}.pdf-error{display:flex;align-items:center;justify-content:center;gap:1rem;padding:3rem;background:var(--surface-hover);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-secondary)}.pdf-error svg{font-size:1.5rem;color:#ef4444}.pdf-actions{display:flex;gap:.5rem;padding:1rem;background:var(--surface-hover);border-top:1px solid var(--border-color);justify-content:center;flex-wrap:wrap}.pdf-actions .btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;border-radius:var(--radius);text-decoration:none;transition:all .2s ease}.pdf-actions .btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.pdf-actions .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.review-header-section{margin-bottom:2rem}.progress-section{margin:1.5rem 0;padding:1rem;background:var(--surface-hover);border-radius:var(--radius);border:1px solid var(--border-color)}.progress-bar{width:100%;height:8px;background:var(--border-color);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),#4ade80);transition:width .3s ease;border-radius:4px}.progress-text{font-size:.9rem;color:var(--text-secondary);text-align:center;font-weight:500}.current-question{margin-bottom:2rem}.question-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1.5rem;background:var(--surface-hover);border-radius:var(--radius);border:1px solid var(--border-color)}.nav-info{font-weight:600;color:var(--text-primary);font-size:1.1rem}.completed-status{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#22c55e1a;border:1px solid #22c55e;border-radius:var(--radius);color:#22c55e;font-weight:600}.completed-status .success-icon{font-size:1.2rem}.check-more-questions{margin-top:.5rem}.check-more-questions .btn{font-size:.8rem;padding:.4rem .8rem}.nav-info{display:flex;flex-direction:column;align-items:center;gap:.5rem}.pdf-error-message{margin-top:1rem;padding:1rem;background:#ef44441a;border:1px solid #ef4444;border-radius:var(--radius);color:#ef4444;text-align:center}.pdf-error-message svg{font-size:1.2rem;margin-bottom:.5rem}.pdf-error-message p{margin:.5rem 0;font-size:.9rem}.pdf-selection-container{margin:1rem 0}.selection-instructions{margin-bottom:1rem;padding:.75rem;background:#007bff1a;border:1px solid #007bff;border-radius:var(--radius);color:#007bff;font-size:.9rem}.pdf-selection-area{position:relative;display:inline-block;width:100%;transition:all .2s ease}.pdf-selection-area:hover{border-color:#0056b3!important;background:#007bff1a!important}.pdf-selection-area:active{border-color:#004085!important}.pdf-selection-area.selecting{border-color:#28a745!important;background:#28a7451a!important;box-shadow:0 0 10px #28a7454d}.selection-overlay{position:absolute;pointer-events:none;z-index:10;transition:all .1s ease}.selection-overlay:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px dashed #007bff;border-radius:4px;animation:selectionPulse 1.5s infinite}@keyframes selectionPulse{0%,to{opacity:1}50%{opacity:.5}}.mode-controls{margin-bottom:1rem;padding:1rem;background:var(--surface-hover);border-radius:var(--radius);border:1px solid var(--border-color)}.mode-buttons{display:flex;gap:.5rem;margin-bottom:1rem}.mode-buttons .btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;border-radius:var(--radius);transition:all .2s ease}.mode-buttons .btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.mode-instructions{padding:.75rem;background:#007bff1a;border:1px solid #007bff;border-radius:var(--radius);color:#007bff;font-size:.9rem}.mode-instructions p{margin:0;font-weight:500}.image-upload-modal{max-width:1000px;width:90vw;max-height:90vh;overflow-y:auto}.upload-instructions{background:#f8f9fa;border:1px solid #dee2e6;border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.upload-instructions h4{margin:0 0 .5rem;color:#495057}.upload-instructions ol{margin:0;padding-left:1.5rem}.upload-instructions li{margin-bottom:.25rem;color:#6c757d}.original-pdf-section{margin-bottom:1.5rem}.original-pdf-section h5,.image-upload-section h5{margin:0 0 .5rem;color:#495057}.image-dropzone{border:2px dashed #dee2e6;border-radius:var(--radius);padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#f8f9fa}.image-dropzone:hover{border-color:#007bff;background:#e3f2fd}.image-dropzone.drag-active{border-color:#28a745;background:#d4edda}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.dropzone-content p{margin:0;color:#007bff;font-weight:600}.dropzone-hint{font-size:.9rem;color:#0056b3;font-weight:500}.uploaded-images{margin-top:1rem}.uploaded-images h6{margin:0 0 .5rem;color:#495057}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:.5rem}.image-preview{position:relative;border:1px solid #dee2e6;border-radius:var(--radius);overflow:hidden;background:#fff}.image-preview img{width:100%;height:150px;object-fit:cover;display:block}.image-info{padding:.5rem;background:#f8f9fa;border-top:1px solid #dee2e6}.image-name{display:block;font-size:.8rem;font-weight:500;color:#495057;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-size{display:block;font-size:.7rem;color:#6c757d;margin-top:.25rem}.remove-image-btn{position:absolute;top:.25rem;right:.25rem;background:#dc3545e6;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.7rem;transition:background .2s ease}.remove-image-btn:hover{background:#dc3545}.error-icon{font-size:3rem;color:#ef4444;margin-bottom:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);max-width:90vw;max-height:90vh;width:100%;max-width:1200px;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color)}.modal-header h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:var(--transition)}.close-btn:hover{background:var(--bg-darker);color:var(--text-primary)}.modal-body{padding:2rem;flex:1;overflow-y:auto}.modal-body p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.pdf-selection-area{position:relative;cursor:crosshair}.selection-overlay{position:absolute;background:#007bff4d;border:2px solid #007bff;pointer-events:none;z-index:10}.loading-pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary)}.loading-pdf p{margin-top:1rem;margin-bottom:0}.loading-hint{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem;border-top:1px solid var(--border-color)}@media (max-width: 1200px){.questions-grid{gap:1.5rem}.paper-navigation{flex-direction:column;gap:1rem}.paper-info{margin:0}}@media (max-width: 768px){.container{padding:0 1rem}.review-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem}.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.header-text h1{font-size:1.5rem}.questions-section{padding:1.5rem}.question-actions{flex-direction:column;align-items:stretch}.modal-overlay{padding:1rem}.modal-content{max-width:100%;max-height:100%}.modal-header,.modal-body,.modal-footer{padding:1rem}}@media (max-width: 480px){.partition-review{padding:1rem 0}.container{padding:0 .75rem}.review-header{padding:1rem}.header-text h1{font-size:1.25rem}.questions-section,.question-card{padding:1rem}.question-header{flex-direction:column;align-items:flex-start;gap:.5rem}.question-meta{flex-direction:column;gap:.5rem}}.analyze-container{min-height:100vh;background:var(--bg-dark);padding:2rem 0}.analyze-header{display:flex;align-items:center;gap:2rem;margin-bottom:2rem;padding:2rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color)}.selection-form{background:var(--surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color);margin-bottom:2rem}.form-section h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary);display:inline-block}.form-grid-5{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.form-grid-6{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group select{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius);font-size:1rem;transition:var(--transition);background:var(--surface-hover);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e9ce041a}.form-actions{text-align:center}.btn-analyze{background:var(--gradient-primary);color:var(--text-on-primary);font-size:1.1rem;padding:1rem 2.5rem;box-shadow:var(--shadow)}.btn-analyze:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:1rem;border-radius:var(--radius);margin-top:1rem;display:flex;align-items:center;gap:.5rem}.papers-section{background:var(--surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color);margin-bottom:2rem}.papers-section h2{color:var(--text-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600}.papers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.paper-card{border:2px solid var(--border-color);border-radius:var(--radius);padding:1.5rem;cursor:pointer;transition:var(--transition);background:var(--surface-hover)}.paper-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.paper-card.selected{border-color:var(--primary);background:var(--surface);box-shadow:var(--shadow-lg)}.analyze-container .paper-card .paper-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;overflow:hidden;min-width:0;width:100%;max-width:100%;background:transparent;border:none;padding:0;text-align:left}.paper-icon{color:#ef4444;font-size:1.5rem;flex:0 0 auto}.paper-header h3{margin:0;color:var(--text-primary);font-size:1.1rem;font-weight:600;flex:1 1 auto;min-width:0;width:100%;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}.paper-details p{margin:.25rem 0;color:var(--text-secondary);font-size:.9rem}.selection-indicator{display:flex;align-items:center;gap:.5rem;color:#10b981;font-weight:600;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.analyze-action{text-align:center}.analysis-results{background:var(--surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color)}.results-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--border-color)}.results-header h2{color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.5rem;font-weight:600}.paper-info h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem}.paper-info p{color:var(--text-secondary);margin:0}.overall-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.metric-card{background:var(--surface-hover);padding:1.5rem;border-radius:var(--radius);text-align:center;border:1px solid var(--border-color);transition:var(--transition)}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.metric-icon{font-size:2rem;color:var(--primary);margin-bottom:1rem}.metric-content h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1rem;font-weight:600}.metric-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.metric-content small{color:var(--text-secondary);font-size:.8rem}.blooms-distribution{margin-bottom:3rem}.blooms-distribution h3{color:var(--text-primary);margin-bottom:1.5rem;text-align:center;font-size:1.25rem;font-weight:600}.blooms-chart{display:flex;flex-direction:column;gap:1rem}.bloom-bar{display:flex;align-items:center;gap:1rem}.bloom-label{min-width:150px;font-weight:600;color:var(--text-primary)}.bloom-bar-container{flex:1;height:30px;background:var(--surface-hover);border-radius:15px;overflow:hidden;position:relative;border:1px solid var(--border-color)}.bloom-bar-fill{height:100%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:var(--text-on-primary);font-weight:600;font-size:.9rem;transition:width .5s ease}.recommendations{margin-bottom:3rem}.recommendations h3{color:var(--text-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600}.recommendations-list{display:flex;flex-direction:column;gap:1rem}.recommendation-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#e9ce041a;border:1px solid rgba(233,206,4,.3);border-radius:var(--radius);color:var(--primary)}.recommendation-item svg{color:var(--primary);margin-top:.125rem}.questions-analysis h3{color:var(--text-primary);margin-bottom:1.5rem;text-align:center;font-size:1.25rem;font-weight:600}.paper-level-analysis{margin-bottom:3rem;background:var(--surface);border-radius:var(--radius-lg);border:2px solid var(--primary);box-shadow:var(--shadow-lg);overflow:hidden}.paper-level-analysis h3{color:var(--text-primary);margin:0;padding:1.5rem 2rem;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--text-on-primary);display:flex;align-items:center;gap:.75rem;font-size:1.4rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.paper-level-analysis h3 svg{font-size:1.6rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.paper-analysis-card{padding:2rem;background:var(--surface)}.paper-analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.paper-analysis-header h4{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.5rem}.paper-quality-score{display:flex;align-items:center;gap:1rem;background:var(--surface-hover);padding:1rem 1.5rem;border-radius:var(--radius);border:1px solid var(--border-color)}.score-label{font-weight:600;color:var(--text-secondary);font-size:1rem}.score-value{font-size:2rem;font-weight:700;color:var(--primary);text-shadow:0 1px 2px rgba(0,0,0,.1)}.paper-rubric-assessment h5{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.paper-criteria-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.paper-criterion-item{background:var(--surface-hover);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem;transition:var(--transition);position:relative;overflow:hidden}.paper-criterion-item:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--primary)}.paper-criterion-item:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary)}.criterion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.criterion-header h6{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0;flex:1;line-height:1.3}.criterion-score{background:var(--primary);color:var(--text-on-primary);padding:.5rem 1rem;border-radius:var(--radius);font-weight:700;font-size:1rem;white-space:nowrap;box-shadow:0 2px 4px #0000001a}.criterion-justification{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.criterion-justification p{color:var(--text-secondary);line-height:1.6;margin:0;font-size:.95rem}@media (max-width: 768px){.paper-level-analysis h3{padding:1rem 1.5rem;font-size:1.2rem;flex-direction:column;text-align:center;gap:.5rem}.paper-analysis-card{padding:1.5rem}.paper-analysis-header{flex-direction:column;gap:1rem;text-align:center}.paper-quality-score{flex-direction:column;gap:.5rem;text-align:center}.paper-criteria-grid{grid-template-columns:1fr;gap:1rem}.criterion-header{flex-direction:column;gap:.75rem;text-align:center}.criterion-score{align-self:center}}.paper-level-analysis .paper-analysis-card{position:relative}.paper-level-analysis .paper-analysis-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#e9ce0405,#e9ce040d);pointer-events:none}.paper-criterion-item:nth-child(odd){background:linear-gradient(135deg,var(--surface-hover),rgba(233,206,4,.03))}.paper-criterion-item:nth-child(2n){background:linear-gradient(135deg,rgba(233,206,4,.03),var(--surface-hover))}.final-evaluation-framework{margin-bottom:3rem;background:var(--surface);border-radius:var(--radius-lg);border:2px solid #10b981;box-shadow:var(--shadow-lg);overflow:hidden}.final-evaluation-framework h3{color:var(--text-primary);margin:0;padding:1.5rem 2rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;gap:.75rem;font-size:1.4rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.final-evaluation-framework h3 svg{font-size:1.6rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.evaluation-card{padding:2rem;background:var(--surface)}.evaluation-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.final-score-display{display:flex;align-items:center;gap:2rem;justify-content:center}.score-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 16px #10b9814d}.score-number{font-size:2.5rem;font-weight:700;line-height:1}.score-label{font-size:.9rem;font-weight:500;opacity:.9}.rating-info{text-align:center}.rating-badge{display:inline-block;padding:.75rem 1.5rem;background:#10b981;color:#fff;border-radius:var(--radius);font-size:1.2rem;font-weight:700;margin-bottom:1rem;box-shadow:0 4px 8px #10b98133}.recommendation-text{color:var(--text-secondary);font-size:1.1rem;line-height:1.5;max-width:300px}.score-breakdown h4{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.breakdown-item{background:var(--surface-hover);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem;transition:var(--transition)}.breakdown-item:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#10b981}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.breakdown-label{font-weight:600;color:var(--text-primary);font-size:1.1rem}.breakdown-weight{background:#10b981;color:#fff;padding:.25rem .75rem;border-radius:var(--radius);font-size:.9rem;font-weight:600}.breakdown-scores{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:1.2rem}.raw-score{background:var(--surface);padding:.5rem 1rem;border-radius:var(--radius);border:1px solid var(--border-color);font-weight:600;color:var(--text-primary)}.arrow{color:#10b981;font-weight:700;font-size:1.5rem}.weighted-score{background:#10b981;color:#fff;padding:.5rem 1rem;border-radius:var(--radius);font-weight:700;box-shadow:0 2px 4px #10b98133}.breakdown-summary{background:var(--surface-hover);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border-color)}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.summary-item:not(:last-child){border-bottom:1px solid var(--border-color);margin-bottom:.5rem;padding-bottom:1rem}.summary-label{font-weight:600;color:var(--text-secondary)}.summary-value{font-weight:700;color:var(--text-primary);background:var(--surface);padding:.25rem .75rem;border-radius:var(--radius);border:1px solid var(--border-color)}.summary-item.incomplete .summary-value{background:#ef44441a;color:#ef4444;border-color:#ef44444d}@media (max-width: 768px){.final-evaluation-framework h3{padding:1rem 1.5rem;font-size:1.2rem;flex-direction:column;text-align:center;gap:.5rem}.evaluation-card{padding:1.5rem}.final-score-display{flex-direction:column;gap:1.5rem}.score-circle{width:100px;height:100px}.score-number{font-size:2rem}.breakdown-grid{grid-template-columns:1fr;gap:1rem}.breakdown-scores{flex-direction:column;gap:.75rem}.arrow{transform:rotate(90deg)}}.questions-list{display:flex;flex-direction:column;gap:1rem}.question-card{border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden;background:var(--surface-hover);transition:var(--transition)}.question-card:hover{box-shadow:var(--shadow)}.question-header{padding:1.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:var(--surface);transition:background-color .3s ease}.question-header:hover{background:var(--surface-hover)}.question-info h4{color:var(--text-primary);margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.question-metrics{display:flex;flex-wrap:wrap;gap:1rem}.metric{display:flex;align-items:center;gap:.25rem;color:var(--text-secondary);font-size:.9rem;font-weight:500}.expand-icon{color:var(--text-secondary);font-size:1.2rem;transition:transform .3s ease}.question-header:hover .expand-icon{transform:scale(1.1)}.question-details{padding:1.5rem;border-top:1px solid var(--border-color);background:var(--surface)}.question-text h5{color:var(--text-primary);margin-bottom:.5rem;font-size:1rem;font-weight:600}.question-text p{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.rubric-scores h5{color:var(--text-primary);margin-bottom:1rem;font-size:1rem;font-weight:600}.scores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem}.score-item{background:var(--surface-hover);padding:1rem;border-radius:var(--radius);border:1px solid var(--border-color);display:block!important;width:100%;margin-bottom:1rem}.score-header{display:flex!important;justify-content:space-between;align-items:center;margin-bottom:.5rem;width:100%}.score-label{font-weight:600;color:var(--text-primary);text-transform:capitalize}.score-value{font-weight:700;color:var(--primary)}.score-justification{color:var(--text-secondary)!important;font-size:.9rem;line-height:1.5;margin:0!important;background:transparent;padding:.5rem 0;border-radius:4px;display:block!important;width:100%!important;clear:both!important;float:none!important}.score-justification .show-more-btn{color:var(--primary)!important;background:none!important;border:none!important;cursor:pointer;text-decoration:underline;font-size:.85rem;margin-left:8px;transition:color .2s ease}.score-justification .show-more-btn:hover{color:var(--primary-light)!important}.score-item>.score-header{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}.score-item>.score-justification{display:block!important;width:100%!important;margin-top:.5rem!important;clear:both!important}.strengths-weaknesses{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.strengths h5,.weaknesses h5{color:var(--text-primary);margin-bottom:.75rem;font-size:1rem;font-weight:600}.strengths ul,.weaknesses ul{margin:0;padding-left:1.5rem}.strengths li{color:#10b981;margin-bottom:.5rem;line-height:1.5}.weaknesses li{color:#ff6b6b;margin-bottom:.5rem;line-height:1.5}@media (max-width: 768px){.container{padding:0 1rem}.analyze-header{padding:1.5rem;flex-direction:column;text-align:center;gap:1rem}.header-text h1{font-size:1.75rem}.form-grid,.papers-grid,.overall-metrics,.scores-grid,.strengths-weaknesses{grid-template-columns:1fr}.question-metrics{flex-direction:column;gap:.5rem}.bloom-bar{flex-direction:column;align-items:flex-start;gap:.5rem}.bloom-label{min-width:auto}}.loading-spinner{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.question-details{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.question-pdf-viewer{margin-bottom:2rem}.question-pdf-viewer h5{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary)}.question-pdf-viewer h5 svg{color:var(--primary)}.pdf-loading{display:flex;align-items:center;justify-content:center;gap:1rem;padding:3rem;background:var(--surface-hover);border:2px dashed var(--border-color);border-radius:var(--radius);color:var(--text-secondary);font-size:1.1rem}.pdf-loading svg{font-size:1.5rem;color:var(--primary)}.pdf-container{width:100%;height:auto;min-height:500px;display:flex;flex-direction:column;gap:1rem;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.pdf-container iframe,.pdf-container object{width:100%!important;height:600px!important;border:none!important;border-radius:0!important;background:#fff;display:block;aspect-ratio:1 / 1.414;object-fit:contain}.pdf-actions{display:flex;justify-content:flex-end;padding:1rem;background:var(--surface-hover);border-top:1px solid var(--border-color)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--primary)}.pdf-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:var(--surface-hover);border:2px dashed var(--border-color);border-radius:var(--radius);color:var(--text-secondary);text-align:center}.pdf-error svg{font-size:2rem;color:var(--warning)}.pdf-error-actions{margin-top:1rem;display:flex;justify-content:center}.question-text-fallback{margin-top:1rem;padding:1rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-color);text-align:left}.question-text-fallback p{margin:0;color:var(--text-primary);line-height:1.6}@media (max-width: 768px){.pdf-container{min-height:300px}.pdf-container iframe,.pdf-container object{height:400px!important}.pdf-actions{flex-direction:column;gap:.5rem}.pdf-error{padding:1rem}}.cache-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;margin-top:.5rem}.cache-indicator.cached{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.cache-indicator.live{background:var(--primary-bg);color:var(--primary-text);border:1px solid var(--primary-border)}.cache-indicator svg{font-size:1rem}@media (max-width: 768px){.cache-indicator{font-size:.8rem;padding:.4rem .8rem}}.handout-warning{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;border-radius:12px;margin:1rem 0;color:#856404;font-weight:500;box-shadow:0 2px 8px #ffc10733}.handout-warning svg{font-size:1.25rem;color:#ffc107;flex-shrink:0}.handout-warning span{line-height:1.4}.FontAwesomeIcon{margin-right:.4rem;vertical-align:middle}.rubric-management-container{min-height:100vh;background:var(--bg-dark);padding:2rem 0}.container{max-width:var(--max-width);margin:0 auto;padding:0 2rem}.rubric-header{display:flex;align-items:center;gap:2rem;margin-bottom:2rem;padding:2rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color)}.header-icon{width:60px;height:60px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--text-on-primary)}.header-text h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.header-text p{color:var(--text-secondary);font-size:1.1rem;margin:0}.rubric-filters{margin-bottom:2rem;padding:1.5rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-color)}.filter-group{display:flex;align-items:center;gap:1rem}.filter-group label{font-weight:600;color:var(--text-primary);min-width:120px}.filter-select{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:1rem;min-width:200px;transition:all .2s ease}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.rubric-actions{text-align:center;margin-bottom:2rem}.loading{display:flex;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:var(--text-secondary);font-size:1.1rem}.loading svg{font-size:1.5rem;color:var(--primary)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:1rem;border-radius:var(--radius);margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.error-message button{background:none;border:none;color:#fca5a5;font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.error-message button:hover{background:#ef444433}.rubrics-list{display:flex;flex-direction:column;gap:2rem}.rubric-card{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition)}.rubric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.rubric-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.rubric-title h3{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.rubric-title h3 svg{color:var(--primary)}.rubric-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{padding:.25rem .75rem;border-radius:var(--radius);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.badge-generic{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.badge-question{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.badge-paper{background:#a855f71a;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.badge-inactive{background:#9ca3af1a;color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.badge-required{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.rubric-actions{display:flex;gap:.5rem;flex-wrap:wrap}.rubric-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.rubric-sections{display:flex;flex-direction:column;gap:2rem}.section{background:var(--surface-hover);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border-color)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h4{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.section-header h4 svg{color:var(--primary)}.bloom-config p{color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.level-descriptions{display:flex;flex-direction:column;gap:.5rem}.level-item{padding:.75rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-color);font-size:.9rem;line-height:1.4}.level-item strong{color:var(--primary);font-weight:600}.form-help{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1rem;padding:1rem;background:var(--surface-hover);border-radius:var(--radius);border-left:4px solid var(--primary)}.criteria-list{display:flex;flex-direction:column;gap:1rem}.criterion-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-color);transition:var(--transition)}.criterion-item:hover{border-color:var(--primary);transform:translateY(-1px)}.criterion-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.criterion-info strong{color:var(--text-primary);font-weight:600}.scale{color:var(--text-secondary);font-size:.9rem;background:var(--surface-hover);padding:.25rem .5rem;border-radius:var(--radius)}.criterion-actions{display:flex;gap:.5rem}.missing{color:var(--text-muted);font-style:italic;text-align:center;padding:1rem;background:var(--surface-hover);border-radius:var(--radius);border:1px dashed var(--border-color)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary);color:var(--text-on-primary)}.btn-danger{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover:not(:disabled){background:#ef444433;border-color:#ef4444}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal.large{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color)}.modal-header h2{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.modal-header h2 svg{color:var(--primary)}.modal-header button{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.modal-header button:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-body{padding:2rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius);font-size:1rem;transition:var(--transition);background:var(--surface-hover);color:var(--text-primary);font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e9ce041a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:100px}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}.form-group label input[type=checkbox]{margin-right:.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.modal-actions button{padding:.75rem 1.5rem;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface);color:var(--text-primary);cursor:pointer;transition:var(--transition)}.modal-actions button:hover{background:var(--surface-hover);border-color:var(--primary)}@media (max-width: 768px){.container{padding:0 1rem}.rubric-header{padding:1.5rem;flex-direction:column;text-align:center;gap:1rem}.header-text h1{font-size:1.75rem}.rubric-card-header{flex-direction:column;gap:1rem;align-items:stretch}.rubric-actions{justify-content:center}.section-header,.criterion-item{flex-direction:column;gap:1rem;align-items:stretch}.criterion-info,.criterion-actions{justify-content:center}.form-row{grid-template-columns:1fr}.modal-overlay{padding:1rem}.modal-header{padding:1rem 1.5rem}.modal-body{padding:1.5rem}.modal-actions{flex-direction:column}}@media (max-width: 480px){.header-text h1{font-size:1.5rem}.rubric-title h3{font-size:1.25rem}.btn{padding:.5rem 1rem;font-size:.9rem}.modal-header h2{font-size:1.25rem}}.score-descriptions{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.score-descriptions .form-group{margin-bottom:0}.score-descriptions label{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;display:block}.score-descriptions input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:.9rem;background:var(--surface);color:var(--text-primary);transition:border-color .2s ease}.score-descriptions input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.score-descriptions input::placeholder{color:var(--text-secondary);font-style:italic}.analytics-container{min-height:100vh;background:var(--bg-dark);color:var(--text-primary)}.analytics-header{background:linear-gradient(135deg,#b8941f,#667eea);color:#fff;padding:2rem 0;margin-bottom:2rem}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}.header-text h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.header-text p{margin:0;font-size:1.1rem;opacity:.9;max-width:600px}.header-actions{display:flex;gap:1rem;flex-wrap:wrap}.filters-panel{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.2);padding:1.5rem 0;margin-top:2rem}.filters-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-label{font-size:.9rem;font-weight:500;opacity:.9}.filter-select{padding:.5rem;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff1a;color:#fff;font-size:.9rem}.filter-select option{background:var(--bg-dark);color:var(--text-primary)}.filter-actions{margin-left:auto}.notifications-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:.5rem}.notification{background:#fff;color:#1a1a1a;padding:.75rem 1rem;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:.5rem;min-width:300px;animation:slideInRight .3s ease-out;border-left:4px solid var(--primary)}.notification-error{border-left-color:#ef4444}.notification-success{border-left-color:#22c55e}.notification-message{flex:1;font-size:.9rem}.notification-close{background:none;border:none;color:#666;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center}.notification-close:hover{background:#f5f5f5;color:#333}.analytics-nav{max-width:1200px;margin:0 auto 2rem;padding:0 2rem;display:flex;gap:.5rem;border-bottom:1px solid var(--border-color)}.nav-tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;font-size:.95rem;font-weight:500}.nav-tab:hover{color:var(--primary);background:var(--surface)}.nav-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--surface)}.analytics-content{max-width:1200px;margin:0 auto;padding:0 2rem 2rem}.analytics-section{animation:fadeIn .5s ease-out}.section-title{font-size:1.8rem;font-weight:600;color:var(--primary);margin-bottom:2rem;display:flex;align-items:center;gap:.5rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:var(--primary)}.metric-icon{width:60px;height:60px;border-radius:12px;background:linear-gradient(135deg,var(--primary),#667eea);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.metric-content{flex:1}.metric-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.25rem}.metric-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.quality-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.quality-card{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.quality-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--primary)}.quality-header h3{margin:0;font-size:1.1rem;font-weight:600}.quality-percentage{font-size:2.5rem;font-weight:700;color:var(--primary);line-height:1;margin-bottom:.5rem}.quality-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.4}.quality-bar{height:8px;background:var(--bg-lighter);border-radius:4px;overflow:hidden}.quality-fill{height:100%;background:linear-gradient(90deg,var(--primary),#667eea);border-radius:4px;transition:width 1s ease-out}.chart-container{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.chart-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.simple-chart{display:flex;align-items:end;gap:.5rem;height:200px;padding:1rem 0}.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar-fill{width:100%;background:linear-gradient(180deg,var(--primary),#667eea);border-radius:4px 4px 0 0;transition:height .8s ease-out;cursor:pointer}.bar-label{font-size:.75rem;color:var(--text-secondary);text-align:center;transform:rotate(-45deg);white-space:nowrap}.table-container{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.table-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.data-table{display:flex;flex-direction:column;gap:.5rem}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:1rem;padding:.75rem 0;border-bottom:2px solid var(--border-color);font-weight:600;color:var(--text-primary)}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.table-header:has(.table-cell:nth-child(3):last-child),.table-row:has(.table-cell:nth-child(3):last-child){grid-template-columns:2fr 1fr 1fr}.table-header:has(.table-cell:nth-child(6):last-child),.table-row:has(.table-cell:nth-child(6):last-child){grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr}.table-row:hover{background:var(--bg-lighter)}.table-cell{display:flex;align-items:center;font-size:.9rem;color:var(--text-secondary);padding:.5rem 0}.table-cell:first-child{font-weight:600;color:var(--text-primary)}.table-cell:nth-child(2){font-weight:600;color:var(--primary)}.table-cell:nth-child(3){justify-content:center}.table-cell:nth-child(4){font-weight:500;color:var(--text-primary)}.table-cell:last-child{font-weight:500;color:var(--text-primary)}.activity-badge{background:var(--primary);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600}.quality-badge{background:linear-gradient(135deg,var(--primary),#667eea);color:#fff;padding:.3rem .8rem;border-radius:15px;font-size:.85rem;font-weight:600;display:inline-block;min-width:50px;text-align:center;box-shadow:0 2px 8px #e9ce044d}.final-score-badge{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;padding:.3rem .8rem;border-radius:15px;font-size:.85rem;font-weight:600;display:inline-block;min-width:50px;text-align:center;box-shadow:0 2px 8px #2196f34d}.paper-analysis-badge{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;padding:.3rem .8rem;border-radius:15px;font-size:.85rem;font-weight:600;display:inline-block;min-width:50px;text-align:center;box-shadow:0 2px 8px #ff98004d}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:2rem}.content-card{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.card-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.modifications-list{display:flex;flex-direction:column;gap:1rem}.modification-item{padding:1rem;background:var(--bg-lighter);border-radius:8px;border:1px solid var(--border-color)}.modification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.course-name{font-weight:600;color:var(--text-primary)}.modification-rate{font-weight:600;color:var(--primary)}.modification-details{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.modification-bar{height:6px;background:var(--bg-dark);border-radius:3px;overflow:hidden}.modification-fill{height:100%;background:linear-gradient(90deg,var(--primary),#667eea);border-radius:3px;transition:width .8s ease-out}.difficulty-chart{display:flex;flex-direction:column;gap:1rem}.difficulty-item{display:grid;grid-template-columns:120px 1fr 60px;gap:1rem;align-items:center}.difficulty-label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.difficulty-bar{height:8px;background:var(--bg-lighter);border-radius:4px;overflow:hidden}.difficulty-fill{height:100%;background:linear-gradient(90deg,var(--primary),#667eea);border-radius:4px;transition:width .8s ease-out}.difficulty-count{text-align:right;font-size:.9rem;font-weight:600;color:var(--text-primary)}.summary-card{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.summary-content{display:flex;gap:2rem;justify-content:space-around;flex-wrap:wrap}.summary-stat{text-align:center;flex:1;min-width:120px}.stat-value{font-size:2rem;font-weight:700;color:var(--primary);line-height:1;margin-bottom:.25rem}.stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.learning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:2rem}.learning-card{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.score-chart{display:flex;flex-direction:column;gap:1rem}.score-item{display:grid;grid-template-columns:140px 1fr 60px;gap:1rem;align-items:center}.score-range{font-size:.85rem;font-weight:500;color:var(--text-primary)}.score-bar{height:10px;background:var(--bg-lighter);border-radius:5px;overflow:hidden}.score-fill{height:100%;border-radius:5px;transition:width .8s ease-out}.score-count{text-align:right;font-size:.9rem;font-weight:600;color:var(--text-primary)}.academic-year-trends{display:flex;flex-direction:column;gap:1.5rem}.year-trend-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:var(--bg-lighter);border-radius:10px;border:1px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.year-trend-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;border-color:var(--primary)}.year-trend-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary),#667eea);border-radius:0 2px 2px 0}.year-info{display:flex;flex-direction:column;gap:.5rem}.year-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.year-stats{display:flex;gap:1.5rem;align-items:center}.year-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.year-stat-value{font-size:1.5rem;font-weight:700;color:var(--primary);line-height:1}.year-stat-label{font-size:.8rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.year-quality{display:flex;flex-direction:column;align-items:center;gap:.5rem}.quality-score{font-size:2rem;font-weight:700;color:var(--primary);line-height:1}.quality-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.quality-indicator{width:60px;height:6px;background:var(--bg-dark);border-radius:3px;overflow:hidden;position:relative}.quality-fill{height:100%;background:linear-gradient(90deg,var(--primary),#667eea);border-radius:3px;transition:width .8s ease-out}.faculty-stats{display:flex;flex-direction:column;gap:1.5rem}.faculty-stat{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-lighter);border-radius:8px;border:1px solid var(--border-color)}.stat-icon{width:50px;height:50px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#667eea);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.stat-content{flex:1}.stat-number{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.25rem}.stat-text{font-size:.85rem;color:var(--text-secondary);font-weight:500}.loading-container,.error-container{display:flex;align-items:center;justify-content:center;min-height:60vh;flex-direction:column;gap:2rem;text-align:center}.loading-text{font-size:1.2rem;color:var(--text-secondary)}.error-title{font-size:1.8rem;font-weight:600;color:#ef4444;margin-bottom:1rem}.error-message{font-size:1rem;color:var(--text-secondary);max-width:500px;line-height:1.5;margin-bottom:2rem}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.header-content{flex-direction:column;text-align:center;gap:1.5rem}.header-actions{justify-content:center}.filters-content{flex-direction:column;align-items:stretch;gap:1rem}.filter-actions{margin-left:0;text-align:center}.analytics-nav{flex-wrap:wrap;justify-content:center}.nav-tab{flex:1;justify-content:center;min-width:120px}.metrics-grid,.quality-metrics,.content-grid,.learning-grid{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-cell{padding:.25rem 0;justify-content:space-between}.table-cell:before{content:attr(data-label);font-weight:600;color:var(--text-primary)}.summary-content{flex-direction:column;gap:1rem}.faculty-stats{gap:1rem}.year-trend-item{flex-direction:column;gap:1rem;text-align:center}.year-stats{justify-content:center}.year-quality{align-items:center}.notifications-container{left:20px;right:20px}.notification{min-width:auto}}.rating-chart{display:flex;flex-direction:column;gap:1rem}.rating-item{display:flex;align-items:center;gap:1rem}.rating-label{min-width:120px;font-weight:600;color:var(--text-primary)}.rating-bar{flex:1;height:20px;background:var(--bg-light);border-radius:10px;overflow:hidden;position:relative}.rating-fill{height:100%;background:linear-gradient(90deg,var(--primary),#667eea);border-radius:10px;transition:width .3s ease}.rating-count{min-width:40px;text-align:right;font-weight:600;color:var(--text-secondary)}.scoring-explanation{display:flex;flex-direction:column;gap:1.5rem}.scoring-component{background:var(--bg-light);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease}.scoring-component:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.scoring-component.final{background:linear-gradient(135deg,var(--primary),#667eea);color:#fff;border:none}.component-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.component-label{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.scoring-component.final .component-label{color:#fff}.component-weight{background:#fff3;color:var(--text-primary);padding:.25rem .75rem;border-radius:15px;font-size:.85rem;font-weight:600}.scoring-component.final .component-weight{background:#ffffff4d;color:#fff}.component-description{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.scoring-component.final .component-description{color:#ffffffe6}.table-cell-description{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;font-style:italic}.filter-select__control--is-focused{border-color:var(--primary)!important;box-shadow:0 0 0 1px var(--primary)!important}.filter-select__control{background-color:var(--bg-light, rgba(255, 255, 255, .05))!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:6px!important;color:var(--text-primary, #fff)!important;font-size:.9rem!important;height:40px!important;min-height:38px!important;box-shadow:none!important;transition:border-color .2s ease,box-shadow .2s ease;align-items:center!important}.filter-select__multi-value{margin:2px 4px 2px 0!important;background:#fff3!important;border-radius:4px!important}.filter-select__multi-value__label{color:#fff!important;font-size:.85rem!important}.filter-select__multi-value__remove{color:#fff!important}.filter-select__multi-value__remove:hover{background-color:var(--primary)!important;color:#fff!important}.filter-select__placeholder{color:#ffffffb3!important;font-size:.9rem!important}.filter-select__single-value{color:#fff!important}.filter-select__menu{background-color:var(--bg-light, rgba(0,0,0,.8))!important;border:1px solid rgba(255,255,255,.2);border-radius:6px;z-index:9999}.filter-select__option{background:transparent!important;color:#fff!important;font-size:.9rem!important}.filter-select__option--is-focused{background:#ffffff1a!important}.filter-select__option--is-selected{background:var(--primary)!important;color:#fff!important}.filter-select__indicators{height:38px!important;display:flex;align-items:center}.filter-select__value-container{padding:4px 8px!important}.filter-select__input-container{margin:0!important;padding:0!important}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-dark)}.main-content{flex:1;padding-top:80px}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .3s}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content{background:var(--surface);padding:2rem;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:1rem;border-radius:var(--radius);margin:1rem 0}.success-message{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#86efac;padding:1rem;border-radius:var(--radius);margin:1rem 0}.info-message{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#93c5fd;padding:1rem;border-radius:var(--radius);margin:1rem 0}.warning-message{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#fcd34d;padding:1rem;border-radius:var(--radius);margin:1rem 0}:root{--primary: #e9ce04;--primary-dark: #d9ae00;--primary-light: #ffd633;--primary-accent: #ffdb4d;--bg-dark: #373737;--bg-darker: #2a2a2a;--bg-lighter: #444444;--surface: #404040;--surface-hover: #4a4a4a;--text-primary: #ffffff;--text-secondary: #e0e0e0;--text-muted: #b0b0b0;--text-on-primary: #000000;--border-color: rgba(255, 204, 0, .2);--divider-color: rgba(255, 255, 255, .1);--max-width: 1200px;--spacing-unit: 1rem;--radius: 12px;--radius-lg: 20px;--shadow: 0 4px 20px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--transition: all .3s cubic-bezier(.4, 0, .2, 1);--gradient-primary: linear-gradient(135deg, var(--primary), var(--primary-light));--gradient-bg: linear-gradient(135deg, var(--bg-darker), var(--bg-dark))}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--bg-dark);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}p{margin-bottom:1rem;color:var(--text-secondary)}a{color:var(--primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-light)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap}.btn-primary{background:var(--gradient-primary);color:var(--text-on-primary);box-shadow:var(--shadow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--primary)}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background:var(--primary);color:var(--text-on-primary)}.card{background:var(--surface);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-lighter);color:var(--text-primary);font-size:1rem;transition:var(--transition)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e9ce041a}.form-input::placeholder{color:var(--text-muted)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.container{max-width:var(--max-width);margin:0 auto;padding:0 1rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.w-full{width:100%}.h-full{height:100%}.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.shadow{box-shadow:var(--shadow)}.shadow-lg{box-shadow:var(--shadow-lg)}@media (max-width: 768px){.container{padding:0 .5rem}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media (max-width: 480px){h1{font-size:1.75rem}h2{font-size:1.5rem}.btn{padding:.5rem 1rem;font-size:.9rem}.card{padding:1rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-darker)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-light)}*:focus{outline:2px solid var(--primary);outline-offset:2px}.fade-in{animation:fadeIn .5s ease-in}.slide-up{animation:slideUp .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
