:root{--background-gradient-start: #e9edf2;--background-gradient-end: #fbfcfd;--card-background: #ffffff;--text-color: #2c3e50;--primary-color: #3498db;--primary-color-hover: #2980b9;--success-color: #2ecc71;--success-color-hover: #27ae60;--print-color: #16a085;--print-color-hover: #1abc9c;--border-color: #e0e6ed;--placeholder-color: #95a5a6;--font-family: "Poppins", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:var(--font-family);background-image:linear-gradient(to bottom right,var(--background-gradient-start),var(--background-gradient-end));background-repeat:no-repeat;color:var(--text-color);line-height:1.6;display:flex;flex-direction:column;min-height:100%}.app-header{width:100%;padding:1rem 2rem;background-image:linear-gradient(45deg,#2c3e50,#34495e);color:#ecf0f1;box-shadow:0 4px 10px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.app-header h1{font-size:2.2rem;font-weight:700;margin:0;line-height:1.2;background:linear-gradient(45deg,gray,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.app-header h1 span{font-weight:800;background:linear-gradient(45deg,#a07a58,#d4b494);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.app-header p{font-size:1rem;font-weight:300;opacity:.9;text-align:right}#app{width:100%;max-width:1600px;margin:0 auto;padding:1rem;flex:1 0 auto}main{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:flex-start}.thumbnail-sidebar h2{font-size:1.2rem;font-weight:700;text-align:center;color:var(--text-color);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:1px}.thumbnail-list{display:flex;flex-direction:column;gap:.75rem}.thumbnail-item{width:100%;aspect-ratio:1 / 1;border:2px solid var(--border-color);border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .2s ease,transform .2s ease;position:relative;background-color:var(--card-background);flex-shrink:0}.thumbnail-item:hover{border-color:var(--primary-color);transform:scale(1.05)}.thumbnail-item.active{border-color:var(--primary-color);box-shadow:0 0 12px #3498db80}.thumbnail-item img{width:100%;height:100%;object-fit:cover}.thumbnail-item--placeholder{border-style:dashed;cursor:default;background-color:transparent}.thumbnail-item--placeholder:hover{transform:none;border-color:var(--border-color)}.main-content{flex-grow:1;display:flex;flex-direction:column;gap:1rem;min-width:0}.thumbnail-gallery--horizontal{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:12px;padding:.5rem 1rem;width:100%}.gallery-content h2{font-size:1.2rem;font-weight:700;color:var(--text-color);text-transform:uppercase;letter-spacing:1px;flex-shrink:0}.gallery-content{display:flex;align-items:center;gap:1rem}.thumbnail-gallery--horizontal .thumbnail-list{flex-direction:row;gap:1rem;flex-grow:1}.thumbnail-gallery--horizontal .thumbnail-item{width:100px;height:100px}.image-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;width:100%}.image-box{background-color:var(--card-background);border:2px dashed var(--border-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;position:relative;overflow:hidden;box-shadow:none;transition:all .2s ease}.image-box.has-image{border:1px solid var(--border-color);padding:.5rem;box-shadow:0 4px 12px #0000000d}#result-box.has-image{cursor:copy}#result-box.has-image:hover{border-color:var(--success-color);box-shadow:0 6px 16px #2ecc7133}.image-box h2{font-size:1.2rem;font-weight:400;margin-bottom:1rem;color:var(--text-color)}.image-box img{max-width:100%;max-height:400px;object-fit:contain;border-radius:8px;display:none}.image-box.has-image img{display:block}.image-box.has-image .placeholder{display:none}.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--placeholder-color);gap:.5rem;padding:1rem}.placeholder svg{stroke:var(--placeholder-color)}.controls{display:flex;justify-content:flex-start;align-items:flex-start;gap:2rem}.left-controls{display:flex;align-items:center;gap:2rem;flex-grow:1}.control-buttons-group{display:flex;gap:1rem}.patient-info-group{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.patient-info-group input{padding:.5rem .8rem;border:1px solid var(--border-color);border-radius:6px;font-family:var(--font-family);font-size:1rem;width:100%;transition:border-color .2s ease,box-shadow .2s ease}.patient-info-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db33}.patient-info-group input::placeholder{color:var(--placeholder-color);font-size:.9rem}.patient-info-group input:disabled{background-color:#e9ecef;cursor:not-allowed}#current-date{background-color:#e9ecef;cursor:default;text-align:center;font-weight:700}#current-date:focus{outline:none;box-shadow:none;border-color:var(--border-color)}.primary-upload-button{background-color:var(--primary-color);color:#fff;padding:.75rem;width:100px;height:100px;justify-content:center;font-size:.95rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;line-height:1.2;flex-shrink:0}#capture-image-button,#new-patient-button{width:80px;height:80px;padding:.5rem;font-size:.8rem}.primary-upload-button small{font-size:.75rem;opacity:.8;line-height:1}.primary-upload-button svg{margin-right:0}.primary-upload-button:hover:not(:disabled):not(.disabled){background-color:var(--primary-color-hover);color:#fff}.filter-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.button{padding:.85rem 1.5rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;position:relative;color:#fff;border:none;box-shadow:0 4px 15px #0000001a}.button:hover:not(:disabled):not(.disabled){transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.button:active:not(:disabled):not(.disabled){transform:translateY(-1px);box-shadow:0 2px 10px #0000001a}.button:disabled,.button.disabled{cursor:not-allowed;background-image:none;background-color:#e9ecef;box-shadow:none;color:#adb5bd;pointer-events:none}.button svg{margin-right:.5rem}.delete-thumb-button{position:absolute;top:4px;left:4px;width:24px;height:24px;background-color:#e74c3cd9;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:2;padding:0}.thumbnail-item[data-type=saved]:hover .delete-thumb-button{opacity:1;transform:scale(1.1)}.delete-thumb-button:hover{background-color:#e74c3c;transform:scale(1.2)!important}.filter-button[data-prompt=full]{background-image:linear-gradient(45deg,#4e54c8,#8f94fb)}.filter-button[data-prompt=skin]{background-image:linear-gradient(45deg,#f09819,#edde5d)}.filter-button[data-prompt=ai-hd-live]{background-image:linear-gradient(45deg,#3498db,#2980b9)}.online-badge{position:absolute;top:-8px;right:-8px;background-color:#e74c3c;color:#fff;font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:10px;box-shadow:0 2px 4px #0000001a;text-transform:uppercase}.output-actions{margin-top:1rem;padding:1rem;border:1px solid var(--border-color);border-radius:12px;background-color:var(--card-background)}.output-actions h3{text-align:center;font-weight:400;color:var(--placeholder-color);margin-bottom:1rem}.action-buttons-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.action-button{background-color:#6c757d;font-size:1rem;padding:.7rem 1.2rem;display:flex;align-items:center;justify-content:center}#save-button{background-color:var(--success-color)}#save-button:hover:not(:disabled){background-color:var(--success-color-hover)}#print-button{background-color:var(--print-color)}#print-button:hover:not(:disabled){background-color:var(--print-color-hover)}.loader-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;gap:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loader-overlay[hidden]{display:none}.spinner{border:4px solid rgba(0,0,0,.1);width:36px;height:36px;border-radius:50%;border-left-color:var(--primary-color);animation:spin 1s ease infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-overlay[hidden]{display:none}.modal-content{background:var(--card-background);padding:2.5rem 3rem;border-radius:12px;box-shadow:0 10px 30px #0003;width:90%;max-width:600px;position:relative;text-align:center}.modal-content h2{font-size:1.8rem;margin-bottom:2rem;color:var(--text-color)}.close-modal-button{position:absolute;top:10px;right:15px;background:none;border:none;font-size:2.5rem;font-weight:300;color:#95a5a6;cursor:pointer;line-height:1;padding:0}.close-modal-button:hover{color:var(--text-color)}.modal-options{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.modal-option-button{flex:1;background-color:var(--primary-color);min-width:120px;display:flex;flex-direction:column;align-items:center;gap:.5rem}.modal-option-button svg{margin-right:0}.modal-option-button:hover:not(:disabled){background-color:var(--primary-color-hover)}.settings-modal-content{max-width:650px;text-align:left}.settings-form{display:flex;flex-direction:column;gap:1rem}.settings-form-header{display:flex;gap:1.5rem;align-items:flex-start}.header-inputs-container{flex:1;display:flex;flex-direction:column;gap:1rem}.logo-uploader{width:120px;height:120px;border:2px dashed var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;position:relative;overflow:hidden;transition:border-color .2s ease;flex-shrink:0}.logo-uploader:hover{border-color:var(--primary-color)}#logo-preview{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;padding:.5rem;display:none}#logo-preview[src]{display:block}#logo-preview[src]+.logo-placeholder{display:none}.logo-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--placeholder-color);font-size:.9rem}.logo-placeholder svg{stroke:var(--placeholder-color)}.settings-subtitle{font-size:1rem;font-weight:700;color:var(--primary-color);text-align:left;margin-top:1rem;margin-bottom:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.25rem}.settings-subtitle:first-of-type{margin-top:0}.settings-form input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-family:var(--font-family);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.settings-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db33}#save-settings-button{margin-top:1rem;background-color:var(--success-color)}#save-settings-button:hover:not(:disabled){background-color:var(--success-color-hover)}.app-footer{width:100%;padding:.75rem 2rem;background-color:#34495e;color:#ecf0f1;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -4px 10px #0000001a;flex-shrink:0}.developer-info{display:flex;align-items:center;gap:.75rem}.developer-text{display:flex;flex-direction:column;line-height:1.3}.developed-by{font-size:.7rem;font-weight:300;color:#bdc3c7;text-transform:uppercase}.developer-name{font-size:.9rem;font-weight:700}.settings-button{background-color:transparent;border:1px solid #7f8c8d;color:#ecf0f1;cursor:pointer;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease}.settings-button:hover{background-color:#ffffff1a;border-color:#ecf0f1}.settings-button svg{width:22px;height:22px;margin-right:0}@media (max-width: 768px){.app-header{flex-direction:column;text-align:center;padding:1.5rem 1rem}.app-header h1{font-size:2rem}.app-header p{text-align:center;font-size:.9rem}main{grid-template-columns:1fr}.thumbnail-gallery--horizontal{position:static;padding:0 1rem}.thumbnail-list{flex-direction:row;width:100%;overflow-x:auto;padding-bottom:.5rem}.thumbnail-item{width:80px;height:80px}.image-container{grid-template-columns:1fr}.modal-options{flex-direction:column}.developer-text{text-align:left}}
