@import url(https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600;700&display=swap);:root{--color-primary:#d81b60;--color-primary-deep:#880e4f;--color-primary-light:#f06292;--color-primary-pale:#f8bbd0;--color-pink-bg:#fdf2f7;--color-bg-main:#fce4ec;--color-white:#fff;--color-text-main:#212121;--color-text-muted:#4a4a4a;--glass-bg:#fdf2f7e6;--glass-border:#d81b6033;--shadow-soft:0 4px 12px #880e4f1a;--shadow-medium:0 8px 30px #880e4f26;--font-family:"Lexend",system-ui,-apple-system,sans-serif;--border-radius-lg:16px;--border-radius-md:12px;--border-radius-sm:8px;--transition-smooth:all 0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background-color:#fce4ec;background-color:var(--color-bg-main);color:#212121;color:var(--color-text-main);font-family:Lexend,system-ui,-apple-system,sans-serif;font-family:var(--font-family);font-size:16px;margin:0;padding:0}h1,h2,h3{color:#880e4f;color:var(--color-primary-deep);font-weight:700}.glass-panel{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fdf2f7e6;background:var(--glass-bg);border:1px solid #d81b6033;border:1px solid var(--glass-border);box-shadow:0 4px 12px #880e4f1a;box-shadow:var(--shadow-soft)}.container{border:1px solid #f8bbd0;border:1px solid var(--color-primary-pale);border-radius:16px;border-radius:var(--border-radius-lg);box-shadow:0 8px 30px #880e4f26;box-shadow:var(--shadow-medium);margin:40px auto;max-width:1200px}.container,.container-form{background:#fdf2f7;background:var(--color-pink-bg);padding:30px}.container-form{border:2px solid #f8bbd0;border:2px solid var(--color-primary-pale);border-radius:12px;border-radius:var(--border-radius-md);box-shadow:0 8px 30px #880e4f26;margin:20px auto;max-width:600px}.container button,.container-form button{align-items:center;border:none;border-radius:12px;border-radius:var(--border-radius-md);cursor:pointer;display:inline-flex;font-family:Lexend,system-ui,-apple-system,sans-serif;font-family:var(--font-family);font-size:.95rem;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth)}.container input[type=email],.container input[type=password],.container input[type=tel],.container input[type=text],.container select,.container textarea,.container-form input[type=email],.container-form input[type=password],.container-form input[type=tel],.container-form input[type=text],.container-form select,.container-form textarea{background:#fff;background:var(--color-white);border:2px solid #edf2f7;border-radius:12px;border-radius:var(--border-radius-md);font-family:Lexend,system-ui,-apple-system,sans-serif;font-family:var(--font-family);font-size:.95rem;margin-bottom:15px;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth);width:100%}.container input:focus,.container select:focus,.container textarea:focus,.container-form input:focus,.container-form select:focus,.container-form textarea:focus{border-color:#f06292;border-color:var(--color-primary-light);box-shadow:0 0 0 4px #e91e631a;outline:none}.error-message{background:#fff5f5;border-left:4px solid #fa5252;color:#fa5252}.error-message,.success-message{border-radius:12px;border-radius:var(--border-radius-md);font-size:.9rem;margin-bottom:20px;padding:15px}.success-message{background:#f0fff4;border-left:4px solid #38a169;color:#38a169}.container-login{align-items:center;display:flex;height:100vh;justify-content:center}.form-login{background-color:#fff;border-radius:10px;box-shadow:0 0 10px #0000001a;padding:30px;text-align:center;width:400px}.form-login h1{margin-bottom:20px}.form-login div{margin-bottom:15px;text-align:left}.form-login label{display:block;margin-bottom:5px}.form-login input[type=email],.form-login input[type=password]{border:1px solid #ccc;border-radius:5px;box-sizing:border-box;padding:10px;width:100%}.form-login button{width:100%}.user-form-card{animation:fadeIn .4s ease-out;background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);max-width:850px;padding:30px;width:100%}.form-header{align-items:center;border-bottom:2px solid var(--color-pink-bg);display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.form-header h2{font-size:1.6rem;font-weight:700;margin:0}.close-btn,.form-header h2{color:var(--color-primary-deep)}.close-btn{align-items:center;background:var(--color-pink-bg);border-radius:50%;display:flex;font-size:1.2rem;height:36px;justify-content:center;transition:var(--transition-smooth);width:36px}.close-btn:hover{background:var(--color-primary-pale);transform:rotate(90deg)}.form-grid{grid-gap:35px;gap:35px;grid-template-columns:1fr 1fr}@media (max-width:900px){.form-grid{grid-template-columns:1fr}}.form-section h3{align-items:center;color:var(--color-primary);display:flex;font-size:1rem;font-weight:700;gap:10px;letter-spacing:.05em;margin-bottom:20px;text-transform:uppercase}.form-section h3:after{background:var(--color-primary-pale);content:"";flex:1 1;height:1px}.form-group-custom{margin-bottom:20px}.form-group-custom label{color:var(--color-primary-deep);display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.custom-input,.custom-select{background-color:#fcfcfc;border:1px solid #e1e4e8;border-radius:var(--border-radius-sm);font-size:1rem;padding:12px 14px;transition:var(--transition-smooth);width:100%}.custom-input:focus,.custom-select:focus{background-color:var(--color-white);border-color:var(--color-primary);box-shadow:0 0 0 4px #e91e631a;outline:none}.groups-list{background:#fdfdfd;border:1px solid #e1e4e8;border-radius:var(--border-radius-sm);max-height:180px;overflow-y:auto;padding:12px}.checkbox-item{align-items:center;cursor:pointer;display:flex;padding:8px 0;transition:var(--transition-smooth)}.checkbox-item:hover{color:var(--color-primary)}.checkbox-item input{accent-color:var(--color-primary);height:16px;margin-right:12px;width:16px}.container-message{align-items:center;border-radius:var(--border-radius-sm);display:flex;font-weight:600;gap:12px;margin-bottom:25px;padding:14px 20px}.container-message.success{background-color:#f0fff4;border:1px solid #c6f6d5;color:#276749}.container-message.error{background-color:#fff5f5;border:1px solid #fed7d7;color:#c53030}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.container-form{animation:slideUp .3s ease-out;background-color:var(--color-white);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);margin:0 auto;max-width:95vw;padding:40px;position:relative;width:600px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.container-form h2{color:var(--color-primary-deep);font-size:1.5rem;font-weight:700;margin-bottom:25px;text-align:center}.container-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:var(--border-radius);color:#721c24;margin-bottom:var(--spacing-small);padding:10px}.users-container{animation:fadeIn .4s ease-out}.users-header{align-items:center;justify-content:space-between}.tabs-container,.users-header{display:flex;margin-bottom:30px}.tabs-container{background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:14px;gap:10px;padding:6px;width:fit-content}.tab-button{background:#0000;border:none;border-radius:10px;color:var(--color-text-muted);cursor:pointer;font-weight:600;padding:10px 24px;transition:var(--transition-smooth)}.tab-button.active{background:var(--color-white);box-shadow:0 4px 12px #e91e630d;color:var(--color-primary-deep)}.tab-button:hover:not(.active){background:#ffffff80}.user-controls{align-items:center;background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-soft);display:flex;gap:20px;justify-content:space-between;margin-bottom:25px;padding:20px}.create-user-btn{background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-primary) 100%);box-shadow:0 4px 15px #e91e634d;color:#fff}.create-user-btn:hover{box-shadow:0 6px 20px #e91e6366;filter:brightness(1.1);transform:translateY(-2px)}.modal-overlay{animation:fadeInOverlay .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#2d343699;z-index:1000}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.table-responsive{box-shadow:var(--shadow-soft);overflow:hidden}.container-table,.table-responsive{border-radius:var(--border-radius-lg)}.container-table{background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);overflow-x:auto}.table{border-collapse:initial;border-spacing:0;margin:0;width:100%}.table th{background-color:var(--color-pink-bg);border-bottom:2px solid var(--color-primary-pale);color:var(--color-primary-deep);font-size:.85rem;font-weight:700;letter-spacing:.05em;position:sticky;text-transform:uppercase;top:0;z-index:10}.table td,.table th{padding:16px 20px;text-align:left}.table td{border-bottom:1px solid #f1f3f5;color:var(--color-text-main);font-size:.95rem;transition:var(--transition-smooth)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background-color:var(--color-pink-bg)}.actions-cell{flex-wrap:wrap;gap:8px}.table td button{border-radius:var(--border-radius-sm);font-size:.85rem;padding:6px 12px}.edit-btn{background:var(--color-primary-pale);color:var(--color-primary-deep)}.edit-btn:hover{background:var(--color-primary-light)}.ficha-btn{background:#f3f0ff;color:#5f3dc4}.ficha-btn:hover{background:#ebe4ff}.ficha-container{animation:fadeIn .3s ease-in-out;background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #4710221a;color:#471022;display:flex;flex-direction:column;font-family:Lexend,sans-serif;margin:20px auto;max-height:90vh;max-width:1200px;padding:24px;width:90%}.ficha-header{align-items:center;border-bottom:2px solid #f6d4e4;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:12px}.ficha-header h2{color:#e482ad;font-size:24px;font-weight:700;margin:0}.close-btn{background:none;border:none;color:#e482ad;cursor:pointer;font-size:32px;line-height:1;transition:color .2s}.close-btn:hover{background:#0000;color:#471022}.ficha-tabs{border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;overflow:visible;padding-bottom:15px;position:relative}.ficha-tabs button{background:#0000;border:none;border-radius:8px 8px 0 0;color:#888;cursor:pointer;font-size:16px;font-weight:500;padding:10px 20px;transition:all .3s ease}.ficha-tabs button:hover{background-color:#fff0f6;color:#e482ad}.ficha-tabs button.active{background-color:#f6d4e4;border-bottom:3px solid #e482ad;box-shadow:0 -2px 10px #e482ad33;color:#471022;font-weight:700}.ficha-dropdown-menu{display:inline-block;position:relative}.ficha-dropdown-trigger{background:#0000;border:none;border-radius:8px 8px 0 0;color:#888;cursor:pointer;font-size:16px;font-weight:500;padding:10px 20px;transition:all .3s ease}.ficha-dropdown-trigger:hover{background-color:#fff0f6;color:#e482ad}.ficha-dropdown-trigger.active{background-color:#f6d4e4;border-bottom:3px solid #e482ad;box-shadow:0 -2px 10px #e482ad33;color:#471022;font-weight:700}.ficha-dropdown-trigger.highlighted{background-color:#2c3e50;color:#fff;font-weight:600}.ficha-dropdown-trigger.highlighted:hover{background-color:#34495e}.ficha-dropdown-content{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px #47102226;display:block;left:0;margin-top:2px;min-width:220px;overflow:hidden;pointer-events:auto;position:absolute;top:100%;z-index:9999}.ficha-dropdown-content button{background:#fff;border:none;border-bottom:1px solid #f5f5f5;color:#666;cursor:pointer;display:block;font-size:15px;padding:12px 20px;text-align:left;transition:all .2s;width:100%}.ficha-dropdown-content button:last-child{border-bottom:none}.ficha-dropdown-content button:hover{background:#fff0f6;color:#e482ad;padding-left:24px}.ficha-dropdown-content button.active{background:#f6d4e4;border-left:3px solid #e482ad;color:#471022;font-weight:600}.ficha-tabs button.highlighted{background-color:#c2185b;color:#fff;font-weight:600}.ficha-tabs button.highlighted:hover{background-color:#ad1457}.ficha-tabs button.highlighted.active{background-color:#880e4f;border-bottom:3px solid #e91e63}.ficha-content{background:#fdfdfd;border:1px solid #f0f0f0;border-radius:8px;flex:1 1;min-height:400px;overflow-y:auto;padding:20px}.ficha-section h3{border-left:4px solid #e482ad;color:#471022;font-size:20px;margin-bottom:20px;margin-top:0;padding-left:12px}.form-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.form-group{display:flex;flex-direction:column}.form-group label{color:#666}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#e482ad;box-shadow:0 0 0 3px #e482ad33}.form-group textarea{min-height:100px}.ficha-actions{align-items:center;border-top:1px solid #eee;display:flex;gap:20px;justify-content:flex-end;margin-top:30px;padding-top:20px}.error-msg{color:#d32f2f;font-weight:500}.success-msg{color:#2e7d32;font-weight:500}.loading{color:#888;font-size:18px;padding:50px;text-align:center}.placeholder-section{align-items:center;background-color:#f9f9f9;border:2px dashed #ddd;border-radius:8px;color:#aaa;display:flex;font-size:18px;height:300px;justify-content:center}.section-list{display:flex;flex-direction:column;gap:20px}.list-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:24px;transition:transform .2s,box-shadow .2s}.list-item-card:hover{box-shadow:0 10px 15px -3px #0000001a}.add-btn{background:#471022;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:all .2s}.add-btn:hover{background:#e482ad;box-shadow:0 4px 12px #e482ad4d;transform:translateY(-2px)}.tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tag{background:#fff0f6;border:1px solid #fce4ec;border-radius:6px;color:#880e4f;font-size:13px;font-weight:500;padding:4px 10px}.btn-primary{background-color:#e91e63;border-radius:6px;font-weight:500;padding:8px 16px;transition:background-color .2s}.btn-primary:hover{background-color:#c2185b}.projection-container{background-color:#f8fafc;color:#1e293b;font-family:Lexend,sans-serif;height:100vh;left:0;overflow-y:auto;padding:30px;position:fixed;top:0;width:100vw;z-index:99999}.projection-header{align-items:center;background:#fff;border-bottom:3px solid #db2777;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;display:flex;justify-content:space-between;margin-bottom:25px;padding:20px}.projection-title h1{color:#831843;font-size:2.2em;font-weight:800;letter-spacing:-.5px;margin:0}.projection-subtitle{color:#64748b;font-size:1.1em;margin-top:5px}.patient-info-header{align-items:center;display:flex;gap:20px;text-align:right}.patient-photo-projection{border:3px solid #db2777;border-radius:50%;box-shadow:0 4px 6px #0000001a;height:80px;object-fit:cover;width:80px}.projection-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto auto}.projection-card{background:#fff;border-radius:16px;border-top:5px solid #e2e8f0;box-shadow:0 4px 6px -1px #0000000d;overflow:hidden;padding:20px;transition:transform .2s}.projection-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.card-title{align-items:center;color:#475569;display:flex;font-size:.95em;font-weight:700;justify-content:space-between;letter-spacing:.5px;margin:0 0 15px;text-transform:uppercase}.card-pink{border-top-color:#ec4899}.card-red{border-top-color:#ef4444}.card-green{border-top-color:#10b981}.card-blue{border-top-color:#3b82f6}.card-purple{border-top-color:#8b5cf6}.card-orange{border-top-color:#f97316}.timeline-track{display:flex;gap:15px;overflow-x:auto;padding:10px 5px 20px;scrollbar-width:thin}.timeline-event-card{background-color:#f8fafc;border-left:4px solid #0000;border-radius:10px;font-size:.9em;min-width:200px;padding:12px;position:relative}.timeline-event-card.chemo{background:#fef2f2;border-left-color:#ef4444}.timeline-event-card.surgery{background:#eff6ff;border-left-color:#3b82f6}.timeline-event-card.radio{background:#fffbeb;border-left-color:#fbbf24}.timeline-event-card.consult{background:#f1f5f9;border-left-color:#94a3b8}.dense-table{border-collapse:collapse;font-size:.85em;width:100%}.dense-table th{border-bottom:2px solid #e2e8f0;color:#64748b;font-weight:600;padding:8px;text-align:left}.dense-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:8px}.dense-table tr:last-child td{border-bottom:none}.tag-badge{border-radius:4px;font-size:.85em;font-weight:600;padding:2px 6px}.tag-pos{background:#fee2e2;color:#991b1b}.tag-neg{background:#dcfce7;color:#166534}.tag-neu{background:#f1f5f9;color:#475569}.stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.stat-item{background:#f8fafc;border-radius:8px;padding:10px}.stat-label{color:#64748b;font-size:.75em;text-transform:uppercase}.stat-value{color:#334155;font-size:1.2em;font-weight:700}.patient-groups-page{animation:fadeIn .4s ease-out}.page-header{background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);margin-bottom:30px;padding:20px 25px}.page-header h1{font-size:1.6rem}.page-header>div{gap:10px}.btn-primary{background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-primary) 100%);box-shadow:0 4px 15px #e91e634d}.btn-primary:hover{box-shadow:0 6px 20px #e91e6366;transform:translateY(-2px)}.btn-secondary{background-color:var(--color-pink-bg);border:1px solid var(--color-primary-pale)}.btn-danger{background-color:#fff5f5;border:1px solid #ffe3e3;color:#fa5252}.btn-danger:hover{background-color:#ffe3e3;transform:translateY(-1px)}.btn-sm{border-radius:var(--border-radius-sm);font-size:.85rem;padding:8px 16px}.groups-table{background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-collapse:initial;border-radius:var(--border-radius-lg);border-spacing:0;box-shadow:var(--shadow-soft);overflow:hidden;width:100%}.groups-table th{background-color:var(--color-pink-bg);border-bottom:2px solid var(--color-primary-pale);color:var(--color-primary-deep);font-size:.8rem;font-weight:700;letter-spacing:.05em;padding:16px;text-align:left;text-transform:uppercase}.groups-table td{border-bottom:1px solid #f1f3f5;color:var(--color-text-main);font-size:.95rem;padding:14px 16px}.groups-table tr:hover td{background-color:var(--color-pink-bg)}.mono{color:var(--color-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem}.assign-bar{align-items:center;background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius-md);box-shadow:var(--shadow-soft);display:flex;gap:15px;margin-bottom:25px;padding:20px}.autocomplete-input{flex:1 1;margin-bottom:0!important}.form-section{background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);padding:30px}.form-section h2{border-bottom:2px solid var(--color-pink-bg);font-size:1.2rem;margin-bottom:25px;padding-bottom:10px}.form-group label{color:var(--color-primary-deep);font-size:.9rem;font-weight:600;margin-bottom:8px}.autocomplete-dropdown{animation:slideDown .2s ease-out;background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius-md);box-shadow:var(--shadow-medium);left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 5px);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.autocomplete-item{border-bottom:1px solid #f1f3f5;cursor:pointer;padding:12px 16px;transition:var(--transition-smooth)}.autocomplete-item:hover{background-color:var(--color-pink-bg)}.autocomplete-item strong{color:var(--color-primary-deep);display:block;margin-bottom:2px}.autocomplete-item small{color:var(--color-text-muted)}.container-error,.home-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center}.home-container{text-align:center}.home-nav ul{display:flex;gap:20px;list-style:none;padding:0}.home-nav li a{color:var(--color-text-primary);font-size:1.2em;font-weight:700;text-decoration:none}.container-logout{margin-top:20px}.navbar{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--color-primary);border-bottom:2px solid var(--color-primary-deep);box-shadow:0 4px 15px #880e4f33;color:#fff;display:flex;justify-content:space-between;padding:12px 30px;position:sticky;top:0;z-index:1000}.navbar-brand{color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:-.5px}.nav-list{align-items:center;display:flex;gap:8px;list-style:none;margin:0;padding:0}.nav-list li{position:relative}.dropbtn,.nav-list a{align-items:center;border-radius:var(--border-radius-sm);color:#ffffffe6;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:6px;padding:8px 16px;text-decoration:none;transition:var(--transition-smooth)}.dropbtn:hover,.nav-list a:hover{background-color:#fff3;color:#fff}.nav-list .active{background-color:var(--color-primary-deep);color:#fff}.dropdown-content{animation:slideDown .2s ease-out;background-color:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius-md);box-shadow:var(--shadow-medium);display:none;left:0;min-width:200px;padding:8px;position:absolute;top:100%;z-index:1001}.dropdown-content:before{background:#0000;content:"";height:10px;left:0;position:absolute;right:0;top:-10px}.dropdown:hover .dropdown-content{display:block}.dropdown-content a{border-radius:var(--border-radius-sm);color:var(--color-text-main);display:block;font-size:.9rem;font-weight:500;padding:10px 14px;transition:var(--transition-smooth)}.dropdown-content a:hover{background-color:var(--color-pink-bg);color:var(--color-primary);transform:translateX(5px)}.button-logout{background:var(--color-primary-deep)!important;box-shadow:0 4px 12px #880e4f33;color:#fff!important;font-weight:700!important;padding:8px 18px!important}.button-logout:hover{filter:brightness(1.2);transform:translateY(-1px)}:root{--spacing-large:40px;--spacing-medium:20px;--spacing-small:10px;--button-background:#d81b60;--color-text-secondary:#fff;--border-radius:8px;--font-size-title:2rem;--font-size-normal:1rem;--color-secondary:#fce4ec;--color-text-primary:#212121}.landing-container{color:#212121;color:var(--color-text-primary);font-family:var(--font-family);line-height:1.6;margin:40px auto;margin:var(--spacing-large) auto;max-width:960px;padding:0 20px;padding:0 var(--spacing-medium)}.landing-hero{background-color:#f5e8f5;border-bottom:5px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);border-top:5px solid var(--color-primary);margin-bottom:40px;margin-bottom:var(--spacing-large);padding:60px 20px;padding:calc(var(--spacing-large)*1.5) var(--spacing-medium);text-align:center}.landing-hero h1{color:#d81b60;color:var(--button-background);font-size:2rem;font-size:var(--font-size-title);font-weight:600;margin-bottom:20px;margin-bottom:var(--spacing-medium)}.landing-hero p{color:#212121;color:var(--color-text-primary);font-size:1.15rem;margin-bottom:40px;margin-bottom:var(--spacing-large);margin-left:auto;margin-right:auto;max-width:750px}.landing-button{background-color:#d81b60;background-color:var(--button-background);border:none;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;color:#fff;color:var(--color-text-secondary);cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:700;padding:15px 48px;padding:calc(var(--spacing-small)*1.5) calc(var(--spacing-large)*1.2);text-decoration:none;transform:scale(1);transition:background-color .3s ease,transform .2s ease}.landing-button:hover{background-color:#212121;background-color:var(--color-text-primary);box-shadow:0 4px 8px #00000026;color:#fff;transform:scale(1.03)}.landing-section{background-color:#fff;border-left:5px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 3px 8px #0000000f;margin-bottom:40px;margin-bottom:var(--spacing-large);padding:40px;padding:var(--spacing-large)}.landing-section h2{color:#d81b60;color:var(--button-background);font-size:1.6rem;font-size:calc(var(--font-size-title)*.8);font-weight:600;margin-bottom:20px;margin-bottom:var(--spacing-medium);padding-bottom:10px;padding-bottom:var(--spacing-small)}.landing-benefit-list,.landing-step-list{list-style:none;margin:0;padding:0}.landing-step-item{align-items:flex-start;display:flex;gap:20px;gap:var(--spacing-medium);margin-bottom:32px;margin-bottom:calc(var(--spacing-large)*.8)}.landing-step-icon{color:#d81b60;color:var(--button-background);flex-shrink:0;font-size:1.8rem;line-height:1.2}.landing-step-content{flex-grow:1}.landing-step-content strong{color:#212121;color:var(--color-text-primary);display:block;font-size:1.1em;line-height:1.2;margin-bottom:5px;margin-bottom:calc(var(--spacing-small)/2)}.landing-step-content{color:#212121;color:var(--color-text-primary);font-size:1rem;line-height:1.6;opacity:.9}.landing-benefit-list{padding-left:0}.landing-benefit-item{color:#212121;color:var(--color-text-primary);font-size:1.05rem;margin-bottom:20px;margin-bottom:var(--spacing-medium);padding-left:30px;padding-left:calc(var(--spacing-medium) + 10px);position:relative}.landing-benefit-item:before{color:#d81b60;color:var(--button-background);content:"✔";font-size:1.1em;font-weight:700;left:0;line-height:1;position:absolute;top:1px}.landing-who-section{grid-gap:40px;grid-gap:var(--spacing-large);display:grid;gap:40px;gap:var(--spacing-large);grid-template-columns:1fr 1fr}.landing-who-box{border-left:none;border-radius:8px;border-radius:var(--border-radius);padding:20px;padding:var(--spacing-medium)}.landing-who-box h3{border-bottom:2px solid;font-weight:600;margin-bottom:20px;margin-bottom:var(--spacing-medium);margin-top:0;padding-bottom:10px;padding-bottom:var(--spacing-small)}.landing-who-box h3,.landing-who-box ul{color:#212121;color:var(--color-text-primary)}.landing-who-box ul{list-style:disc;margin-bottom:0;padding-left:20px;padding-left:var(--spacing-medium)}.landing-who-yes{background-color:#e6ffe6;border:1px solid #a3d9a3;border-left:5px solid #3c3}.landing-who-yes h3{border-color:#3c3}.landing-who-no{background-color:#ffeee6;border:1px solid #f5c5a9;border-left:5px solid #f60}.landing-who-no h3{border-color:#f60}.landing-form-section{background-color:#f5e8f5;border-left:5px solid #d81b60;border-left:5px solid var(--button-background);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 3px 8px #0000000f;margin-bottom:40px;margin-bottom:var(--spacing-large);padding:40px;padding:var(--spacing-large)}.landing-form{gap:20px;gap:var(--spacing-medium)}.landing-form,.landing-form-group{display:flex;flex-direction:column}.landing-label{font-weight:700;margin-bottom:5px;margin-bottom:calc(var(--spacing-small)/2)}.landing-input,.landing-label{color:#212121;color:var(--color-text-primary)}.landing-input{background-color:#fff;border:1px solid var(--color-primary);border-radius:8px;border-radius:var(--border-radius);box-sizing:border-box;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-normal);margin-bottom:10px;margin-bottom:var(--spacing-small);padding:10px;padding:var(--spacing-small);transition:border-color .3s ease,box-shadow .3s ease;width:100%}.landing-input::placeholder{color:var(--color-primary)}.landing-input:focus{border-color:#d81b60;border-color:var(--button-background);box-shadow:0 0 0 3px #e482ad33;outline:none}.landing-form small{color:#212121;color:var(--color-text-primary);font-size:.9em;margin-top:5px;opacity:.8}.landing-consent-group{align-items:flex-start;border-radius:4px;border-radius:calc(var(--border-radius)/2);display:flex;font-size:.9rem;margin-top:10px;margin-top:var(--spacing-small);padding:10px;padding:var(--spacing-small)}.landing-checkbox{accent-color:#d81b60;accent-color:var(--button-background);flex-shrink:0;margin-right:10px;margin-right:var(--spacing-small);margin-top:3px;transform:scale(1.2)}.landing-consent-group label{color:#212121;color:var(--color-text-primary);font-weight:400;line-height:1.5}.landing-consent-link{color:#d81b60;color:var(--button-background);font-weight:700;text-decoration:underline;transition:color .3s ease}.landing-consent-link:hover{color:#212121;color:var(--color-text-primary)}.landing-message{border:1px solid #0000;border-radius:8px;border-radius:var(--border-radius);font-weight:700;margin-top:10px;margin-top:var(--spacing-small);padding:10px;padding:var(--spacing-small);text-align:center}.landing-error{background-color:#fdd;border-color:#d8000c;color:#d8000c}.landing-success{background-color:#dfd;border-color:#4f8a10;color:#4f8a10}.landing-footer{border-top:1px solid var(--color-primary);color:#212121;color:var(--color-text-primary);font-size:.9rem;margin-top:40px;margin-top:var(--spacing-large);opacity:.9;padding:20px 0;padding:var(--spacing-medium) 0;text-align:center}.landing-footer p{margin-bottom:10px;margin-bottom:var(--spacing-small)}.landing-footer-link{color:#d81b60;color:var(--button-background);margin:0 10px;margin:0 var(--spacing-small);text-decoration:none;transition:color .3s ease,-webkit-text-decoration .3s ease;transition:color .3s ease,text-decoration .3s ease;transition:color .3s ease,text-decoration .3s ease,-webkit-text-decoration .3s ease}.landing-footer-link:hover{color:#212121;color:var(--color-text-primary);text-decoration:underline}.landing-cofepris{font-weight:700;margin-top:10px;margin-top:var(--spacing-small)}.landing-note{color:#212121;color:var(--color-text-primary);font-style:italic;opacity:.8}.landing-note,.specialists-landing-container{margin-top:20px;margin-top:var(--spacing-medium)}.specialists-landing-container{display:flex;flex-wrap:wrap;gap:40px;gap:var(--spacing-large);justify-content:center;margin-bottom:40px;margin-bottom:var(--spacing-large);margin-left:auto;margin-right:auto;max-width:650px}.specialist-card-landing{flex-basis:240px;flex-grow:0;text-align:center}.specialist-photo-landing{background-color:#fce4ec;background-color:var(--color-secondary);border:3px solid var(--color-primary);border-radius:50%;box-shadow:0 2px 5px #0000001a;height:120px;margin-bottom:20px;margin-bottom:var(--spacing-medium);object-fit:cover;width:120px}.specialist-card-landing h3{color:#212121;color:var(--color-text-primary);font-size:1.1rem;font-weight:600;margin-bottom:3.33333px;margin-bottom:calc(var(--spacing-small)/3)}.specialist-card-landing p{color:#212121;color:var(--color-text-primary);font-size:.95rem;line-height:1.3;margin-bottom:0;opacity:.9}.team-section-landing{text-align:center}.team-link-button{margin-top:20px;margin-top:var(--spacing-medium)}@media (max-width:768px){.specialists-landing-container{gap:20px;gap:var(--spacing-medium);max-width:100%}.specialist-card-landing{flex-basis:200px}.specialist-photo-landing{height:125px;width:100px}}@media (max-width:480px){.specialist-card-landing{flex-basis:180px}.specialist-photo-landing{height:115px;width:90px}.specialist-card-landing h3{font-size:1rem}.specialist-card-landing p{font-size:.9rem}}@media (max-width:768px){.landing-who-section{grid-template-columns:1fr}.landing-hero h1{font-size:1.7rem;font-size:calc(var(--font-size-title)*.85)}.landing-section h2{font-size:1.5rem;font-size:calc(var(--font-size-title)*.75)}.landing-container{margin-bottom:20px;margin-bottom:var(--spacing-medium);margin-top:20px;margin-top:var(--spacing-medium)}.landing-form-section,.landing-section{border-left-width:4px;padding:20px;padding:var(--spacing-medium)}.landing-button{font-size:1rem;padding:10px 40px;padding:var(--spacing-small) var(--spacing-large)}}@media (max-width:600px){.landing-step-item{align-items:flex-start;flex-direction:column;gap:10px;gap:var(--spacing-small)}.landing-step-icon{font-size:1.6rem}}.team-page-container{color:var(--color-text-main);font-family:var(--font-family);line-height:1.6;margin:40px auto;max-width:1100px;padding:0 20px}.team-page-container h1{color:var(--color-primary);font-size:2.5rem;font-weight:700;margin-bottom:20px;text-align:center}.team-intro{color:var(--color-text-main);font-size:1.1rem;margin-bottom:calc(var(--spacing-large)*1.5);margin-left:auto;margin-right:auto;max-width:800px;opacity:.9;text-align:center}.specialists-section h2,.support-team-section h2{border-bottom:2px solid var(--color-primary);color:var(--color-primary);font-size:1.8rem;font-weight:600;margin-bottom:30px;padding-bottom:10px;text-align:left}.specialists-grid,.support-team-grid{grid-gap:var(--spacing-large);display:grid;gap:var(--spacing-large);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:calc(var(--spacing-large)*1.5)}.specialist-profile-card,.support-member-card{background-color:#fff;border-radius:var(--border-radius);border-top:4px solid var(--color-primary);box-shadow:0 4px 10px #00000014;padding:var(--spacing-large);text-align:center;transition:transform .3s ease,box-shadow .3s ease}.specialist-profile-card:hover,.support-member-card:hover{box-shadow:0 8px 15px #0000001f;transform:translateY(-5px)}.specialist-photo-full,.support-photo{background-color:var(--color-pink-bg);border:4px solid var(--color-primary);border-radius:50%;box-shadow:0 2px 5px #0000001a;display:block;height:150px;margin:0 auto 20px;object-fit:cover;width:150px}.specialist-info h3,.support-info h3{color:var(--color-text-main);font-size:1.3rem;font-weight:600;margin-bottom:10px;margin-top:0}.specialist-info h4,.support-info h4{color:var(--color-primary);font-size:1.05rem;font-weight:500;margin-bottom:20px;margin-top:0}.specialist-info p,.support-info p{color:var(--color-text-main);font-size:.95rem;line-height:1.6;margin-bottom:0;opacity:.9;text-align:justify}.team-page-container .landing-button{margin-top:var(--spacing-medium)}@media (max-width:768px){.team-page-container{padding:0 var(--spacing-small)}.specialists-grid,.support-team-grid{gap:var(--spacing-large);grid-template-columns:1fr}.specialist-photo-full,.support-photo{height:130px;width:130px}.team-page-container h1{font-size:calc(var(--font-size-title)*.9)}.team-intro{font-size:1rem;margin-bottom:var(--spacing-large)}.specialists-section h2,.support-team-section h2{font-size:calc(var(--font-size-title)*.75)}.specialist-profile-card,.support-member-card{padding:var(--spacing-medium)}.specialist-info h3,.support-info h3{font-size:1.2rem}.specialist-info h4,.support-info h4{font-size:1rem}.specialist-info p,.support-info p{font-size:.9rem}}@media (max-width:480px){.specialist-photo-full,.support-photo{height:110px;width:110px}}.privacy-policy-container{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 3px 8px #0000000f;color:var(--color-text-primary);font-family:var(--font-family);line-height:1.6;margin:var(--spacing-large) auto;max-width:800px;padding:var(--spacing-large)}.back-button-container{margin-bottom:var(--spacing-medium);text-align:left}.back-button{align-items:center;background:none;border:none;color:var(--button-background);cursor:pointer;display:inline-flex;font:inherit;font-size:1rem;font-weight:500;gap:calc(var(--spacing-small)/2);margin:0;outline:inherit;padding:var(--spacing-small) 0;text-decoration:none;transition:color .3s ease,-webkit-text-decoration .3s ease;transition:color .3s ease,text-decoration .3s ease;transition:color .3s ease,text-decoration .3s ease,-webkit-text-decoration .3s ease}.back-button span{font-size:1.2em;line-height:1}.back-button:focus,.back-button:hover{color:var(--color-text-primary);text-decoration:underline}.privacy-policy-container h1{color:var(--button-background);font-size:calc(var(--font-size-title)*1.1);font-weight:600;margin-bottom:var(--spacing-small);text-align:center}.last-updated{color:var(--color-text-primary);font-size:.9rem;margin-bottom:var(--spacing-large);opacity:.8;text-align:center}.privacy-section{margin-bottom:calc(var(--spacing-large)*1.2)}.privacy-section h2{border-bottom:2px solid var(--color-primary);color:var(--button-background);font-size:calc(var(--font-size-title)*.85);font-weight:600;margin-bottom:var(--spacing-large);padding-bottom:var(--spacing-small);text-align:left}.privacy-section p{-webkit-hyphens:auto;hyphens:auto;line-height:1.7;margin-bottom:var(--spacing-medium);text-align:justify}.privacy-section ul{list-style:disc;margin-bottom:var(--spacing-medium);margin-left:var(--spacing-large);padding-left:var(--spacing-small)}.privacy-section li{margin-bottom:var(--spacing-small)}.privacy-section strong{font-weight:600}@media (max-width:768px){.privacy-policy-container{margin:var(--spacing-medium) auto;padding:var(--spacing-medium)}.privacy-policy-container h1{font-size:calc(var(--font-size-title)*.9)}.privacy-section h2{font-size:calc(var(--font-size-title)*.75)}}@media (max-width:480px){.privacy-policy-container h1{font-size:calc(var(--font-size-title)*.8)}.privacy-section h2{font-size:calc(var(--font-size-title)*.7)}}.interview-builder{margin:0 auto;max-width:1000px;padding:20px}.page-header{flex-wrap:wrap;gap:12px}.page-header>div{display:flex;gap:8px}.btn-primary{background-color:var(--color-primary);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{color:var(--color-primary)}.btn-secondary:hover{background-color:var(--color-pink-bg)}.btn-danger{background-color:#e74c3c;border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;padding:8px 16px;transition:all .2s}.btn-danger:hover{background-color:#c0392b}.btn-full{margin-top:12px;width:100%}.btn-icon{align-items:center;background-color:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:50%;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:16px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.btn-icon:hover{background-color:var(--color-primary-pale)}.btn-icon:disabled{cursor:not-allowed;opacity:.3}.btn-icon.btn-danger{background-color:#fde8e8;border-color:#e74c3c;color:#e74c3c}.btn-icon.btn-danger:hover{background-color:#e74c3c;color:#fff}.empty-state p{color:#888;margin-bottom:16px}.definitions-table{background:#fff;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000000f;overflow:hidden;width:100%}.definitions-table th{background-color:var(--color-pink-bg);color:var(--color-primary-deep);font-weight:600;padding:14px 16px;text-align:left}.definitions-table td{border-bottom:1px solid #eee;padding:12px 16px}.definitions-table tr:hover td{background-color:var(--color-pink-bg)}.mono{font-family:monospace;font-size:14px}.center{text-align:center}.actions-cell{display:flex;gap:6px}.form-section{background:#fff;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000000f;margin-bottom:20px;padding:24px}.form-section h2{color:var(--color-primary-deep);font-size:18px;margin:0 0 16px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h2{margin:0}.form-row{display:flex;flex-wrap:wrap;gap:16px}.form-group{flex:1 1;margin-bottom:16px;min-width:150px}.form-group label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.flex-1{flex:1 1}.flex-2{flex:2 1}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:var(--font-family);font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #e91e6326;outline:none}.form-group textarea{resize:vertical}.question-editor{background-color:#fafafa;border:1px solid #eee;border-radius:var(--border-radius);margin-bottom:16px;overflow:hidden;transition:box-shadow .2s}.question-editor:hover{box-shadow:0 2px 12px #00000014}.question-editor-header{align-items:center;background-color:var(--color-pink-bg);border-bottom:1px solid var(--color-primary-pale);display:flex;justify-content:space-between;padding:12px 16px}.question-number{color:var(--color-primary-deep);font-size:16px;font-weight:700}.question-actions{display:flex;gap:6px}.question-editor-body{padding:16px}.options-section{margin-bottom:16px}.options-section>label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.option-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.option-value{flex:1 1}.option-label,.option-synonyms{flex:2 1}.option-row input{border:1px solid #ddd;border-radius:6px;font-size:13px;padding:8px 10px}.validation-row{align-items:flex-end}.mapper-group{border-top:1px dashed #ddd;margin-top:8px;padding-top:12px}.mapper-group select{background-color:#f0f0ff;font-weight:500}@media (max-width:768px){.form-row,.option-row{flex-direction:column}.interview-builder{padding:12px}}.submissions-page{margin:0 auto;max-width:1000px;padding:20px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-header h1{color:var(--color-primary-deep);font-size:24px;margin:0}.filters-bar{align-items:flex-end;background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius);box-shadow:var(--shadow-soft);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:16px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{color:#666;font-size:13px;font-weight:500}.filter-group input,.filter-group select{border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:180px;padding:8px 12px}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.badge-progress{background-color:#fff3cd;color:#856404}.badge-done{background-color:#d4edda;color:#155724}.badge-pending{background-color:#e2e3e5;color:#383d41}.submissions-list{display:flex;flex-direction:column;gap:8px}.submission-card{background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:var(--border-radius);box-shadow:var(--shadow-soft);overflow:hidden;transition:box-shadow .2s}.submission-card:hover{box-shadow:0 2px 12px #0000001a}.submission-card.expanded{box-shadow:0 4px 16px #0000001f}.submission-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:14px 20px;transition:background-color .15s}.submission-header:hover{background-color:var(--color-pink-bg)}.submission-info{display:flex;flex-direction:column;gap:2px}.submission-user{color:var(--color-primary-deep);font-weight:600}.submission-interview{color:#888;font-size:13px}.submission-meta{align-items:center;display:flex;gap:12px}.submission-progress{background:#f0f0f0;border-radius:4px;color:#666;font-family:monospace;font-size:14px;padding:3px 8px}.expand-icon{color:#999;font-size:12px}.submission-detail{border-top:1px solid #eee;padding:0 20px 20px}.answers-table{border-collapse:collapse;margin-top:12px;width:100%}.answers-table th{background-color:var(--color-pink-bg);color:var(--color-primary-deep);font-size:13px;font-weight:600;padding:10px 14px;text-align:left}.answers-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:10px 14px}.question-cell{color:#555;font-style:italic}.answer-cell{font-weight:500}.submission-footer{color:#999;display:flex;font-size:12px;justify-content:space-between;margin-top:12px}.btn-secondary{background-color:initial;border:2px solid var(--color-primary-pale);border-radius:var(--border-radius);color:var(--color-primary-deep);cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.btn-secondary:hover{background-color:var(--color-primary-pale)}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-sm{font-size:14px;padding:6px 12px}.error-msg{background-color:#fde8e8;border-left:4px solid #e74c3c;border-radius:var(--border-radius);color:#c0392b;margin-bottom:16px;padding:12px 16px}.loading-text{color:#888;padding:40px;text-align:center}.empty-state{border:2px dashed #ccc;border-radius:var(--border-radius);padding:60px 20px}.test-chat-page{display:flex;height:calc(100vh - 80px);justify-content:center;padding:20px}.chat-container{background:#ece5dd;border-radius:12px;box-shadow:0 4px 24px #0000001f;display:flex;flex-direction:column;max-width:700px;overflow:hidden;width:100%}.chat-header{background:linear-gradient(135deg,#e482ad,#d0699a);color:#fff;justify-content:space-between;padding:12px 20px}.chat-header,.chat-header-info{align-items:center;display:flex}.chat-header-info{gap:12px}.chat-avatar{align-items:center;background:#ffffff40;border-radius:50%;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.chat-header h2{font-size:18px;margin:0}.chat-subtitle{font-size:12px;opacity:.85}.btn-clear{background:none;border:none;border-radius:50%;cursor:pointer;font-size:20px;padding:8px;transition:background .2s}.btn-clear:hover{background:#ffffff26}.chat-messages{background-image:radial-gradient(circle at 20% 80%,#e482ad0d 0,#0000 50%),radial-gradient(circle at 80% 20%,#e482ad0d 0,#0000 50%);display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:20px}.chat-welcome{color:#888;padding:40px 20px;text-align:center}.welcome-icon{font-size:48px;margin-bottom:12px}.welcome-hint{color:#aaa;font-size:13px;margin-top:8px}.message{display:flex;max-width:80%}.message.user{align-self:flex-end}.message.bot{align-self:flex-start}.message-bubble{word-wrap:break-word;border-radius:12px;box-shadow:0 1px 2px #00000014;padding:10px 14px;position:relative}.message.user .message-bubble{background-color:#dcf8c6;border-bottom-right-radius:4px}.message.bot .message-bubble{background-color:#fff;border-bottom-left-radius:4px}.message-bubble p{color:#303030;font-size:15px;line-height:1.45;margin:0;white-space:pre-wrap}.message-time{color:#999;display:block;font-size:11px;margin-top:4px;text-align:right}.typing{display:flex;gap:4px;padding:14px 18px!important}.dot{animation:typing-bounce 1.2s ease-in-out infinite;background-color:#bbb;border-radius:50%;height:8px;width:8px}.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.chat-error{background:#fde8e8;color:#c0392b;font-size:13px;padding:8px 16px;text-align:center}.chat-input-bar{align-items:flex-end;background:#f0f0f0;border-top:1px solid #ddd;display:flex;gap:8px;padding:12px 16px}.chat-input-bar textarea{background:#fff;border:none;border-radius:20px;box-shadow:0 1px 3px #0000000f;flex:1 1;font-family:var(--font-family);font-size:15px;max-height:100px;outline:none;padding:10px 14px;resize:none}.chat-input-bar textarea:focus{box-shadow:0 0 0 2px #e482ad4d}.btn-send{align-items:center;background:linear-gradient(135deg,#e482ad,#d0699a);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:44px;justify-content:center;transition:transform .15s,opacity .15s;width:44px}.btn-send:hover{transform:scale(1.05)}.btn-send:active{transform:scale(.95)}.btn-send:disabled{cursor:not-allowed;opacity:.4;transform:none}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.chat-messages::-webkit-scrollbar-track{background:#0000}@media (max-width:768px){.test-chat-page{height:100vh;padding:0}.chat-container{border-radius:0}.message{max-width:90%}}.config-overlay{background:#00000080;bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:1000}.config-panel{animation:slide-in .3s ease-out;background:#fff;box-shadow:-4px 0 16px #0000001a;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:24px;width:320px}@keyframes slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.config-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding-bottom:12px}.config-header h3{color:#333;font-size:16px;margin:0}.btn-close-config{background:none;border:none;color:#999;cursor:pointer;font-size:20px}.config-section{display:flex;flex-direction:column;gap:12px}.config-title{color:#aaa;font-size:12px;font-weight:700;letter-spacing:.5px;margin-top:8px;text-transform:uppercase}.config-form-group{display:flex;flex-direction:column;gap:6px}.config-form-group label{color:#555;font-size:13px;font-weight:600}.config-form-group input,.config-form-group select{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 10px}.btn-save-config{background:linear-gradient(135deg,#e482ad,#d0699a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:12px;transition:opacity .2s}.btn-save-config:hover{opacity:.9}.btn-save-config:disabled{cursor:default;opacity:.5}.rag-container{animation:fadeIn .5s ease-out;margin:0 auto;max-width:1200px;padding:30px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rag-header{align-items:center;background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:16px;box-shadow:var(--shadow-soft);display:flex;justify-content:space-between;margin-bottom:40px;padding:20px 30px}.rag-header h2{color:var(--color-primary-deep);font-size:1.8rem;font-weight:700;margin:0}.upload-label{align-items:center;background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-primary) 100%);border-radius:12px;box-shadow:0 4px 15px #e91e634d;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.upload-label:hover{box-shadow:0 6px 20px #e91e6366;filter:brightness(1.1);transform:translateY(-2px)}.upload-label.disabled{cursor:not-allowed;opacity:.7;transform:none}.docs-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.doc-card{background:var(--color-pink-bg);border:1px solid var(--color-primary-pale);border-radius:20px;display:flex;flex-direction:column;gap:15px;overflow:hidden;padding:25px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.doc-card:hover{border-color:var(--color-primary);box-shadow:0 12px 30px #e91e6314;transform:translateY(-5px)}.doc-icon{color:var(--color-primary);font-size:40px;margin-bottom:5px}.doc-info{flex-grow:1}.doc-name{color:#333;display:block;font-size:1.1rem;font-weight:700;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-size{color:#888;font-size:.85rem}.doc-actions{display:flex;gap:10px;margin-top:10px}.action-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:5px;justify-content:center;padding:10px;transition:all .2s}.view-btn{background:var(--color-bg-main);color:var(--color-primary-deep)}.view-btn:hover{background:#eee}.download-btn{background:var(--color-pink-bg);color:var(--color-primary)}.download-btn:hover{background:#ffe3ef}.delete-btn{background:#fff5f5;color:#fa5252}.delete-btn:hover{background:#ffe3e3}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.doc-modal{animation:modalScale .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:24px;display:flex;flex-direction:column;max-height:80vh;max-width:800px;overflow:hidden;width:90%}@keyframes modalScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{align-items:center;background:var(--color-pink-bg);border-bottom:1px solid var(--color-primary-pale);display:flex;justify-content:space-between;padding:20px 30px}.modal-header h3{color:var(--color-primary-deep);margin:0}.close-modal{background:none;border:none;color:#888;cursor:pointer;font-size:24px}.modal-content{color:#444;font-family:Inter,sans-serif;line-height:1.6;overflow-y:auto;padding:30px;white-space:pre-wrap}.empty-state{background:#fff;border-radius:24px;color:#888;padding:60px;text-align:center}.status-toast{animation:slideIn .3s ease-out;border-radius:12px;bottom:30px;box-shadow:0 10px 30px #0000001a;color:#fff;font-weight:600;padding:15px 25px;position:fixed;right:30px;z-index:3000}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.toast-error{background:#fa5252}.toast-success{background:#40c057}
/*# sourceMappingURL=main.b6c3c8d2.css.map*/