.file-upload{width:100%}.drop-zone{border:2px dashed #cbd5e0;border-radius:8px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#f7fafc}.drop-zone:hover{border-color:#3498db;background-color:#edf2f7}.drop-zone.dragging{border-color:#3498db;background-color:#e3f2fd;transform:scale(1.02)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-icon{width:64px;height:64px;color:#718096}.drop-text{font-size:1.1rem;color:#4a5568;margin:0}.drop-text-or{font-size:.9rem;color:#a0aec0;margin:0}.selected-file-info{padding:1rem;background-color:#fff;border-radius:6px;border:1px solid #e2e8f0}.file-name{font-weight:600;color:#2d3748;margin-bottom:.5rem;word-break:break-all}.file-size{font-size:.9rem;color:#718096}.upload-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:center}.upload-progress{margin-top:1.5rem}.progress-bar{width:100%;height:24px;background-color:#e2e8f0;border-radius:12px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);transition:width .3s ease;display:flex;align-items:center;justify-content:center}.progress-text{text-align:center;margin-top:.5rem;font-weight:600;color:#2d3748}.file-list{width:100%}.file-count{font-size:.9rem;color:#718096;margin-bottom:1rem;font-weight:500}.empty-subtext{font-size:.9rem;color:#a0aec0}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0}.filename-cell{display:flex;align-items:center;gap:.75rem}.file-icon{width:24px;height:24px;color:#3498db;flex-shrink:0}.filename{word-break:break-word;font-weight:500;color:#2d3748}@media (max-width: 768px){.table-container{font-size:.85rem}th,td{padding:.75rem .5rem}.filename-cell{gap:.5rem}.file-icon{width:20px;height:20px}@media (max-width: 600px){table,thead,tbody,th,td,tr{display:block}thead tr{position:absolute;top:-9999px;left:-9999px}tr{margin-bottom:1rem;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem}td{border:none;position:relative;padding-left:50%;text-align:right}td:before{position:absolute;left:.5rem;width:45%;padding-right:.5rem;white-space:nowrap;text-align:left;font-weight:600;content:attr(data-label)}}}.article-list{width:100%}.article-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.article-count{font-size:.9rem;color:#718096;font-weight:500;display:flex;align-items:center;gap:.5rem}.page-info{font-size:.85rem;color:#a0aec0;font-weight:400}.bulk-download-btn{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.download-icon{width:18px;height:18px}.loading-container{display:flex;align-items:center;justify-content:center;padding:3rem;gap:1rem}.empty-state{text-align:center;padding:3rem 2rem;color:#718096}.empty-icon{width:80px;height:80px;margin:0 auto 1rem;color:#cbd5e0}.empty-state p{font-size:1.1rem;margin-bottom:.5rem}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:1.5rem}table{margin:0}.title-cell{max-width:400px}.article-title{font-weight:500;color:#2d3748;margin-bottom:.5rem;line-height:1.4}.article-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{display:inline-block;padding:.2rem .6rem;background-color:#edf2f7;color:#4a5568;border-radius:12px;font-size:.75rem;font-weight:500}.source-badge{display:inline-block;padding:.3rem .8rem;background-color:#ebf8ff;color:#2c5282;border-radius:6px;font-size:.85rem;font-weight:500}.date-cell{color:#718096;font-size:.9rem}.action-buttons{display:flex;gap:.5rem}.btn-secondary{background-color:#718096;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s;text-decoration:none;display:inline-block;text-align:center}.btn-secondary:hover{background-color:#4a5568}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}.pagination-btn{padding:.5rem 1rem;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;color:#4a5568;transition:all .2s}.pagination-btn:hover:not(:disabled){background-color:#f7fafc;border-color:#cbd5e0}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background-color:#3498db;color:#fff;border-color:#3498db}.pagination-ellipsis{padding:.5rem;color:#a0aec0;font-weight:500}.loading-sm{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.article-header{flex-direction:column;align-items:flex-start}.bulk-download-btn{width:100%;justify-content:center}.table-container{font-size:.85rem}th,td{padding:.75rem .5rem}.title-cell{max-width:250px}.action-buttons{flex-direction:column;gap:.3rem}.btn-sm{width:100%}.pagination-btn{padding:.4rem .8rem;font-size:.85rem}}@media (max-width: 600px){table,thead,tbody,th,td,tr{display:block}thead tr{position:absolute;top:-9999px;left:-9999px}tr{margin-bottom:1rem;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem}td{border:none;position:relative;padding-left:50%;text-align:right}td:before{position:absolute;left:.5rem;width:45%;padding-right:.5rem;white-space:nowrap;text-align:left;font-weight:600;content:attr(data-label)}.title-cell{max-width:100%;padding-left:.5rem!important;text-align:left!important}.title-cell:before{display:none}.action-buttons{flex-direction:row;justify-content:flex-end}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;width:100%;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:.5rem;font-weight:700}.login-header p{color:#718096;font-size:1rem}.login-form,.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2d3748;font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:6px;font-size:1rem;transition:all .2s;font-family:inherit}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.btn-block{width:100%;padding:.875rem;font-size:1rem;font-weight:600;margin-top:.5rem}.btn-primary.btn-block{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary.btn-block:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#65408b);transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.divider{position:relative;text-align:center;margin:1.5rem 0}.divider:before{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background-color:#e2e8f0}.divider span{position:relative;background-color:#fff;padding:0 1rem;color:#a0aec0;font-size:.9rem;font-weight:500}.google-signin-container{display:flex;justify-content:center;margin:1.5rem 0}#google-signin-button{display:flex;justify-content:center}.login-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.link-button{background:none;border:none;color:#667eea;font-size:.9rem;cursor:pointer;padding:.5rem;transition:color .2s}.link-button:hover:not(:disabled){color:#5568d3;text-decoration:underline}.link-button:disabled{color:#a0aec0;cursor:not-allowed}button .loading{display:inline-block;width:16px;height:16px;margin-right:.5rem;vertical-align:middle}@media (max-width: 480px){.login-container{padding:1rem}.login-card{padding:1.5rem}.login-header h1{font-size:2rem}}.index-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.hero{display:flex;align-items:center;justify-content:space-between;padding:4rem 2rem;max-width:1200px;margin:0 auto;min-height:80vh;gap:4rem}.hero-content{flex:1;max-width:600px}.hero-title{font-size:3.5rem;font-weight:800;margin-bottom:1.5rem;line-height:1.2}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.95;line-height:1.6}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-actions .btn-primary,.hero-actions .btn-secondary{padding:1rem 2rem;font-size:1.1rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;border:none}.hero-actions .btn-primary{background:#fff;color:#667eea}.hero-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffffff4d}.hero-actions .btn-secondary{background:#fff3;color:#fff;border:2px solid white}.hero-actions .btn-secondary:hover{background:#ffffff4d;transform:translateY(-2px)}.hero-illustration{flex:1;display:flex;align-items:center;justify-content:center}.hero-graphic{width:300px;height:300px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.podcast-icon{font-size:8rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.features{padding:4rem 2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:3rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.feature-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:16px;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.feature-card:hover{transform:translateY(-5px);background:#ffffff26;box-shadow:0 8px 24px #0003}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.5rem;margin-bottom:1rem;font-weight:600}.feature-card p{opacity:.9;line-height:1.6}.how-it-works{padding:4rem 2rem;max-width:1200px;margin:0 auto}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.step{text-align:center;padding:2rem}.step-number{width:60px;height:60px;background:#fff;color:#667eea;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1.5rem}.step p{font-size:1.1rem;opacity:.95;line-height:1.6}.footer{text-align:center;padding:2rem;opacity:.8;border-top:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.hero{flex-direction:column;text-align:center;padding:2rem 1rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-actions{justify-content:center}.hero-illustration{margin-top:2rem}.hero-graphic{width:200px;height:200px}.podcast-icon{font-size:5rem}.section-title{font-size:2rem}.features-grid,.steps{grid-template-columns:1fr}}.home-page{min-height:calc(100vh - 80px);background:#f5f7fa;padding:2rem;display:flex;align-items:center;justify-content:center}.home-container{max-width:900px;width:100%}.home-hero{text-align:center;margin-bottom:3rem}.home-title{font-size:3rem;color:#2d3748;margin-bottom:1rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-subtitle{font-size:1.25rem;color:#718096}.podcast-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.podcast-button{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:2.5rem 2rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1.5rem;text-align:left}.podcast-button:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:#667eea}.podcast-button:active{transform:translateY(-2px)}.button-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0}.create-button .button-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.listen-button .button-icon{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.button-content h3{font-size:1.5rem;color:#2d3748;margin:0 0 .5rem;font-weight:600}.button-content p{font-size:.95rem;color:#718096;margin:0;line-height:1.5}.home-info{text-align:center;padding:2rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.info-text{color:#4a5568;font-size:1rem;line-height:1.6;margin:0}@media (max-width: 768px){.home-page{padding:1rem}.home-title{font-size:2rem}.home-subtitle{font-size:1.1rem}.podcast-actions{grid-template-columns:1fr;gap:1.5rem}.podcast-button{padding:2rem 1.5rem}.button-icon{width:50px;height:50px;font-size:1.5rem}.button-content h3{font-size:1.25rem}.button-content p{font-size:.875rem}}.profile-page{min-height:100vh;background:#f5f7fa;padding:2rem}.profile-container{max-width:900px;margin:0 auto}.profile-title{font-size:2.5rem;color:#2d3748;margin-bottom:2rem;font-weight:700}.profile-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.section-title{font-size:1.5rem;color:#2d3748;margin-bottom:1.5rem;font-weight:600;border-bottom:2px solid #667eea;padding-bottom:.5rem}.section-description{color:#718096;margin-bottom:1.5rem;line-height:1.6}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-item label{display:block;font-size:.875rem;color:#718096;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.info-item p{font-size:1.1rem;color:#2d3748;margin:0;padding:.75rem;background:#f7fafc;border-radius:6px}.tags-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.btn-small{padding:.5rem 1rem;font-size:.875rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease;border:none}.btn-secondary{background:#e2e8f0;color:#4a5568;border:1px solid #cbd5e0}.btn-secondary:hover{background:#cbd5e0}.tags-container{margin-bottom:2rem}.tags-subtitle{font-size:1rem;color:#4a5568;margin-bottom:1rem;font-weight:600}.tags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.tag-button{padding:.75rem 1rem;border:2px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:#4a5568;transition:all .2s ease;text-transform:capitalize;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative}.tag-button:hover{border-color:#667eea;background:#f7fafc}.tag-button.selected{background:#667eea;border-color:#667eea;color:#fff}.tag-check{font-weight:700;font-size:1rem}.selected-tags-preview{margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.tags-preview{display:flex;flex-wrap:wrap;gap:.5rem}.tag-chip{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:.875rem;font-weight:500;text-transform:capitalize}.btn-save{width:100%;padding:1rem 2rem;font-size:1.1rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;border:none;margin-top:2rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.message{padding:1rem;border-radius:8px;margin-top:1rem;font-weight:500}.message.success{background:#c6f6d5;color:#22543d;border:1px solid #9ae6b4}.message.error{background:#fed7d7;color:#742a2a;border:1px solid #fc8181}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.loading{border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.error-message{text-align:center;padding:2rem;color:#742a2a;background:#fed7d7;border-radius:8px;margin:2rem}@media (max-width: 768px){.profile-page{padding:1rem}.profile-title{font-size:2rem}.profile-section{padding:1.5rem}.info-grid{grid-template-columns:1fr}.tags-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.tags-actions{flex-direction:column}.btn-small{width:100%}}*{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}.container{max-width:1200px;margin:0 auto;padding:2rem}.header{background-color:#2c3e50;color:#fff;padding:1.5rem 0;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.header h1{text-align:center;font-size:2rem;font-weight:600}.main-content{display:flex;flex-direction:column;gap:2rem}.tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e2e8f0}.tab-button{padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;color:#718096;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border-radius:0}.tab-button:hover{color:#2c3e50;background-color:#3498db0d}.tab-button.active{color:#3498db;border-bottom-color:#3498db}.tab-button:disabled{opacity:.5;cursor:not-allowed}.articles-section{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.articles-section h2{margin-bottom:1.5rem;color:#2c3e50;font-size:1.5rem}.upload-section{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.upload-section h2{margin-bottom:1.5rem;color:#2c3e50;font-size:1.5rem}.files-section{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.files-section h2{margin-bottom:1.5rem;color:#2c3e50;font-size:1.5rem}button{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}button:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.4rem .8rem;font-size:.85rem}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover:not(:disabled){background-color:#229954}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d}.message{padding:1rem;border-radius:4px;margin-bottom:1rem;font-weight:500}.message.error{background-color:#ffe6e6;color:#c0392b;border:1px solid #e74c3c}.message.success{background-color:#d4edda;color:#155724;border:1px solid #27ae60}.message.info{background-color:#d1ecf1;color:#0c5460;border:1px solid #3498db}.loading{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}table{width:100%;border-collapse:collapse;margin-top:1rem}thead{background-color:#ecf0f1}th,td{padding:1rem;text-align:left;border-bottom:1px solid #ddd}th{font-weight:600;color:#2c3e50}tbody tr:hover{background-color:#f8f9fa}@media (max-width: 768px){.container{padding:1rem}table{font-size:.9rem}th,td{padding:.5rem}}
