:root{color-scheme:light;--color-bg-page-start: #87ceeb;--color-bg-page-mid: #b0e0e6;--color-bg-page-end: #87ceeb;--ambient-glow-a: rgba(255, 255, 255, .35);--ambient-glow-b: rgba(74, 144, 226, .18);--color-bg-page: radial-gradient( ellipse 70% 55% at 12% 18%, var(--ambient-glow-a), transparent 60% ), radial-gradient( ellipse 65% 50% at 88% 78%, var(--ambient-glow-b), transparent 55% ), linear-gradient( 135deg, var(--color-bg-page-start) 0%, var(--color-bg-page-mid) 50%, var(--color-bg-page-end) 100% );--color-bg-header: var(--color-bg-page);--color-bg-surface: #ffffff;--color-bg-surface-elevated: #f7fbff;--color-bg-surface-muted: #f3f8fd;--color-bg-soft: #eaf3fb;--color-bg-input: #ffffff;--color-bg-overlay: rgba(0, 0, 0, .45);--color-text-primary: #1f2a37;--color-text-secondary: #5b6778;--color-text-muted: #8894a6;--color-text-heading: #1a365d;--color-text-on-brand: #ffffff;--color-text-footer: #2c5282;--color-text-footer-muted: #4a6b8a;--color-text-tagline: #e8f4f8;--color-text-inverse: #ffffff;--color-brand: #4a90e2;--color-brand-hover: #357abd;--color-brand-strong: #2266a8;--color-brand-soft: #eaf3fb;--color-accent: #667eea;--color-accent-end: #764ba2;--color-link: #0066cc;--color-link-hover: #004999;--color-border: #d7e1ee;--color-border-brand: rgba(74, 144, 226, .3);--color-border-brand-soft: rgba(74, 144, 226, .2);--shadow-shell: 0 0 50px rgba(0, 0, 0, .5);--shadow-header: 0 4px 12px rgba(0, 0, 0, .1);--shadow-card: 0 10px 40px rgba(0, 0, 0, .4);--shadow-panel: 0 8px 24px rgba(16, 42, 67, .08);--shadow-logo: drop-shadow(0 2px 8px rgba(0, 0, 0, .2));--color-logo-plate: transparent;--color-logo-plate-border: transparent;--logo-plate-padding: 0;--logo-plate-radius: 0;--color-success: #1f6f43;--color-success-soft: #e9f7ef;--color-success-border: #c3e6cb;--color-success-text: #155724;--color-danger: #9b2c2c;--color-danger-soft: #fbeaea;--color-danger-border: #f5c6cb;--color-danger-text: #721c24;--color-warning-soft: #fff3cd;--color-warning-border: #ffeeba;--color-warning-text: #856404;--color-caution-soft: #ffe6cc;--color-info-soft: #d1ecf1;--color-info-border: #bee5eb;--color-info-text: #0c5460;--color-info: #0ea5e9;--color-selection-soft: rgba(74, 144, 226, .12);--color-teal: #2c7a7b;--color-teal-end: #285e61;--color-teal-shadow: rgba(44, 122, 123, .35);--color-teal-shadow-strong: rgba(44, 122, 123, .45);--color-teal-shadow-soft: rgba(44, 122, 123, .2);--color-success-accent: #20c997;--color-button-bg: #4a90e2;--color-button-hover: #357abd;--color-button-text: #ffffff;--color-disabled-bg: #e2e8f0;--color-disabled-text: #94a3b8;--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235b708b' d='M1.4 0.6L6 5.2 10.6 0.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");--student-border: var(--color-border);--student-text-primary: var(--color-text-primary);--student-text-secondary: var(--color-text-secondary);--student-text-muted: var(--color-text-muted);--student-brand: var(--color-brand-strong);--student-brand-soft: var(--color-brand-soft);--student-danger: var(--color-danger);--student-danger-soft: var(--color-danger-soft);--student-success: var(--color-success);--student-success-soft: var(--color-success-soft);--student-panel-shadow: var(--shadow-panel)}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--color-bg-page-start: #0f172a;--color-bg-page-mid: #1e3a5f;--color-bg-page-end: #0f172a;--color-bg-header: linear-gradient( 90deg, #0f172a 0%, #1e3a5f 18%, #c5d4e8 50%, #1e3a5f 82%, #0f172a 100% );--color-bg-surface: #1e293b;--color-bg-surface-elevated: #243447;--color-bg-surface-muted: #1a2738;--color-bg-soft: #1e3a5f;--color-bg-input: #0f172a;--color-bg-overlay: rgba(0, 0, 0, .65);--color-text-primary: #e2e8f0;--color-text-secondary: #94a3b8;--color-text-muted: #7b8a9e;--color-text-heading: #e2e8f0;--color-text-on-brand: #ffffff;--color-text-footer: #cbd5e1;--color-text-footer-muted: #94a3b8;--color-text-tagline: #cbd5e1;--color-text-inverse: #0f172a;--color-brand: #5ba3f0;--color-brand-hover: #7bb5f5;--color-brand-strong: #5ba3f0;--color-brand-soft: #1e3a5f;--color-accent: #818cf8;--color-accent-end: #a78bfa;--color-link: #7bb5f5;--color-link-hover: #a5d0ff;--color-border: #334155;--color-border-brand: rgba(91, 163, 240, .35);--color-border-brand-soft: rgba(91, 163, 240, .2);--shadow-shell: 0 0 50px rgba(0, 0, 0, .75);--shadow-header: 0 4px 12px rgba(0, 0, 0, .35);--shadow-card: 0 10px 40px rgba(0, 0, 0, .55);--shadow-panel: 0 8px 24px rgba(0, 0, 0, .35);--shadow-logo: drop-shadow(0 1px 3px rgba(15, 23, 42, .12));--color-logo-plate: transparent;--color-logo-plate-border: transparent;--logo-plate-padding: 0;--logo-plate-radius: 0;--color-success: #4ade80;--color-success-soft: rgba(74, 222, 128, .14);--color-success-border: rgba(74, 222, 128, .35);--color-success-text: #b6f0c8;--color-danger: #e88989;--color-danger-soft: rgba(248, 113, 113, .14);--color-danger-border: rgba(248, 113, 113, .35);--color-danger-text: #f5c2c2;--color-warning-soft: rgba(253, 230, 138, .14);--color-warning-border: rgba(253, 230, 138, .35);--color-warning-text: #f5e6a8;--color-caution-soft: rgba(251, 146, 60, .14);--color-info: #5ba3f0;--color-info-soft: rgba(91, 163, 240, .14);--color-info-border: rgba(91, 163, 240, .35);--color-info-text: #b8d4f0;--color-selection-soft: rgba(91, 163, 240, .2);--color-teal: #2dd4bf;--color-teal-end: #14b8a6;--color-teal-shadow: rgba(45, 212, 191, .35);--color-teal-shadow-strong: rgba(45, 212, 191, .45);--color-teal-shadow-soft: rgba(45, 212, 191, .2);--color-success-accent: #34d399;--color-button-bg: #5ba3f0;--color-button-hover: #7bb5f5;--color-button-text: #0f172a;--color-disabled-bg: #334155;--color-disabled-text: #64748b;--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2394a3b8' d='M1.4 0.6L6 5.2 10.6 0.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");--ambient-glow-a: rgba(91, 163, 240, .16);--ambient-glow-b: rgba(30, 58, 95, .55)}}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;color:var(--color-text-primary);background:var(--color-bg-page)}a{font-weight:500;color:var(--color-link);text-decoration:inherit}a:hover{color:var(--color-link-hover)}.app-wrapper{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-page);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{margin:0;padding:0;background:var(--color-bg-page);display:flex;justify-content:center;min-height:100vh}#root{width:100%;max-width:1600px;display:flex;flex-direction:column;box-shadow:var(--shadow-shell)}.app-header{background:var(--color-bg-header);padding:25px 0;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-header);border-bottom:2px solid var(--color-border-brand)}.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;background:var(--color-logo-plate);border:1px solid var(--color-logo-plate-border);border-radius:var(--logo-plate-radius);padding:var(--logo-plate-padding)}.logo-link:hover{transform:scale(1.02)}.app-logo{height:70px;width:auto;display:block;filter:var(--shadow-logo);margin-bottom:0}.logo-tagline{color:var(--color-text-tagline);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:var(--color-bg-surface);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;margin:0 auto;border:1px solid var(--color-border-brand-soft)}.app-footer{background:var(--color-bg-page);color:var(--color-text-footer);padding:40px 20px;margin-top:auto;border-top:2px solid var(--color-border-brand)}.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:var(--color-text-footer);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:var(--color-text-heading);border-bottom-color:var(--color-brand)}.footer-copyright{text-align:center;padding-top:20px;border-top:1px solid var(--color-border-brand-soft);width:100%}.footer-copyright p{color:var(--color-text-footer-muted);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:var(--color-text-heading);margin-bottom:15px;font-weight:700}.hero-subtitle{font-size:1.2rem;color:var(--color-text-footer-muted);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:var(--color-bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:40px;box-shadow:var(--shadow-panel);border:2px solid var(--color-border-brand-soft);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 var(--color-border-brand-soft);border-color:var(--color-brand)}.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,var(--color-brand) 0%,var(--color-brand-hover) 100%);color:var(--color-text-on-brand)}.institute-icon{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-end) 100%);color:var(--color-text-on-brand)}.option-icon svg{width:40px;height:40px;stroke-width:2.5}.option-card h2{font-size:1.8rem;color:var(--color-text-heading);margin-bottom:15px;font-weight:700}.option-description{font-size:1rem;color:var(--color-text-footer-muted);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:var(--color-brand-soft);color:var(--color-brand);padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500;border:1px solid var(--color-border-brand-soft)}.option-button{background:linear-gradient(135deg,var(--color-brand) 0%,var(--color-brand-hover) 100%);color:var(--color-text-on-brand);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 var(--color-border-brand)}.option-button svg{width:20px;height:20px;transition:transform .3s ease}.option-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--color-border-brand)}.option-button:hover svg{transform:translate(5px)}.option-card:nth-child(2) .option-button{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-end) 100%);box-shadow:0 4px 12px var(--color-border-brand)}.option-card:nth-child(2) .option-button:hover{box-shadow:0 6px 20px var(--color-border-brand)}.option-card:nth-child(3) .option-button{background:linear-gradient(135deg,var(--color-teal) 0%,var(--color-teal-end) 100%);box-shadow:0 4px 12px var(--color-teal-shadow)}.option-card:nth-child(3) .option-button:hover{box-shadow:0 6px 20px var(--color-teal-shadow-strong)}.option-card--book-sample:hover{border-color:var(--color-teal)}.option-book-cover-wrap{width:100px;height:130px;margin-bottom:25px;display:flex;align-items:center;justify-content:center;padding:8px;background:var(--color-bg-surface);border-radius:12px;box-shadow:var(--shadow-header);border:1px solid var(--color-border-brand-soft);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 var(--color-teal-shadow-soft)}.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:var(--color-bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:50px;box-shadow:var(--shadow-panel);border:1px solid var(--color-border-brand-soft)}.info-section{text-align:center;margin-bottom:40px}.info-section h3{font-size:1.8rem;color:var(--color-text-heading);margin-bottom:20px;font-weight:700}.info-section p{font-size:1.05rem;color:var(--color-text-footer-muted);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:var(--color-brand-soft);border-radius:12px;border:1px solid var(--color-border-brand-soft);transition:all .3s ease}.info-feature:hover{background:var(--color-border-brand-soft);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:var(--color-bg-surface);border-radius:8px;padding:8px;box-shadow:var(--shadow-header)}.nasdaq-logo{max-width:100%;max-height:100%;object-fit:contain}.info-feature h4{color:var(--color-text-heading);font-size:1.15rem;margin:0 0 8px;font-weight:600}.info-feature p{color:var(--color-text-footer-muted);font-size:.95rem;margin:0;line-height:1.5}.home-about-us{margin-top:40px;background:var(--color-bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:50px;box-shadow:var(--shadow-panel);border:1px solid var(--color-border-brand-soft)}.about-us-cta{margin-top:20px}.about-us-cta a{color:var(--color-brand);font-weight:600;text-decoration:none}.about-us-cta a:hover{text-decoration:underline}.about-us-links{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;font-size:.95rem}.about-us-links a{color:var(--color-text-footer-muted);text-decoration:none}.about-us-links a:hover{color:var(--color-brand);text-decoration:underline}.about-us-separator{color:var(--color-text-muted)}@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,.home-about-us{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;color:var(--color-text-heading)}.login-box h1:before{content:"🦞 ";font-size:2.2rem}.login-box h2{text-align:center;margin:0 0 35px;color:var(--color-text-secondary);font-weight:400;font-size:1.1rem}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--color-text-secondary);font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;box-sizing:border-box;background-color:var(--color-bg-input)}.form-group input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-border-brand-soft)}.form-group input:disabled{background-color:var(--color-disabled-bg);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:var(--color-brand)}.password-toggle:disabled{cursor:not-allowed;color:var(--color-text-muted)}.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:var(--color-success)}.password-requirements li.invalid{color:var(--color-text-muted)}.password-requirements .check-icon{font-weight:700;font-size:1rem}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,var(--color-brand) 0%,var(--color-brand-hover) 100%);color:var(--color-text-on-brand);border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px var(--color-border-brand)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-brand-hover) 0%,var(--color-brand-strong) 100%);transform:translateY(-2px);box-shadow:0 6px 16px var(--color-border-brand)}.btn-primary:disabled{background:var(--color-disabled-bg);cursor:not-allowed;box-shadow:none;transform:none}.error-message{background:var(--color-danger-soft);color:var(--color-danger-text);padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid var(--color-danger-border)}.success-message{background:var(--color-success-soft);color:var(--color-success-text);padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid var(--color-success-border)}.login-links{margin-top:20px;text-align:center}.login-links a{color:var(--color-brand);text-decoration:none;font-size:.9rem;transition:color .3s ease}.login-links a:hover{color:var(--color-brand-hover);text-decoration:underline}.form-footer{margin-top:20px;text-align:center}.form-footer a{color:var(--color-accent);text-decoration:none}.form-footer a:hover{text-decoration:underline}.dashboard-container{min-height:100%}.dashboard-main{padding:24px 24px 32px;box-sizing:border-box}.dashboard-header{background:linear-gradient(135deg,var(--color-bg-surface-muted) 0%,var(--color-bg-soft) 100%);padding:20px 40px;border-bottom:3px solid var(--color-link);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px}.dashboard-header h1{margin:0;font-size:1.8rem;color:var(--color-text-primary);flex:0 1 auto}.user-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 12px;flex:1 1 auto;min-width:0}.user-info .welcome-label{color:var(--color-text-primary);font-weight:500;margin-right:4px}.user-info .welcome-label .badge-admin{vertical-align:middle}.badge-superuser,.badge-admin{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-end) 100%);color:var(--color-text-on-brand);padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;margin-left:8px}.btn-logout{padding:8px 20px;background:var(--color-danger);color:var(--color-text-on-brand);border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-logout:hover{background:var(--color-danger)}.dashboard-content{max-width:none;width:100%;margin:0;padding:20px 24px 32px;box-sizing:border-box}.message{padding:15px;border-radius:6px;margin-bottom:20px}.message.success{background:var(--color-success-soft);color:var(--color-success-text);border:1px solid var(--color-success-border)}.message.error{background:var(--color-danger-soft);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.admin-actions{padding:0}.admin-actions h2{margin:0 0 20px;color:var(--color-text-primary)}.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:8px 14px;font-size:.85rem;white-space:nowrap;background:var(--color-button-bg);color:var(--color-button-text);border:1px solid transparent;border-radius:6px;cursor:pointer;font-weight:600}.btn-add-small:hover:not(:disabled){background:var(--color-button-hover)}.btn-add-small:disabled{opacity:.55;cursor:not-allowed}.tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid var(--color-border)}.tabs.tabs-primary{gap:6px;margin-bottom:14px;padding:6px 8px;background:linear-gradient(180deg,var(--color-bg-surface-elevated) 0%,var(--color-bg-surface-muted) 100%);border:1px solid var(--color-border);border-radius:12px;border-bottom:none;box-shadow:inset 0 1px 0 var(--color-bg-surface)}.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:var(--color-bg-surface);color:var(--color-accent)}.tabs.tabs-primary .tab.active{background:var(--color-bg-surface);color:var(--color-accent);font-weight:600;box-shadow:var(--shadow-header)}.tab{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-weight:500;color:var(--color-text-secondary);transition:all .2s;font-size:1rem}.tab:hover{color:var(--color-accent);background:var(--color-bg-surface-elevated)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);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 var(--color-border)}.tab.tab-sub{padding:6px 16px;font-size:.8rem;font-weight:500;border-radius:999px;border:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary)}.tab.tab-sub:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-bg-surface-elevated)}.tab.tab-sub.active{background:var(--color-accent);color:var(--color-text-on-brand);border-color:var(--color-accent);font-weight:600}.add-admin-form{margin-top:16px}.add-admin-form h3{margin:0 0 20px;color:var(--color-text-primary)}.form-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;justify-content:flex-end}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:var(--color-text-secondary);font-weight:500;font-size:.9rem}.btn-secondary{padding:8px 16px;background:var(--color-bg-surface-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-weight:500;white-space:nowrap}.btn-secondary:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.btn-primary{padding:8px 20px;background:var(--color-button-bg);color:var(--color-button-text);border:1px solid transparent;border-radius:6px;cursor:pointer;font-weight:600;white-space:nowrap}.btn-primary:hover:not(:disabled){background:var(--color-button-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-delete{padding:8px 16px;background:transparent;color:var(--color-danger);border:1px solid var(--color-danger-border);border-radius:6px;cursor:pointer;font-weight:500;white-space:nowrap}.btn-delete:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger)}.info-message{background:var(--color-info-soft);border:1px solid var(--color-info-border);padding:20px;border-radius:6px;color:var(--color-info-text)}.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 var(--color-border);border-radius:6px;transition:all .2s}.radio-label:hover{border-color:var(--color-accent);background:var(--color-bg-surface-elevated)}.radio-label input[type=radio]{cursor:pointer;width:18px;height:18px}.radio-label input[type=radio]:checked+span{font-weight:600;color:var(--color-accent)}.radio-label span{color:var(--color-text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:10px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.dashboard-main,.dashboard-content,.dashboard-header{padding-left:16px;padding-right:16px}}.add-admin-form h4{margin:25px 0 15px;color:var(--color-text-secondary);font-size:1.1rem;border-bottom:2px solid var(--color-border);padding-bottom:8px}.add-admin-form select{width:100%;padding:10px 36px 10px 10px;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;color:var(--color-text-primary);background-color:var(--color-bg-input);background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.add-admin-form select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-border-brand-soft)}.add-admin-form select option{background:var(--color-bg-input);color:var(--color-text-primary)}.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:var(--color-text-primary);font-weight:500}.university-list{margin-top:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:20px}.university-list:has(.university-table-scroll){overflow:visible}.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:var(--color-bg-surface);box-shadow:var(--shadow-header)}.university-list>.university-table{min-width:1200px}.university-table thead{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-end) 100%);color:var(--color-text-on-brand)}.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 var(--color-border);font-size:.9rem;color:var(--color-text-primary)}.university-table th:last-child,.university-table td:last-child{white-space:nowrap;vertical-align:middle}.university-table td:last-child .btn-secondary,.university-table td:last-child .btn-delete,.university-table td:last-child .btn-add-small{display:inline-block;vertical-align:middle;margin:2px 6px 2px 0;padding:6px 10px;font-size:.8rem;line-height:1.2;color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:6px}.university-table td:last-child .btn-secondary:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-soft)}.university-table td:last-child .btn-delete{color:var(--color-danger-text);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.university-table td:last-child .btn-delete:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger)}.university-table tbody tr:hover{background:var(--color-bg-surface-muted)}.university-table--trial-apps .col-id{width:56px}.university-table--trial-apps .col-submitted{width:140px}.university-table--trial-apps .col-applicant,.university-table--trial-apps .col-proof{width:22%}.university-table--trial-apps .col-ip{width:16%}.university-table--trial-apps .col-status{width:110px}.university-table--trial-apps .col-actions{width:88px}.university-table--trial-apps th:first-child,.university-table--trial-apps td:first-child{text-align:center;white-space:nowrap}.status-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.active{background:var(--color-success-soft);color:var(--color-success-text)}.status-badge.inactive{background:var(--color-danger-soft);color:var(--color-danger-text)}.status-badge.admin-confirmed{background:var(--color-info-soft);color:var(--color-info-text)}.status-badge.admin-pending{background:var(--color-warning-soft);color:var(--color-warning-text)}.status-badge.admin-none{background:var(--color-disabled-bg);color:var(--color-text-secondary)}.status-badge.admin-generic{background:var(--color-disabled-bg);color:var(--color-text-primary)}.btn-edit{padding:6px 16px;background:var(--color-accent);color:var(--color-text-on-brand);border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.9rem}.btn-edit:hover{background:var(--color-accent)}.no-data{padding:30px;text-align:center;color:var(--color-text-muted);font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-overlay);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.modal-content{background:var(--color-bg-surface);border-radius:12px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-card);margin:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid var(--color-border);background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-end) 100%);color:var(--color-text-on-brand);border-radius:12px 12px 0 0}.modal-header h2,.modal-header h3{margin:0;font-size:1.5rem}.modal-close{background:transparent;border:none;font-size:2rem;color:var(--color-text-on-brand);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{padding:24px 28px 28px}.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;font-family:inherit;line-height:1.5;box-sizing:border-box;color:var(--color-text-primary);background-color:var(--color-bg-input)}.modal-body .form-group select{min-height:48px;padding-right:36px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}.modal-body .form-group select option{background:var(--color-bg-input);color:var(--color-text-primary)}.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-border-brand-soft)}.modal-body .form-group input:disabled,.modal-body .form-group select:disabled,.modal-body .form-group textarea:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed}.student-dashboard{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,var(--color-bg-surface-elevated) 0%,var(--color-bg-surface-muted) 100%)}.student-dashboard__title-wrap{min-width:0}.student-dashboard__title{margin:0;font-size:2rem;line-height:1.2;color:var(--color-text-primary)}.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:var(--color-danger-border);background:var(--student-danger-soft);color:var(--student-danger)}.student-alert--success{margin:14px 0 0;border-color:var(--color-success-border);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:var(--color-bg-surface);box-shadow:var(--shadow-panel)}.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:var(--color-text-primary)}.student-note-card{margin:18px 28px 0;padding:12px 14px;border-radius:10px;border:1px solid var(--color-border);background:var(--student-brand-soft);color:var(--color-text-secondary);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:var(--color-bg-surface);box-shadow:var(--student-panel-shadow)}.student-panel:last-child{margin-bottom:28px}.student-panel__title{margin:0;font-size:1.35rem;color:var(--color-text-primary);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(4,minmax(140px,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 var(--color-border);font-size:.93rem;color:var(--student-text-primary);transition:border-color .2s,box-shadow .2s;background:var(--color-bg-input)}.student-field input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-border-brand-soft)}.student-field input:disabled{background:var(--color-bg-surface-muted);color:var(--color-disabled-text);cursor:not-allowed}.student-field__select{width:100%;min-height:42px;padding:10px 36px 10px 12px;border-radius:10px;border:1px solid var(--color-border);font-size:.93rem;font-weight:500;color:var(--student-text-primary);background-color:var(--color-bg-input);background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .2s,box-shadow .2s}.student-field__select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-border-brand-soft)}.student-field__select:disabled{background-color:var(--color-bg-surface-muted);background-image:var(--select-chevron);color:var(--color-disabled-text);cursor:not-allowed}.student-field__select option{font-weight:500;background:var(--color-bg-input);color:var(--color-text-primary)}.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,var(--color-brand) 0%,var(--color-brand-strong) 100%);color:var(--color-text-on-brand);box-shadow:var(--shadow-header)}.student-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-panel)}.student-btn--secondary{border-color:var(--color-border);background:var(--color-bg-surface);color:var(--color-brand-strong)}.student-btn--secondary:hover:not(:disabled){background:var(--color-brand-soft);border-color:var(--color-border)}.student-btn--ghost{border-color:var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary)}.student-btn--ghost:hover:not(:disabled){background:var(--color-bg-surface-muted)}.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 var(--color-border);vertical-align:top;font-size:.86rem}.student-table th{color:var(--color-text-secondary);font-weight:700;background:var(--color-bg-surface-muted)}.student-table tbody tr:hover{background:var(--color-bg-surface-elevated)}.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:var(--color-success-soft);color:var(--color-success)}.student-status-badge--pending,.student-status-badge--processing{background:var(--color-warning-soft);color:var(--color-warning-text)}.student-status-badge--failed,.student-status-badge--cancelled{background:var(--color-danger-soft);color:var(--color-danger-text)}.student-status-failure{margin-top:6px;color:var(--color-danger);font-size:.75rem;line-height:1.35}.student-status-hint{margin-top:2px;color:var(--color-text-muted)}.student-cell--muted{color:var(--color-text-secondary);font-size:.8rem}.student-text--danger{color:var(--color-danger);font-size:.8rem;font-weight:600}.student-text--normal{color:var(--color-text-secondary);font-size:.8rem}.student-text--muted{color:var(--color-text-muted);font-size:.8rem}.student-empty-state{color:var(--color-text-muted);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 var(--color-border);border-radius:4px}.qsm-pdf-placeholder{height:520px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-surface-muted);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted)}.qsm-confirm-label{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:.9rem;cursor:pointer;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);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 var(--color-border);border-radius:6px;padding:14px 16px 16px;margin-bottom:16px}.qm-fieldset legend{font-weight:600;font-size:.9rem;color:var(--color-text-secondary);padding:0 6px}.qm-hint{font-size:.8rem;color:var(--color-text-muted);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:var(--color-text-primary)}.qm-field input,.qm-field select{padding:7px 10px;border:1px solid var(--color-border);border-radius:4px;font-size:.9rem;background:var(--color-bg-input)}.qm-field input:focus,.qm-field select:focus{border-color:var(--color-brand-strong);outline:none;box-shadow:0 0 0 2px var(--color-border-brand-soft)}.qm-field-inline{flex-direction:row;align-items:center;padding-top:8px}.qm-locked-notice{font-size:.85rem;color:var(--color-text-secondary);background:var(--color-bg-surface-muted);border-left:3px solid var(--color-brand-strong);padding:10px 14px;border-radius:4px;margin-bottom:16px}.qm-price-advisory{font-size:.85rem;color:var(--color-text-secondary);background:var(--color-warning-soft);border-left:3px solid var(--color-warning-border);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 var(--color-border)}.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 var(--color-border);text-align:left}.qm-summary-table th{width:35%;color:var(--color-text-secondary);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:var(--color-text-primary);margin-bottom:10px}.api-key-header p{font-size:1.1rem;color:var(--color-text-secondary)}.error-message{background:var(--color-danger-soft);border:1px solid var(--color-danger-border);color:var(--color-danger-text);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:var(--color-bg-surface-muted);border-radius:12px;padding:30px;margin-bottom:30px}.api-key-info{margin-bottom:30px}.api-key-info h2{font-size:1.5rem;color:var(--color-text-primary);margin-bottom:15px}.api-key-info p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:15px}.api-key-info ul{list-style:none;padding:0}.api-key-info ul li{color:var(--color-text-secondary);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:var(--color-text-on-brand);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:var(--color-text-on-brand);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:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--color-bg-surface);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-card)}.modal-header{padding:25px 30px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.8rem;color:var(--color-text-primary);margin:0}.close-button{background:none;border:none;cursor:pointer;padding:5px;color:var(--color-text-secondary);transition:color .2s}.close-button:hover{color:red}.close-button svg{width:24px;height:24px}.modal-body{padding:30px}.warning-banner{background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:8px;padding:15px;margin-bottom:15px;display:flex;gap:12px}.warning-banner svg{width:24px;height:24px;color:var(--color-warning-text);flex-shrink:0}.warning-banner p{color:var(--color-warning-text);margin:0;line-height:1.5}.info-banner{background:var(--color-info-soft);border:1px solid var(--color-info-border);border-radius:8px;padding:15px;margin-bottom:25px;display:flex;gap:12px}.info-banner svg{width:24px;height:24px;color:var(--color-info-text);flex-shrink:0}.info-banner p{color:var(--color-info-text);margin:0;line-height:1.5}.docs-banner{background:var(--color-brand-soft);border:1px solid var(--color-border);border-radius:8px;padding:15px;margin-bottom:25px;display:flex;gap:12px}.docs-banner svg{width:24px;height:24px;color:var(--color-accent);flex-shrink:0;margin-top:2px}.docs-banner p{color:var(--color-text-heading);margin:0;line-height:1.6}.docs-banner code{background:var(--color-brand-soft);padding:1px 5px;border-radius:4px;font-family:Courier New,monospace;font-size:.88em}.docs-link{color:var(--color-accent);font-weight:600;text-decoration:underline}.docs-link:hover{color:var(--color-link-hover)}.credential-section{margin-bottom:20px}.credential-section label{display:block;font-weight:600;color:var(--color-text-primary);margin-bottom:8px;font-size:.95rem}.credential-field{display:flex;gap:10px}.credential-field input{flex:1;padding:12px 15px;border:1px solid var(--color-border);border-radius:6px;font-family:Courier New,monospace;font-size:.9rem;background:var(--color-bg-surface-muted)}.credential-field input:focus{outline:none;border-color:red}.copy-button{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;padding:10px 15px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.copy-button:hover{background:var(--color-bg-surface-muted);border-color:red}.copy-button svg{width:20px;height:20px;color:var(--color-text-secondary)}.copy-button:hover svg{color:red}.status-badge{display:inline-block;padding:8px 16px;background:var(--color-success-soft);color:var(--color-success-text);border-radius:6px;font-weight:600}.modal-footer{padding:20px 30px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end}.primary-button{background:linear-gradient(135deg,#ff0000 0%,#cc0000 100%);color:var(--color-text-on-brand);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-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-page{max-width:640px;margin:0 auto;padding:1.5rem 0 3rem}.book-sample-page h1{font-size:1.75rem;margin-bottom:.75rem;color:var(--color-text-primary)}.book-sample-page .lead{color:var(--color-text-secondary);line-height:1.5;margin-bottom:1.5rem}.book-sample-notice{margin:0 0 1.25rem;padding:.85rem 1rem;border-left:4px solid var(--color-info);background:var(--color-info-soft);color:var(--color-info-text);line-height:1.45;font-size:.95rem}.book-sample-form label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--color-text-primary)}.book-sample-form input[type=email],.book-sample-form input[type=text],.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:var(--color-text-secondary);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:var(--color-button-bg);color:var(--color-button-text);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:var(--color-link)}.book-sample-message{margin-top:1rem;padding:.75rem 1rem;border-radius:4px;background:var(--color-bg-surface-muted);color:var(--color-text-primary)}.book-sample-error{margin-top:1rem;padding:.75rem 1rem;border-radius:4px;background:var(--color-danger-soft);color:var(--color-danger-text)}.book-sample-review-meta{background:var(--color-bg-surface-muted);padding:1rem;border-radius:4px;margin:1rem 0;font-family:system-ui,sans-serif;font-size:.95rem}.official-letter-verify-page{max-width:640px;margin:0 auto;padding:1.5rem 0 3rem}.official-letter-verify-page h1{font-size:1.75rem;margin-bottom:.35rem;color:var(--color-text-primary)}.official-letter-verify-subtitle{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:1.75rem}.official-letter-verify-loading{color:var(--color-text-secondary);font-style:italic}.official-letter-verify-card{border:1px solid var(--color-border);border-radius:4px;padding:1.25rem 1.5rem;background:var(--color-bg-surface-elevated);box-shadow:var(--shadow-header)}.official-letter-verify-card--success{border-color:var(--color-success-border)}.official-letter-verify-card--error{border-color:var(--color-danger-border)}.official-letter-verify-banner{padding:.85rem 1rem;margin-bottom:1.25rem;line-height:1.45;font-size:.95rem;border-radius:3px}.official-letter-verify-banner--success{background:var(--color-success-soft);border-left:4px solid var(--color-success);color:var(--color-success-text)}.official-letter-verify-banner--error{background:var(--color-danger-soft);border-left:4px solid var(--color-danger);color:var(--color-danger-text)}.official-letter-verify-details{margin:0}.official-letter-verify-row{display:grid;grid-template-columns:11rem 1fr;gap:.5rem 1rem;padding:.65rem 0;border-bottom:1px solid var(--color-border)}.official-letter-verify-row:last-of-type{border-bottom:none}.official-letter-verify-row dt{margin:0;font-weight:600;color:var(--color-text-primary);font-size:.875rem}.official-letter-verify-row dd{margin:0;color:var(--color-text-primary);font-size:.95rem}.official-letter-verify-status{display:inline-block;padding:.2rem .55rem;border-radius:3px;font-size:.875rem;font-weight:600}.official-letter-verify-status--sent{background:var(--color-success-soft);color:var(--color-success)}.official-letter-verify-status--unsent{background:var(--color-bg-surface-muted);color:var(--color-text-secondary)}.official-letter-verify-ref{margin:0 0 1rem;color:var(--color-text-secondary);font-size:.95rem}.official-letter-verify-footnote{margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-secondary);line-height:1.45}.official-letter-verify-footnote a{color:var(--color-link)}.official-letter-verify-back{margin-top:1.5rem}.official-letter-verify-back a{color:var(--color-link)}@media (max-width: 520px){.official-letter-verify-row{grid-template-columns:1fr;gap:.25rem}}.legal-modal-overlay{z-index:2000}.legal-modal-content{max-width:820px}.legal-modal-content--document-only{display:flex;flex-direction:column;overflow:hidden;padding:0}.legal-modal-body{display:flex;flex-direction:column;min-height:0}.legal-modal-content--document-only .legal-modal-body{padding:0;flex:1;min-height:min(85vh,900px)}.legal-modal-intro{margin:0;padding:12px 16px 8px;color:var(--color-text-secondary);line-height:1.5;font-size:.9rem;flex-shrink:0}.legal-modal-doc-area,.legal-doc-section,.legal-pdf-wrapper{flex:1;min-height:0;display:flex;flex-direction:column}.legal-pdf-body{flex:1;min-height:280px;max-height:min(62vh,680px);overflow-y:auto;padding:0;margin:0;border:none;border-radius:0;background:var(--color-bg-surface)}.legal-pdf-body--loading{visibility:hidden}.legal-pdf-page-slot{display:block;max-width:100%;margin:0 auto}.legal-pdf-page{display:block;margin:0;padding:0;background:var(--color-bg-surface);box-shadow:none}.legal-pdf-placeholder{flex:1;min-height:280px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-surface);color:var(--color-text-muted)}.legal-pdf-error{padding:12px 16px;color:var(--color-danger);font-size:.9rem}.legal-doc-section-title{margin:0;padding:8px 16px;font-size:1rem;flex-shrink:0}.legal-document-version{margin-left:8px;font-size:.85rem;color:var(--color-text-muted);font-weight:400}.legal-document-link{padding:12px 16px}.legal-modal-controls{flex-shrink:0;padding:12px 16px 16px;border-top:1px solid var(--color-border);background:var(--color-bg-surface)}.legal-scroll-hint{margin:0 0 12px;font-size:.85rem;color:var(--color-text-muted)}.legal-confirm-label{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;font-size:.95rem;cursor:pointer;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:6px;padding:12px 14px;line-height:1.45}.legal-confirm-label input[type=checkbox]{margin-top:3px;flex-shrink:0;width:16px;height:16px;cursor:pointer}.legal-confirm-label input[type=checkbox]:disabled{cursor:not-allowed}.legal-modal-error{color:var(--color-danger);margin-bottom:12px;font-size:.9rem}.legal-modal-actions{display:flex;gap:12px;flex-wrap:wrap}.legal-btn{padding:12px 20px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;border:none}.legal-btn:disabled{opacity:.55;cursor:not-allowed}.legal-btn-primary{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-end) 100%);color:var(--color-text-on-brand)}.legal-btn-secondary{background:var(--color-disabled-bg);color:var(--color-text-secondary)}.legal-gate-loading,.legal-gate-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-secondary);padding:24px;text-align:center}.legal-gate-error p{margin-bottom:16px;color:var(--color-danger)}.legal-modal-content--document-only .modal-header{display:none}*{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}
