@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--font-primary:"Outfit", sans-serif;--primary:#c8956a;--primary-hover:#9a6840;--primary-rgb:200, 149, 106;--secondary:#e2c4a8;--secondary-hover:#c8956a;--bg-app:#faf6f2;--bg-card:#fff;--bg-hover:#f3ece6;--text-main:#1e1612;--text-muted:#6b5b4e;--border-color:#eadfd7;--border-focus:#c8956a;--success:#2e7d32;--error:#d32f2f;--shadow-sm:0 2px 8px #4a5e510d;--shadow-md:0 8px 30px #4a5e5114;--shadow-lg:0 12px 40px #4a5e511f;--radius-sm:8px;--radius-md:16px;--radius-lg:24px}@media (prefers-color-scheme:dark){:root{--primary:#e2c4a8;--primary-hover:#faf6f2;--primary-rgb:226, 196, 168;--secondary:#c8956a;--secondary-hover:#faf6f2;--bg-app:#1e1612;--bg-card:#2b211c;--bg-hover:#3d302a;--text-main:#faf6f2;--text-muted:#b5a090;--border-color:#3d302a;--border-focus:#e2c4a8;--success:#4caf50;--error:#ef5350;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 30px #00000059;--shadow-lg:0 12px 40px #00000080}}*{box-sizing:border-box;font-family:var(--font-primary);margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .3s,color .3s}#root{flex-direction:column;min-height:100vh;display:flex}.app-header{background:rgba(var(--primary-rgb), .05);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:100;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.brand-container{align-items:center;gap:.75rem;display:flex}.brand-logo{background:var(--primary);color:#fff;width:40px;height:40px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.brand-text{flex-direction:column;display:flex}.brand-name{letter-spacing:-.5px;font-size:1.3rem;font-weight:700;line-height:1.1}.brand-sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.portal-switcher{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:50px;padding:4px;display:flex}.switch-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50px;align-items:center;gap:8px;padding:8px 20px;font-size:.9rem;font-weight:500;transition:all .3s;display:flex}.switch-btn.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.switch-btn:hover:not(.active){color:var(--text-main)}.main-container{flex-direction:column;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:var(--text-muted);opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);background:0 0}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-muted)}.btn-accent{background:var(--secondary);color:#37473d}.btn-accent:hover{background:var(--secondary-hover);transform:translateY(-1px)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#b71c1c}.stepper-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;max-width:650px;box-shadow:var(--shadow-md);margin:0 auto;padding:2.5rem;transition:all .3s}.step-indicator{justify-content:space-between;margin-bottom:2.5rem;display:flex;position:relative}.step-indicator:before{content:"";background:var(--border-color);z-index:1;height:2px;position:absolute;top:15px;left:0;right:0}.step-node{background:var(--bg-app);border:2px solid var(--border-color);width:32px;height:32px;color:var(--text-muted);z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;transition:all .3s;display:flex;position:relative}.step-node.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 0 4px rgba(var(--primary-rgb), .2)}.step-node.completed{background:var(--primary);border-color:var(--primary);color:#fff}.form-group{text-align:left;margin-bottom:1.5rem}.form-label{color:var(--text-main);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-input{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-app);width:100%;color:var(--text-main);padding:12px 16px;font-size:.95rem;transition:all .2s}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);background:var(--bg-card);outline:none}.options-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.option-card{border:1px solid var(--border-color);background:var(--bg-app);border-radius:var(--radius-sm);cursor:pointer;text-align:left;flex-direction:column;gap:4px;padding:16px;transition:all .2s;display:flex}.option-card:hover{background:var(--bg-hover);border-color:var(--text-muted)}.option-card.selected{background:rgba(var(--primary-rgb), .08);border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.option-title{color:var(--text-main);font-size:.95rem;font-weight:600}.option-desc{color:var(--text-muted);font-size:.8rem}.camera-container{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.camera-preview-wrapper{border-radius:var(--radius-md);width:320px;height:400px;box-shadow:var(--shadow-md);background:#000;position:relative;overflow:hidden}.webcam-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.webcam-canvas{display:none}.oval-guide{pointer-events:none;box-sizing:border-box;border:4px solid #0000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.oval-guide-shape{border:2px dashed #ffffffb3;border-radius:50%/60% 60% 40% 40%;width:140px;height:195px;transition:all .3s;position:relative;box-shadow:0 0 0 9999px #0006}.oval-guide-shape:before{content:"Alinea tu rostro aquí";color:#fff;white-space:nowrap;letter-spacing:.5px;background:#0009;border-radius:20px;padding:4px 12px;font-size:.75rem;position:absolute;bottom:-32px;left:50%;transform:translate(-50%)}.oval-guide-shape.captured{border-color:var(--success);border-style:solid}.captured-image{object-fit:cover;width:100%;height:100%}.audio-recorder-container{flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0;display:flex}.record-btn-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.record-btn{background:var(--error);color:#fff;cursor:pointer;z-index:5;border:none;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:1.8rem;transition:all .3s;display:flex;box-shadow:0 8px 20px #d32f2f4d}.record-btn.recording{background:var(--text-main);border-radius:16px;width:70px;height:70px;box-shadow:0 8px 20px #0003}.record-pulse-ring{border:2px solid var(--error);opacity:.8;pointer-events:none;z-index:1;border-radius:50%;width:100px;height:100px;animation:1.5s ease-out infinite pulse;position:absolute}@keyframes pulse{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}.waveform-container{justify-content:center;align-items:center;gap:3px;width:200px;height:40px;display:flex}.waveform-bar{background:var(--primary);border-radius:3px;width:3px;height:8px;transition:height .1s}.waveform-bar.active{animation:1.2s ease-in-out infinite soundWave}@keyframes soundWave{0%,to{height:8px}50%{height:35px}}.audio-player-custom{background:var(--bg-hover);border:1px solid var(--border-color);width:100%;max-width:320px;box-shadow:var(--shadow-sm);border-radius:50px;align-items:center;gap:12px;padding:10px 16px;display:flex}.player-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.player-progress{background:var(--border-color);border-radius:2px;flex:1;height:4px;position:relative;overflow:hidden}.player-progress-bar{background:var(--primary);width:0%;height:100%}.time-display{color:var(--text-muted);font-size:.8rem}.doctor-dashboard-layout{grid-template-columns:280px 1fr;gap:1.5rem;height:calc(100vh - 120px);display:grid}@media (width<=1024px){.doctor-dashboard-layout{grid-template-columns:1fr;height:auto}}.case-list-panel{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border-color);background:rgba(var(--primary-rgb), .02);padding:1.5rem}.case-list-items{flex-direction:column;flex:1;display:flex;overflow-y:auto}.case-item-card{border-bottom:1px solid var(--border-color);cursor:pointer;text-align:left;gap:8px;padding:1rem .75rem;transition:all .2s;display:flex}.case-item-card:hover{background:var(--bg-hover)}.case-item-card.active{background:rgba(var(--primary-rgb), .05);border-left:4px solid var(--primary)}.case-item-photo-mini{object-fit:cover;background:var(--border-color);border-radius:50%;width:40px;height:40px}.case-item-info{flex-direction:column;flex:1;gap:2px;display:flex}.case-item-name{color:var(--text-main);font-size:.95rem;font-weight:600}.case-item-meta{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.status-badge{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:600}.status-badge.pending{color:#a37f55;background:#c4a48426}.status-badge.resolved{color:var(--success);background:#2e7d3226}.case-evaluation-panel{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.evaluation-grid{flex:1;grid-template-columns:1fr 1.2fr;gap:1.5rem;height:calc(100% - 70px);padding:1.5rem;display:grid;overflow:hidden}@media (width<=768px){.evaluation-grid{grid-template-columns:1fr;height:auto;overflow-y:auto}}.patient-info-col{border-right:1px solid var(--border-color);flex-direction:column;gap:1.5rem;height:100%;padding-right:1.5rem;display:flex;overflow-y:auto}@media (width<=768px){.patient-info-col{border-right:none;border-bottom:1px solid var(--border-color);height:auto;padding-bottom:1.5rem;padding-right:0;overflow-y:visible}}.prescription-builder-col{flex-direction:column;gap:1.25rem;height:100%;padding-right:.5rem;display:flex;overflow-y:auto}@media (width<=768px){.prescription-builder-col{height:auto;padding-right:0;overflow-y:visible}}.catalog-search-wrapper{margin-bottom:1rem;position:relative}.catalog-search-results{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);z-index:10;width:100%;max-height:200px;box-shadow:var(--shadow-md);position:absolute;overflow-y:auto}.catalog-item-row{cursor:pointer;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:10px 14px;font-size:.9rem;transition:background .2s;display:flex}.catalog-item-row:hover{background:var(--bg-hover)}.catalog-item-details{text-align:left;flex-direction:column;display:flex}.catalog-item-name{color:var(--text-main);font-weight:500}.catalog-item-brand{color:var(--text-muted);font-size:.75rem}.catalog-item-price{color:var(--primary);font-weight:600}.selected-products-list{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.selected-product-card{border:1px solid var(--border-color);background:var(--bg-hover);border-radius:var(--radius-sm);padding:12px 16px;position:relative}.selected-product-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.selected-product-title{text-align:left}.selected-product-name{font-size:.95rem;font-weight:600}.selected-product-brand{color:var(--text-muted);font-size:.75rem}.remove-product-btn{color:var(--error);cursor:pointer;background:0 0;border:none;font-size:.8rem}.product-usage-input{border:1px solid var(--border-color);background:var(--bg-card);width:100%;color:var(--text-main);border-radius:4px;padding:6px 10px;font-size:.85rem}.template-category-section{text-align:left;margin-bottom:1rem}.template-category-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;margin-bottom:6px;font-size:.8rem;font-weight:600}.template-buttons-grid{flex-wrap:wrap;gap:6px;display:flex}.template-btn{background:var(--bg-hover);border:1px solid var(--border-color);cursor:pointer;color:var(--text-main);border-radius:20px;padding:6px 12px;font-size:.8rem;transition:all .2s}.template-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);flex-direction:column;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.5rem}.modal-body{padding:2rem}.notification-panels-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=768px){.notification-panels-grid{grid-template-columns:1fr}}.phone-mockup{box-shadow:var(--shadow-lg);aspect-ratio:9/18;background:#e5ddd5;border:12px solid #2d3748;border-radius:36px;flex-direction:column;max-width:320px;margin:0 auto;display:flex;overflow:hidden}.phone-header{color:#fff;background:#075e54;align-items:center;gap:8px;padding:12px 16px;font-size:.85rem;display:flex}.phone-avatar{background:#128c7e;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:flex}.phone-body{flex-direction:column;flex:1;justify-content:flex-end;padding:12px;display:flex;overflow-y:auto}.whatsapp-message{color:#303030;text-align:left;background:#dcf8c6;border-radius:8px;align-self:flex-start;max-width:85%;margin-bottom:8px;padding:10px 12px;font-size:.8rem;line-height:1.4;position:relative;box-shadow:0 1px 1px #0000001a}.whatsapp-link{color:#039be5;word-break:break-all;margin-top:4px;text-decoration:underline;display:block}.checkout-mockup{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-sm);text-align:left;padding:1.5rem}.checkout-header{border-bottom:2px solid var(--primary);justify-content:space-between;margin-bottom:1rem;padding-bottom:8px;display:flex}.checkout-item{border-bottom:1px solid var(--border-color);justify-content:space-between;margin-bottom:8px;padding-bottom:8px;font-size:.9rem;display:flex}.price-strike{color:var(--text-muted);margin-right:6px;font-size:.8rem;text-decoration:line-through}.checkout-summary{background:rgba(var(--primary-rgb), .02);border-radius:var(--radius-sm);margin-top:1rem;padding:12px}.checkout-row{justify-content:space-between;margin-bottom:6px;font-size:.9rem;display:flex}.checkout-row.total{border-top:1px solid var(--border-color);margin-top:6px;padding-top:6px;font-size:1.1rem;font-weight:700}.coupon-tag{color:var(--success);background:#2e7d321a;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:3rem;display:flex}.empty-icon{opacity:.5;font-size:3rem}.text-center{text-align:center}.text-left{text-align:left}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.d-flex{display:flex}.flex-column{flex-direction:column}.align-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.w-100{width:100%}.badge{border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:500}.badge-secondary{background:var(--bg-hover);color:var(--text-main);border:1px solid var(--border-color)}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.admin-table th{background:var(--bg-hover);border-bottom:1px solid var(--border-color);padding:12px 16px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-color);padding:14px 16px}.admin-table tr:hover{background:rgba(var(--primary-rgb), .01)}@media (width<=480px){.app-header{flex-direction:column;gap:12px;padding:.75rem 1rem}.portal-switcher{justify-content:center;width:100%}.switch-btn{flex:1;justify-content:center;padding:6px 12px;font-size:.8rem}.main-container{padding:1rem}.stepper-container{border-radius:var(--radius-md);padding:1.25rem 1rem}.camera-preview-wrapper{width:100%;max-width:290px;height:360px}.record-btn{width:70px;height:70px;font-size:1.5rem}.record-pulse-ring{width:85px;height:85px}.options-grid{grid-template-columns:1fr;gap:.75rem}.modal-content{border-radius:var(--radius-md)}.modal-body{padding:1rem}.notification-panels-grid{gap:1.25rem}.phone-mockup{max-width:100%}}.prescription-textarea{min-height:260px;box-shadow:0 2px 8px rgba(var(--primary-rgb), .05);resize:vertical;padding:12px;font-family:inherit;font-size:.95rem;line-height:1.5;border:1px solid var(--primary)!important;background:var(--bg-app)!important;color:var(--text-main)!important}.prescription-textarea:focus{outline:none;background:var(--bg-card)!important;color:var(--text-main)!important;border-color:var(--primary-hover)!important;box-shadow:0 0 0 3px rgba(var(--primary-rgb), .15)!important}
