:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app-wrapper{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#87ceeb 0%,#b0e0e6 50%,#87ceeb 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{margin:0;padding:0;background:linear-gradient(135deg,#87ceeb 0%,#b0e0e6 50%,#87ceeb 100%);display:flex;justify-content:center;min-height:100vh}#root{width:100%;max-width:1600px;display:flex;flex-direction:column;box-shadow:0 0 50px #00000080}.app-header{background:linear-gradient(135deg,#87ceeb 0%,#b0e0e6 50%,#87ceeb 100%);padding:25px 0;position:sticky;top:0;z-index:1000;box-shadow:0 4px 12px #0000001a;border-bottom:2px solid rgba(74,144,226,.3)}.header-content{max-width:1400px;margin:0 auto;padding:0 40px;display:flex;justify-content:center;align-items:center}.logo-container{text-align:center}.logo-link{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;transition:transform .3s ease}.logo-link:hover{transform:scale(1.02)}.app-logo{height:70px;width:auto;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));margin-bottom:8px}.logo-tagline{color:#e8f4f8;font-size:.9rem;font-weight:300;letter-spacing:1px;text-transform:uppercase}.app-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:50px 20px}.app-container{width:100%;max-width:1400px;background:#ffffff;border-radius:16px;box-shadow:0 10px 40px #0006;overflow:hidden;margin:0 auto;border:1px solid rgba(74,144,226,.2)}.app-footer{background:linear-gradient(135deg,#87ceeb 0%,#b0e0e6 50%,#87ceeb 100%);color:#2c5282;padding:40px 20px;margin-top:auto;border-top:2px solid rgba(74,144,226,.3)}.footer-wrapper{max-width:1400px;margin:0 auto}.footer-content{display:flex;flex-direction:column;align-items:center;gap:25px}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:30px}.footer-links a{color:#2c5282;text-decoration:none;font-size:.95rem;font-weight:500;transition:all .3s ease;padding-bottom:3px;border-bottom:2px solid transparent}.footer-links a:hover{color:#1a365d;border-bottom-color:#4a90e2}.footer-copyright{text-align:center;padding-top:20px;border-top:1px solid rgba(74,144,226,.2);width:100%}.footer-copyright p{color:#4a6b8a;font-size:.85rem;margin:0;line-height:1.6}@media (max-width: 768px){.app-header{padding:20px 0}.header-content{padding:0 20px}.app-logo{height:55px}.logo-tagline{font-size:.8rem}.app-main{padding:30px 15px}.app-container{border-radius:12px}.footer-links{gap:20px;font-size:.9rem}}@media (max-width: 480px){.app-header{padding:15px 0}.app-logo{height:45px}.logo-tagline{font-size:.75rem}.app-main{padding:20px 10px}.footer-links{flex-direction:column;gap:15px;text-align:center}.footer-copyright p{font-size:.8rem}}.home-container{max-width:1400px;margin:0 auto;padding:40px 20px}.home-hero{text-align:center;margin-bottom:60px;padding:40px 20px}.home-hero h1{font-size:2.5rem;color:#1a365d;margin-bottom:15px;font-weight:700}.hero-subtitle{font-size:1.2rem;color:#4a6b8a;font-weight:400}.home-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;margin-bottom:60px}@media (min-width: 1200px){.home-options{grid-template-columns:repeat(3,1fr)}}@media (max-width: 720px){.home-options{grid-template-columns:1fr}}.option-card{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:40px;box-shadow:0 8px 32px #0000001a;border:2px solid rgba(74,144,226,.2);transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center}.option-card:hover{transform:translateY(-8px);box-shadow:0 12px 48px #4a90e233;border-color:#4a90e2}.option-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:25px;transition:all .3s ease}.option-card:hover .option-icon{transform:scale(1.1)}.lobsterian-icon{background:linear-gradient(135deg,#4a90e2 0%,#357abd 100%);color:#fff}.institute-icon{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.option-icon svg{width:40px;height:40px;stroke-width:2.5}.option-card h2{font-size:1.8rem;color:#1a365d;margin-bottom:15px;font-weight:700}.option-description{font-size:1rem;color:#4a6b8a;line-height:1.7;margin-bottom:25px;flex-grow:1}.option-features{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}.feature-tag{background:rgba(74,144,226,.1);color:#4a90e2;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500;border:1px solid rgba(74,144,226,.2)}.option-button{background:linear-gradient(135deg,#4a90e2 0%,#357abd 100%);color:#fff;border:none;padding:16px 32px;border-radius:10px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 4px 12px #4a90e24d}.option-button svg{width:20px;height:20px;transition:transform .3s ease}.option-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4a90e266}.option-button:hover svg{transform:translate(5px)}.option-card:nth-child(2) .option-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 4px 12px #667eea4d}.option-card:nth-child(2) .option-button:hover{box-shadow:0 6px 20px #667eea66}.option-card:nth-child(3) .option-button{background:linear-gradient(135deg,#2c7a7b 0%,#285e61 100%);box-shadow:0 4px 12px #2c7a7b59}.option-card:nth-child(3) .option-button:hover{box-shadow:0 6px 20px #2c7a7b73}.option-card--book-sample:hover{border-color:#2c7a7b}.option-book-cover-wrap{width:100px;height:130px;margin-bottom:25px;display:flex;align-items:center;justify-content:center;padding:8px;background:white;border-radius:12px;box-shadow:0 4px 16px #0000001f;border:1px solid rgba(74,144,226,.15);transition:transform .3s ease,box-shadow .3s ease}.option-card--book-sample:hover .option-book-cover-wrap{transform:scale(1.05);box-shadow:0 8px 24px #2c7a7b33}.option-book-cover-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;border-radius:4px}.home-info{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:50px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(74,144,226,.15)}.info-section{text-align:center;margin-bottom:40px}.info-section h3{font-size:1.8rem;color:#1a365d;margin-bottom:20px;font-weight:700}.info-section p{font-size:1.05rem;color:#4a6b8a;line-height:1.8;max-width:900px;margin:0 auto}.info-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:30px}.info-feature{display:flex;align-items:flex-start;gap:20px;padding:20px;background:rgba(74,144,226,.05);border-radius:12px;border:1px solid rgba(74,144,226,.1);transition:all .3s ease}.info-feature:hover{background:rgba(74,144,226,.1);transform:translateY(-2px)}.info-icon{font-size:2.5rem;line-height:1;flex-shrink:0}.nasdaq-logo-container{width:186px;height:56px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:white;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000001a}.nasdaq-logo{max-width:100%;max-height:100%;object-fit:contain}.info-feature h4{color:#1a365d;font-size:1.15rem;margin:0 0 8px;font-weight:600}.info-feature p{color:#4a6b8a;font-size:.95rem;margin:0;line-height:1.5}@media (max-width: 768px){.home-hero h1{font-size:2rem}.hero-subtitle{font-size:1rem}.option-card{padding:30px 20px}.option-card h2{font-size:1.5rem}.home-info{padding:30px 20px}.info-features{grid-template-columns:1fr}}.login-container{display:flex;align-items:center;justify-content:center;padding:60px 20px;min-height:500px}.login-box{background:rgba(255,255,255,0);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:50px 45px;border-radius:12px;box-shadow:0 8px 32px #0000;width:100%;max-width:450px;border:1px solid rgba(255,255,255,0)}.login-box h1{text-align:center;margin:0 0 8px;font-size:2rem;font-weight:600}.login-box h1:before{content:"🦞 ";font-size:2.2rem}.login-box h2{text-align:center;margin:0 0 35px;color:#666;font-weight:400;font-size:1.1rem}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.password-input-with-toggle{position:relative;display:flex;align-items:center}.password-input-with-toggle input{padding-right:44px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;font-size:1.1rem;line-height:1;padding:6px;color:#4a90e2}.password-toggle:disabled{cursor:not-allowed;color:#999}.password-requirements{list-style:none;padding:0;margin:8px 0 0}.password-requirements li{font-size:.85rem;padding:4px 0;display:flex;align-items:center;gap:8px}.password-requirements li.valid{color:#28a745}.password-requirements li.invalid{color:#999}.password-requirements .check-icon{font-weight:700;font-size:1rem}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#4a90e2 0%,#357abd 100%);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4a90e24d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#357abd 0%,#2a5298 100%);transform:translateY(-2px);box-shadow:0 6px 16px #4a90e266}.btn-primary:disabled{background:#ccc;cursor:not-allowed;box-shadow:none;transform:none}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #fcc}.success-message{background:#d4edda;color:#155724;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #c3e6cb}.login-links{margin-top:20px;text-align:center}.login-links a{color:#4a90e2;text-decoration:none;font-size:.9rem;transition:color .3s ease}.login-links a:hover{color:#357abd;text-decoration:underline}.form-footer{margin-top:20px;text-align:center}.form-footer a{color:#667eea;text-decoration:none}.form-footer a:hover{text-decoration:underline}.dashboard-container{min-height:100%}.dashboard-header{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);padding:20px 40px;border-bottom:3px solid #0066cc;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{margin:0;font-size:1.8rem;color:#333}.user-info{display:flex;align-items:center;gap:20px}.user-info span{color:#666}.badge-superuser,.badge-admin{background:linear-gradient(135deg,#667eea 0%,#6e6378 100%);color:#fff;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;margin-left:8px}.btn-logout{padding:8px 20px;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-logout:hover{background:#c82333}.dashboard-content{max-width:1200px;margin:40px auto;padding:0 20px}.message{padding:15px;border-radius:6px;margin-bottom:20px}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.admin-actions{background:white;padding:30px;border-radius:12px;box-shadow:0 2px 4px #0000001a}.admin-actions h2{margin:0 0 20px;color:#333}.section-header{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-bottom:20px}.section-header h2{margin:0}.btn-add-small{padding:6px 12px;font-size:.85rem;white-space:nowrap}.tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tabs.tabs-primary{gap:6px;margin-bottom:14px;padding:6px 8px;background:linear-gradient(180deg,#eef1f9 0%,#e4e9f4 100%);border:1px solid #d8deeb;border-radius:12px;border-bottom:none;box-shadow:inset 0 1px #ffffffa6}.tabs.tabs-primary .tab{padding:10px 22px;font-size:1.02rem;border-radius:8px;border-bottom:none;background:transparent}.tabs.tabs-primary .tab:hover{background:rgba(255,255,255,.75);color:#667eea}.tabs.tabs-primary .tab.active{background:#fff;color:#667eea;font-weight:600;box-shadow:0 1px 3px #0000001a}.tab{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-weight:500;color:#666;transition:all .2s;font-size:1rem}.tab:hover{color:#667eea;background:#f8f9ff}.tab.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.tabs.tabs-primary+.tabs.tabs-sub{margin-top:-2px}.tabs.tabs-sub{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:0;margin-bottom:18px;padding:10px 0 14px;border-bottom:1px solid #e4e7ed}.tab.tab-sub{padding:6px 16px;font-size:.8rem;font-weight:500;border-radius:999px;border:1px solid #cfd4e0;border-bottom:1px solid #cfd4e0;background:#fff;color:#555}.tab.tab-sub:hover{border-color:#667eea;color:#667eea;background:#f8f9ff}.tab.tab-sub.active{background:#667eea;color:#fff;border-color:#5a6fd6;font-weight:600}.staff-panel{margin-top:8px}.add-admin-form{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:8px}.add-admin-form h3{margin:0 0 20px;color:#333}.form-actions{display:flex;gap:10px;margin-top:20px}.btn-secondary{padding:8px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-secondary:hover:not(:disabled){background:#5a6268}.info-message{background:#d1ecf1;border:1px solid #bee5eb;padding:20px;border-radius:6px;color:#0c5460}.info-message p{margin:10px 0}.radio-group{display:flex;gap:20px;margin-top:8px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border:2px solid #ddd;border-radius:6px;transition:all .2s}.radio-label:hover{border-color:#667eea;background:#f8f9ff}.radio-label input[type=radio]{cursor:pointer;width:18px;height:18px}.radio-label input[type=radio]:checked+span{font-weight:600;color:#667eea}.radio-label span{color:#333}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:10px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.add-admin-form h4{margin:25px 0 15px;color:#555;font-size:1.1rem;border-bottom:2px solid #e0e0e0;padding-bottom:8px}.add-admin-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:white;cursor:pointer}.add-admin-form select:focus{outline:none;border-color:#667eea}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 0}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-label span{color:#333;font-weight:500}.university-list{margin-top:20px;overflow:visible;padding-bottom:20px}.university-table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.university-table-dropdown-spacer{min-height:280px;pointer-events:none}.university-table-scroll .university-table th,.university-table-scroll .university-table td{padding:10px 8px;vertical-align:middle}.university-table-scroll .university-table td.table-cell-clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.university-table{width:100%;border-collapse:collapse;background:white;box-shadow:0 1px 3px #0000001a}.university-table thead{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.university-table th{padding:12px 15px;text-align:left;font-weight:600;font-size:.9rem}.university-table td{padding:12px 15px;border-bottom:1px solid #e0e0e0;font-size:.9rem;color:#333}.university-table tbody tr:hover{background:#f8f9fa}.status-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.status-badge.admin-confirmed{background:#d1ecf1;color:#0c5460}.status-badge.admin-pending{background:#fff3cd;color:#856404}.status-badge.admin-none{background:#e2e3e5;color:#6c757d}.status-badge.admin-generic{background:#d6d8d9;color:#383d41}.btn-edit{padding:6px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.9rem}.btn-edit:hover{background:#5568d3}.no-data{padding:30px;text-align:center;color:#999;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.modal-content{background:white;border-radius:12px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;margin:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid #e0e0e0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:1.5rem}.modal-close{background:transparent;border:none;font-size:2rem;color:#fff;cursor:pointer;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{opacity:.8}.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;line-height:1.5;box-sizing:border-box}.modal-body .form-group select{min-height:48px;cursor:pointer;background-color:#fff}.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:#667eea}.modal-body .form-group input:disabled,.modal-body .form-group select:disabled,.modal-body .form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.student-dashboard{--student-border: #d7e1ee;--student-text-primary: #1f2a37;--student-text-secondary: #5b6778;--student-text-muted: #8894a6;--student-brand: #2266a8;--student-brand-soft: #eaf3fb;--student-danger: #9b2c2c;--student-danger-soft: #fbeaea;--student-success: #1f6f43;--student-success-soft: #e9f7ef;--student-panel-shadow: 0 8px 24px rgba(16, 42, 67, .08);color:var(--student-text-primary)}.student-dashboard__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px;border-bottom:1px solid var(--student-border);background:linear-gradient(180deg,#f7fbff 0%,#f3f8fd 100%)}.student-dashboard__title-wrap{min-width:0}.student-dashboard__title{margin:0;font-size:2rem;line-height:1.2;color:#1a2735}.student-dashboard__subtitle{margin:8px 0 0;font-size:.95rem;color:var(--student-text-secondary);word-break:break-word}.student-alert{margin:16px 28px 0;border-radius:10px;padding:12px 14px;font-size:.92rem;border:1px solid transparent}.student-alert--error{border-color:#f3b9b9;background:var(--student-danger-soft);color:var(--student-danger)}.student-alert--success{margin:14px 0 0;border-color:#b8e2c8;background:var(--student-success-soft);color:var(--student-success)}.student-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;padding:20px 28px 0}.student-stat-card{border:1px solid var(--student-border);border-radius:12px;padding:14px;background:#fff;box-shadow:0 2px 8px #0d264c0d}.student-stat-card__label{font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;color:var(--student-text-secondary);margin-bottom:8px;font-weight:600}.student-stat-card__value{font-size:1.3rem;line-height:1.15;font-weight:700;color:#132538}.student-note-card{margin:18px 28px 0;padding:12px 14px;border-radius:10px;border:1px solid #bfd8ee;background:var(--student-brand-soft);color:#294f70;font-size:.86rem;line-height:1.5}.student-note-card p{margin:0}.student-note-card p+p{margin-top:8px}.student-panel{margin:20px 28px 0;padding:20px;border:1px solid var(--student-border);border-radius:14px;background:#fff;box-shadow:var(--student-panel-shadow)}.student-panel:last-child{margin-bottom:28px}.student-panel__title{margin:0;font-size:1.35rem;color:#1e2f42;font-weight:700}.student-panel__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.student-request-form{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:12px;align-items:end}.student-field{display:flex;flex-direction:column;gap:6px}.student-field label{font-size:.84rem;color:var(--student-text-secondary);font-weight:600}.student-field input{width:100%;min-height:42px;padding:10px 12px;border-radius:10px;border:1px solid #c8d5e4;font-size:.93rem;color:var(--student-text-primary);transition:border-color .2s,box-shadow .2s;background:#fff}.student-field input:focus{outline:none;border-color:#5b9cd8;box-shadow:0 0 0 3px #5b9cd833}.student-field input:disabled{background:#f6f8fb;color:#94a3b8;cursor:not-allowed}.student-helper-text{margin:10px 0 0;font-size:.78rem;color:var(--student-text-muted)}.student-btn{border:1px solid transparent;border-radius:10px;min-height:42px;padding:0 14px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.student-btn:disabled{opacity:.55;cursor:not-allowed}.student-btn--primary{background:linear-gradient(135deg,#2b78be 0%,#1f619b 100%);color:#fff;box-shadow:0 4px 12px #1f619b40}.student-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #1f619b47}.student-btn--secondary{border-color:#bed2e7;background:#fff;color:#1f619b}.student-btn--secondary:hover:not(:disabled){background:#f1f7fe;border-color:#9fbede}.student-btn--ghost{border-color:#d4dce7;background:#fff;color:#48566a}.student-btn--ghost:hover:not(:disabled){background:#f6f9fc}.student-btn--small{min-height:30px;padding:0 10px;border-radius:8px;font-size:.79rem}.student-table-wrap{overflow-x:auto}.student-table{width:100%;border-collapse:separate;border-spacing:0;min-width:860px}.student-table th,.student-table td{padding:10px 8px;text-align:left;border-bottom:1px solid #e7edf4;vertical-align:top;font-size:.86rem}.student-table th{color:#42566d;font-weight:700;background:#f7fafc}.student-table tbody tr:hover{background:#fbfdff}.student-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700;letter-spacing:.01em}.student-status-badge--completed{background:#dff4e7;color:#19613a}.student-status-badge--pending,.student-status-badge--processing{background:#fff5d6;color:#8a6510}.student-status-badge--failed,.student-status-badge--cancelled{background:#fae4e4;color:#8c2f2f}.student-status-failure{margin-top:6px;color:#9b2c2c;font-size:.75rem;line-height:1.35}.student-status-hint{margin-top:2px;color:#7a8798}.student-cell--muted{color:#607184;font-size:.8rem}.student-text--danger{color:#b03a3a;font-size:.8rem;font-weight:600}.student-text--normal{color:#52657a;font-size:.8rem}.student-text--muted{color:#9aa7b5;font-size:.8rem}.student-empty-state{color:#7b8898;margin:4px 0 0}@media (max-width: 1100px){.student-stats-grid,.student-request-form{grid-template-columns:repeat(2,minmax(160px,1fr))}.student-field--action{grid-column:span 2}}@media (max-width: 768px){.student-dashboard__header,.student-stats-grid,.student-panel,.student-note-card,.student-alert{margin-left:14px;margin-right:14px}.student-dashboard__header{padding:18px;flex-direction:column;align-items:stretch}.student-dashboard__title{font-size:1.55rem}.student-stats-grid{padding:14px 0 0;grid-template-columns:1fr}.student-panel{padding:16px}.student-panel__toolbar{flex-direction:column;align-items:stretch}.student-request-form{grid-template-columns:1fr}.student-field--action{grid-column:auto}.student-table{min-width:760px}}.qm-modal-content{max-width:620px;width:100%}.qsm-pdf-section{margin-bottom:12px}.qsm-pdf-iframe{width:100%;height:520px;border:1px solid #ccc;border-radius:4px}.qsm-pdf-placeholder{height:520px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:1px solid #ccc;border-radius:4px;color:#888}.qsm-confirm-label{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:.9rem;cursor:pointer;background:#fffbea;border:1px solid #f0c040;border-radius:6px;padding:10px 14px}.qsm-confirm-label input[type=checkbox]{margin-top:2px;flex-shrink:0;width:16px;height:16px;cursor:pointer}.qm-fieldset{border:1px solid #e0e0e0;border-radius:6px;padding:14px 16px 16px;margin-bottom:16px}.qm-fieldset legend{font-weight:600;font-size:.9rem;color:#444;padding:0 6px}.qm-hint{font-size:.8rem;color:#777;margin:0 0 12px}.qm-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.qm-field{display:flex;flex-direction:column;gap:4px}.qm-field label{font-size:.85rem;font-weight:500;color:#333}.qm-field input,.qm-field select{padding:7px 10px;border:1px solid #ccc;border-radius:4px;font-size:.9rem;background:#fff}.qm-field input:focus,.qm-field select:focus{border-color:#005496;outline:none;box-shadow:0 0 0 2px #00549626}.qm-field-inline{flex-direction:row;align-items:center;padding-top:8px}.qm-locked-notice{font-size:.85rem;color:#666;background:#f8f9fa;border-left:3px solid #005496;padding:10px 14px;border-radius:4px;margin-bottom:16px}.qm-price-advisory{font-size:.85rem;color:#555;background:#fffbe6;border-left:3px solid #f0a500;padding:10px 14px;border-radius:4px;margin-bottom:16px}.qm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #eee}.qm-summary-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.9rem}.qm-summary-table th,.qm-summary-table td{padding:8px 12px;border-bottom:1px solid #eee;text-align:left}.qm-summary-table th{width:35%;color:#555;font-weight:600}.qsm-quote-picker-table.qm-summary-table th{width:auto}.user-api-key-container{max-width:800px;margin:0 auto;padding:40px 20px}.api-key-header{text-align:center;margin-bottom:40px}.back-link{display:inline-flex;align-items:center;color:red;text-decoration:none;font-size:.9rem;font-weight:500;margin-bottom:16px;transition:opacity .2s}.back-link:hover{opacity:.75;text-decoration:underline}.api-key-header h1{font-size:2.5rem;color:#1a1a1a;margin-bottom:10px}.api-key-header p{font-size:1.1rem;color:#666}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:15px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.error-message svg{width:24px;height:24px;flex-shrink:0}.api-key-content{background:#f8f9fa;border-radius:12px;padding:30px;margin-bottom:30px}.api-key-info{margin-bottom:30px}.api-key-info h2{font-size:1.5rem;color:#1a1a1a;margin-bottom:15px}.api-key-info p{color:#555;line-height:1.6;margin-bottom:15px}.api-key-info ul{list-style:none;padding:0}.api-key-info ul li{color:#555;padding:8px 0 8px 25px;position:relative}.api-key-info ul li:before{content:"✓";position:absolute;left:0;color:red;font-weight:700}.generate-button{background:linear-gradient(135deg,#ff0000 0%,#cc0000 100%);color:#fff;border:none;padding:15px 30px;font-size:1.1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:10px;justify-content:center;width:100%;transition:all .3s ease}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ff00004d}.generate-button:disabled{opacity:.6;cursor:not-allowed}.generate-button svg{width:20px;height:20px}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:white;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{padding:25px 30px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.8rem;color:#1a1a1a;margin:0}.close-button{background:none;border:none;cursor:pointer;padding:5px;color:#666;transition:color .2s}.close-button:hover{color:red}.close-button svg{width:24px;height:24px}.modal-body{padding:30px}.warning-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:15px;margin-bottom:15px;display:flex;gap:12px}.warning-banner svg{width:24px;height:24px;color:#856404;flex-shrink:0}.warning-banner p{color:#856404;margin:0;line-height:1.5}.info-banner{background:#d1ecf1;border:1px solid #bee5eb;border-radius:8px;padding:15px;margin-bottom:25px;display:flex;gap:12px}.info-banner svg{width:24px;height:24px;color:#0c5460;flex-shrink:0}.info-banner p{color:#0c5460;margin:0;line-height:1.5}.docs-banner{background:#f0f4ff;border:1px solid #c7d4f0;border-radius:8px;padding:15px;margin-bottom:25px;display:flex;gap:12px}.docs-banner svg{width:24px;height:24px;color:#3a5bbf;flex-shrink:0;margin-top:2px}.docs-banner p{color:#2c3e6b;margin:0;line-height:1.6}.docs-banner code{background:#dce6ff;padding:1px 5px;border-radius:4px;font-family:Courier New,monospace;font-size:.88em}.docs-link{color:#3a5bbf;font-weight:600;text-decoration:underline}.docs-link:hover{color:#1a3a9f}.credential-section{margin-bottom:20px}.credential-section label{display:block;font-weight:600;color:#333;margin-bottom:8px;font-size:.95rem}.credential-field{display:flex;gap:10px}.credential-field input{flex:1;padding:12px 15px;border:1px solid #ddd;border-radius:6px;font-family:Courier New,monospace;font-size:.9rem;background:#f8f9fa}.credential-field input:focus{outline:none;border-color:red}.copy-button{background:white;border:1px solid #ddd;border-radius:6px;padding:10px 15px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.copy-button:hover{background:#f8f9fa;border-color:red}.copy-button svg{width:20px;height:20px;color:#555}.copy-button:hover svg{color:red}.status-badge{display:inline-block;padding:8px 16px;background:#d4edda;color:#155724;border-radius:6px;font-weight:600}.modal-footer{padding:20px 30px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.primary-button{background:linear-gradient(135deg,#ff0000 0%,#cc0000 100%);color:#fff;border:none;padding:12px 30px;font-size:1rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.primary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff00004d}@media (max-width: 768px){.user-api-key-container{padding:20px 15px}.api-key-header h1{font-size:2rem}.modal-content{max-width:100%;border-radius:0}.credential-field{flex-direction:column}.copy-button{width:100%}}.book-sample-page{max-width:640px;margin:0 auto;padding:1.5rem 0 3rem}.book-sample-page h1{font-size:1.75rem;margin-bottom:.75rem;color:#1a1a2e}.book-sample-page .lead{color:#444;line-height:1.5;margin-bottom:1.5rem}.book-sample-notice{margin:0 0 1.25rem;padding:.85rem 1rem;border-left:4px solid #c0392b;background:#fdf6f5;color:#2c1816;line-height:1.45;font-size:.95rem}.book-sample-form label{display:block;font-weight:600;margin-bottom:.35rem;color:#333}.book-sample-form input[type=email],.book-sample-form input[type=file]{width:100%;max-width:100%;margin-bottom:1rem;padding:.5rem .6rem;box-sizing:border-box}.book-sample-form .hint{font-size:.875rem;color:#666;margin-top:-.5rem;margin-bottom:1rem}.book-sample-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem}.book-sample-actions button{background:#c0392b;color:#fff;border:none;padding:.65rem 1.25rem;font-size:1rem;cursor:pointer;border-radius:4px}.book-sample-actions button:disabled{opacity:.6;cursor:not-allowed}.book-sample-actions a{color:#c0392b}.book-sample-message{margin-top:1rem;padding:.75rem 1rem;border-radius:4px;background:#f4f6f8;color:#222}.book-sample-error{margin-top:1rem;padding:.75rem 1rem;border-radius:4px;background:#fdecea;color:#842029}.book-sample-review-meta{background:#f8f9fa;padding:1rem;border-radius:4px;margin:1rem 0;font-family:system-ui,sans-serif;font-size:.95rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
