.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:420px;animation:slideUp .3s ease-out}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{height:80px;width:auto;max-width:280px;margin:0 auto 20px;display:block;filter:drop-shadow(0 4px 12px rgba(99,102,241,.15));animation:logoFadeIn .5s ease-out}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-header h1{font-size:14px;text-transform:uppercase;letter-spacing:2px;color:#6366f1;margin-bottom:12px;font-weight:600}.auth-header h2{font-size:28px;color:#1f2937;margin-bottom:8px;font-weight:700}.auth-header p{color:#6b7280;font-size:14px}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px;display:flex;align-items:center;gap:8px}.auth-error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#dc2626;color:#fff;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group input{padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;transition:all .2s ease;background:#f9fafb}.form-group input:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:#9ca3af}.form-hint{font-size:12px;color:#6b7280;margin-top:2px}.auth-button{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:14px 24px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.auth-button:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:28px;padding-top:24px;border-top:1px solid #e5e7eb}.auth-footer p{color:#6b7280;font-size:14px}.auth-link{color:#6366f1;text-decoration:none;font-weight:600;transition:color .2s ease}.auth-link:hover{color:#4f46e5;text-decoration:underline}@media (max-width: 480px){.auth-card{padding:28px 24px}.auth-header h2{font-size:24px}}.home-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s}.home-button:hover{background:#fff3;border-color:#ffffff4d;color:#fff}.home-button--light{background:#0000000f;border-color:#0000001f;color:#333}.home-button--light:hover{background:#0000001a;border-color:#0003;color:#111}.home-icon{width:20px;height:20px}.projects-page{min-height:100vh;background:#f3f4f6}.projects-header{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:24px 32px}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-title-with-logo{display:flex;align-items:center;gap:16px}.projects-logo{width:50px;height:50px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));transition:transform .3s ease}.projects-logo:hover{transform:scale(1.05)}.header-left{display:flex;align-items:center;gap:16px}.header-left h1{font-size:24px;font-weight:700;margin-bottom:4px}.header-left p{font-size:14px;opacity:.8}.header-right,.user-info{display:flex;align-items:center;gap:16px}.projects-admin-link{color:#ffffffe6;text-decoration:none;font-size:14px;padding:8px 16px;border-radius:8px;transition:background .2s}.projects-admin-link:hover{background:#ffffff1a;color:#fff}.logout-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.logout-button:hover{background:#fff3}.projects-main{max-width:1200px;margin:0 auto;padding:32px}.projects-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.search-box{flex:1;max-width:400px}.search-box input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;background:#fff;transition:all .2s}.search-box input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.create-project-button{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.create-project-button:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.projects-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px}.projects-loading{text-align:center;padding:60px 20px}.projects-loading .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.projects-loading p{color:#6b7280}.projects-empty{text-align:center;padding:80px 20px;background:#fff;border-radius:16px;border:2px dashed #e5e7eb}.projects-empty h3{font-size:20px;color:#1f2937;margin-bottom:8px}.projects-empty p{color:#6b7280;margin-bottom:24px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.project-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:all .2s;display:flex;flex-direction:column}.project-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.project-name{font-size:18px;font-weight:600;color:#000;margin:0;flex:1}.project-role{font-size:11px;font-weight:600;color:#fff;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.project-description{color:#6b7280;font-size:14px;margin-bottom:12px;line-height:1.5;flex:1}.project-references{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px}.project-ref{color:#4b5563;display:flex;gap:6px}.project-ref strong{color:#6b7280;font-weight:600}.project-meta{display:flex;gap:16px;font-size:12px;color:#9ca3af;margin-bottom:20px}.project-actions{display:flex;gap:12px;margin-top:auto}.open-project-button{flex:1;background:#f3f4f6;color:#374151;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.open-project-button:hover{background:#6366f1;color:#fff}.settings-project-button{background:transparent;color:#6b7280;border:1px solid #d1d5db;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.settings-project-button:hover{background:#f3f4f6;color:#374151}.delete-project-button{background:transparent;color:#dc2626;border:1px solid #fecaca;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.delete-project-button:hover{background:#fef2f2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-small{max-width:460px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:18px;font-weight:600;color:#1f2937;margin:0}.modal-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#6b7280}.modal form,.modal-content{padding:24px}.modal .form-group{margin-bottom:20px}.modal .form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.modal .form-group input,.modal .form-group textarea{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;transition:all .2s}.modal .form-group input:focus,.modal .form-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.modal .form-group textarea{resize:vertical;min-height:80px}.modal-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.modal-content p{color:#4b5563;line-height:1.5;margin:0 0 12px;font-size:14px}.modal-content p:last-child{margin-bottom:0}.warning-text{color:#dc2626!important;font-size:13px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px}.modal-footer .btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.modal-footer .btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.modal-footer .btn-secondary:hover{background:#f3f4f6}.modal-footer .btn-primary{background:#6366f1;color:#fff}.modal-footer .btn-primary:hover:not(:disabled){background:#4f46e5}.modal-footer .btn-primary:disabled{opacity:.6;cursor:not-allowed}.modal-footer .btn-danger{background:#dc2626;color:#fff}.modal-footer .btn-danger:hover{background:#b91c1c}@media (max-width: 640px){.projects-header{padding:16px 20px}.projects-logo{width:40px;height:40px}.header-left h1{font-size:20px}.header-left p{font-size:13px}.header-content{flex-direction:column;align-items:flex-start;gap:16px}.projects-main{padding:20px}.projects-toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:none}.projects-grid{grid-template-columns:1fr}}.admin-page{min-height:100vh;background:#f3f4f6}.admin-header{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:24px 32px}.admin-header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.admin-header-title{display:flex;align-items:center;gap:16px}.admin-logo{width:50px;height:50px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.admin-header-left h1{font-size:24px;font-weight:700;margin-bottom:4px}.admin-header-left p{font-size:14px;opacity:.8}.admin-header-right{display:flex;align-items:center;gap:16px}.admin-back-link{color:#ffffffe6;text-decoration:none;font-size:14px;padding:8px 12px;border-radius:8px;transition:background .2s}.admin-back-link:hover{background:#ffffff1a;color:#fff}.admin-user-info{display:flex;align-items:center;gap:16px}.admin-user-email{font-size:14px;opacity:.9}.admin-logout-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.admin-logout-btn:hover{background:#fff3}.admin-main{max-width:1200px;margin:0 auto;padding:32px}.admin-create-section,.admin-list-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;margin-bottom:24px}.admin-create-section h2,.admin-list-section h2{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 20px}.admin-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.admin-create-form{margin:0}.admin-form-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.admin-form-group{display:flex;flex-direction:column;gap:6px;min-width:180px}.admin-form-group label{font-size:14px;font-weight:500;color:#374151}.admin-form-group input{padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#f9fafb}.admin-form-group input:focus{outline:none;border-color:#6366f1;background:#fff}.admin-form-group input:disabled{opacity:.6;cursor:not-allowed}.admin-form-actions{flex-shrink:0}.admin-create-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.admin-create-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca)}.admin-create-btn:disabled{opacity:.6;cursor:not-allowed}.admin-loading{display:flex;align-items:center;gap:12px;padding:24px;color:#6b7280}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.admin-table th{font-weight:600;color:#374151;background:#f9fafb}.admin-table tbody tr:hover{background:#f9fafb}.admin-you{color:#6b7280;font-weight:500}.admin-status{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.admin-status-active{background:#d1fae5;color:#065f46}.admin-status-disabled{background:#fee2e2;color:#991b1b}.admin-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:#e0e7ff;color:#3730a3}.admin-no-action{color:#9ca3af}.admin-toggle-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s}.admin-toggle-active{background:#fef2f2;color:#dc2626;border-color:#fecaca}.admin-toggle-active:hover:not(:disabled){background:#fee2e2}.admin-toggle-disabled{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.admin-toggle-disabled:hover:not(:disabled){background:#a7f3d0}.admin-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.admin-actions-cell{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-password-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe;transition:all .2s}.admin-password-btn:hover:not(:disabled){background:#c7d2fe}.admin-delete-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;transition:all .2s}.admin-delete-btn:hover:not(:disabled){background:#fee2e2}.admin-delete-btn:disabled{opacity:.6;cursor:not-allowed}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.admin-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;padding:24px;width:100%;max-width:400px}.admin-modal h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#1f2937}.admin-modal-form{display:flex;flex-direction:column;gap:16px}.admin-modal-form .admin-form-group{min-width:0}.admin-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.admin-modal-cancel{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;transition:all .2s}.admin-modal-cancel:hover:not(:disabled){background:#e5e7eb}.admin-modal-cancel:disabled{opacity:.6;cursor:not-allowed}.admin-empty{padding:24px;color:#6b7280;text-align:center}.admin-quota{font-weight:600;color:#1f2937}.admin-quota-used{font-size:12px;color:#6b7280;margin-left:4px}.admin-quota-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;transition:all .2s}.admin-quota-btn:hover:not(:disabled){background:#fde68a}.admin-quota-info{background:#f9fafb;border-radius:8px;padding:12px 16px;margin-bottom:16px}.admin-quota-info p{margin:0 0 4px;font-size:14px;color:#374151}.admin-quota-info p:last-child{margin-bottom:0}.admin-quota-actions{flex-wrap:wrap}.admin-quota-set-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;transition:all .2s}.admin-quota-set-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca)}.admin-quota-set-btn:disabled{opacity:.6;cursor:not-allowed}.admin-quota-add-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;transition:all .2s}.admin-quota-add-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}.admin-quota-add-btn:disabled{opacity:.6;cursor:not-allowed}.admin-settings-page{min-height:100vh;background:#f3f4f6}.admin-settings-header{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:24px 32px}.admin-settings-header-content{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.admin-settings-header-title{display:flex;align-items:center;gap:16px}.admin-settings-logo{width:50px;height:50px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.admin-settings-header-left h1{font-size:24px;font-weight:700;margin-bottom:4px}.admin-settings-header-left p{font-size:14px;opacity:.8}.admin-settings-header-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.admin-settings-back-link{color:#ffffffe6;text-decoration:none;font-size:14px;padding:8px 12px;border-radius:8px;transition:background .2s}.admin-settings-back-link:hover{background:#ffffff1a;color:#fff}.admin-settings-user-info{display:flex;align-items:center;gap:16px}.admin-settings-user-email{font-size:14px;opacity:.9}.admin-settings-logout-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.admin-settings-logout-btn:hover{background:#fff3}.admin-settings-main{max-width:1600px;margin:0 auto;padding:32px}.admin-settings-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.admin-settings-success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.admin-settings-layout{display:grid;grid-template-columns:280px 280px 1fr;gap:24px;min-height:calc(100vh - 200px)}@media (max-width: 1200px){.admin-settings-layout{grid-template-columns:1fr 1fr}.settings-panel{grid-column:1 / -1}}@media (max-width: 768px){.admin-settings-layout{grid-template-columns:1fr}}.admin-settings-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;display:flex;flex-direction:column}.admin-settings-panel h2{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.panel-subtitle{font-weight:400;color:#6b7280;font-size:13px;margin-left:8px}.admin-settings-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;color:#6b7280}.admin-settings-placeholder{color:#9ca3af;font-size:14px;text-align:center;padding:40px 20px}.admin-settings-empty{color:#6b7280;font-size:14px;text-align:center;padding:20px}.admin-settings-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.admin-settings-list-item{padding:12px;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid transparent}.admin-settings-list-item:hover{background:#f9fafb}.admin-settings-list-item.selected{background:#eef2ff;border-color:#6366f1}.list-item-main{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.list-item-email{font-size:14px;font-weight:500;color:#1f2937;word-break:break-all}.list-item-name{font-size:13px;color:#6b7280}.list-item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-count{font-size:12px;color:#9ca3af}.admin-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:#e0e7ff;color:#3730a3}.role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:capitalize}.role-badge.role-owner{background:#fef3c7;color:#92400e}.role-badge.role-admin{background:#e0e7ff;color:#3730a3}.role-badge.role-editor{background:#d1fae5;color:#065f46}.role-badge.role-viewer,.role-badge.role-member{background:#f3f4f6;color:#6b7280}.settings-panel{min-width:400px}.settings-form{display:flex;flex-direction:column;gap:20px;flex:1}.settings-form-group{display:flex;flex-direction:column;gap:6px}.settings-form-group label{font-size:14px;font-weight:600;color:#374151}.settings-description{font-size:13px;color:#6b7280;margin:0 0 4px}.settings-select{padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#f9fafb;cursor:pointer}.settings-select:focus{outline:none;border-color:#6366f1;background:#fff}.settings-select:disabled{opacity:.6;cursor:not-allowed}.settings-textarea{padding:12px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;background:#f9fafb;resize:vertical;min-height:100px}.settings-textarea:focus{outline:none;border-color:#6366f1;background:#fff}.settings-textarea:disabled{opacity:.6;cursor:not-allowed}.settings-actions{display:flex;gap:12px;padding-top:12px;border-top:1px solid #e5e7eb;margin-top:auto}.settings-save-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.settings-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca)}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-reset-btn{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.settings-reset-btn:hover:not(:disabled){background:#e5e7eb}.settings-reset-btn:disabled{opacity:.6;cursor:not-allowed}.spinner{width:24px;height:24px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.project-settings-page{min-height:100vh;background:#f3f4f6}.settings-header{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:20px 32px;display:flex;align-items:center;gap:24px}.settings-header .back-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s}.settings-header .back-button:hover{background:#fff3}.settings-header h1{font-size:20px;margin:0}.settings-main{max-width:800px;margin:0 auto;padding:32px}.loading{text-align:center;padding:60px;color:#6b7280}.error-state{text-align:center;padding:60px}.error-state h2{color:#1f2937;margin-bottom:16px}.error-state button{background:#6366f1;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px}.success-message{background:#ecfdf5;border:1px solid #a7f3d0;color:#059669;padding:12px 16px;border-radius:8px;margin-bottom:24px}.settings-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.settings-section h2{font-size:18px;color:#1f2937;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.settings-section h3{font-size:14px;color:#374151;margin:24px 0 12px}.project-details{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;gap:12px}.detail-row .label{font-weight:500;color:#6b7280;min-width:100px}.detail-row .value{color:#1f2937}.role-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;color:#fff}.role-badge.role-owner{background:#6366f1}.role-badge.role-admin{background:#8b5cf6}.role-badge.role-editor{background:#10b981}.role-badge.role-viewer{background:#6b7280}.edit-button{margin-top:16px;background:#f3f4f6;border:none;padding:10px 20px;border-radius:8px;color:#374151;cursor:pointer;transition:all .2s}.edit-button:hover{background:#e5e7eb}.edit-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input,.form-group textarea{padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#6366f1}.form-actions{display:flex;gap:12px;margin-top:8px}.save-button{background:#6366f1;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer}.save-button:hover{background:#4f46e5}.cancel-button{background:#f3f4f6;color:#374151;border:none;padding:10px 20px;border-radius:8px;cursor:pointer}.members-list{display:flex;flex-direction:column;gap:12px}.member-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-radius:8px}.member-item.owner{background:#f5f3ff}.member-info{display:flex;flex-direction:column;gap:2px}.member-email{font-weight:500;color:#1f2937}.member-name{font-size:13px;color:#6b7280}.member-actions{display:flex;align-items:center;gap:12px}.role-select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff}.remove-member-button{background:transparent;color:#dc2626;border:1px solid #fecaca;padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer}.remove-member-button:hover:not(:disabled){background:#fef2f2}.remove-member-button:disabled{opacity:.5;cursor:not-allowed}.add-member-form{margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.add-member-inputs{display:flex;gap:12px;flex-wrap:wrap}.add-member-inputs input{flex:1;min-width:200px;padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px}.add-member-inputs input:focus{outline:none;border-color:#6366f1}.add-member-inputs select{padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff;min-width:200px}.add-member-inputs button{background:#6366f1;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;white-space:nowrap}.add-member-inputs button:hover:not(:disabled){background:#4f46e5}.add-member-inputs button:disabled{opacity:.6;cursor:not-allowed}.add-member-hint{margin-top:12px;font-size:13px;color:#6b7280}.show-activity-button{background:#f3f4f6;border:none;padding:10px 20px;border-radius:8px;color:#374151;cursor:pointer}.show-activity-button:hover{background:#e5e7eb}.activity-log{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.activity-item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;background:#f9fafb;border-radius:6px;gap:12px}.activity-content{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.activity-action{font-weight:500;color:#1f2937}.activity-target{color:#6366f1;font-weight:500}.activity-by{color:#6b7280;font-size:13px}.activity-time{font-size:12px;color:#9ca3af;white-space:nowrap}.no-activity{color:#6b7280;text-align:center;padding:20px}.danger-zone{border:1px solid #fecaca}.danger-zone h2{color:#dc2626}.danger-zone p{color:#6b7280;margin-bottom:16px}.danger-button{background:#dc2626;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer}.danger-button:hover{background:#b91c1c}@media (max-width: 640px){.settings-main{padding:16px}.add-member-inputs{flex-direction:column}.add-member-inputs input,.add-member-inputs select{min-width:100%}.member-item{flex-direction:column;align-items:flex-start;gap:12px}.member-actions{width:100%}.role-select{flex:1}}.analysis-list-page{min-height:100vh;background:#f3f4f6}.analysis-list-header{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:24px 32px}.analysis-list-header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.analysis-list-header-left,.analysis-list-header-title{display:flex;align-items:center;gap:16px}.analysis-list-logo{width:50px;height:50px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.analysis-list-header-left h1{font-size:24px;font-weight:700;margin-bottom:4px}.analysis-list-header-left p{font-size:14px;opacity:.8}.analysis-list-header-right{display:flex;align-items:center;gap:16px}.analysis-list-back-btn{color:#ffffffe6;background:none;border:none;font-size:14px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .2s}.analysis-list-back-btn:hover{background:#ffffff1a;color:#fff}.analysis-list-admin-link{color:#ffffffe6;text-decoration:none;font-size:14px;padding:8px 16px;border-radius:8px;transition:background .2s}.analysis-list-admin-link:hover{background:#ffffff1a;color:#fff}.analysis-list-user-info{display:flex;align-items:center;gap:16px}.analysis-list-user-email{font-size:14px;opacity:.9}.analysis-list-logout-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.analysis-list-logout-btn:hover{background:#fff3}.analysis-list-main{max-width:1200px;margin:0 auto;padding:32px}.analysis-list-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.analysis-list-search-box{flex:1;max-width:400px}.analysis-list-search-box input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;background:#fff;transition:all .2s}.analysis-list-search-box input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.analysis-list-info{color:#6b7280;font-size:14px}.analysis-list-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.analysis-list-loading{text-align:center;padding:60px 20px}.analysis-list-loading .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:analysis-spin .8s linear infinite;margin:0 auto 16px}@keyframes analysis-spin{to{transform:rotate(360deg)}}.analysis-list-loading p{color:#6b7280}.analysis-list-empty{text-align:center;padding:80px 20px;background:#fff;border-radius:16px;border:2px dashed #e5e7eb}.analysis-list-empty h3{font-size:20px;color:#1f2937;margin-bottom:8px}.analysis-list-empty p{color:#6b7280;margin-bottom:24px}.analysis-list-primary-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.analysis-list-primary-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.analyses-table{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{display:grid;grid-template-columns:2fr 1.5fr 1fr .8fr .8fr;gap:16px;padding:14px 24px;background:#f9fafb;font-weight:600;color:#6b7280;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.table-row{display:grid;grid-template-columns:2fr 1.5fr 1fr .8fr .8fr;gap:16px;padding:16px 24px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .2s}.table-row:hover{background-color:#f9fafb}.table-row:last-child{border-bottom:none}.col-equipment{min-width:0}.equipment-name{font-weight:600;color:#1f2937;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datasheet-name{font-size:13px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#9ca3af;margin-left:6px}.ref-doc-count{font-size:12px;color:#9ca3af;margin-top:4px}.col-issues{display:flex;flex-direction:column;gap:8px}.issue-counts{display:flex;flex-wrap:wrap;gap:6px}.issue-badge{font-size:12px;padding:3px 8px;border-radius:6px;font-weight:500}.issue-badge.critical{background-color:#fef2f2;color:#dc2626}.issue-badge.critical.high{background-color:#dc2626;color:#fff}.issue-badge.major{background-color:#fff7ed;color:#ea580c}.issue-badge.major.high{background-color:#ea580c;color:#fff}.issue-badge.minor{background-color:#fefce8;color:#ca8a04}.issue-badge.minor.high{background-color:#ca8a04;color:#fff}.total-issues{font-size:13px;color:#6b7280}.col-created{display:flex;flex-direction:column;gap:4px}.created-by{font-weight:500;color:#1f2937;font-size:14px}.created-at{font-size:13px;color:#6b7280}.col-status{display:flex;align-items:flex-start}.status-indicators{display:flex;flex-direction:column;gap:4px}.indicator{font-size:12px;padding:3px 8px;border-radius:6px;font-weight:500}.indicator.edited{background-color:#eff6ff;color:#2563eb}.indicator.comments{background-color:#faf5ff;color:#7c3aed}.indicator.original{background-color:#ecfdf5;color:#059669}.col-actions{display:flex;gap:8px;align-items:flex-start}.action-btn{padding:6px 12px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.action-btn.view{background:#f3f4f6;color:#374151}.action-btn.view:hover{background:#6366f1;color:#fff}.action-btn.delete{background:transparent;color:#dc2626;border:1px solid #fecaca}.action-btn.delete:hover{background:#fef2f2}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px}.page-btn{padding:10px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.page-btn:not(:disabled):hover{border-color:#6366f1;color:#6366f1}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-info{color:#6b7280;font-size:14px}@media (max-width: 1024px){.table-header,.table-row{grid-template-columns:1.5fr 1fr .8fr .6fr}.col-status{display:none}}@media (max-width: 768px){.analysis-list-header{padding:16px 20px}.analysis-list-header-content{flex-direction:column;align-items:flex-start;gap:16px}.analysis-list-logo{width:40px;height:40px}.analysis-list-header-left h1{font-size:20px}.analysis-list-header-left p{font-size:13px}.analysis-list-main{padding:20px}.analysis-list-toolbar{flex-direction:column;align-items:stretch}.analysis-list-search-box{max-width:none}.table-header{display:none}.table-row{display:flex;flex-direction:column;gap:12px;padding:16px}.col-actions{justify-content:flex-end}}.crs-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.crs-modal-content{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.crs-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.crs-modal-header h2{margin:0;font-size:1.5rem;color:#1a1a2e}.crs-modal-close{background:none;border:none;font-size:1.8rem;cursor:pointer;color:#666;line-height:1;padding:0}.crs-modal-close:hover{color:#333}.crs-modal-body{flex:1;overflow-y:auto;padding:24px}.crs-error-message{background-color:#ffebee;color:#c62828;padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:.9rem}.crs-success-message{background-color:#e8f5e9;color:#2e7d32;padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:.9rem}.crs-preset-section{background-color:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:24px}.crs-preset-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.crs-preset-header label{font-weight:600;color:#444;white-space:nowrap}.crs-preset-header select{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;background-color:#fff}.crs-delete-preset-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:4px 8px;opacity:.7}.crs-delete-preset-btn:hover{opacity:1}.crs-save-preset-btn{background-color:#e3f2fd;color:#1976d2;border:1px solid #1976d2;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.crs-save-preset-btn:hover{background-color:#1976d2;color:#fff}.crs-save-preset-form{display:flex;gap:8px;margin-top:12px}.crs-save-preset-form input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem}.crs-save-preset-form button{background-color:#4caf50;color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:.9rem}.crs-save-preset-form button:hover{background-color:#43a047}.crs-save-preset-form button:disabled{background-color:#ccc;cursor:not-allowed}.crs-form-section h3{font-size:1rem;color:#1a1a2e;margin:0 0 12px;padding-top:16px;border-top:1px solid #eee}.crs-form-section h3:first-child{padding-top:0;border-top:none}.crs-form-row{display:flex;gap:16px;margin-bottom:16px}.crs-form-group{flex:1;min-width:0}.crs-form-group.wide{flex:2}.crs-form-group label{display:block;font-size:.85rem;font-weight:500;color:#555;margin-bottom:6px}.crs-form-group input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;transition:border-color .2s}.crs-form-group input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.crs-form-group input::placeholder{color:#aaa}.crs-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;background-color:#fafafa;border-radius:0 0 12px 12px}.crs-cancel-btn{background-color:#f5f5f5;color:#666;border:1px solid #ddd;padding:10px 24px;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s}.crs-cancel-btn:hover{background-color:#eee}.crs-download-btn{background-color:#1976d2;color:#fff;border:none;padding:10px 28px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.crs-download-btn:hover{background-color:#1565c0}.crs-download-btn:disabled{background-color:#90caf9;cursor:not-allowed}@media (max-width: 600px){.crs-modal-content{width:95%;max-height:95vh}.crs-form-row{flex-direction:column;gap:12px}.crs-form-group.wide{flex:1}.crs-preset-header{flex-direction:column;align-items:stretch}.crs-modal-footer{flex-direction:column-reverse}.crs-cancel-btn,.crs-download-btn{width:100%}}.chat-widget-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 16px #0000004d;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;z-index:1000}.chat-widget-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px #0006}.chat-widget-fab:active{transform:scale(.96)}.chat-widget-panel{position:fixed;bottom:24px;right:24px;width:420px;height:560px;background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;z-index:1001;overflow:hidden;animation:chatPanelSlideIn .25s ease-out}@keyframes chatPanelSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-widget-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff;flex-shrink:0}.chat-widget-header-info h3{margin:0;font-size:.95rem;font-weight:600}.chat-widget-header-sub{font-size:.75rem;opacity:.8}.chat-widget-header-actions{display:flex;align-items:center;gap:4px}.chat-widget-clear-btn,.chat-widget-close-btn{background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .15s,background-color .15s}.chat-widget-clear-btn:hover,.chat-widget-close-btn:hover{opacity:1;background-color:#ffffff26}.chat-widget-clear-btn:disabled{opacity:.3;cursor:not-allowed}.chat-widget-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background-color:#f8f9fa}.chat-widget-messages::-webkit-scrollbar{width:6px}.chat-widget-messages::-webkit-scrollbar-track{background:transparent}.chat-widget-messages::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}.chat-widget-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#888;font-size:.9rem}.chat-widget-spinner{width:28px;height:28px;border:3px solid #e0e0e0;border-top-color:#1a1a2e;border-radius:50%;animation:chatSpin .7s linear infinite}@keyframes chatSpin{to{transform:rotate(360deg)}}.chat-widget-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px;color:#666}.chat-widget-empty-icon{color:#bbb;margin-bottom:12px}.chat-widget-empty p{margin:0 0 4px;font-size:.9rem;line-height:1.5}.chat-widget-empty-hint{font-size:.8rem;color:#999;margin-bottom:16px}.chat-widget-suggestions{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px}.chat-widget-suggestion{padding:10px 14px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;font-size:.85rem;color:#444;cursor:pointer;text-align:left;transition:border-color .15s,background-color .15s}.chat-widget-suggestion:hover{border-color:#1a1a2e;background-color:#f0f4ff;color:#1a1a2e}.chat-widget-message{display:flex}.chat-widget-message.user{justify-content:flex-end}.chat-widget-message.assistant{justify-content:flex-start}.chat-widget-message-bubble{max-width:85%;padding:10px 14px;border-radius:12px;font-size:.88rem;line-height:1.55;word-wrap:break-word}.chat-widget-message.user .chat-widget-message-bubble{background-color:#1a1a2e;color:#fff;border-bottom-right-radius:4px}.chat-widget-message.assistant .chat-widget-message-bubble{background-color:#fff;color:#333;border:1px solid #e0e0e0;border-bottom-left-radius:4px}.chat-widget-message-text{white-space:pre-wrap}.chat-widget-message.assistant .chat-widget-message-text{white-space:normal}.chat-widget-message-text p{margin:0 0 .5em}.chat-widget-message-text p:last-child{margin-bottom:0}.chat-widget-message-text h1,.chat-widget-message-text h2,.chat-widget-message-text h3,.chat-widget-message-text h4{margin:.6em 0 .3em;line-height:1.3}.chat-widget-message-text h1{font-size:1.1em}.chat-widget-message-text h2{font-size:1.05em}.chat-widget-message-text h3{font-size:1em}.chat-widget-message-text h4{font-size:.95em}.chat-widget-message-text ul,.chat-widget-message-text ol{margin:.4em 0;padding-left:1.4em}.chat-widget-message-text li{margin-bottom:.2em}.chat-widget-message-text code{background-color:#0000000f;padding:.15em .35em;border-radius:3px;font-size:.85em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.chat-widget-message-text pre{background-color:#0000000f;padding:.6em .8em;border-radius:6px;overflow-x:auto;margin:.5em 0}.chat-widget-message-text pre code{background:none;padding:0;font-size:.82em}.chat-widget-message-text blockquote{margin:.5em 0;padding:.3em 0 .3em .8em;border-left:3px solid rgba(0,0,0,.15);color:#555}.chat-widget-message-text table{border-collapse:collapse;margin:.5em 0;font-size:.85em;width:100%}.chat-widget-message-text th,.chat-widget-message-text td{border:1px solid #ddd;padding:.35em .5em;text-align:left}.chat-widget-message-text th{background-color:#0000000a;font-weight:600}.chat-widget-message-text hr{border:none;border-top:1px solid #ddd;margin:.6em 0}.chat-widget-message-text a{color:#1a73e8;text-decoration:none}.chat-widget-message-text a:hover{text-decoration:underline}.chat-widget-typing{display:flex;gap:4px;padding:4px 0}.chat-widget-typing span{width:7px;height:7px;background-color:#999;border-radius:50%;animation:chatTypingBounce 1.2s ease-in-out infinite}.chat-widget-typing span:nth-child(2){animation-delay:.15s}.chat-widget-typing span:nth-child(3){animation-delay:.3s}@keyframes chatTypingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-widget-error{padding:8px 12px;background-color:#fff0f0;color:#c62828;border-radius:8px;font-size:.82rem;border:1px solid #ffcdd2}.chat-widget-input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #e0e0e0;background-color:#fff;flex-shrink:0}.chat-widget-input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:.88rem;resize:none;max-height:100px;overflow-y:auto;line-height:1.4;transition:border-color .15s}.chat-widget-input:focus{outline:none;border-color:#1a1a2e;box-shadow:0 0 0 2px #1a1a2e1a}.chat-widget-input:disabled{background-color:#f5f5f5;color:#999}.chat-widget-send-btn{width:38px;height:38px;border-radius:8px;background-color:#1a1a2e;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .15s,transform .1s}.chat-widget-send-btn:hover:not(:disabled){background-color:#0f3460}.chat-widget-send-btn:active:not(:disabled){transform:scale(.94)}.chat-widget-send-btn:disabled{background-color:#ccc;cursor:not-allowed}.discuss-ai-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff;border:none;border-radius:6px;font-size:.82rem;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s;margin-top:8px}.discuss-ai-btn:hover{opacity:.9;transform:translateY(-1px)}.discuss-ai-btn:active{transform:translateY(0)}@media (max-width: 480px){.chat-widget-panel{width:calc(100vw - 16px);height:calc(100vh - 80px);bottom:8px;right:8px;border-radius:10px}.chat-widget-fab{bottom:16px;right:16px;width:48px;height:48px}}@media (max-width: 768px) and (min-width: 481px){.chat-widget-panel{width:360px;height:480px}}.analysis-detail-page{min-height:100vh;background:#f3f4f6}.detail-header{position:sticky;top:0;z-index:100;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:24px 32px;box-shadow:0 2px 8px #00000026}.detail-header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.detail-header-left,.detail-header-title{display:flex;align-items:center;gap:16px}.detail-logo{width:50px;height:50px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.detail-header-left h1{font-size:24px;font-weight:700;margin-bottom:4px}.detail-header-left p{font-size:14px;opacity:.8}.detail-header-right{display:flex;align-items:center;gap:16px}.detail-nav-btn{color:#ffffffe6;background:none;border:none;font-size:14px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .2s}.detail-nav-btn:hover{background:#ffffff1a;color:#fff}.detail-header-actions{display:flex;gap:8px}.detail-action-btn{padding:8px 14px;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;color:#fff;background:#ffffff1a}.detail-action-btn:hover{background:#fff3}.detail-action-btn--download{background:#10b98140;border-color:#10b98166}.detail-action-btn--download:hover{background:#10b98166}.detail-action-btn--download-alt{background:#6366f140;border-color:#6366f166}.detail-action-btn--download-alt:hover{background:#6366f166}.detail-action-btn--edit{background:#6366f140;border-color:#6366f166}.detail-action-btn--edit:hover{background:#6366f166}.detail-action-btn--save{background:#10b98140;border-color:#10b98166}.detail-action-btn--save:hover{background:#10b98166}.detail-action-btn--save:disabled{opacity:.4;cursor:not-allowed}.detail-action-btn--cancel{background:#ef444433;border-color:#ef444459}.detail-action-btn--cancel:hover{background:#ef444459}.detail-admin-link{color:#ffffffe6;text-decoration:none;font-size:14px;padding:8px 16px;border-radius:8px;transition:background .2s}.detail-admin-link:hover{background:#ffffff1a;color:#fff}.detail-user-info{display:flex;align-items:center;gap:16px}.detail-user-email{font-size:14px;opacity:.9}.detail-logout-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.detail-logout-btn:hover{background:#fff3}.detail-loading{text-align:center;padding:60px 20px}.detail-loading .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:detail-spin .8s linear infinite;margin:0 auto 16px}@keyframes detail-spin{to{transform:rotate(360deg)}}.detail-loading p{color:#6b7280}.detail-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:24px}.detail-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.detail-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#059669;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.detail-primary-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.detail-primary-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.detail-main{max-width:1200px;margin:0 auto;padding:32px}.detail-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.detail-section h2{margin:0 0 16px;font-size:18px;color:#1f2937;padding-bottom:12px;border-bottom:1px solid #e5e7eb;font-weight:600}.traceability-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.trace-item{display:flex;flex-direction:column;gap:4px}.trace-item label{font-size:13px;color:#6b7280;font-weight:500}.trace-item span{color:#1f2937;font-size:14px}.ref-docs-used{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.ref-docs-used>label{display:block;font-size:13px;color:#6b7280;font-weight:500;margin-bottom:8px}.ref-docs-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ref-docs-list li{display:flex;justify-content:space-between;padding:10px 14px;background:#f9fafb;border-radius:10px}.doc-name{font-weight:500;color:#1f2937;font-size:14px}.doc-meta{font-size:13px;color:#9ca3af}.equipment-display{font-size:22px;font-weight:600;color:#1f2937}.detail-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;background:#fff;transition:all .2s;font-family:inherit}.detail-input--lg{font-size:18px}.detail-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.detail-textarea{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;resize:vertical;font-family:inherit;transition:all .2s}.detail-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.summary-card{text-align:center;padding:16px;border-radius:12px}.summary-count{display:block;font-size:32px;font-weight:700}.summary-label{display:block;font-size:13px;margin-top:4px;color:#6b7280}.summary-card--total{background:#eff6ff}.summary-card--total .summary-count{color:#2563eb}.summary-card--critical{background:#fef2f2}.summary-card--critical .summary-count{color:#dc2626}.summary-card--major{background:#fff7ed}.summary-card--major .summary-count{color:#ea580c}.summary-card--minor{background:#fefce8}.summary-card--minor .summary-count{color:#ca8a04}.summary-card--info{background:#ecfdf5}.summary-card--info .summary-count{color:#059669}.overall-comment{padding:16px;background:#f9fafb;border-radius:10px;color:#1f2937;line-height:1.6;white-space:pre-wrap;font-size:14px}.text-muted{color:#9ca3af}.comments-block{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.comments-block h3{margin:0 0 16px;font-size:15px;color:#4b5563;font-weight:600}.comment-item{padding:12px 16px;background:#f9fafb;border-radius:10px;margin-bottom:10px}.comment-item--sm{padding:8px 12px;font-size:13px}.comment-meta{display:flex;align-items:center;gap:12px;margin-bottom:6px}.comment-author{font-weight:600;color:#1f2937;font-size:14px}.comment-date{font-size:12px;color:#9ca3af}.comment-edited{font-size:12px;color:#9ca3af;font-style:italic}.comment-delete-btn{margin-left:auto;padding:4px 10px;background:transparent;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.comment-delete-btn:hover{background:#fef2f2}.comment-delete-btn--sm{padding:2px 8px}.comment-body{color:#374151;line-height:1.5;font-size:14px}.comment-add{display:flex;gap:12px;margin-top:12px}.comment-add textarea{flex:1;padding:10px 14px;border:2px solid #e5e7eb;border-radius:10px;resize:none;font-family:inherit;font-size:14px;transition:all .2s}.comment-add textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.comment-add--sm{gap:8px}.comment-add--sm input{flex:1;padding:8px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:13px;transition:all .2s}.comment-add--sm input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.comment-add-btn{padding:10px 20px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.comment-add-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca)}.comment-add-btn:disabled{opacity:.4;cursor:not-allowed}.comment-add-btn--sm{padding:8px 14px;font-size:13px;border-radius:8px}.detail-empty-state{text-align:center;padding:40px 20px;color:#6b7280;font-style:italic}.issues-list{display:flex;flex-direction:column;gap:16px}.issue-card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.issue-card--critical{border-left:4px solid #dc2626}.issue-card--major{border-left:4px solid #ea580c}.issue-card--minor{border-left:4px solid #ca8a04}.issue-card--info{border-left:4px solid #059669}.issue-header{display:flex;align-items:center;gap:16px;padding:14px 16px;background:#f9fafb;cursor:pointer;transition:background .2s}.issue-header:hover{background:#f3f4f6}.severity-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.severity-badge--critical{background:#dc2626;color:#fff}.severity-badge--major{background:#ea580c;color:#fff}.severity-badge--minor{background:#ca8a04;color:#fff}.severity-badge--info{background:#059669;color:#fff}.issue-id{color:#6b7280;font-size:13px}.issue-category{flex:1;color:#6b7280;font-size:14px}.expand-icon{color:#9ca3af;font-size:12px}.issue-body{padding:16px;border-top:1px solid #e5e7eb}.issue-field{margin-bottom:16px}.issue-field h4{margin:0 0 6px;font-size:13px;color:#6b7280;font-weight:500}.issue-field p{margin:0;color:#1f2937;line-height:1.6;font-size:14px}.issue-field--recommendation{background:#f9fafb;padding:12px 16px;border-radius:10px}.discuss-ai-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;margin-top:12px;margin-bottom:4px;background:#6366f114;color:#6366f1;border:1px solid rgba(99,102,241,.2);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.discuss-ai-btn:hover{background:#6366f126;border-color:#6366f159}.edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-group{display:flex;flex-direction:column;gap:6px}.field-group.full-width{grid-column:1 / -1}.field-group label{font-size:13px;color:#6b7280;font-weight:500}.field-group input,.field-group select,.field-group textarea{padding:10px 14px;border:2px solid #e5e7eb;border-radius:10px;font-family:inherit;font-size:14px;transition:all .2s}.field-group textarea{resize:vertical}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.issue-comments{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.issue-comments h4{margin-bottom:12px;font-size:13px;color:#6b7280;font-weight:500}.history-list{list-style:none;padding:0;margin:0}.history-list li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid #f3f4f6;font-size:14px}.history-list li:last-child{border-bottom:none}.history-user{font-weight:500;color:#1f2937}.history-date{color:#6b7280;font-size:13px}.history-changes{flex:1;color:#9ca3af;font-size:13px;text-align:right}@media (max-width: 768px){.detail-header{padding:16px 20px}.detail-header-content{flex-direction:column;align-items:flex-start;gap:16px}.detail-logo{width:40px;height:40px}.detail-header-left h1{font-size:20px}.detail-header-left p{font-size:13px}.detail-header-right{flex-wrap:wrap}.detail-header-actions{width:100%;flex-wrap:wrap}.detail-main{padding:20px}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-card--total{grid-column:1 / -1}.traceability-grid,.edit-fields{grid-template-columns:1fr}}.file-upload-container{width:100%;max-width:800px;margin:0 auto}.step-description{color:#666;margin-bottom:1.5rem;font-size:1rem}.drop-zone{border:2px dashed #ccc;border-radius:8px;padding:3rem 2rem;text-align:center;background-color:#fafafa;transition:all .3s ease;cursor:pointer}.files-preview{margin-top:2rem;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.files-preview h4{margin:0 0 1rem;color:#333;font-size:1.1rem}.files-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.file-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:#f5f5f5;border-radius:6px;border:1px solid #e0e0e0}.file-info{display:flex;align-items:center;gap:1rem;flex:1}.file-icon{font-size:1.5rem}.file-details{display:flex;flex-direction:column;gap:.25rem}.file-name{font-weight:500;color:#333}.file-size{font-size:.875rem;color:#666}.remove-file-button{background:none;border:none;font-size:1.5rem;color:#f44336;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:transform .2s ease}.remove-file-button:hover{transform:scale(1.2)}.process-button{width:100%;padding:1rem;background-color:#4caf50;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.ref-doc-selector-container{width:100%;max-width:1200px;margin:0 auto}.selector-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.selector-header h3{margin:0;color:#333;font-size:1.5rem}.back-button{padding:.5rem 1rem;background-color:#666;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.back-button:hover:not(:disabled){background-color:#555}.back-button:disabled{opacity:.5;cursor:not-allowed}.step-description{color:#666;margin-bottom:2rem;font-size:1rem}.no-reference-docs{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:3rem;text-align:center;margin-bottom:2rem}.no-reference-docs p{margin:.5rem 0;color:#666}.hint-text{font-size:.9rem;color:#999;font-style:italic}.selection-actions{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.action-button{padding:.5rem 1rem;background-color:#2196f3;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .3s ease}.action-button:hover:not(:disabled){background-color:#1976d2}.action-button:disabled{opacity:.5;cursor:not-allowed}.selection-count{margin-left:auto;color:#666;font-weight:500}.hierarchical-selection{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;overflow:hidden}.discipline-group{border-bottom:1px solid #e0e0e0}.discipline-group:last-child{border-bottom:none}.discipline-row{display:flex;align-items:center;padding:1rem;background-color:#f5f7fa}.discipline-row:hover{background-color:#e8ecf1}.expand-toggle{width:24px;cursor:pointer;color:#666;font-size:.75rem;flex-shrink:0}.discipline-checkbox{display:flex;align-items:center;gap:.75rem;flex:1;cursor:pointer}.discipline-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.discipline-label{font-weight:600;color:#333;flex:1}.count-badge{background-color:#2196f3;color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:12px;min-width:24px;text-align:center}.count-badge.small{background-color:#78909c;font-size:.7rem;padding:.125rem .375rem}.category-list{border-top:1px solid #e0e0e0}.category-group{border-bottom:1px solid #f0f0f0}.category-group:last-child{border-bottom:none}.category-row{display:flex;align-items:center;padding:.75rem 1rem .75rem 2rem;background-color:#fafafa}.category-row:hover{background-color:#f0f0f0}.category-checkbox{display:flex;align-items:center;gap:.75rem;flex:1;cursor:pointer}.category-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.category-label{font-weight:500;color:#555;flex:1}.document-list{background-color:#fff}.document-select-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem .75rem 4rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s ease}.document-select-item:last-child{border-bottom:none}.document-select-item:hover{background-color:#f5f5f5}.document-select-item.selected{background-color:#e8f5e9}.document-select-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0}.doc-icon{font-size:1.25rem;flex-shrink:0}.doc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.doc-name{font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-size{font-size:.8rem;color:#888}.process-actions{display:flex;justify-content:center;padding-top:1.5rem;border-top:1px solid #e0e0e0}.process-button{padding:1rem 3rem;background-color:#4caf50;color:#fff;border:none;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.process-button:hover:not(:disabled){background-color:#45a049}.process-button:disabled{background-color:#ccc;cursor:not-allowed}.reference-documents-container{width:100%;max-width:1200px;margin:0 auto;padding:2rem}.ref-docs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ref-docs-header h2{margin:0;color:#333;font-size:1.75rem}.back-button{padding:.75rem 1.5rem;background-color:#666;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.back-button:hover{background-color:#555}.ref-docs-description{color:#666;margin-bottom:1.5rem;font-size:1rem}.upload-section{margin-bottom:1.5rem}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap}.upload-btn,.manage-disciplines-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.upload-btn{background-color:#4caf50;color:#fff}.upload-btn:hover{background-color:#43a047}.upload-btn svg{stroke:#fff}.manage-disciplines-btn{background-color:#2196f3;color:#fff}.manage-disciplines-btn:hover{background-color:#1976d2}.manage-disciplines-btn svg{stroke:#fff}.message{padding:1rem 1.5rem;border-radius:6px;margin-bottom:2rem;font-weight:500}.message.success{background-color:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.message.error{background-color:#ffebee;color:#c62828;border:1px solid #f44336}.drop-zone{border:2px dashed #ccc;border-radius:8px;padding:3rem 2rem;text-align:center;background-color:#fafafa;transition:all .3s ease;cursor:pointer;margin-bottom:2rem}.drop-zone.drag-active{border-color:#4caf50;background-color:#e8f5e9;transform:scale(1.02)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.drop-zone-content svg{color:#666;margin-bottom:.5rem}.drop-zone-content h3{margin:0;color:#333;font-size:1.25rem}.drop-zone-content p{margin:.5rem 0;color:#666}.file-input-label{cursor:pointer}.browse-button{display:inline-block;padding:.75rem 2rem;background-color:#2196f3;color:#fff;border-radius:4px;font-weight:500;transition:background-color .3s ease}.browse-button:hover{background-color:#1976d2}.file-types-hint{font-size:.875rem;color:#999;margin-top:.5rem}.documents-list-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.documents-list-section h3{margin:0 0 1.5rem;color:#333;font-size:1.25rem}.no-documents{text-align:center;padding:3rem;color:#999}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.document-card{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#f5f5f5;border-radius:6px;border:1px solid #e0e0e0;transition:box-shadow .3s ease}.document-card:hover{box-shadow:0 2px 8px #0000001a}.document-icon{font-size:2rem;flex-shrink:0}.document-info{flex:1;min-width:0}.document-name{font-weight:500;color:#333;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-details{font-size:.875rem;color:#666;display:flex;gap:.5rem;align-items:center}.delete-button{background:none;border:none;font-size:1.5rem;color:#f44336;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:transform .2s ease;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.delete-button:hover{transform:scale(1.2);background-color:#f443361a}.loading-indicator{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.guided-upload-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.guided-upload-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.guided-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.guided-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.guided-close-btn{background:none;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer;padding:0;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.guided-close-btn:hover{color:#374151;background:#f3f4f6}.guided-modal-body{padding:24px}.error-message{background-color:#fef2f2;color:#dc2626;padding:12px 16px;margin:0 24px 16px;border-radius:8px;border:1px solid #fecaca;font-size:14px}.loading{text-align:center;padding:48px;color:#6b7280}.step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:24px;gap:8px}.step{display:flex;flex-direction:column;align-items:center;gap:8px}.step-number{width:32px;height:32px;border-radius:50%;background-color:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;transition:all .2s ease}.step.active .step-number{background-color:#6366f1;color:#fff}.step.completed .step-number{background-color:#10b981;color:#fff}.step-label{font-size:13px;color:#6b7280}.step.active .step-label{color:#6366f1;font-weight:500}.step-connector{width:50px;height:2px;background-color:#e5e7eb;margin-bottom:24px}.step-content h3{margin:0 0 8px;color:#1f2937;font-size:16px;font-weight:600}.step-description{color:#6b7280;margin-bottom:20px;font-size:14px}.form-group{margin-bottom:16px}.discipline-select,.category-select{width:100%;padding:12px 16px;font-size:14px;border:2px solid #e5e7eb;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s}.discipline-select:focus,.category-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.new-discipline-input,.custom-category-input{display:flex;gap:8px;margin-top:12px}.new-discipline-input input,.custom-category-input input{flex:1;padding:10px 14px;font-size:14px;border:2px solid #e5e7eb;border-radius:8px}.new-discipline-input input:focus,.custom-category-input input:focus{outline:none;border-color:#6366f1}.create-btn{padding:10px 16px;background-color:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.create-btn:disabled{background-color:#d1d5db;cursor:not-allowed}.create-btn:not(:disabled):hover{background-color:#059669}.cancel-btn{padding:10px 16px;background-color:#6b7280;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.cancel-btn:hover{background-color:#4b5563}.upload-preview{background-color:#f0f9ff;padding:12px 16px;border-radius:8px;margin:20px 0;border:1px solid #bae6fd}.upload-preview strong{color:#0369a1;font-size:13px}.preview-path{margin-left:8px;color:#1f2937;font-weight:500;font-size:14px}.step-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.back-btn{padding:10px 20px;background-color:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.back-btn:hover:not(:disabled){background-color:#f3f4f6}.back-btn:disabled{opacity:.5;cursor:not-allowed}.next-btn{padding:10px 20px;background-color:#6366f1;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.next-btn:disabled{background-color:#d1d5db;cursor:not-allowed}.next-btn:not(:disabled):hover{background-color:#4f46e5}.upload-btn{padding:10px 20px;background-color:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.upload-btn:disabled{background-color:#d1d5db;cursor:not-allowed}.upload-btn:not(:disabled):hover{background-color:#059669}.file-drop-zone{border:2px dashed #d1d5db;border-radius:12px;padding:32px;text-align:center;background-color:#f9fafb;transition:all .2s ease;cursor:pointer}.file-drop-zone:hover{border-color:#6366f1;background-color:#f0f0ff}.drop-zone-label{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;color:#6b7280}.drop-zone-label svg{color:#9ca3af}.drop-zone-label p{margin:0;font-size:14px;color:#374151}.file-types{font-size:13px;color:#9ca3af}.selected-files{margin-top:20px}.selected-files h4{margin:0 0 12px;color:#1f2937;font-size:14px;font-weight:600}.selected-files ul{list-style:none;padding:0;margin:0}.file-item{display:flex;align-items:center;gap:10px;padding:12px;background-color:#f9fafb;border-radius:8px;margin-bottom:8px;border:1px solid #e5e7eb}.file-item.done{background-color:#ecfdf5;border-color:#a7f3d0}.file-item.failed{background-color:#fef2f2;border-color:#fecaca}.file-name{flex:1;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f2937}.file-size{color:#6b7280;font-size:13px}.status{font-size:13px;padding:4px 8px;border-radius:4px;font-weight:500}.status.uploading{color:#6366f1}.status.done{color:#059669}.status.failed{color:#dc2626}.remove-file-btn{background:none;border:none;font-size:1.25rem;color:#ef4444;cursor:pointer;padding:4px;line-height:1;transition:all .2s}.remove-file-btn:hover{color:#dc2626}.hierarchical-document-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.document-count-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.total-count{color:#666;font-size:.9rem}.no-documents-message{text-align:center;padding:3rem;color:#666}.no-documents-message .hint{font-size:.9rem;color:#999;margin-top:.5rem}.discipline-tree{display:flex;flex-direction:column;gap:.5rem}.discipline-section{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.discipline-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background-color:#f5f7fa;cursor:pointer;transition:background-color .2s ease}.discipline-header:hover{background-color:#e8ecf1}.expand-icon{font-size:.75rem;color:#666;width:16px;text-align:center}.discipline-icon{font-size:1.25rem}.discipline-name{flex:1;font-weight:600;color:#333}.document-count-badge{background-color:#2196f3;color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:12px;min-width:24px;text-align:center}.discipline-content{border-top:1px solid #e0e0e0}.category-section{border-bottom:1px solid #f0f0f0}.category-section:last-child{border-bottom:none}.category-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem .75rem 2rem;background-color:#fafafa;cursor:pointer;transition:background-color .2s ease}.category-header:hover{background-color:#f0f0f0}.category-icon{font-size:1rem}.category-name{flex:1;font-weight:500;color:#555;display:flex;align-items:center;gap:.5rem}.custom-badge{font-size:.7rem;background-color:#e0e0e0;color:#666;padding:.125rem .375rem;border-radius:4px;font-weight:400}.category-header .document-count-badge{background-color:#78909c}.category-content{background-color:#fff}.document-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem .75rem 3.5rem;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.document-item:last-child{border-bottom:none}.document-item:hover{background-color:#f5f5f5}.document-type-icon{font-size:1.25rem;flex-shrink:0}.document-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.document-name{font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{font-size:.8rem;color:#888}.document-actions{display:flex;gap:.5rem;flex-shrink:0}.delete-btn{background:none;border:none;font-size:1.5rem;color:#f44336;cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:4px;transition:all .2s ease;opacity:.6}.document-item:hover .delete-btn{opacity:1}.delete-btn:disabled{color:#ccc;cursor:not-allowed}@media (max-width: 768px){.discipline-header,.category-header{padding:.75rem}.category-header{padding-left:1.5rem}.document-item{padding-left:2.5rem}.document-info{flex-direction:column}}.discipline-manager-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.discipline-manager-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0;flex-shrink:0}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.close-button{background:none;border:none;font-size:1.75rem;color:#666;cursor:pointer;padding:0;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-button:hover{background-color:#f0f0f0;color:#333}.modal-content{padding:1.5rem;flex:1;overflow-y:auto}.error-message{background-color:#ffebee;color:#c62828;padding:1rem;margin-bottom:1rem;border-radius:6px;border:1px solid #f44336}.success-message{background-color:#e8f5e9;color:#2e7d32;padding:1rem;margin-bottom:1rem;border-radius:6px;border:1px solid #4caf50}.loading{text-align:center;padding:3rem;color:#666}.manager-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.manager-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.manager-section h3{margin:0 0 .5rem;color:#333;font-size:1.25rem}.section-description{color:#666;font-size:.9rem;margin-bottom:1rem}.category-group{margin-bottom:1.5rem}.category-group:last-child{margin-bottom:0}.category-group-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#555}.category-group-hint{font-size:.85rem;color:#666;margin:0 0 .75rem}.categories-list{display:flex;flex-wrap:wrap;gap:.5rem}.category-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-weight:500;font-size:.9rem}.category-badge.predefined{background-color:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.category-badge.custom{background-color:#fff3e0;color:#e65100;border:1px solid #ffb74d;position:relative}.category-badge.uncategorized{background-color:#f5f5f5;color:#666;border:1px solid #e0e0e0}.category-name{font-weight:500}.category-count{font-size:.8rem;opacity:.8;font-weight:400}.disciplines-list{display:flex;flex-direction:column;gap:.5rem}.discipline-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:6px;border:1px solid #e0e0e0}.discipline-item.predefined{background-color:#f5f5f5;border-color:#e0e0e0}.discipline-item.custom{background-color:#fff;border-color:#ccc}.discipline-item.custom:hover{background-color:#f9f9f9}.discipline-icon{font-size:1.25rem;flex-shrink:0}.discipline-name{flex:1;font-weight:500;color:#333}.delete-btn{background:none;border:none;font-size:1.5rem;color:#f44336;cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:4px;transition:all .2s ease;opacity:.7}.discipline-item:hover .delete-btn{opacity:1}.delete-btn:hover:not(:disabled){background-color:#f443361a;transform:scale(1.1)}.delete-btn:disabled{color:#ccc;cursor:not-allowed;opacity:.5}.create-discipline-form{margin-bottom:1.5rem}.form-input-group{display:flex;gap:.5rem;margin-bottom:.5rem}.discipline-input{flex:1;padding:.75rem;font-size:1rem;border:1px solid #ccc;border-radius:6px}.discipline-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.create-btn{padding:.75rem 1.5rem;background-color:#4caf50;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;white-space:nowrap}.create-btn:disabled{background-color:#ccc;cursor:not-allowed}.create-btn:not(:disabled):hover{background-color:#43a047}.form-hint{font-size:.85rem;color:#666;margin:0}.empty-state{text-align:center;padding:2rem;color:#666}.empty-state .hint{font-size:.9rem;color:#999;margin-top:.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;flex-shrink:0}.close-modal-btn{padding:.75rem 1.5rem;background-color:#666;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer}.close-modal-btn:hover{background-color:#555}.results-container{width:100%;max-width:1200px;margin:0 auto;padding:2rem}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.results-header h2{margin:0;color:#333;font-size:1.75rem}.header-actions{display:flex;gap:.75rem}.reset-button{padding:.75rem 1.5rem;background-color:#2196f3;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.reset-button:hover{background-color:#1976d2}.view-saved-button{padding:.75rem 1.5rem;background-color:#9c27b0;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .3s ease}.view-saved-button:hover{background-color:#7b1fa2}.saved-indicator{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #4caf50;border-radius:8px;margin-bottom:1.5rem}.saved-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background-color:#4caf50;color:#fff;border-radius:50%;font-weight:700}.saved-text{font-weight:600;color:#2e7d32}.saved-by{color:#558b2f;font-size:.9rem}.view-details-link{margin-left:auto;background:none;border:none;color:#1565c0;cursor:pointer;font-size:.9rem;text-decoration:underline}.view-details-link:hover{color:#0d47a1}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.summary-card.critical{border-top:4px solid #f44336}.summary-card.major{border-top:4px solid #ff9800}.summary-card.minor{border-top:4px solid #ffc107}.summary-value{font-size:2.5rem;font-weight:700;color:#333;margin-bottom:.5rem}.summary-label{font-size:.875rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.actions-section{margin-bottom:2rem;text-align:center;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.download-button{padding:1rem 2rem;background-color:#4caf50;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.download-button:hover:not(:disabled){background-color:#45a049}.download-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}.download-button-generic{background-color:#1976d2}.download-button-generic:hover:not(:disabled){background-color:#1565c0}.download-spinner{display:inline-block;margin-right:.5rem;animation:spin 1s linear infinite}.issues-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.filter-section{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.filter-section label{font-weight:500;color:#333}.filter-section select{padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem}.filter-count{margin-left:auto;color:#666;font-size:.875rem}.issues-list{display:flex;flex-direction:column;gap:1rem}.issue-card{background:#fafafa;border-left:4px solid #ccc;border-radius:6px;padding:1.5rem;transition:box-shadow .3s ease}.issue-card:hover{box-shadow:0 2px 8px #0000001a}.issue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.issue-id{font-weight:600;color:#2196f3;font-family:monospace}.severity-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.issue-description{color:#333;font-size:1rem;line-height:1.6;margin-bottom:1rem}.issue-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;font-size:.9rem;color:#666}.detail-item{display:flex;gap:.5rem}.detail-item strong{color:#333}.detail-item.recommended-action{grid-column:1 / -1;padding:.75rem;background-color:#e3f2fd;border-left:3px solid #2196F3;border-radius:4px;margin-top:.5rem}.detail-item.recommended-action strong{color:#1976d2}.no-issues{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:3rem;text-align:center}.no-issues p{font-size:1.25rem;color:#4caf50;margin:0}.irrelevant-documents-alert{background:linear-gradient(135deg,#fff8e1,#fff3cd);border:1px solid #ffc107;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #ffc10733}.irrelevant-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.irrelevant-header .alert-icon{font-size:1.5rem}.irrelevant-header h3{margin:0;color:#856404;font-size:1.1rem;flex:1}.irrelevant-header .dismiss-button{background:transparent;border:none;font-size:1.5rem;color:#856404;cursor:pointer;padding:0;line-height:1;opacity:.7;transition:opacity .2s ease}.irrelevant-header .dismiss-button:hover{opacity:1}.irrelevant-description{color:#6c5c10;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.irrelevant-list{list-style:none;padding:0;margin:0 0 1rem}.irrelevant-item{background:#ffffffb3;border-radius:6px;padding:.75rem 1rem;margin-bottom:.5rem;border-left:3px solid #ffc107}.irrelevant-filename{display:block;font-weight:600;color:#333;margin-bottom:.25rem}.irrelevant-reason{display:block;font-size:.85rem;color:#666;font-style:italic}.irrelevant-actions{display:flex;gap:1rem;margin-top:1rem}.rerun-button{padding:.75rem 1.5rem;background-color:#ff9800;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.rerun-button:hover{background-color:#f57c00;box-shadow:0 2px 8px #ff98004d}.App{min-height:100vh;display:flex;flex-direction:column;background-color:#f5f5f5}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff}.loading-logo{width:80px;height:80px;margin-bottom:24px;filter:drop-shadow(0 4px 16px rgba(255,255,255,.2));animation:logoFloat 2s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loading-container .spinner{border-color:#fff3;border-top-color:#fff}.loading-container p{margin-top:16px;opacity:.8}.app-header{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:1.5rem 2rem;box-shadow:0 2px 8px #0003}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.header-title-section{display:flex;align-items:center;gap:16px}.app-logo{width:48px;height:48px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));transition:transform .3s ease}.app-logo:hover{transform:scale(1.05)}.app-header h1{margin:0;font-size:1.5rem;font-weight:700}.header-right{display:flex;align-items:center;gap:24px}.project-selector{display:flex;align-items:center;gap:8px}.project-dropdown{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 12px;border-radius:6px;font-size:14px;cursor:pointer;min-width:180px}.project-dropdown:focus{outline:none;border-color:#fff6}.project-dropdown option{background:#1a1a2e;color:#fff}.manage-projects-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.manage-projects-btn:hover{background:#fff3}.user-menu{display:flex;align-items:center;gap:12px}.user-email{font-size:14px;opacity:.9}.admin-nav-link{color:#ffffffe6;text-decoration:none;font-size:14px;padding:8px 16px;border-radius:6px;transition:background .2s}.admin-nav-link:hover{background:#ffffff1a;color:#fff}.logout-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#fff3}.project-info{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.project-name{font-size:18px;font-weight:600;color:#000}.project-role{font-size:11px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.project-role.role-owner{background:#6366f1}.project-role.role-admin{background:#8b5cf6}.project-role.role-editor{background:#10b981}.project-role.role-viewer{background:#6b7280}.app-header p{margin:0 0 1.5rem;font-size:1.1rem;opacity:.9}.main-nav{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.nav-button{padding:.75rem 1.5rem;background-color:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.nav-button:hover{background-color:#ffffff4d;border-color:#ffffff80}.nav-button.active{background-color:#fff;color:#667eea;border-color:#fff}.app-main{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.error-message{background-color:#ffebee;border-left:4px solid #f44336;color:#c62828;padding:1rem 1.5rem;border-radius:6px;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.error-message strong{margin-right:.5rem}.close-error{background:none;border:none;font-size:1.5rem;color:#c62828;cursor:pointer;padding:0;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.close-error:hover{background-color:#c628281a;border-radius:50%}.processing-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-indicator p{color:#666;font-size:1.1rem}.app-footer{background-color:#333;color:#fff;text-align:center;padding:1rem;margin-top:auto}.app-footer p{margin:0;font-size:.875rem;opacity:.8}.no-project-message{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.no-project-message h2{font-size:24px;color:#1f2937;margin-bottom:8px}.no-project-message p{color:#6b7280;margin-bottom:24px}.go-to-projects-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.go-to-projects-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.viewer-notice{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}@media (max-width: 768px){.header-top{flex-direction:column;align-items:flex-start;gap:16px}.app-logo{width:40px;height:40px}.app-header h1{font-size:1.2rem}.header-right{flex-direction:column;align-items:flex-start;gap:12px;width:100%}.project-selector{width:100%}.project-dropdown{flex:1}.user-menu{width:100%;justify-content:space-between}}*{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;background-color:#f5f5f5;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
