:root{--primary-color: #F8853A;--primary-hover: #E76F21;--secondary-color: #2c3e50;--background-color: #f4f5f7;--card-background: #ffffff;--text-color: #333;--light-text-color: #666;--border-color: #e0e0e0;--success-color: #2ecc71;--error-color: #e74c3c;--warning-bg: #fdf5e8;--warning-border: #f7b774;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius: 8px;--box-shadow: 0 4px 12px rgba(0,0,0,.08)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{max-width:900px;margin:0 auto;padding:var(--spacing-lg)}.app-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}header{text-align:center;position:relative}header h1{color:var(--secondary-color);font-size:2.2rem;margin-bottom:var(--spacing-sm)}header p{color:var(--light-text-color);font-size:1.1rem;max-width:700px;margin:0 auto}.header-actions{position:absolute;top:0;right:0;display:flex;gap:var(--spacing-sm)}.header-actions .ghost-btn{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-xs) var(--spacing-md);color:var(--secondary-color);font-weight:500;cursor:pointer;font-size:.85rem;text-decoration:none;transition:background-color .2s,border-color .2s}.header-actions .ghost-btn:hover{background-color:#f8f9fa;border-color:#ced4da}.card{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:var(--spacing-lg);border:1px solid var(--border-color)}.form-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:768px){.form-grid{grid-template-columns:200px 1fr;align-items:start}}.image-uploader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);text-align:center}.image-preview-box{width:180px;height:180px;border-radius:var(--border-radius);border:2px dashed var(--border-color);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background-color .2s;overflow:hidden;position:relative}.image-preview-box:hover{border-color:var(--primary-color);background-color:#fafafa}.image-preview-box img{width:100%;height:100%;object-fit:cover}.image-preview-box .placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--light-text-color)}.image-preview-box .placeholder svg{width:40px;height:40px;stroke:var(--light-text-color)}input[type=file]{display:none}.upload-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm);width:180px}.secondary-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px;border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:var(--card-background);color:var(--secondary-color);font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s;width:100%;font-size:.9rem;text-decoration:none;font-family:Inter,sans-serif}.secondary-button:hover{background-color:#f8f9fa;border-color:#ced4da}.secondary-button svg{width:16px;height:16px}.input-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.input-group label{font-weight:500;color:var(--secondary-color)}.input-group input,.input-group select,.input-group textarea{width:100%;padding:12px;border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:1rem;font-family:Inter,sans-serif;transition:border-color .2s,box-shadow .2s;background:var(--card-background);color:var(--text-color)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #f8853a33}textarea{resize:vertical;min-height:100px}.delivery-options{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.delivery-options label{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500;color:var(--text-color);cursor:pointer;font-size:.9rem}.delivery-options input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color)}.custom-text-preview{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:#f8f9fa;border:1px solid var(--border-color);border-radius:var(--border-radius)}.custom-text-preview label{font-size:.8rem;font-weight:600;color:var(--light-text-color);display:block;margin-bottom:var(--spacing-xs)}.custom-text-preview p{font-size:.9rem;white-space:pre-wrap;word-wrap:break-word;color:var(--text-color);min-height:1.2em}.main-button{grid-column:1 / -1;padding:14px 20px;font-size:1.1rem;font-weight:600;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:Inter,sans-serif}.main-button:hover:not(:disabled){background-color:var(--primary-hover)}.main-button:disabled{background-color:#ccc;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center}.progress-bar-container{width:80%;max-width:300px;height:10px;background-color:var(--border-color);border-radius:5px;overflow:hidden}.progress-bar{height:100%;background-color:var(--primary-color);border-radius:5px;transition:width .5s ease-out}.loading-timer{font-weight:500;color:var(--light-text-color);font-size:.9rem}.loading-message{font-style:italic;color:var(--light-text-color)}.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)}}.error-message{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);text-align:center;font-size:1.1rem;color:var(--error-color);background-color:#e74c3c1a;border:1px solid var(--error-color);border-radius:var(--border-radius)}.result-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color)}.result-header h2{font-size:1.5rem;color:var(--secondary-color);margin:0}.download-button{width:auto;white-space:nowrap}.warning-alert,.info-alert{padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg)}.warning-alert{background-color:var(--warning-bg);border:1px solid var(--warning-border);color:#c06014}.info-alert{background-color:#e7f3fe;border:1px solid #a1c9ed;color:#20507a}.info-alert strong{display:block;margin-bottom:var(--spacing-sm)}.info-alert ul{list-style-position:inside;padding-left:5px;margin:0}.info-alert li:not(:last-child){margin-bottom:var(--spacing-xs)}.estimation-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:600px){.estimation-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}.price-display{text-align:center;padding:var(--spacing-lg);background:linear-gradient(135deg,#f9f9f9,#efefef);border-radius:var(--border-radius);border:1px solid var(--border-color)}.price-display .price{font-size:2.8rem;font-weight:700;color:var(--primary-color)}.price-display .range{color:var(--light-text-color);font-weight:500}.object-info{font-size:1.1rem;font-weight:500;margin-bottom:var(--spacing-sm)}.confidence{font-size:.9rem;color:var(--light-text-color)}.brouillon-item{margin-bottom:var(--spacing-lg)}.brouillon-item .label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.brouillon-item .label h4{font-size:1.1rem;color:var(--secondary-color)}.copy-button{background-color:#e9ecef;color:var(--secondary-color);border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;transition:background-color .2s;display:inline-flex;align-items:center;gap:4px;font-family:Inter,sans-serif}.copy-button:hover{background-color:#ced4da}.copy-button.copied{background-color:var(--success-color);color:#fff}.copyable-content{background-color:#f8f9fa;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);font-family:monospace;white-space:pre-wrap;word-wrap:break-word}.description-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.tab-button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);background-color:#f8f9fa;cursor:pointer;border-bottom:none;border-radius:var(--border-radius) var(--border-radius) 0 0;font-weight:500;font-family:Inter,sans-serif}.tab-button.active{background-color:var(--card-background);border-bottom:1px solid var(--card-background);position:relative;top:1px}.description-content{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:0 var(--border-radius) var(--border-radius) var(--border-radius);padding:var(--spacing-md);max-height:250px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}.collapsible-section summary{cursor:pointer;font-size:1.3rem;font-weight:600;color:var(--secondary-color);padding:var(--spacing-sm) 0;list-style:none}.collapsible-section summary::-webkit-details-marker{display:none}.collapsible-section summary:before{content:"▶";margin-right:var(--spacing-sm);font-size:.8em;transition:transform .2s;display:inline-block}.collapsible-section[open] summary:before{transform:rotate(90deg)}.table-container{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--border-radius)}table{width:100%;border-collapse:collapse}th,td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color)}td a{color:var(--primary-color);text-decoration:none;font-weight:500}td a:hover{text-decoration:underline;color:var(--primary-hover)}thead th{background-color:#f8f9fa;font-weight:600}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background-color:#f1f3f5}.json-container{background-color:var(--secondary-color);color:#f8f9fa;padding:var(--spacing-md);border-radius:var(--border-radius);max-height:400px;overflow:auto;font-size:.9rem}.json-container pre{white-space:pre-wrap;word-wrap:break-word}.camera-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.camera-content{background-color:var(--card-background);padding:var(--spacing-lg);border-radius:var(--border-radius);box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);max-width:90vw;max-height:90vh}.camera-feed,.camera-preview{width:100%;max-width:500px;border-radius:var(--border-radius);border:1px solid var(--border-color);aspect-ratio:4 / 3;object-fit:cover}.camera-controls{display:flex;gap:var(--spacing-md)}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.history-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:background-color .2s}.history-item:hover{background-color:#f8f9fa}.history-item-info{display:flex;flex-direction:column}.history-item-info strong{font-weight:600;color:var(--secondary-color)}.history-item-info span{font-size:.9rem;color:var(--light-text-color)}.clear-history-button{margin-top:var(--spacing-lg);width:100%;background-color:#f1f3f5;color:var(--secondary-color)}.clear-history-button:hover{background-color:var(--error-color);color:#fff;border-color:var(--error-color)}.no-history{color:var(--light-text-color);padding:var(--spacing-md) 0}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background-color:var(--background-color)}.auth-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:40px;width:100%;max-width:420px}.auth-card h1,.auth-card h3{color:var(--secondary-color);font-size:1.5rem;margin-bottom:4px}.auth-sub{color:var(--light-text-color);font-size:.9rem;margin-bottom:24px}.auth-card form{display:flex;flex-direction:column;gap:12px}.auth-card form label{font-weight:500;color:var(--secondary-color);font-size:.85rem;margin-bottom:-4px}.auth-card form input{width:100%;padding:12px;border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:1rem;font-family:Inter,sans-serif;transition:border-color .2s,box-shadow .2s;background:var(--card-background);color:var(--text-color)}.auth-card form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #f8853a33}.auth-card form .btn{margin-top:8px;padding:12px 20px;font-size:1rem;font-weight:600;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s;font-family:Inter,sans-serif}.auth-card form .btn:hover:not(:disabled){background-color:var(--primary-hover)}.auth-card form .btn:disabled{background-color:#ccc;cursor:not-allowed}.auth-card .error{background:#e74c3c1a;border:1px solid var(--error-color);color:var(--error-color);border-radius:6px;padding:8px 12px;font-size:.85rem}.auth-links{margin-top:20px;display:flex;flex-direction:column;gap:8px;font-size:.9rem}.auth-links a{color:var(--primary-color);text-decoration:none;font-weight:500}.auth-links a:hover{text-decoration:underline;color:var(--primary-hover)}.separator{display:flex;align-items:center;margin:20px 0 0;color:var(--light-text-color);font-size:.8rem}.separator:before,.separator:after{content:"";flex:1;height:1px;background:var(--border-color)}.separator span{padding:0 12px}.admin-container{max-width:900px;margin:0 auto;padding:var(--spacing-lg)}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.admin-header h1{color:var(--secondary-color);font-size:1.6rem}.admin-header .sub{color:var(--light-text-color);font-size:.85rem}.admin-actions-cell{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.admin-actions-cell button{font-family:Inter,sans-serif}.badge-active{color:var(--success-color);font-weight:600}.badge-inactive{color:var(--error-color);font-weight:600}.small-text{font-size:.85rem;color:var(--light-text-color)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal-overlay .auth-card{max-width:400px}.modal-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}@media(max-width:600px){#root{padding:var(--spacing-md)}header h1{font-size:1.6rem}header p{font-size:.95rem}.header-actions{position:static;justify-content:center;margin-top:var(--spacing-sm)}.estimation-grid{grid-template-columns:1fr}.auth-card{padding:24px}}
