@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@import"https://fonts.googleapis.com/css?family=Roboto+Mono";.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.loading-fullpage{min-height:300px;width:100%}.loading-spinner{position:relative;display:flex;align-items:center;justify-content:center}.loading-small{width:32px;height:32px}.loading-medium{width:48px;height:48px}.loading-large{width:64px;height:64px}.spinner-ring{position:absolute;border-radius:50%;border:3px solid transparent;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.loading-small .spinner-ring:nth-child(1){width:32px;height:32px;border-top-color:var(--color-rosa);animation-delay:-.45s}.loading-small .spinner-ring:nth-child(2){width:24px;height:24px;border-top-color:var(--text-secondary);animation-delay:-.3s}.loading-small .spinner-ring:nth-child(3){width:16px;height:16px;border-top-color:var(--color-rosa);animation-delay:-.15s}.loading-medium .spinner-ring:nth-child(1){width:48px;height:48px;border-top-color:var(--color-rosa);animation-delay:-.45s}.loading-medium .spinner-ring:nth-child(2){width:36px;height:36px;border-top-color:var(--text-secondary);animation-delay:-.3s}.loading-medium .spinner-ring:nth-child(3){width:24px;height:24px;border-top-color:var(--color-rosa);animation-delay:-.15s}.loading-large .spinner-ring:nth-child(1){width:64px;height:64px;border-top-color:var(--color-rosa);animation-delay:-.45s}.loading-large .spinner-ring:nth-child(2){width:48px;height:48px;border-top-color:var(--text-secondary);animation-delay:-.3s}.loading-large .spinner-ring:nth-child(3){width:32px;height:32px;border-top-color:var(--color-rosa);animation-delay:-.15s}.loading-message{font-family:Roboto Mono,monospace;color:var(--text-tertiary);font-size:.95rem;margin:0;text-align:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:transparent;cursor:pointer;padding:0;overflow:hidden;transition:background-color .3s ease}.theme-toggle:hover{background-color:var(--bg-hover-row)}.theme-toggle-icon{position:absolute;font-size:1.25rem;transition:opacity .3s ease,transform .3s ease;opacity:0;transform:scale(.5) rotate(-90deg);line-height:1}.theme-toggle-icon.active{opacity:1;transform:scale(1) rotate(0)}.theme-toggle--dashboard{color:#fff}.theme-toggle--dashboard:hover{background-color:var(--dashboard-user-hover)}.language-selector{position:relative;display:inline-block}.lang-current{display:flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:44px;height:34px;padding:0 8px;border:2px solid transparent;border-radius:20px;background:transparent;cursor:pointer;transition:all .3s ease;opacity:.8}.lang-current:hover,.language-selector.open .lang-current{opacity:1;background-color:var(--bg-hover-row);border-color:var(--color-rosa)}.lang-flag{font-size:1.15rem;line-height:1}.lang-arrow{font-size:.7rem;margin-left:2px;transform:translateY(-1px);transition:transform .2s ease}.language-selector.open .lang-arrow{transform:translateY(-1px) rotate(180deg)}.lang-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-primary);border:2px solid var(--color-rosa);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:120px;overflow:hidden}.lang-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;cursor:pointer;transition:background-color .2s ease;font-size:.9rem}.lang-option:hover{background-color:var(--bg-hover-row)}.lang-label{white-space:nowrap}.language-selector--dashboard .lang-current:hover,.language-selector--dashboard .lang-option:hover{background-color:var(--dashboard-user-hover)}header{width:100%;position:fixed;top:0;left:0;right:0;z-index:9999}nav{width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-nav);color:var(--text-white);padding:10px;box-shadow:2px 2px 4px var(--shadow-lg);position:relative;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.logo{display:flex;align-items:center;gap:.75rem;margin-left:25px;cursor:pointer;z-index:10}.logo img{width:42px;height:42px;object-fit:contain;display:block}.logo span{font-family:"Press Start 2P",cursive;font-size:1.25rem;line-height:1;color:var(--color-rosa);display:inline-block;transform:translateY(3px);white-space:nowrap;transition:color .3s}.logo:hover span{color:var(--color-morado)}.hamburger{display:none;flex-direction:column;justify-content:space-around;width:30px;height:25px;background:transparent;border:none;cursor:pointer;padding:0;z-index:10;transition:all .3s ease}.hamburger span{width:100%;height:3px;background-color:var(--color-rosa);border-radius:2px;transition:all .3s ease}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.links{text-align:right;width:50%;margin-right:1rem;display:flex;gap:1.5rem;justify-content:flex-end;align-items:center}.links a{font-family:"Press Start 2P",cursive;font-size:.7rem;color:var(--color-rosa);text-decoration:none;cursor:pointer;transition:all .3s ease;padding:.5rem}.links a:hover{color:var(--color-morado);transform:translateY(-2px)}@media(max-width:992px){.logo{width:250px;margin-left:15px}.links{gap:1rem}.links a{font-size:.65rem;padding:.4rem}}@media(max-width:768px){nav{padding:15px}.logo{width:200px;max-width:60%;margin-left:0}.hamburger{display:flex}.links{position:fixed;top:0;right:-100%;height:100vh;width:70%;max-width:300px;background-color:var(--bg-nav);flex-direction:column;justify-content:center;align-items:center;gap:2rem;margin-right:0;box-shadow:-4px 0 12px var(--shadow-lg);transition:right .4s ease;padding:2rem}.links.mobile-active{right:0}.links a{font-size:.75rem;padding:1rem;width:100%;text-align:center}}@media(max-width:480px){.logo{width:180px}.links{width:80%}.links a{font-size:.7rem}}footer{background-color:var(--bg-nav);padding:2rem 0;margin-top:3rem;box-shadow:0 -2px 4px var(--shadow-sm);transition:background-color .3s ease,color .3s ease,border-color .3s ease}#footer-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:0 2rem}#footer-legal{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.5rem}.links-legal{font-family:Roboto Mono,monospace;font-size:.9rem;color:var(--color-rosa);text-decoration:none;transition:color .3s ease}.links-legal:hover{color:var(--color-morado);text-decoration:underline}.span-legal{color:var(--color-rosa);font-family:Roboto Mono,monospace}#footer-copy-right{text-align:center}#footer-copy-right p{font-family:Roboto Mono,monospace;font-size:.9rem;color:var(--color-morado);margin:0}@media(max-width:992px){footer{padding:1.5rem 0}#footer-container{padding:0 1.5rem}}@media(max-width:768px){footer{padding:1.5rem 0;margin-top:2rem}#footer-container{padding:0 1rem;gap:1.5rem}#footer-legal{font-size:.8rem;flex-direction:column;gap:.75rem}.span-legal{display:none}#footer-copy-right p{font-size:.8rem;padding:0 1rem}}.cookie-settings-link{cursor:pointer}@media(max-width:480px){footer{padding:1.25rem 0}#footer-container{padding:0 .75rem}.links-legal,#footer-copy-right p{font-size:.75rem}}.btn{background-color:var(--bg-card);color:var(--color-morado);border:none;padding:15px 30px;border-radius:4px;cursor:pointer;font-size:16px;font-family:Roboto Mono,monospace;transition:all .2s ease}.btn:hover:not(:disabled){box-shadow:4px 4px 8px var(--color-morado);transform:scale(1.02)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-rosa);color:var(--text-white)}.btn-secondary{background-color:var(--bg-card);color:var(--color-morado)}.btn-danger{background-color:var(--btn-danger);color:#fff}#cookie-notice{background-color:var(--bg-nav);position:fixed;bottom:0;left:0;right:0;width:90%;max-width:800px;margin:0 auto;padding:2rem 2.5rem;box-sizing:border-box;z-index:9999;border-radius:.5rem .5rem 0 0;font-family:Roboto Mono,monospace;box-shadow:0 -4px 20px var(--shadow-lg);border-top:3px solid var(--color-rosa);transition:background-color .3s ease,color .3s ease}.cookie-notice-title{font-family:Roboto Mono,monospace;font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.cookie-notice-text{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0 0 1.25rem}.cookie-notice-text a{color:var(--color-rosa);text-decoration:none;font-weight:600}.cookie-notice-text a:hover{text-decoration:underline;color:var(--color-rosa-hover)}.cookie-config-panel{border-top:1px solid var(--border-color);padding-top:1rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:1rem}.cookie-category{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:.4rem;padding:1rem;transition:background-color .3s ease,border-color .3s ease}.cookie-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.cookie-category-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.cookie-category-name{font-weight:700;font-size:.9rem;color:var(--text-primary)}.cookie-badge-required{background-color:var(--color-morado);color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.cookie-category-description{color:var(--text-muted);font-size:.8rem;line-height:1.5;margin:0}.cookie-toggle{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0;cursor:pointer}.cookie-toggle input{opacity:0;width:0;height:0}.cookie-toggle-slider{position:absolute;inset:0;background-color:var(--border-color);border-radius:26px;transition:background-color .3s ease}.cookie-toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .3s ease}.cookie-toggle input:checked+.cookie-toggle-slider{background-color:var(--color-rosa)}.cookie-toggle input:checked+.cookie-toggle-slider:before{transform:translate(22px)}.cookie-toggle input:focus-visible+.cookie-toggle-slider{outline:2px solid var(--color-morado);outline-offset:2px}.cookie-notice-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.cookie-notice-actions .btn{font-size:.8rem;padding:.6rem 1.25rem;white-space:nowrap}.cookie-btn-config,.cookie-btn-reject{border:1px solid var(--border-color)!important}.cookie-btn-accept{background-color:var(--color-rosa)!important;color:#fff!important}.cookie-btn-save{background-color:var(--color-morado)!important;color:#fff!important}@media(max-width:768px){#cookie-notice{width:100%;padding:1.5rem 1.25rem;border-radius:.5rem .5rem 0 0}.cookie-notice-title{font-size:1rem}.cookie-notice-text{font-size:.8rem}.cookie-notice-actions{flex-direction:column}.cookie-notice-actions .btn{width:100%;text-align:center}.cookie-category-header{gap:.5rem}.cookie-category-name{font-size:.85rem}}@media(max-width:480px){#cookie-notice{padding:1.25rem 1rem}.cookie-notice-text,.cookie-category-description{font-size:.75rem}}.notification-bell{position:relative;flex-shrink:0}.notification-bell__btn{position:relative;background:none;border:2px solid transparent;border-radius:8px;color:var(--text-white);width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,border-color .2s;padding:0}.notification-bell__btn:hover,.notification-bell__btn--active{background-color:var(--dashboard-user-bg);border-color:var(--color-rosa)}.notification-bell__icon{font-size:1.25rem;line-height:1}.notification-bell__btn:has(.notification-bell__badge) .notification-bell__icon{animation:bell-ring 1.2s ease-in-out}@keyframes bell-ring{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-10deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-8deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}.notification-bell__badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 4px;background-color:var(--color-rosa);color:#fff;font-family:Roboto Mono,monospace;font-size:.65rem;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none;box-shadow:0 1px 4px #0000004d}.notification-bell__dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:320px;background-color:var(--bg-card);border-radius:8px;box-shadow:0 4px 20px var(--shadow-md);border:1px solid var(--border-light);overflow:hidden;animation:nb-slide-down .2s ease-out;z-index:200;transition:background-color .3s,border-color .3s}@keyframes nb-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notification-bell__header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border-light);gap:.5rem}.notification-bell__title{font-family:Roboto Mono,monospace;font-size:.9rem;font-weight:700;color:var(--color-morado)}.notification-bell__clear-all{background:none;border:1px solid var(--color-rosa);color:var(--color-rosa);font-family:Roboto Mono,monospace;font-size:.7rem;padding:.25rem .5rem;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s}.notification-bell__clear-all:hover{background-color:var(--color-rosa);color:#fff}.notification-bell__body{max-height:320px;overflow-y:auto;display:flex;flex-direction:column}.notification-bell__empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;color:var(--text-secondary);font-family:Roboto Mono,monospace;font-size:.85rem}.notification-bell__empty-icon{font-size:1.5rem}.notification-bell__item{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:.875rem 1rem;background:none;border:none;border-bottom:1px solid var(--border-light);cursor:pointer;text-align:left;transition:background-color .15s;position:relative}.notification-bell__item:last-child{border-bottom:none}.notification-bell__item:hover{background-color:var(--color-peach)}.notification-bell__item-dot{position:absolute;left:.375rem;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background-color:var(--color-rosa);flex-shrink:0}.notification-bell__item-icon{font-size:1.25rem;flex-shrink:0;line-height:1;margin-top:1px}.notification-bell__item-content{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}.notification-bell__item-name{font-family:Roboto Mono,monospace;font-size:.85rem;font-weight:700;color:var(--color-morado);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-bell__item-subject{font-family:Roboto Mono,monospace;font-size:.8rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-bell__item-date{font-family:Roboto Mono,monospace;font-size:.72rem;color:var(--text-secondary)}@media(max-width:768px){.notification-bell__dropdown{width:280px;right:-40px}}.dashboard-layout{display:grid;grid-template-rows:auto 1fr;height:100vh;overflow:hidden;background-color:var(--bg-dashboard);width:100%}.dashboard-header{background-color:var(--dashboard-header-bg);color:var(--text-white);padding:1rem;box-shadow:0 2px 8px var(--shadow-sm);position:sticky;top:0;z-index:100;width:100%;max-width:100vw;box-sizing:border-box;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.dashboard-header-content{width:100%;max-width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-sizing:border-box}.dashboard-header-left{display:flex;align-items:center;gap:1rem;min-width:0;flex-shrink:1}.sidebar-toggle{background:none;border:none;color:var(--text-white);font-size:1.5rem;cursor:pointer;padding:.5rem;transition:color .3s;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{color:var(--color-rosa)}.dashboard-logo a{display:flex;align-items:center;gap:.75rem;font-family:"Press Start 2P",cursive;font-size:1.25rem;line-height:1;color:var(--color-rosa);text-decoration:none;transition:color .3s}.dashboard-logo a span{display:inline-block;transform:translateY(3px)}.dashboard-logo-img{width:42px;height:42px;object-fit:contain;display:block}.dashboard-logo a:hover{color:var(--color-rosa-hover)}.dashboard-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.dashboard-user{position:relative;flex-shrink:0}.dashboard-user-button{background-color:var(--dashboard-user-bg);border:2px solid var(--dashboard-user-border);color:var(--text-white);padding:.6rem 1rem;border-radius:8px;font-family:Roboto Mono,monospace;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s;white-space:nowrap}.dashboard-user-button:hover{background-color:var(--dashboard-user-hover);border-color:var(--color-rosa)}.dashboard-user-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.dashboard-user-icon{font-size:.75rem;transition:transform .3s;flex-shrink:0}.dashboard-user-button:hover .dashboard-user-icon{transform:translateY(2px)}.dashboard-user-menu{position:absolute;top:calc(100% + .5rem);right:0;background-color:var(--bg-card);border-radius:8px;box-shadow:0 4px 12px var(--shadow-md);min-width:200px;overflow:hidden;animation:slideDown .2s ease-out;transition:background-color .3s ease,color .3s ease,border-color .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dashboard-user-menu-item{display:block;width:100%;padding:1rem 1.5rem;background:none;border:none;color:var(--color-morado);font-family:Roboto Mono,monospace;font-size:.95rem;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .2s}.dashboard-user-menu-item:hover{background-color:var(--color-peach)}.dashboard-user-menu-item.logout{color:var(--text-error);border-top:1px solid var(--border-light)}.dashboard-user-menu-item.logout:hover{background-color:var(--bg-error)}.dashboard-container{display:flex;overflow:hidden;min-height:0}.dashboard-sidebar{width:250px;background-color:var(--bg-card);border-right:2px solid var(--border-light);transition:all .3s ease;overflow:hidden;flex-shrink:0;display:flex;flex-direction:column}.dashboard-sidebar.closed{width:0;border-right:none}.sidebar-nav{padding:1.5rem 0;display:flex;flex-direction:column;flex:1;min-height:0}.sidebar-link{display:flex;align-items:center;gap:1rem;padding:1rem 0rem 1rem 2rem;color:var(--color-morado);text-decoration:none;font-family:Roboto Mono,monospace;font-size:.95rem;transition:all .2s;border:none;background:none;cursor:pointer;width:100%;text-align:left;white-space:nowrap}.sidebar-link:hover{background-color:var(--color-peach)}.sidebar-link.active{background-color:var(--bg-sidebar-active);border-left:4px solid var(--color-morado);padding-left:calc(2rem - 4px);font-weight:700}.sidebar-icon{font-size:1.2rem;display:inline-block;width:24px;text-align:center}.sidebar-text{flex:1}.sidebar-divider{height:1px;background-color:var(--border-light);margin:1rem 1.5rem}.sidebar-link.logout-link{color:var(--text-error);margin-top:auto}.sidebar-link.logout-link:hover{background-color:var(--bg-error)}.dashboard-main{flex:1;padding:2rem;box-sizing:border-box;width:100%;overflow:auto;display:flex;flex-direction:column;min-height:0}@media(max-width:768px){.dashboard-header{padding:1rem}.dashboard-logo a{font-size:.8rem}.dashboard-user-button{padding:.5rem 1rem;font-size:.9rem}.dashboard-user-name{display:none}.dashboard-main{padding:1rem}.dashboard-sidebar{position:fixed;top:80px;left:0;height:calc(100vh - 80px);z-index:90;box-shadow:2px 0 8px var(--shadow-sm)}.dashboard-sidebar.closed{transform:translate(-100%)}}#home-container{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:2rem;gap:3rem;min-height:70vh}#image-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}#image-container img{max-width:350px;height:auto;animation:float 3s ease-in-out infinite}#text-container{max-width:900px;text-align:center}#text-container h1{font-size:2.8rem;line-height:1.3}@media(max-width:992px){#home-container{gap:2rem;padding:1.5rem}#image-container img{max-width:280px}#text-container h1{font-size:2.2rem}}@media(max-width:768px){#home-container{flex-direction:column;padding:1rem;min-height:auto;gap:1.5rem}#image-container img{max-width:220px}#text-container{text-align:center;padding:0 .5rem}#text-container h1{font-size:1.5rem;line-height:1.4}}@media(max-width:480px){#home-container{padding:.5rem}#image-container img{max-width:180px}#text-container h1{font-size:1.2rem;line-height:1.5}}#services-point{height:80px;margin-top:-80px}#services-container{padding:3rem 2rem;max-width:1200px;margin:0 auto}#services-title{text-align:center;margin-bottom:3rem}#services-title h2{font-size:2.5rem}#services-general-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.services-box{background-color:var(--bg-card);padding:2rem;border-radius:12px;box-shadow:4px 4px 12px var(--shadow-brand-lg);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.service-icon{font-size:3rem;margin-bottom:1rem;filter:grayscale(20%)}.services-box:hover{transform:translateY(-5px);box-shadow:6px 6px 16px var(--shadow-brand-lg)}.services-box h3{color:var(--color-rosa);font-family:"Press Start 2P",cursive;font-size:1rem;margin-bottom:1rem;line-height:1.5}.services-box p{color:var(--color-morado);font-family:Roboto Mono,monospace;font-size:.95rem;line-height:1.6}@media(max-width:992px){#services-container{padding:2.5rem 1.5rem}#services-title h2{font-size:2rem}#services-general-box{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}}@media(max-width:768px){#services-container{padding:2rem 1rem}#services-title h2{font-size:1.8rem}#services-general-box{grid-template-columns:1fr;gap:1.5rem}.services-box{padding:1.5rem}.services-box h3{font-size:.85rem}.services-box p{font-size:.9rem}.service-icon{font-size:2.5rem}}@media(max-width:480px){#services-container{padding:1.5rem .75rem}#services-title h2{font-size:1.5rem}.services-box{padding:1.25rem}.services-box h3{font-size:.75rem;line-height:1.6}.services-box p{font-size:.85rem}}#faq-point{height:80px;margin-top:-80px}#faq-container{padding:3rem 2rem;max-width:1000px;margin:0 auto}#faq-title{text-align:center;margin-bottom:3rem}#faq-title h2{font-size:2.5rem}#faq-list{display:flex;flex-direction:column;gap:1.5rem}.faq-item{background-color:var(--bg-card);border-radius:8px;box-shadow:2px 2px 8px var(--shadow-brand-sm);overflow:hidden}.faq-question{font-family:Roboto Mono,monospace;font-size:1.1rem;color:var(--color-rosa);padding:1.5rem;cursor:pointer;margin:0;transition:background-color .3s ease;-webkit-user-select:none;user-select:none}.faq-question:hover{background-color:#c9477e0d}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;padding:0 1.5rem;font-family:Roboto Mono,monospace;color:var(--color-morado);line-height:1.8}.faq-answer.active{max-height:1000px;padding:1.5rem}.faq-answer a{color:var(--color-rosa);text-decoration:none;font-weight:700}.faq-answer a:hover{text-decoration:underline}@media(max-width:992px){#faq-container{padding:2.5rem 1.5rem}#faq-title h2{font-size:2rem}.faq-question{font-size:1rem}}@media(max-width:768px){#faq-container{padding:2rem 1rem}#faq-title h2{font-size:1.8rem}#faq-list{gap:1rem}.faq-question{font-size:.95rem;padding:1.25rem}.faq-answer{font-size:.9rem;padding:0 1.25rem}.faq-answer.active{padding:1.25rem}}@media(max-width:480px){#faq-container{padding:1.5rem .75rem}#faq-title h2{font-size:1.5rem}.faq-question{font-size:.85rem;padding:1rem}.faq-answer{font-size:.85rem;padding:0 1rem}.faq-answer.active{padding:1rem}}.form-label-input{display:flex;flex-direction:column;margin-bottom:1rem}.form-label-input label{font-family:Roboto Mono,monospace;font-size:1rem;color:var(--color-rosa);margin-bottom:.5rem;font-weight:700}.form-label-input input{padding:0rem .75rem;height:32px;font-size:16px;border:2px solid var(--color-rosa);border-radius:4px;font-family:Roboto Mono,monospace;background-color:var(--bg-input);color:var(--text-primary);transition:all .3s ease}.form-label-input input:focus{outline:none;border-color:var(--color-morado);box-shadow:0 0 5px var(--shadow-focus)}.form-label-input input::placeholder{color:var(--text-placeholder);font-style:italic}.form-textarea{display:flex;flex-direction:column;margin-bottom:1rem}.form-textarea label{font-family:Roboto Mono,monospace;font-size:1rem;color:var(--color-rosa);margin-bottom:.5rem;font-weight:700}.form-textarea textarea{padding:.5rem .75rem;font-size:16px;border:2px solid var(--color-rosa);border-radius:4px;font-family:Roboto Mono,monospace;background-color:var(--bg-input);color:var(--text-primary);resize:vertical;transition:all .3s ease}.form-textarea textarea:focus{outline:none;border-color:var(--color-morado);box-shadow:0 0 5px var(--shadow-focus)}.form-textarea textarea::placeholder{color:var(--text-placeholder);font-style:italic}#contact-point{height:80px;margin-top:-80px}#contact-container{padding:3rem 2rem;max-width:800px;margin:0 auto}#contact-title{text-align:center;margin-bottom:3rem}#contact-title h2{font-size:2.5rem}#contact-title p{font-family:Roboto Mono,monospace;color:var(--text-tertiary);margin-top:1rem;font-size:1.1rem}#contact-form{background-color:var(--bg-card);padding:2.5rem;border-radius:12px;box-shadow:2px 2px 12px var(--shadow-brand-sm)}.error-message{color:var(--color-rosa);font-family:Roboto Mono,monospace;font-size:.85rem;margin-top:-.8rem;margin-bottom:1rem;margin-left:.2rem}.submit-error{text-align:center;margin-top:1rem;margin-bottom:1.5rem;font-size:.95rem}#contact-form button[type=submit]{width:100%;margin-top:1.5rem;padding:1rem;font-size:1rem}.form-label{display:block;margin-bottom:.5rem;font-family:Roboto Mono,monospace;font-weight:700;color:var(--color-morado);font-size:.95rem}.contact-select{width:100%;padding:0rem .75rem;height:36px;border:2px solid var(--border-input);border-radius:4px;font-size:.9rem;font-family:Roboto Mono,monospace;background-color:var(--bg-input);transition:border-color .3s;cursor:pointer}.contact-select:focus{outline:none;border-color:var(--color-morado)}.contact-select option{font-family:Roboto Mono,monospace}.success-popup{position:fixed;inset:0;background-color:var(--bg-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease;padding:1rem}.popup-content{background-color:var(--bg-card);padding:3rem 2rem;border-radius:12px;box-shadow:0 4px 20px var(--shadow-brand-lg);text-align:center;max-width:400px;width:100%;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.popup-icon{width:60px;height:60px;margin:0 auto 1.5rem;background-color:var(--color-rosa);color:var(--text-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.popup-content h3{font-family:"Press Start 2P",cursive;color:var(--color-morado);font-size:1.2rem;margin-bottom:1rem}.popup-content p{font-family:Roboto Mono,monospace;color:var(--text-tertiary);margin-bottom:.5rem;line-height:1.6}@media(max-width:992px){#contact-container{padding:2.5rem 1.5rem}#contact-title h2{font-size:2rem}#contact-title p{font-size:1rem}#contact-form{padding:2rem}}@media(max-width:768px){#contact-container{padding:2rem 1rem}#contact-title h2{font-size:1.8rem}#contact-title p{font-size:.95rem}#contact-form{padding:1.5rem}.popup-content{margin:0 1rem;padding:2rem 1.5rem}.popup-content h3{font-size:1rem}.popup-icon{width:50px;height:50px;font-size:1.5rem}}@media(max-width:480px){#contact-container{padding:1.5rem .75rem}#contact-title h2{font-size:1.5rem}#contact-title p{font-size:.9rem}#contact-form{padding:1.25rem}#contact-form button[type=submit]{font-size:.95rem;padding:.9rem}.popup-content{padding:1.5rem 1rem}.popup-content h3{font-size:.85rem;line-height:1.6}.popup-content p{font-size:.85rem}}.home-page{min-height:100vh;background-color:var(--bg-body);transition:background-color .3s ease,color .3s ease}.minesweeper-cell{width:30px;height:30px;border:2px solid var(--border-color);background-color:var(--cell-bg);display:flex;align-items:center;justify-content:center;font-family:Roboto Mono,monospace;font-size:1rem;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s}.minesweeper-cell:hover:not(.disclosed){background-color:var(--cell-hover);border-color:var(--color-rosa)}.minesweeper-cell.disclosed{background-color:var(--cell-revealed);border-color:var(--border-color);cursor:default}.minesweeper-cell.mine{background-color:#ffe0e0}.minesweeper-cell.exploded{background-color:#f44;animation:explode .3s ease-out}.minesweeper-cell.flagged{background-color:var(--status-warning-bg)}@keyframes explode{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.minesweeper-cell.disclosed{color:var(--text-primary)}.minesweeper-board{display:grid;gap:1px;background-color:var(--border-color);padding:10px;border-radius:8px;box-shadow:0 4px 12px var(--shadow-md);width:fit-content;margin:0 auto}.badge{display:inline-block;padding:.4rem .8rem;border-radius:4px;font-size:.85rem;font-weight:700;text-transform:uppercase;white-space:nowrap;font-family:Roboto Mono,monospace;text-align:center}.badge-status-pending{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.badge-status-in-progress{background-color:var(--status-info-bg);color:var(--status-info-text)}.badge-status-completed,.badge-status-billed{background-color:var(--status-success-bg);color:var(--status-success-text)}.badge-status-reviewed{background-color:var(--status-primary-bg);color:var(--status-primary-text)}.badge-status-responded{background-color:var(--status-green-bg);color:var(--status-green-text)}.badge-status-active{background-color:var(--status-success-bg);color:var(--status-success-text)}.badge-status-inactive{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.badge-status-won{background-color:var(--status-success-bg);color:var(--status-success-text)}.badge-status-lost{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.badge-complexity-low{background-color:var(--status-success-bg);color:var(--status-success-text)}.badge-complexity-medium{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.badge-complexity-high,.badge-complexity-advanced{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.badge-tech{background-color:var(--status-link-bg);color:var(--status-link-text);border:1px solid var(--status-link-border)}.badge-time{background-color:var(--status-neutral-bg);color:var(--status-neutral-text);border:1px solid var(--status-neutral-border)}.badge-difficulty-easy{background-color:var(--status-success-bg);color:var(--status-success-text)}.badge-difficulty-medium{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.badge-difficulty-hard{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.scoreboard{width:100%;padding:20px}.scoreboard-filters{display:flex;gap:20px;margin-bottom:20px;justify-content:center;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-family:"Press Start 2P",monospace;font-size:12px;color:var(--color-morado)}.filter-group select{font-family:Roboto Mono,monospace;padding:8px 12px;border:2px solid var(--color-morado);background-color:var(--bg-card);color:var(--color-morado);border-radius:4px;cursor:pointer;font-size:14px}.filter-group select:focus{outline:none;border-color:var(--color-rosa)}.scoreboard-loading,.scoreboard-empty{text-align:center;padding:40px 20px;font-family:"Press Start 2P",monospace;color:var(--color-morado)}.scoreboard-empty-hint{font-family:Roboto Mono,monospace;font-size:14px;margin-top:10px;color:var(--color-rosa)}.scoreboard-table-container{overflow-x:auto;border-radius:8px;box-shadow:0 4px 6px var(--shadow-sm)}.scoreboard-table{width:100%;border-collapse:collapse;background-color:var(--bg-card);font-family:Roboto Mono,monospace}.scoreboard-table thead{background-color:var(--color-morado);color:var(--text-white)}.scoreboard-table th{padding:15px 10px;text-align:left;font-family:"Press Start 2P",monospace;font-size:10px;text-transform:uppercase;font-weight:400}.scoreboard-table td{padding:12px 10px;border-bottom:1px solid var(--border-light)}.scoreboard-table tbody tr:hover{background-color:var(--game-row-warm)}.scoreboard-table tbody tr.won{background-color:var(--game-row-green)}.scoreboard-table tbody tr.lost{background-color:var(--game-row-red)}.position{font-weight:700;color:var(--color-rosa);text-align:center;width:60px}.player-name{font-weight:700;color:var(--color-morado)}.difficulty-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;display:inline-block}.difficulty-badge.easy{background-color:var(--status-success-bg);color:var(--status-success-text)}.difficulty-badge.medium{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.difficulty-badge.hard{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.time{font-family:"Press Start 2P",monospace;font-size:11px;color:var(--color-morado)}.score{font-family:"Press Start 2P",monospace;font-size:14px;font-weight:700;color:var(--color-rosa)}.status-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700;display:inline-block}.status-badge.won{background-color:var(--status-success-bg);color:var(--status-success-text)}.status-badge.lost{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.date{font-size:12px;color:var(--text-muted)}@media(max-width:768px){.scoreboard-table{font-size:12px}.scoreboard-table th,.scoreboard-table td{padding:8px 5px}.scoreboard-table th{font-size:8px}.position{width:40px}.filter-group label{font-size:10px}}.minesweeper-game{padding:2rem;max-width:1000px;margin:0 auto}.game-tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem;background-color:var(--bg-filters);padding:.5rem;border-radius:12px;box-shadow:inset 0 2px 4px var(--shadow-sm)}.tab-btn{padding:1rem 2.5rem;border:none;background-color:var(--bg-card);color:var(--color-morado);font-family:"Press Start 2P",cursive;font-size:.75rem;cursor:pointer;transition:all .2s ease;border-radius:4px}.tab-btn:hover{box-shadow:4px 4px 8px var(--color-morado);transform:scale(1.02)}.tab-btn.active{background-color:var(--color-rosa);color:var(--text-white)}.game-header{text-align:center;margin-bottom:2rem}.game-info{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem;font-family:Roboto Mono,monospace;align-items:center}.player-info{flex-direction:row!important;align-items:center!important;gap:.5rem!important;border:2px solid var(--color-rosa);padding:.5rem 1rem;border-radius:8px;background-color:var(--bg-card)}.change-name-btn{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.6;transition:opacity .3s;padding:0 .25rem}.change-name-btn:hover{opacity:1}.info-label{font-size:.9rem;color:var(--text-tertiary)}.info-value{font-size:1.5rem;font-weight:700;color:var(--color-rosa)}.info-value.timer{font-family:"Press Start 2P",cursive;font-size:1.2rem;color:var(--color-morado)}.difficulty-selector{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.difficulty-btn{padding:.75rem 1.5rem;border:2px solid var(--border-color);background-color:var(--bg-card);color:var(--color-morado);font-family:Roboto Mono,monospace;font-size:.95rem;border-radius:8px;cursor:pointer;transition:all .3s}.difficulty-btn:hover{background-color:var(--color-peach);border-color:var(--color-rosa)}.difficulty-btn.active{background-color:var(--color-rosa);color:var(--text-white);border-color:var(--color-rosa)}.game-actions{display:flex;justify-content:center;margin-top:2rem}.game-modal-overlay{position:fixed;inset:0;background-color:var(--bg-confirm-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.game-modal{background-color:var(--bg-card);border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 8px 24px var(--shadow-lg);animation:slideUp .3s ease-out;text-align:center}.game-modal h3{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1.2rem;line-height:1.8;margin:0 0 1rem}.game-modal p{font-family:Roboto Mono,monospace;color:var(--text-primary);font-size:1rem;margin:0 0 1.5rem}.modal-message{white-space:pre-line;line-height:1.8}.name-modal{max-width:500px}@media(max-width:768px){.minesweeper-game{padding:1rem}.tab-btn{font-size:.6rem;padding:.75rem 1rem}.game-info{gap:.75rem}.info-value{font-size:1.2rem}.difficulty-selector{flex-direction:column;gap:.75rem}.difficulty-btn{width:100%}.player-info{width:100%;justify-content:center}}.mobile-warning-overlay{position:fixed;inset:0;background-color:var(--bg-confirm-overlay);display:flex;justify-content:center;align-items:center;z-index:10000;padding:1rem}.mobile-warning-modal{background-color:var(--bg-card);border-radius:12px;padding:2rem;max-width:500px;width:100%;box-shadow:0 8px 32px var(--shadow-lg);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.mobile-warning-icon{font-size:3rem;text-align:center;margin-bottom:1rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.mobile-warning-title{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1.3rem;line-height:1.8;text-align:center;margin-bottom:1.5rem}.mobile-warning-content{margin-bottom:2rem}.mobile-warning-text{font-family:Roboto Mono,monospace;color:var(--text-primary);font-size:1rem;line-height:1.6;margin-bottom:1rem}.mobile-warning-text strong{color:var(--color-morado);font-weight:600}.mobile-warning-list{font-family:Roboto Mono,monospace;color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:1rem 0;padding-left:1.5rem}.mobile-warning-list li{margin-bottom:.5rem}.mobile-warning-recommendation{font-family:Roboto Mono,monospace;color:var(--text-primary);font-size:.95rem;line-height:1.6;background-color:var(--color-peach);padding:1rem;border-radius:6px;border-left:4px solid var(--color-rosa)}.mobile-warning-recommendation strong{color:var(--color-rosa);font-weight:600}.mobile-warning-actions{display:flex;justify-content:center}.mobile-warning-actions button{min-width:200px}@media(max-width:480px){.mobile-warning-modal{padding:1.5rem}.mobile-warning-title{font-size:1rem;line-height:1.6}.mobile-warning-icon{font-size:2.5rem}.mobile-warning-text,.mobile-warning-recommendation{font-size:.85rem}.mobile-warning-list{font-size:.8rem;padding-left:1.2rem}.mobile-warning-actions button{min-width:auto;width:100%;font-size:.75rem}}.hobbies-page{min-height:calc(100vh - 160px);padding:2rem 1rem}.hobbies-hero{text-align:center;margin-bottom:3rem;padding:2rem 0}.hobbies-hero h1{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:2.5rem;line-height:3rem;margin-bottom:1rem}.hobbies-subtitle{font-family:Roboto Mono,monospace;color:var(--text-secondary);font-size:1.1rem;max-width:600px;margin:0 auto}.hobby-container{max-width:900px;margin:0 auto}.hobby-card{background-color:var(--bg-card);border-radius:12px;padding:2rem;box-shadow:0 4px 12px var(--shadow-sm);margin-bottom:2rem;transition:background-color .3s ease,color .3s ease}.hobby-header{margin-bottom:2rem;text-align:center}.hobby-header h2{font-family:"Press Start 2P",cursive;color:var(--color-morado);font-size:1.3rem;line-height:2;margin-bottom:1rem}.hobby-description{font-family:Roboto Mono,monospace;color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.hobby-tech{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.tech-badge{display:inline-block;padding:.4rem .8rem;background-color:var(--color-peach);color:var(--color-morado);border:2px solid var(--border-color);border-radius:6px;font-family:Roboto Mono,monospace;font-size:.85rem;font-weight:700}.hobby-game{border-top:2px solid var(--color-peach);padding-top:2rem}@media(max-width:768px){.hobbies-hero h1{font-size:1.8rem;line-height:2.5rem}.hobbies-subtitle{font-size:1rem}.hobby-card{padding:1.5rem}.hobby-header h2{font-size:1.1rem}}.success-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;background-color:var(--bg-body);padding:2rem;transition:background-color .3s ease,color .3s ease}.success-container{background-color:var(--bg-card);padding:3rem 2rem;border-radius:12px;box-shadow:2px 2px 12px var(--shadow-brand-sm);text-align:center;max-width:500px}.success-icon{width:80px;height:80px;margin:0 auto 2rem;background-color:var(--color-rosa);color:var(--text-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700}.success-container h1{font-family:"Press Start 2P",cursive;color:var(--color-morado);font-size:1.5rem;margin-bottom:1.5rem}.success-container p{font-family:Roboto Mono,monospace;color:var(--text-tertiary);margin-bottom:1rem;line-height:1.6;font-size:1.1rem}.success-container a{display:inline-block;margin-top:2rem}@media(max-width:768px){.success-container h1{font-size:1.2rem}.success-container p{font-size:1rem}}.legal-page{min-height:calc(100vh - 200px);background-color:var(--bg-body);padding:2rem}.legal-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:3rem;align-items:start}.legal-image{position:sticky;top:100px}.legal-image img{width:100%;height:auto;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.legal-content{background-color:var(--bg-card);padding:3rem;border-radius:12px;box-shadow:2px 2px 12px var(--shadow-brand-sm);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.legal-content h1{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1.5rem;margin-bottom:2rem;line-height:1.8}.legal-content h3{font-family:"Press Start 2P",cursive;color:var(--color-morado);font-size:.9rem;margin-top:2rem;margin-bottom:1rem;line-height:1.6}.legal-content p{font-family:Roboto Mono,monospace;color:var(--text-secondary);line-height:1.8;margin-bottom:1.5rem;text-align:justify}.legal-content ul{font-family:Roboto Mono,monospace;color:var(--text-secondary);line-height:1.8;margin-left:2rem;margin-bottom:1.5rem}.legal-content ul li{margin-bottom:.5rem}.legal-content a{color:var(--color-rosa);text-decoration:none;font-weight:700}.legal-content a:hover{text-decoration:underline}@media(max-width:968px){.legal-container{grid-template-columns:1fr;gap:2rem}.legal-image{position:static;max-width:250px;margin:0 auto}.legal-content{padding:2rem}.legal-content h1{font-size:1.2rem}.legal-content h3{font-size:.8rem}}@media(max-width:768px){.legal-page{padding:1.5rem 1rem}.legal-container{gap:1.5rem}.legal-image{max-width:200px}.legal-content{padding:1.5rem}.legal-content h1{font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.legal-content h3{font-size:.75rem;line-height:1.5;margin-top:1.5rem}.legal-content p,.legal-content ul{font-size:.9rem;line-height:1.6;margin-bottom:1rem}.legal-content ul{margin-left:1.5rem}}@media(max-width:480px){.legal-page{padding:1rem .75rem}.legal-container{gap:1rem}.legal-image{max-width:150px}.legal-content{padding:1.25rem;border-radius:8px}.legal-content h1{font-size:.9rem;line-height:1.5;margin-bottom:1.25rem}.legal-content h3{font-size:.7rem;line-height:1.4;margin-top:1.25rem;margin-bottom:.75rem}.legal-content p,.legal-content ul{font-size:.85rem;line-height:1.5;margin-bottom:.85rem;text-align:left}.legal-content ul{margin-left:1.2rem}.legal-content ul li{margin-bottom:.4rem}}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--bg-body);padding:2rem;transition:background-color .3s ease,color .3s ease}.login-container{background-color:var(--bg-card);padding:3rem;border-radius:12px;box-shadow:4px 4px 20px var(--shadow-brand-md);max-width:450px;width:100%}.login-container h1{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1.5rem;text-align:center;margin-bottom:2rem;line-height:1.8}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-error{background-color:var(--bg-error);color:var(--text-error);padding:1rem;border-radius:8px;border:2px solid var(--text-error);font-family:Roboto Mono,monospace;font-size:.9rem;text-align:center}@media(max-width:768px){.login-container{padding:2rem}.login-container h1{font-size:1.2rem}}.notfound-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;background-color:var(--bg-body);padding:2rem;transition:background-color .3s ease,color .3s ease}.notfound-container{background-color:var(--bg-card);padding:3rem 2rem;border-radius:12px;box-shadow:2px 2px 12px var(--shadow-brand-sm);max-width:900px;width:100%}.notfound-content{display:flex;align-items:center;justify-content:center;gap:3rem}.notfound-avatar{flex-shrink:0}.notfound-avatar img{width:250px;height:auto;object-fit:contain}.notfound-text{flex:1;text-align:left}.notfound-code{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:4rem;margin:0 0 1rem;line-height:1.2}.notfound-title{font-family:"Press Start 2P",cursive;color:var(--color-morado);font-size:1.5rem;margin-bottom:1.5rem;line-height:1.5}.notfound-description{font-family:Roboto Mono,monospace;color:var(--text-tertiary);margin-bottom:1rem;line-height:1.6;font-size:1.1rem}.notfound-suggestion{font-family:Roboto Mono,monospace;color:var(--text-muted);font-style:italic;margin-bottom:2rem;line-height:1.6;font-size:1rem}.notfound-text a{display:inline-block}@media(max-width:768px){.notfound-container{padding:2rem 1.5rem}.notfound-content{flex-direction:column;gap:2rem;text-align:center}.notfound-avatar img{width:180px}.notfound-text{text-align:center}.notfound-code{font-size:3rem}.notfound-title{font-size:1.2rem}.notfound-description{font-size:1rem}.notfound-suggestion{font-size:.9rem}}@media(max-width:480px){.notfound-avatar img{width:150px}.notfound-code{font-size:2.5rem}.notfound-title{font-size:1rem}.notfound-description,.notfound-suggestion{font-size:.9rem}}.kpi-card{background-color:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .3s,box-shadow .3s}.kpi-card:hover{border-color:var(--text-placeholder);box-shadow:0 4px 12px var(--shadow-brand-sm)}.kpi-card-header{display:flex;align-items:center;gap:.75rem}.kpi-card-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--bg-kpi-icon);border-radius:8px;flex-shrink:0}.kpi-card-title{font-family:"Press Start 2P",cursive;font-size:.7rem;color:var(--color-morado);margin:0;line-height:1.4}.kpi-card-body{display:flex;flex-direction:column;gap:.5rem}.kpi-card-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--border-color)}.kpi-card-row:last-child{border-bottom:none}.kpi-card-label{font-family:Roboto Mono,monospace;font-size:.85rem;color:var(--text-tertiary)}.kpi-card-value{font-family:Roboto Mono,monospace;font-size:.95rem;font-weight:700;color:var(--color-morado)}.kpi-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:2px solid var(--border-color)}.kpi-card-total-label{font-family:"Press Start 2P",cursive;font-size:.6rem;color:var(--color-rosa)}.kpi-card-total-value{font-family:"Press Start 2P",cursive;font-size:1rem;color:var(--color-rosa);font-weight:700}@media(max-width:768px){.kpi-card{padding:1.25rem}.kpi-card-title{font-size:.6rem}.kpi-card-total-value{font-size:.85rem}}.dashboard-page{background-color:var(--bg-card);border-radius:12px;padding:2rem;box-shadow:0 2px 8px var(--shadow-sm);box-sizing:border-box;width:100%;transition:background-color .3s ease,color .3s ease;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.dashboard-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem;flex-shrink:0}.dashboard-header-section h1{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1.5rem;line-height:1.8;margin:0}.dashboard-filters{display:flex;gap:1rem}.dashboard-filter-select{padding:.75rem 1rem;border:2px solid var(--border-input);border-radius:8px;font-family:Roboto Mono,monospace;font-size:.95rem;background-color:var(--bg-input);cursor:pointer;transition:border-color .3s}.dashboard-filter-select:hover,.dashboard-filter-select:focus{border-color:var(--color-rosa);outline:none}.dashboard-loading,.dashboard-empty{text-align:center;padding:3rem;font-family:Roboto Mono,monospace;color:var(--text-tertiary)}.dashboard-empty-hint{margin-top:.5rem;font-size:.9rem;color:var(--text-hint);font-style:italic}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media(max-width:1024px){.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dashboard-kpi-grid{grid-template-columns:1fr}}.dashboard-error{background-color:var(--bg-error);color:var(--text-error);padding:1rem;border-radius:8px;border:2px solid var(--text-error);font-family:Roboto Mono,monospace;margin-bottom:1rem;flex-shrink:0}.dashboard-table-container{overflow-x:auto;overflow-y:auto;flex:1;min-height:0}.dashboard-table{width:100%;border-collapse:separate;border-spacing:0;font-family:Roboto Mono,monospace}.dashboard-table thead{background-color:#570055;color:var(--text-white);position:sticky;top:0;z-index:10}.dashboard-table thead th:first-child{border-radius:8px 0 0}.dashboard-table thead th:last-child{border-radius:0 8px 0 0}.dashboard-table th{padding:1rem;text-align:left;font-weight:700;font-size:.9rem;white-space:nowrap}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.sortable-header:hover{background-color:#0000001a}.sort-icon{margin-left:.5rem;opacity:.5;font-size:.8rem}.sort-icon.active{opacity:1}.dashboard-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color .2s}.dashboard-table tbody tr:hover{background-color:var(--color-peach)}.dashboard-table td{padding:1rem;font-size:.9rem;color:var(--text-primary)}.subject-cell{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-badge{display:inline-block;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:700;white-space:nowrap}.status-reviewed{background-color:var(--status-primary-bg);color:var(--status-primary-text)}.status-responded{background-color:var(--status-green-bg);color:var(--status-green-text)}.complexity-badge{display:inline-block;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:700;white-space:nowrap}.complexity-low{background-color:var(--status-green-bg);color:var(--status-green-text)}.complexity-high{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.btn-view{background-color:transparent;border:none;cursor:pointer;font-size:1.2rem;padding:.3rem .5rem;transition:transform .2s}.btn-view:hover{transform:scale(1.2)}.action-buttons{display:flex;gap:.5rem;justify-content:flex-start;align-items:center}.clickable-row{cursor:pointer}.clickable-row:hover{background-color:var(--color-peach)!important}.filters-section{background-color:var(--bg-filters);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.filters-section h3{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1rem;margin:0}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.filter-item{display:flex;flex-direction:column;gap:.5rem}.filter-item label{font-family:Roboto Mono,monospace;font-size:.85rem;font-weight:700;color:var(--text-secondary)}.filter-input,.filter-select{padding:0rem .75rem;border:2px solid var(--border-input);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.9rem;background-color:var(--bg-input);color:var(--text-primary);color-scheme:light;transition:border-color .3s;height:36px}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--color-rosa)}.filter-input::placeholder{color:var(--text-placeholder)}[data-theme=dark] .filter-input[type=number],[data-theme=dark] .filter-select{color-scheme:dark}.col-project-name{width:25%;min-width:150px}.col-company{width:20%;min-width:120px}.col-products-count{width:120px;text-align:left;white-space:nowrap}.col-price{width:130px;text-align:left;font-weight:700;white-space:nowrap}.col-status{width:120px}.col-date{width:110px;white-space:nowrap}.col-actions{width:100px}.btn-edit,.btn-delete{background-color:transparent;border:none;cursor:pointer;font-size:1.2rem;padding:.3rem .5rem;transition:transform .2s}.btn-edit:hover,.btn-delete:hover{transform:scale(1.2)}@media(max-width:968px){.dashboard-page{padding:1rem}.dashboard-header-section{flex-direction:column;align-items:flex-start}.dashboard-header-section h1{font-size:1.2rem}.dashboard-table{font-size:.85rem}.dashboard-table th,.dashboard-table td{padding:.75rem .5rem}.subject-cell{max-width:150px}}.btn-download-invoice{background-color:#570055;color:var(--text-white);border:none;padding:.3rem .7rem;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.75rem;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-download-invoice:hover{background-color:var(--color-rosa);transform:scale(1.05)}.btn-download-invoice:disabled{opacity:.5;cursor:not-allowed;transform:none}.no-invoice{color:var(--text-hint);font-size:.9rem}.col-invoice{text-align:left;white-space:nowrap}.logs-count{font-size:.9rem;color:var(--text-muted);font-family:Roboto Mono,monospace}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem 0;flex-shrink:0}.pagination-info{font-family:Roboto Mono,monospace;font-size:.9rem;color:var(--text-muted)}.messages-row--unread td{font-weight:700}.messages-row--unread td:first-child:before{content:"●";color:var(--color-rosa);font-size:.6rem;margin-right:.4rem;vertical-align:middle}.modal-overlay{position:fixed;inset:0;background-color:var(--bg-modal-overlay);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background-color:var(--bg-card);border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px var(--shadow-lg);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid var(--color-peach)}.modal-header h2{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1.2rem;line-height:1.8;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-tertiary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-close:hover{background-color:var(--color-peach);color:var(--color-rosa)}.modal-body{padding:2rem}.modal-field{margin-bottom:1.5rem}.modal-field label{display:block;font-family:"Press Start 2P",cursive;font-size:.8rem;color:var(--color-morado);margin-bottom:.5rem;line-height:1.6}.modal-field p{font-family:Roboto Mono,monospace;color:var(--text-primary);line-height:1.6;margin:0}.modal-field a{color:var(--color-rosa);text-decoration:none}.modal-field a:hover{text-decoration:underline}.message-content{background-color:var(--bg-filters);padding:1rem;border-radius:8px;border:1px solid var(--border-light);white-space:pre-wrap;word-wrap:break-word}.ip-address{font-size:.9rem;color:var(--text-muted)}.status-select{width:100%;padding:0rem .75rem;height:36px;border:2px solid var(--border-input);border-radius:8px;font-family:Roboto Mono,monospace;font-size:.95rem;background-color:var(--bg-input);cursor:pointer;transition:border-color .3s}.status-select:hover,.status-select:focus{border-color:var(--color-rosa);outline:none}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:2px solid var(--color-peach)}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border:none;border-radius:8px;font-family:Roboto Mono,monospace;font-size:.95rem;cursor:pointer;transition:all .3s}.btn-cancel{background-color:var(--bg-button-cancel);color:var(--text-secondary)}.btn-cancel:hover{background-color:var(--bg-button-cancel-hover)}.btn-save{background-color:var(--color-rosa);color:var(--text-white)}.btn-save:hover:not(:disabled){background-color:var(--color-morado)}.btn-save:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.modal-content{max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:1rem 1.5rem}.modal-header h2{font-size:1rem}.modal-footer{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.modal-tabs{display:flex;justify-content:center;padding:1rem 1.5rem;margin-bottom:1.5rem;flex-shrink:0}.modal-tabs-inner{display:flex;gap:.5rem;padding:.3rem;background-color:var(--bg-kpi-icon);border-radius:8px}.modal-tab{background:none;border:none;border-radius:6px;padding:.5rem 1.25rem;font-family:Roboto Mono,monospace;font-size:.8rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;transition:color .2s,background-color .2s;white-space:nowrap}.modal-tab:hover{color:var(--color-rosa);background-color:var(--bg-card)}.modal-tab--active{background-color:var(--color-rosa);color:#fff}.modal-tab--active:hover{background-color:var(--color-rosa-hover, #b8365e);color:#fff}.tab-panel--hidden{display:none}.filters-panel{border:2px solid var(--border-color);border-radius:8px;margin-bottom:1rem;flex-shrink:0;overflow:hidden;transition:border-color .2s}.filters-panel--open{border-color:var(--color-rosa)}.filters-panel__header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.25rem;background-color:var(--bg-filters);border:none;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:"Press Start 2P",cursive;font-size:.7rem;color:var(--text-primary);text-align:left;transition:background-color .2s,color .2s;gap:1rem}.filters-panel__header:hover,.filters-panel__header--open{background-color:var(--bg-card);color:var(--color-rosa)}.filters-panel__header:focus,.filters-panel__header:focus-visible{outline:none}.filters-panel__title{display:flex;align-items:center;gap:.75rem}.filters-panel__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background-color:var(--color-rosa);color:#fff;font-family:Roboto Mono,monospace;font-size:.75rem;font-weight:700;border-radius:10px}.filters-panel__controls{display:flex;align-items:center;gap:.75rem}.filters-panel__clear{font-size:.75rem;padding:.35rem .75rem;height:28px;background:none;border:1.5px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-family:Roboto Mono,monospace;cursor:pointer;transition:border-color .2s,color .2s}.filters-panel__clear:hover{border-color:var(--color-rosa);color:var(--color-rosa)}.filters-panel__chevron{font-size:.6rem;color:var(--text-tertiary);transition:transform .3s ease,color .2s;flex-shrink:0;display:inline-block}.filters-panel__chevron--open{transform:rotate(90deg);color:var(--color-rosa)}.filters-panel__body{overflow:hidden;max-height:0;transition:max-height .5s ease-in-out}.filters-panel__body--open{max-height:600px}.filters-panel__inner{padding:1.25rem 1.5rem;border-top:2px solid var(--border-color)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filter-item{display:flex;flex-direction:column;gap:.4rem}.filter-item label{font-family:"Press Start 2P",cursive;font-size:.55rem;color:var(--text-secondary);text-transform:uppercase}.filter-input,.filter-select{padding:0 .75rem;height:32px;border:2px solid var(--border-input);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.9rem;background-color:var(--bg-input);color:var(--color-morado);transition:border-color .3s,background-color .3s}.filter-input:focus,.filter-select:focus{border-color:var(--color-rosa);outline:none}@media(max-width:768px){.filters-grid{grid-template-columns:1fr}}.snackbar{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;min-width:300px;max-width:500px;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px var(--shadow-lg);animation:slideDown .3s ease-out;font-family:Roboto Mono,monospace}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.snackbar-success{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:2px solid #388e3c}.snackbar-error{background:linear-gradient(135deg,#f44336,#e53935);color:#fff;border:2px solid #c62828}.snackbar-warning{background:linear-gradient(135deg,#ff9800,#fb8c00);color:#fff;border:2px solid #f57c00}.snackbar-info{background:linear-gradient(135deg,#2196f3,#1e88e5);color:#fff;border:2px solid #1565c0}.snackbar-content{display:flex;align-items:center;gap:.75rem}.snackbar-icon{font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background-color:#ffffff4d;flex-shrink:0}.snackbar-message{flex:1;font-size:.9rem;line-height:1.4;font-weight:500}.snackbar-close{background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s;flex-shrink:0}.snackbar-close:hover{background-color:#fff3}@media(max-width:600px){.snackbar{min-width:280px;max-width:calc(100% - 40px);padding:.875rem 1.25rem}.snackbar-message{font-size:.85rem}}.product-modal{max-width:600px;width:90%}.form-select{width:100%;padding:0rem .75rem;height:36px;border:2px solid var(--border-input);border-radius:4px;font-size:1rem;font-family:Roboto Mono,monospace;background-color:var(--bg-input);transition:border-color .3s}.product-details-modal{max-width:600px}@media(max-width:768px){.product-details-modal{max-width:95%}.detail-row{grid-template-columns:1fr;gap:1rem}}.confirm-modal-overlay{position:fixed;inset:0;background-color:var(--bg-confirm-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.confirm-modal{background-color:var(--bg-card);border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 8px 24px var(--shadow-lg);animation:slideUp .3s ease-out;text-align:center}.confirm-modal h3{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1.2rem;line-height:1.8;margin:0 0 1rem}.confirm-message{font-family:Roboto Mono,monospace;color:var(--text-primary);font-size:1rem;margin:0 0 1.5rem;white-space:pre-line;line-height:1.8}.modal-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.project-modal{max-width:900px}.products-tasks-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.products-tasks-container .form-field{margin-bottom:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.form-label{font-family:Roboto Mono,monospace;font-size:.9rem;color:var(--color-rosa);margin-bottom:.5rem;display:block}.form-select{padding:0rem .75rem;height:36px;border:2px solid var(--color-rosa);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.9rem;background-color:var(--bg-input);transition:border-color .3s;cursor:pointer}.form-select:focus{outline:none;border-color:var(--color-rosa-hover);box-shadow:0 0 0 3px var(--shadow-brand-sm)}.error-text{font-size:.8rem;color:var(--btn-danger);font-family:Roboto Mono,monospace;margin-top:.25rem;display:block}.error-text.general-error{background-color:var(--bg-danger-light);padding:.75rem;border-radius:8px;border-left:4px solid var(--btn-danger);margin-top:1rem}.selected-products-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;margin-bottom:.75rem;max-height:300px;overflow-y:auto;padding:.75rem;background-color:var(--bg-filters);border-radius:8px;border:2px solid var(--color-peach)}.selected-product-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-card);border:2px solid var(--color-peach);border-radius:8px;gap:1rem;transition:all .2s ease}.selected-product-item:hover{border-color:var(--color-rosa);box-shadow:0 2px 8px var(--shadow-brand-sm)}.product-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.product-name-row{display:block}.product-name{font-family:"Press Start 2P",monospace;font-size:.7rem;color:var(--text-primary)}.product-category{margin-top:.25rem;margin-bottom:.25rem}.category-text{font-size:.75rem;color:var(--color-morado);font-family:Roboto Mono,monospace;font-style:italic;text-transform:uppercase;font-weight:600}.product-info .complexity-badge,.product-info .status-badge{display:inline-block;margin-top:.25rem;margin-bottom:.25rem}.product-details{font-size:.85rem;color:var(--text-tertiary);font-family:Roboto Mono,monospace}.product-actions{display:flex;align-items:center;gap:.5rem}.quantity-input{width:70px;height:32px;padding:0 .75rem;border:2px solid var(--color-rosa);border-radius:4px;text-align:center;font-family:Roboto Mono,monospace;font-size:.9rem;transition:border-color .3s}.quantity-input:focus{outline:none;border-color:var(--color-rosa-hover);box-shadow:0 0 0 3px var(--shadow-brand-sm)}.btn-remove-product{width:32px;height:32px;border:none;background-color:var(--btn-danger);color:#fff;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:all .2s ease}.btn-remove-product:hover{background-color:var(--btn-danger-hover);transform:scale(1.1)}.btn-add-product{width:100%;padding:.75rem;margin-top:.75rem;background-color:var(--color-rosa);color:#fff;border:none;border-radius:8px;font-family:"Press Start 2P",monospace;font-size:.6rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase}.btn-add-product:hover{background-color:var(--color-rosa-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-brand-lg)}.btn-add-product:active{transform:translateY(0)}.available-products-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;max-height:250px;overflow-y:auto;padding:.75rem;background-color:var(--bg-filters);border-radius:8px;border:2px solid var(--color-peach)}.available-product-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-card);border:2px solid var(--color-peach);border-radius:8px;cursor:pointer;transition:all .2s ease;gap:.75rem}.available-product-item:hover{background-color:var(--bg-filters);border-color:var(--color-rosa);transform:translate(4px);box-shadow:0 2px 8px var(--shadow-brand-md)}.available-product-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.available-product-info .category-text{font-size:.7rem;color:var(--color-morado);font-family:Roboto Mono,monospace;font-style:italic;text-transform:uppercase;font-weight:600}.product-price{font-size:.85rem;color:var(--text-positive);font-family:Roboto Mono,monospace;font-weight:700}.no-products{text-align:center;color:var(--text-tertiary);padding:1.5rem;font-style:italic;font-family:Roboto Mono,monospace;font-size:.85rem}.status-badge{padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:700;text-transform:uppercase;white-space:nowrap;font-family:Roboto Mono,monospace}.status-pending{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.status-in-progress{background-color:var(--status-info-bg);color:var(--status-info-text)}.status-billed{background-color:var(--status-success-bg);color:var(--status-success-text)}.price-summary{background-color:var(--bg-filters);padding:1.25rem;border-radius:8px;border:2px solid var(--color-rosa);display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.price-row{display:flex;justify-content:space-between;font-family:Roboto Mono,monospace;font-size:.9rem;color:var(--text-primary)}.price-total{font-family:"Press Start 2P",monospace;font-size:.8rem;font-weight:700;color:var(--color-rosa);padding-top:.75rem;border-top:2px solid var(--color-peach);margin-top:.25rem}.price-note{text-align:center;margin-top:.5rem}.price-note small{font-family:Roboto Mono,monospace;font-size:.7rem;color:var(--text-tertiary);font-style:italic}.selected-products-list::-webkit-scrollbar,.available-products-list::-webkit-scrollbar{width:8px}.selected-products-list::-webkit-scrollbar-track,.available-products-list::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.selected-products-list::-webkit-scrollbar-thumb,.available-products-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.selected-products-list::-webkit-scrollbar-thumb:hover,.available-products-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@media(max-width:768px){.form-row,.products-tasks-container{grid-template-columns:1fr}.selected-product-item{flex-direction:column;align-items:flex-start;gap:.75rem}.product-actions{width:100%;justify-content:space-between}.available-product-item{flex-direction:column;align-items:flex-start}.product-name-row{width:100%}}.project-modal .modal-footer{display:flex;justify-content:space-between;align-items:center}.ai-context-section{border:2px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem 1.25rem;margin-bottom:1rem}.ai-context-legend{font-family:Roboto Mono,monospace;font-size:.82rem;font-weight:700;color:var(--text-primary);padding:0 .5rem;letter-spacing:.03em}.ai-context-hint{font-size:.78rem;color:var(--text-secondary);margin:0 0 1rem;font-family:Roboto Mono,monospace}.ai-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ai-context-field{display:flex;flex-direction:column;gap:.35rem}.ai-context-field--full{grid-column:1 / -1;display:flex;flex-direction:column;gap:.35rem}.ai-context-input{padding:0 .75rem;height:32px;border:2px solid var(--color-rosa);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.85rem;background-color:var(--bg-input, #fff);color:var(--text-primary);transition:border-color .2s;width:100%;box-sizing:border-box}.ai-context-input:focus{outline:none;border-color:var(--color-morado);box-shadow:0 0 5px var(--shadow-focus)}.ai-context-textarea{padding:.5rem .75rem;border:2px solid var(--color-rosa);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.85rem;background-color:var(--bg-input, #fff);color:var(--text-primary);resize:vertical;transition:border-color .2s;width:100%;box-sizing:border-box}.ai-context-textarea:focus{outline:none;border-color:var(--color-morado);box-shadow:0 0 5px var(--shadow-focus)}@media(max-width:560px){.ai-context-grid{grid-template-columns:1fr}}.project-details-modal{max-width:900px}.products-tasks-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.products-tasks-grid .detail-group{margin-bottom:0}.products-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;max-height:220px;overflow-y:auto;padding-right:.5rem}.product-item{background-color:var(--bg-filters);border:2px solid var(--color-peach);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.product-item-info{display:block}.product-item .complexity-badge,.product-item .status-badge{display:inline-block;margin-top:.25rem;margin-bottom:.25rem}.product-item-name{font-family:"Press Start 2P",monospace;font-size:.7rem;color:var(--text-primary)}.product-item-details{display:flex;flex-direction:column;gap:.25rem;font-family:Roboto Mono,monospace;font-size:.85rem;color:var(--text-tertiary)}.product-item-quantity{font-size:.8rem}.product-item-price{font-size:.85rem}.product-item-price strong{color:#27ae60;font-size:.9rem}.no-products{font-style:italic;color:var(--text-tertiary)}.products-list::-webkit-scrollbar{width:8px}.products-list::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.products-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.products-list::-webkit-scrollbar-thumb:hover{background:var(--btn-danger)}.price-detail{background-color:var(--bg-filters);border:2px solid var(--color-rosa);border-radius:8px;padding:1rem;margin-top:1rem}.price-detail label{color:var(--color-rosa);font-size:.9rem;margin-bottom:.75rem}.total-price{font-family:"Press Start 2P",monospace;font-size:1.2rem;color:var(--color-rosa);font-weight:700}.price-breakdown{margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--color-peach)}.price-breakdown-row{display:flex;justify-content:space-between;font-family:Roboto Mono,monospace;font-size:.9rem;color:var(--text-primary);margin-bottom:.5rem}.price-breakdown-row span:last-child{font-weight:700;color:#27ae60}.hourly-rate{font-family:Roboto Mono,monospace;font-weight:700;color:#27ae60;font-size:1.1rem}.complexity-badge{padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:700;text-transform:uppercase;white-space:nowrap;font-family:Roboto Mono,monospace}.complexity-low{background-color:var(--status-success-bg);color:var(--status-success-text)}.complexity-medium{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.complexity-advanced,.complexity-high{background-color:var(--status-danger-bg);color:var(--status-danger-text)}.status-badge.status-pending{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.status-badge.status-in-progress{background-color:var(--status-info-bg);color:var(--status-info-text)}.status-badge.status-billed{background-color:var(--status-success-bg);color:var(--status-success-text)}@media(max-width:768px){.project-details-modal{max-width:95%}.detail-row{grid-template-columns:1fr;gap:1rem}.products-tasks-grid{grid-template-columns:1fr}.product-item-info{flex-direction:column;align-items:flex-start}}.ai-context-readonly{padding:.25rem 0}.ai-context-empty{font-family:Roboto Mono,monospace;font-size:.85rem;color:var(--text-tertiary);text-align:center;padding:2.5rem 1.5rem;line-height:1.8;background-color:var(--bg-filters);border:1.5px dashed var(--border-color);border-radius:8px}.ai-context-ro-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.ai-context-ro-field,.ai-context-ro-field--full{display:flex;flex-direction:column;gap:.4rem}.ai-context-ro-field--full{grid-column:1 / -1}.ai-context-ro-field label,.ai-context-ro-field--full label{display:flex;align-items:center;gap:.35rem;font-family:Roboto Mono,monospace;font-size:.7rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.6px;margin-bottom:0}.ai-context-ro-field p,.ai-context-ro-field--full p{font-family:Roboto Mono,monospace;font-size:.85rem;color:var(--text-primary);background-color:var(--bg-filters);border:1.5px solid var(--border-color);border-left:3px solid var(--color-peach);border-radius:6px;padding:.55rem .85rem;margin:0;line-height:1.55;word-break:break-word;transition:border-color .2s}.ai-context-ro-field p:hover,.ai-context-ro-field--full p:hover{border-left-color:var(--color-rosa)}@media(max-width:600px){.ai-context-ro-grid{grid-template-columns:1fr}.ai-context-ro-field--full{grid-column:1}}.project-details-modal .modal-footer{display:flex;justify-content:space-between;align-items:center}.modal-footer-left,.modal-footer-right{display:flex;gap:.75rem}.task-modal{max-width:700px}.form-field{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-family:Roboto Mono,monospace;font-weight:700;color:var(--color-rosa);font-size:.9rem}.form-select{width:100%;padding:0rem .75rem;height:36px;border:2px solid var(--border-input);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.9rem;background-color:var(--bg-input);transition:border-color .3s;cursor:pointer}.time-input{width:100%;padding:0rem .75rem;height:32px;border:2px solid var(--border-input);border-radius:4px;font-size:1.1rem;font-family:Roboto Mono,monospace;background-color:var(--bg-input);transition:border-color .3s;letter-spacing:2px;text-align:center}.time-input:focus{outline:none;border-color:var(--color-morado)}.time-hint{display:block;margin-top:.3rem;font-family:Roboto Mono,monospace;font-size:.75rem;color:var(--text-hint)}.form-row-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.files-count{font-weight:400;color:var(--text-hint);font-size:.8rem}.file-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;margin-bottom:.35rem;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.82rem;border:1.5px solid var(--border-input);background-color:var(--bg-input)}.file-item--pending{border-style:dashed;border-color:var(--color-morado)}.file-item__icon{flex-shrink:0;font-size:1rem}.file-item__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.file-item__remove{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-rosa);font-size:.85rem;padding:0 .2rem;line-height:1;transition:opacity .2s}.file-item__remove:hover{opacity:.7}.file-upload-btn{display:inline-flex;align-items:center;gap:.4rem;margin-top:.4rem;padding:.3rem .75rem;height:32px;border:2px dashed var(--border-input);border-radius:4px;background:none;cursor:pointer;font-family:Roboto Mono,monospace;font-size:.82rem;color:var(--text-secondary);transition:border-color .2s,color .2s}.file-upload-btn:hover{border-color:var(--color-morado);color:var(--color-morado)}.file-input-hidden{display:none}.file-error{display:block;margin-top:.3rem;font-family:Roboto Mono,monospace;font-size:.78rem;color:#f44336}.btn-saving{display:inline-flex!important;align-items:center;gap:.5rem}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:btn-spin .7s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.task-modal{max-width:95%;margin:1rem}.form-row-two-cols{grid-template-columns:1fr}}.prompt-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.prompt-modal-content{background-color:var(--bg-card);border-radius:12px;width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000059;transition:background-color .3s ease}.prompt-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem 1rem;border-bottom:2px solid var(--border-color);flex-shrink:0}.prompt-modal-title-group{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;min-width:0}.prompt-modal-icon{font-size:1.2rem;flex-shrink:0}.prompt-modal-title{font-family:"Press Start 2P",cursive;font-size:.75rem;color:var(--color-rosa);margin:0;white-space:nowrap}.prompt-modal-task-name{font-family:Roboto Mono,monospace;font-size:.78rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.prompt-modal-close{background:none;border:none;font-size:1.1rem;color:var(--text-tertiary);cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:color .2s,background-color .2s;flex-shrink:0;line-height:1;margin-top:.1rem}.prompt-modal-close:hover{color:var(--text-primary);background-color:var(--bg-filters)}.prompt-modal-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;min-height:0}.prompt-modal-body::-webkit-scrollbar{width:8px}.prompt-modal-body::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.prompt-modal-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.prompt-modal-body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.prompt-modal-pre{margin:0;font-family:Roboto Mono,monospace;font-size:.8rem;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;line-height:1.65;background-color:var(--bg-filters);border:1.5px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem}.prompt-modal-enhancing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:3rem 1rem;color:var(--text-secondary);font-family:Roboto Mono,monospace;font-size:.9rem}.prompt-modal-error{display:flex;align-items:flex-start;gap:.75rem;padding:1.25rem;background-color:#f4433614;border:1.5px solid rgba(244,67,54,.35);border-radius:8px;font-family:Roboto Mono,monospace;font-size:.85rem;color:var(--text-primary);line-height:1.6}.prompt-modal-error-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}.prompt-modal-error p{margin:0}.prompt-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:2px solid var(--border-color);flex-shrink:0;flex-wrap:wrap}.prompt-modal-cursor{display:inline-block;width:2px;height:.85em;background-color:var(--color-rosa);border-radius:1px;margin-left:1px;vertical-align:text-bottom;animation:prompt-cursor-blink .8s steps(1) infinite}@keyframes prompt-cursor-blink{50%{opacity:0}}@media(max-width:600px){.prompt-modal-content{max-height:95vh;border-radius:8px}.prompt-modal-header,.prompt-modal-body,.prompt-modal-footer{padding-left:1rem;padding-right:1rem}.prompt-modal-title{font-size:.6rem}.prompt-modal-task-name{max-width:200px}.prompt-modal-footer{justify-content:stretch;flex-direction:column}.prompt-modal-footer>*{width:100%;justify-content:center}}.pctx-modal--compact{max-width:480px}.pctx-subtitle--warn{color:var(--warning, #c47f00);background-color:#c47f0014;border-left:3px solid var(--warning, #c47f00);padding:.5rem .75rem;border-radius:0 4px 4px 0;margin:.5rem 1.5rem 0}.pctx-optional{font-size:.78rem;color:var(--text-secondary);font-weight:400;margin-left:.25rem;font-family:Roboto Mono,monospace}.pctx-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.pctx-modal{background-color:var(--bg-card);border-radius:12px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000059;overflow:hidden;transition:background-color .3s ease}.pctx-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem .75rem;border-bottom:2px solid var(--border-color);flex-shrink:0}.pctx-header-text{display:flex;align-items:flex-start;gap:.65rem}.pctx-icon{font-size:1.2rem;margin-top:.1rem;flex-shrink:0}.pctx-title{font-family:"Press Start 2P",cursive;font-size:.72rem;color:var(--color-rosa);margin:0 0 .35rem;line-height:1.6}.pctx-task-name{font-family:Roboto Mono,monospace;font-size:.78rem;color:var(--text-secondary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}.pctx-close{background:none;border:none;font-size:1rem;color:var(--text-tertiary);cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:color .2s,background-color .2s;flex-shrink:0;line-height:1}.pctx-close:hover{color:var(--text-primary);background-color:var(--bg-filters)}.pctx-subtitle{font-family:Roboto Mono,monospace;font-size:.8rem;color:var(--text-secondary);line-height:1.6;margin:0;padding:.85rem 1.5rem 0;flex-shrink:0}.pctx-form{display:flex;flex-direction:column;flex:1;overflow-y:auto;min-height:0}.pctx-form::-webkit-scrollbar{width:8px}.pctx-form::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.pctx-form::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.pctx-form::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.pctx-section{border:none;padding:1rem 1.5rem 0;margin:0}.pctx-section:last-of-type{padding-bottom:0}.pctx-section-title{font-family:"Press Start 2P",cursive;font-size:.55rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.85rem;padding:0}.pctx-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.pctx-field{display:flex;flex-direction:column;gap:.35rem}.pctx-field--full{grid-column:1 / -1}.pctx-label{font-family:"Press Start 2P",cursive;font-size:.5rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.pctx-input{padding:0 .75rem;height:32px;border:2px solid var(--border-input);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.82rem;background-color:var(--bg-input);color:var(--color-morado);transition:border-color .2s,background-color .3s}.pctx-input:focus{border-color:var(--color-rosa);outline:none}.pctx-input:disabled{background-color:var(--bg-kpi-icon);color:var(--text-tertiary);cursor:not-allowed}.pctx-textarea{padding:.5rem .75rem;border:2px solid var(--border-input);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.82rem;background-color:var(--bg-input);color:var(--color-morado);resize:vertical;transition:border-color .2s,background-color .3s;line-height:1.5;min-height:60px}.pctx-textarea:focus{border-color:var(--color-rosa);outline:none}.pctx-textarea:disabled{background-color:var(--bg-kpi-icon);color:var(--text-tertiary);cursor:not-allowed}.pctx-select{padding:0rem .75rem;height:36px;border:2px solid var(--border-input);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.82rem;background-color:var(--bg-input);color:var(--color-morado);cursor:pointer;transition:border-color .2s}.pctx-select:focus{border-color:var(--color-rosa);outline:none}.pctx-select:disabled{background-color:var(--bg-kpi-icon);color:var(--text-tertiary);cursor:not-allowed}.pctx-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.1rem 1.5rem;border-top:2px solid var(--border-color);margin-top:1rem;flex-shrink:0;flex-wrap:wrap}@media(max-width:580px){.pctx-grid{grid-template-columns:1fr}.pctx-modal{border-radius:8px;max-height:95vh}.pctx-header,.pctx-subtitle,.pctx-section,.pctx-footer{padding-left:1rem;padding-right:1rem}.pctx-footer{flex-direction:column}.pctx-footer>*{width:100%;justify-content:center}.pctx-task-name{max-width:200px}}.task-details-modal{max-width:700px}.description-scroll{max-height:16rem;overflow-y:auto;padding-right:.5rem;border:1px solid var(--border-color);border-radius:4px;padding:.75rem;background-color:var(--bg-filters)}.description-scroll::-webkit-scrollbar{width:8px}.description-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.description-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.description-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.time-detail{background-color:var(--bg-filters);border:2px solid var(--border-color);border-radius:8px;padding:1rem;margin-top:.5rem;margin-bottom:1.5rem}.time-detail label{color:var(--text-secondary);font-size:.9rem;margin-bottom:.75rem}.time-value{font-family:"Press Start 2P",monospace;font-size:1.4rem;color:var(--text-primary);font-weight:700;letter-spacing:3px;text-align:center;padding:.5rem 0}.files-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.25rem}.file-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.5rem;border:1.5px solid var(--border-color);border-radius:6px;background-color:var(--bg-filters);cursor:pointer;transition:border-color .2s,transform .15s;overflow:hidden;text-align:center}.file-card:hover{border-color:var(--color-morado);transform:translateY(-2px)}.file-card__thumb{width:100%;height:80px;object-fit:cover;border-radius:4px;display:block}.file-card__thumb--loading{background-color:var(--bg-filters);border-radius:4px}.file-card__pdf-icon{width:100%;height:80px;display:flex;align-items:center;justify-content:center;background-color:#f44336;border-radius:4px}.file-card__pdf-icon span{font-family:Roboto Mono,monospace;font-weight:700;font-size:1.1rem;color:#fff;letter-spacing:2px}.file-card__name{font-family:Roboto Mono,monospace;font-size:.7rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;padding:0 .2rem}.file-preview-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.file-preview-modal{position:relative;background:var(--bg-card);border-radius:8px;padding:1rem;max-width:80vw;max-height:80vh;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 10px 40px #0006;overflow:hidden}.file-preview-header{display:flex;align-items:center;gap:.4rem;min-width:0}.file-preview-name-group{display:flex;align-items:center;gap:.25rem;min-width:0;flex:1}.file-preview-close{flex-shrink:0;margin-left:auto;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--text-tertiary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.file-preview-close:hover{background-color:var(--color-peach);color:var(--color-rosa)}.file-preview-download{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:50%;color:var(--text-tertiary);background:none;cursor:pointer;text-decoration:none;transition:all .2s}.file-preview-download:disabled{opacity:.4;cursor:default}.file-preview-download:not(:disabled):hover{background-color:var(--color-peach);color:var(--color-rosa)}.file-preview-error{font-family:Roboto Mono,monospace;font-size:.85rem;color:var(--text-error);text-align:center;padding:2rem 0;margin:0}[data-theme=dark] .file-preview-modal{border:1px solid var(--border-color);box-shadow:0 10px 40px #000000b3}.file-preview-name{min-width:0;font-family:Roboto Mono,monospace;font-size:.8rem;color:var(--text-secondary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-img{max-width:100%;max-height:calc(80vh - 5rem);object-fit:contain;border-radius:4px;display:block}.file-preview-pdf{width:70vw;height:calc(80vh - 5rem);border:none;border-radius:4px}@media(max-width:768px){.task-details-modal{max-width:95%}.detail-row{grid-template-columns:1fr;gap:1rem}.time-value{font-size:1.2rem;letter-spacing:2px}.files-grid{grid-template-columns:repeat(2,1fr)}.file-preview-pdf{width:90vw}}.status-badge{display:inline-block;padding:.4rem .9rem;border-radius:20px;font-family:Roboto Mono,monospace;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tasks-tabs{display:flex;gap:.5rem;margin-bottom:.75rem;padding:.3rem;background-color:var(--bg-kpi-icon);border-radius:8px;width:fit-content;flex-shrink:0}.tasks-tab{background:none;border:none;border-radius:6px;padding:.5rem 1.25rem;font-family:Roboto Mono,monospace;font-size:.8rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;transition:color .2s,background-color .2s;white-space:nowrap}.tasks-tab:hover{color:var(--color-rosa);background-color:var(--bg-card)}.tasks-tab--active{background-color:var(--color-rosa);color:#fff}.tasks-tab--active:hover{background-color:var(--color-rosa-hover);color:#fff}.btn-archive,.btn-unarchive{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:0;width:32px;height:32px;border-radius:4px;transition:transform .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.btn-archive:hover{transform:scale(1.15);background-color:#c9477e1a}.btn-unarchive:hover{transform:scale(1.15);background-color:#57005514}.time-cell{white-space:nowrap}.time-badge{font-family:Roboto Mono,monospace;font-size:.95rem;font-weight:600;color:var(--color-morado);background-color:var(--bg-kpi-icon);padding:.3rem .7rem;border-radius:6px;letter-spacing:1px}.chronometer-cell{white-space:nowrap}.chronometer-container{display:flex;align-items:center;gap:.5rem}.chronometer-display{font-family:Roboto Mono,monospace;font-size:.95rem;font-weight:600;color:var(--text-muted);background-color:var(--bg-dashboard);padding:.3rem .7rem;border-radius:6px;letter-spacing:1px;min-width:80px;text-align:center;transition:all .3s ease}.chronometer-display.running{color:var(--color-rosa);background-color:#c9477e1a;animation:chronoPulse 1s ease-in-out infinite}@keyframes chronoPulse{0%,to{box-shadow:0 0 #c9477e33}50%{box-shadow:0 0 0 4px #c9477e1a}}.chronometer-buttons{display:flex;align-items:center;gap:.25rem}.btn-chrono{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:0;width:32px;height:32px;border-radius:4px;transition:transform .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.btn-chrono:hover:not(:disabled){transform:scale(1.15);background-color:var(--bg-kpi-icon)}.btn-chrono:disabled{opacity:.3;cursor:not-allowed}.btn-play{color:var(--priority-low)}.btn-pause{color:var(--priority-medium)}.btn-stop{color:var(--priority-high)}@media(max-width:768px){.chronometer-container{flex-direction:column;gap:.3rem}.chronometer-display{font-size:.85rem;min-width:70px}.chronometer-buttons{gap:.15rem}.btn-chrono{font-size:1rem;padding:.15rem .3rem}.time-badge{font-size:.85rem;padding:.2rem .5rem}}.status-badge{display:inline-block;padding:.35rem .75rem;border-radius:16px;font-family:Roboto Mono,monospace;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.status-pending{background-color:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.status-in-progress{background-color:var(--status-info-bg);color:var(--status-info-text);border:1px solid var(--status-info-border)}.status-billed{background-color:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.company-modal{max-width:650px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}@media(max-width:768px){.company-modal{max-width:95%}.form-row-2,.form-row-3{grid-template-columns:1fr;gap:0}}.company-details-modal{max-width:650px}.detail-group p{font-family:Roboto Mono,monospace;color:var(--text-primary);font-size:1rem;margin:0;line-height:1.6;white-space:pre-wrap;word-break:break-word}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem}.detail-row .detail-group{margin-bottom:0}@media(max-width:768px){.company-details-modal{max-width:95%}.detail-row{grid-template-columns:1fr;gap:1rem}}.profile-page{max-width:800px;margin:0 auto}.profile-page h1{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1.8rem;margin-bottom:2rem;line-height:1.8}.profile-container{background-color:var(--bg-card);border-radius:12px;padding:2rem;box-shadow:0 2px 8px var(--shadow-sm);transition:background-color .3s ease,color .3s ease}.profile-form{display:flex;flex-direction:column;gap:2rem}.profile-message{padding:1rem;border-radius:8px;font-family:Roboto Mono,monospace;font-size:.95rem;text-align:center}.profile-message.success{background-color:var(--status-green-bg);color:var(--status-green-text);border:2px solid var(--status-green-border)}.profile-message.error{background-color:var(--bg-error);color:var(--text-error);border:2px solid var(--text-error)}.profile-section{display:flex;flex-direction:column;gap:1.5rem}.profile-section h2{font-family:"Press Start 2P",cursive;color:var(--color-morado);font-size:1rem;line-height:1.6;margin:0;padding-bottom:.5rem;border-bottom:2px solid var(--color-peach)}.profile-hint{font-family:Roboto Mono,monospace;font-size:.9rem;color:var(--text-muted);margin:0;font-style:italic}@media(max-width:768px){.profile-page h1{font-size:1.4rem}.profile-container{padding:1.5rem}.profile-section h2{font-size:.9rem}}.user-modal{max-width:600px;width:90%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-col{display:flex;flex-direction:column}.form-field{margin-bottom:1.5rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--color-rosa);font-family:Roboto Mono,monospace}.form-select{width:100%;padding:0rem .75rem;height:36px;border:2px solid var(--border-input);border-radius:4px;font-size:.9rem;font-family:Roboto Mono,monospace;background-color:var(--bg-input);transition:border-color .3s}.form-select:focus{outline:none;border-color:var(--color-morado)}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.user-details-modal{max-width:600px}.detail-group{margin-bottom:1.5rem}.detail-group label{display:block;font-family:Roboto Mono,monospace;font-weight:700;color:var(--text-tertiary);font-size:.85rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.detail-group p{font-family:Roboto Mono,monospace;color:var(--text-primary);font-size:1rem;margin:0;line-height:1.6}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:768px){.user-details-modal{max-width:95%}.detail-row{grid-template-columns:1fr;gap:1rem}}.settings-page{background-color:var(--bg-card);border-radius:12px;box-shadow:0 2px 8px var(--shadow-sm);box-sizing:border-box;width:100%;transition:background-color .3s ease,color .3s ease;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.settings-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;flex-shrink:0;padding:2rem 2rem 0}.settings-header-section h1{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:1.5rem;line-height:1.8;margin:0}.settings-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 2rem 2rem}.settings-content::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track{background:transparent}.settings-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover{background:var(--color-rosa)}.settings-loading{text-align:center;padding:3rem;font-family:Roboto Mono,monospace;color:var(--text-tertiary)}.settings-error{background-color:var(--bg-error);color:var(--text-error);padding:1rem;border-radius:8px;border:2px solid var(--text-error);font-family:Roboto Mono,monospace;margin-bottom:1.5rem}.settings-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.settings-field{display:flex;flex-direction:column;gap:.4rem}.settings-field.full-width{grid-column:1 / -1}.settings-label{font-family:"Press Start 2P",cursive;font-size:.55rem;color:var(--text-secondary);text-transform:uppercase}.settings-input{padding:0rem .75rem;height:32px;border:2px solid var(--border-input);border-radius:4px;font-family:Roboto Mono,monospace;font-size:.9rem;background-color:var(--bg-input);color:var(--color-morado);transition:border-color .3s,background-color .3s}.settings-input:focus{border-color:var(--color-rosa);outline:none}.settings-input:disabled{background-color:var(--bg-kpi-icon);color:var(--text-tertiary);cursor:not-allowed}.settings-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1.25rem;border-top:2px solid var(--border-color)}@media(max-width:768px){.settings-accordion-header{font-size:.6rem;padding:.85rem 1rem}.settings-accordion-body{padding:1rem 1.25rem}.settings-form{grid-template-columns:1fr}.settings-header-section{flex-direction:column;align-items:flex-start}.settings-header-section h1{font-size:1.1rem}}.settings-accordion{border:2px solid var(--border-color);border-radius:8px;overflow:hidden;margin-bottom:1rem;transition:border-color .2s}.settings-accordion:has(.settings-accordion-header.open){border-color:var(--color-rosa)}.settings-accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background-color:var(--bg-filters);border:none;cursor:pointer;font-family:"Press Start 2P",cursive;font-size:.7rem;color:var(--text-primary);text-align:left;transition:background-color .2s,color .2s;gap:1rem}.settings-accordion-header:hover,.settings-accordion-header.open{background-color:var(--bg-card);color:var(--color-rosa)}.settings-accordion-arrow{font-size:.6rem;color:var(--text-tertiary);transition:transform .3s ease,color .2s;flex-shrink:0}.settings-accordion-arrow.open{transform:rotate(90deg);color:var(--color-rosa)}.settings-accordion-inner{overflow:hidden;max-height:0;transition:max-height .5s ease-in-out}.settings-accordion-inner.open{max-height:3000px}.settings-accordion-body{padding:1.25rem 1.5rem;border-top:2px solid var(--border-color)}.settings-billing-subheader{display:flex;justify-content:flex-end;margin-bottom:1.25rem}.settings-ai-section{margin:0}.settings-ai-header{margin-bottom:1.5rem}.settings-ai-title{font-family:"Press Start 2P",cursive;color:var(--color-rosa);font-size:.85rem;margin:0 0 .75rem;line-height:1.8}.settings-ai-description{font-family:Roboto Mono,monospace;font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin:0}.settings-ai-providers{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.settings-ai-provider-card{background-color:var(--bg-filters);border:2px solid var(--border-color);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .2s}.settings-ai-preferred-card{margin-top:1.25rem}.settings-ai-provider-card:focus-within{border-color:var(--color-rosa)}.settings-ai-provider-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.settings-ai-provider-label{font-family:"Press Start 2P",cursive;font-size:.65rem;color:var(--text-primary)}.settings-ai-provider-badge{font-family:Roboto Mono,monospace;font-size:.72rem;padding:.2rem .6rem;border-radius:999px;font-weight:600;white-space:nowrap}.badge--configured{background-color:#4caf5026;color:#4caf50;border:1px solid rgba(76,175,80,.4)}.badge--unconfigured{background-color:var(--bg-kpi-icon);color:var(--text-tertiary);border:1px solid var(--border-color)}.settings-ai-field{display:flex;flex-direction:column;gap:.4rem}.settings-ai-key-wrapper{display:flex;gap:.5rem;align-items:center}.settings-ai-key-input{flex:1;min-width:0}.settings-ai-key-toggle{flex-shrink:0;background:none;border:2px solid var(--border-input);border-radius:4px;width:36px;height:32px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:border-color .2s,background-color .2s}.settings-ai-key-toggle:hover{border-color:var(--color-rosa);background-color:var(--bg-card)}.settings-ai-key-hint{font-family:Roboto Mono,monospace;font-size:.7rem;color:var(--text-tertiary);font-weight:400;font-style:italic}.settings-ai-key-warning{font-family:Roboto Mono,monospace;font-size:.72rem;color:var(--text-tertiary);margin:.2rem 0 0;line-height:1.5}.settings-ai-key-warning a{color:var(--color-morado);text-decoration:underline}.settings-ai-key-warning a:hover{color:var(--color-rosa)}.settings-ai-provider-actions{display:flex;justify-content:flex-end;gap:.6rem;padding-top:.5rem;border-top:1.5px solid var(--border-color);flex-wrap:wrap}@media(max-width:768px){.settings-ai-providers{grid-template-columns:1fr}}.App{min-height:100vh;display:flex;flex-direction:column}#main-container{flex:1;margin-top:80px;width:100%}h1{padding-right:10px;padding-left:10px;line-height:4rem;text-align:center;font-family:"Press Start 2P",cursive;font-size:1.8rem;color:var(--color-rosa);text-shadow:-1px 1px 2px var(--bg-nav)}h2{font-family:"Press Start 2P",cursive;font-size:1.4rem;color:var(--color-rosa);text-align:center}h3{font-family:Roboto Mono,monospace;color:var(--color-rosa)}p{font-family:Roboto Mono,monospace;line-height:1.8}.text-bold{font-weight:700}@media(max-width:768px){h1{font-size:1.2rem;line-height:2.5rem}h2{font-size:1rem}#main-container{margin-top:140px}}:root{font-family:Roboto Mono,monospace;line-height:1.5;font-weight:400;--color-rosa: #c9477e;--color-morado: rgba(87, 0, 85, 1);--color-rosa-hover: #ff69b4;--color-peach: #fae3db;--bg-body: #fae3db;--bg-dashboard: #f5f5f5;--bg-card: #ffffff;--bg-nav: rgb(252, 252, 252);--bg-input: #ffffff;--bg-filters: #f8f9fa;--bg-hover-row: #fae3db;--bg-error: #ffe0e0;--bg-modal-overlay: rgba(0, 0, 0, .6);--bg-confirm-overlay: rgba(0, 0, 0, .7);--bg-sidebar: #ffffff;--bg-sidebar-active: rgba(87, 0, 85, .1);--bg-button-cancel: #f5f5f5;--bg-button-cancel-hover: #e0e0e0;--bg-kpi-icon: rgba(87, 0, 85, .08);--text-primary: rgba(87, 0, 85, .9);--text-secondary: rgba(87, 0, 85, .8);--text-tertiary: rgba(87, 0, 85, .7);--text-muted: rgba(87, 0, 85, .6);--text-hint: rgba(87, 0, 85, .5);--text-placeholder: rgba(87, 0, 85, .4);--text-white: #ffffff;--text-on-brand: #fae3db;--text-error: #d32f2f;--text-link: #646cff;--text-link-hover: #535bf2;--border-color: rgba(87, 0, 85, .3);--border-light: #e0e0e0;--border-brand: #fae3db;--border-focus: #c9477e;--border-input: rgba(87, 0, 85, .3);--shadow-sm: rgba(0, 0, 0, .1);--shadow-md: rgba(0, 0, 0, .15);--shadow-lg: rgba(0, 0, 0, .2);--shadow-brand-sm: rgba(87, 0, 85, .1);--shadow-brand-md: rgba(87, 0, 85, .15);--shadow-brand-lg: rgba(87, 0, 85, .2);--shadow-focus: rgba(201, 71, 126, .5);--dashboard-header-bg: rgba(87, 0, 85, 1);--dashboard-logo-text: #fae3db;--dashboard-user-bg: rgba(255, 255, 255, .1);--dashboard-user-border: rgba(255, 255, 255, .3);--dashboard-user-hover: rgba(255, 255, 255, .2);--scrollbar-track: #fae3db;--scrollbar-thumb: #c9477e;--scrollbar-thumb-hover: #ff69b4;--cell-bg: #fae3db;--cell-hover: #f0d4cc;--cell-revealed: #ffffff;--status-success-bg: #d4edda;--status-success-text: #155724;--status-success-border: #28a745;--status-warning-bg: #fff3cd;--status-warning-text: #856404;--status-warning-border: #ffc107;--status-danger-bg: #f8d7da;--status-danger-text: #721c24;--status-danger-border: #dc3545;--status-info-bg: #d1ecf1;--status-info-text: #0c5460;--status-info-border: #17a2b8;--status-primary-bg: #cfe2ff;--status-primary-text: #084298;--status-green-bg: #d1e7dd;--status-green-text: #0f5132;--status-green-border: #0f5132;--status-neutral-bg: #f0f0f0;--status-neutral-text: #333;--status-neutral-border: #ccc;--status-link-bg: #e7f3ff;--status-link-text: #0066cc;--status-link-border: #b3d9ff;--text-positive: #27ae60;--btn-danger: #e74c3c;--btn-danger-hover: #c0392b;--bg-danger-light: #fee;--game-row-warm: #fef5f3;--game-row-green: #f0fff4;--game-row-red: #fff5f5;--priority-high: #f44336;--priority-medium: #ff9800;--priority-low: #4caf50}[data-theme=dark]{--color-rosa: #d4618f;--color-morado: #b07aae;--color-rosa-hover: #e87dab;--color-peach: #2a2235;--bg-body: #0f0e17;--bg-dashboard: #0f0e17;--bg-card: #1a1929;--bg-nav: #161527;--bg-input: #232237;--bg-filters: #1a1929;--bg-hover-row: #232237;--bg-error: #3d1c1c;--bg-modal-overlay: rgba(0, 0, 0, .75);--bg-confirm-overlay: rgba(0, 0, 0, .85);--bg-sidebar: #161527;--bg-sidebar-active: rgba(212, 97, 143, .15);--bg-button-cancel: #232237;--bg-button-cancel-hover: #2e2d42;--bg-kpi-icon: rgba(212, 97, 143, .12);--text-primary: rgba(235, 225, 240, .95);--text-secondary: rgba(235, 225, 240, .85);--text-tertiary: rgba(235, 225, 240, .7);--text-muted: rgba(235, 225, 240, .55);--text-hint: rgba(235, 225, 240, .4);--text-placeholder: rgba(235, 225, 240, .3);--text-white: #ffffff;--text-on-brand: #fae3db;--text-error: #f48f8f;--text-link: #8b8fff;--text-link-hover: #a5a8ff;--border-color: rgba(235, 225, 240, .18);--border-light: rgba(235, 225, 240, .08);--border-brand: rgba(235, 225, 240, .1);--border-focus: #d4618f;--border-input: rgba(235, 225, 240, .18);--shadow-sm: rgba(0, 0, 0, .3);--shadow-md: rgba(0, 0, 0, .4);--shadow-lg: rgba(0, 0, 0, .5);--shadow-brand-sm: rgba(212, 97, 143, .1);--shadow-brand-md: rgba(212, 97, 143, .15);--shadow-brand-lg: rgba(212, 97, 143, .2);--shadow-focus: rgba(212, 97, 143, .5);--dashboard-header-bg: #161527;--dashboard-logo-text: #fae3db;--dashboard-user-bg: rgba(255, 255, 255, .06);--dashboard-user-border: rgba(255, 255, 255, .12);--dashboard-user-hover: rgba(255, 255, 255, .1);--scrollbar-track: #161527;--scrollbar-thumb: #d4618f;--scrollbar-thumb-hover: #e87dab;--cell-bg: #232237;--cell-hover: #2e2d42;--cell-revealed: #1a1929;--status-success-bg: rgba(40, 167, 69, .2);--status-success-text: #6fcf8a;--status-success-border: #28a745;--status-warning-bg: rgba(255, 193, 7, .18);--status-warning-text: #f5c842;--status-warning-border: #ffc107;--status-danger-bg: rgba(220, 53, 69, .18);--status-danger-text: #f48f8f;--status-danger-border: #dc3545;--status-info-bg: rgba(23, 162, 184, .18);--status-info-text: #63d5e6;--status-info-border: #17a2b8;--status-primary-bg: rgba(13, 110, 253, .18);--status-primary-text: #79b4ff;--status-green-bg: rgba(15, 81, 50, .2);--status-green-text: #6fcf8a;--status-green-border: #28a745;--status-neutral-bg: rgba(235, 225, 240, .1);--status-neutral-text: rgba(235, 225, 240, .7);--status-neutral-border: rgba(235, 225, 240, .2);--status-link-bg: rgba(0, 102, 204, .15);--status-link-text: #79b4ff;--status-link-border: rgba(0, 102, 204, .3);--text-positive: #6fcf8a;--btn-danger: #e74c3c;--btn-danger-hover: #c0392b;--bg-danger-light: rgba(231, 76, 60, .15);--game-row-warm: #1e1d2e;--game-row-green: rgba(40, 167, 69, .08);--game-row-red: rgba(220, 53, 69, .08);--priority-high: #f48f8f;--priority-medium: #f5c842;--priority-low: #6fcf8a}a{font-weight:500;color:var(--text-link);text-decoration:inherit}a:hover{color:var(--text-link-hover)}html{scroll-behavior:smooth;overflow-x:clip;width:100%}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:var(--bg-body);color:var(--text-primary);overflow-x:clip;width:100%;box-sizing:border-box;transition:background-color .3s ease,color .3s ease}*{box-sizing:border-box}h1{font-size:3.2em;line-height:1.1}@media(max-width:768px){h1{font-size:2em;line-height:1.3}}@media(max-width:480px){h1{font-size:1.5em;line-height:1.4}}input,select,textarea{background-color:var(--bg-input);color:var(--text-primary);transition:background-color .3s ease,color .3s ease,border-color .3s ease}select option{background-color:var(--bg-input);color:var(--text-primary)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:border-color .25s,background-color .3s,color .3s}button:hover{border-color:var(--text-link)}button:focus,button:focus-visible{outline:none}
