:root{--primary: #0ea5e9;--primary-hover: #0284c7;--bg-color: #09090b;--card-bg: #18181b;--text-main: #fafafa;--text-muted: #a1a1aa;--accent: #10b981;--danger: #ef4444}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-main);min-height:100vh}.app-container{display:flex;min-height:100vh;background-color:var(--bg-color);width:100vw;overflow:hidden}.sidebar{width:280px;background-color:var(--card-bg);border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;padding:2rem 1rem 0;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:50;height:100vh;box-shadow:4px 0 15px #00000080}.app-header{text-align:center;margin-bottom:2.5rem}.logo-container{display:flex;justify-content:center;margin-bottom:1rem}.agency-logo{max-width:100px;max-height:100px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,255,255,.15))}.app-header h1{font-size:1.1rem;font-weight:800;background:linear-gradient(to right,#38bdf8,#0ea5e9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-top:.5rem;margin-bottom:.25rem;line-height:1.2}.app-header p{color:var(--text-muted);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.sidebar-btn{background:transparent;color:var(--text-muted);border:none;padding:1rem;text-align:left;font-size:1.05rem;font-weight:500;border-radius:.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.8rem}.sidebar-btn:hover{background:#ffffff0d;color:var(--text-main);transform:translate(5px)}.sidebar-btn.active{background:linear-gradient(90deg,rgba(14,165,233,.1) 0%,transparent 100%);color:#38bdf8;border-left:3px solid #38bdf8}.main-content{flex:1;display:flex;flex-direction:column;padding:2rem 4rem;overflow-y:auto;height:100vh}.tab-pane{display:flex;flex-direction:column;align-items:center;width:100%}.upload-section{width:100%;max-width:500px;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;animation:fadeIn 1s ease-out}.upload-dropzone{width:100%;aspect-ratio:1;border:2px dashed rgba(255,255,255,.2);border-radius:1.5rem;background-color:var(--card-bg);background-size:cover;background-position:center;position:relative;cursor:pointer;overflow:hidden;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px -10px #00000080}.upload-dropzone:hover{border-color:var(--primary);box-shadow:0 0 20px #4f46e533}.upload-overlay{background:#0009;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.upload-dropzone:hover .upload-overlay{opacity:1}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:var(--text-muted)}.upload-icon{font-size:3rem;margin-bottom:1rem}.compare-btn{background-color:var(--primary);color:#fff;border:none;border-radius:.75rem;padding:1.25rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;justify-content:center;align-items:center;text-transform:uppercase;letter-spacing:1px}.compare-btn:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #4f46e566}.compare-btn:disabled{background-color:var(--card-bg);color:var(--text-muted);cursor:not-allowed}.error-message{color:var(--danger);background:#ef44441a;padding:1rem;border-radius:.5rem;text-align:center}.results-section{width:100%;animation:slideUp .6s ease-out}.results-section h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-main);border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.result-card{background:var(--card-bg);border-radius:1rem;overflow:hidden;box-shadow:0 10px 20px -5px #0006;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.result-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px -5px #0009}.result-image-container{height:300px;width:100%;position:relative;background:#000}.result-img{width:100%;height:100%;object-fit:cover}.no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.score-badge{position:absolute;top:1rem;right:1rem;background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:2rem;font-weight:700;box-shadow:0 4px 6px #0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.result-info{padding:1.5rem}.result-info h3{font-size:1.2rem;margin-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vulgo{color:#c084fc;font-size:.95rem;margin-bottom:.25rem}.area{color:var(--text-muted);font-size:.9rem}.loader{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.tab-navigation{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.tab-btn{background:var(--card-bg);color:var(--text-muted);border:1px solid rgba(255,255,255,.1);padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .2s;font-weight:600}.tab-btn:hover{background:#ffffff0d}.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tab-pane{width:100%}.fade-in{animation:fadeIn .4s ease-out}.table-responsive{width:100%;overflow-x:auto;background:var(--card-bg);border-radius:.5rem;box-shadow:0 4px 6px #0000001a}.hamburger-btn{display:none;position:fixed;top:1rem;right:1rem;z-index:100;background:var(--card-bg);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:1.5rem;padding:.5rem .8rem;border-radius:.5rem;cursor:pointer;box-shadow:0 4px 12px #00000080}.mobile-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:1024px){.main-content{padding:2rem}}@media(max-width:768px){.app-container{flex-direction:column}.sidebar{position:fixed;top:0;left:0;transform:translate(-100%);width:280px;padding-top:4rem}.sidebar.open{transform:translate(0)}.hamburger-btn,.mobile-overlay{display:block}.main-content{padding:5rem 1rem 2rem;height:100vh}.manage-section>div:first-child{flex-direction:column;align-items:stretch}.manage-section h2{margin-bottom:1rem;text-align:center}}.manage-section{width:100%;background:var(--card-bg);border-radius:1rem;padding:2rem;box-shadow:0 10px 30px -10px #00000080}.manage-section h2{margin-bottom:1.5rem;font-size:1.5rem}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th,.data-table td{padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.data-table th{color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.data-table tr:hover td{background:#ffffff05}.manage-grid{display:none;grid-template-columns:1fr;gap:1rem}@media(max-width:768px){.table-responsive{background:transparent;box-shadow:none}.data-table{display:none}.manage-grid{display:grid}.manage-card{background:var(--card-bg);border-radius:1rem;padding:1.5rem;border:1px solid rgba(255,255,255,.05);box-shadow:0 4px 12px #0000004d}.manage-card h4{font-size:1.1rem;color:var(--text-main);margin-bottom:.5rem}.manage-card .vulgo{font-size:.9rem;color:#c084fc;margin-bottom:.8rem;font-weight:600}.manage-card-details{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--text-muted);margin-bottom:1.2rem}.manage-card-actions{display:flex;gap:.8rem;justify-content:space-between}.manage-card-actions button{flex:1;padding:.6rem;font-size:.8rem}}.actions-cell{display:flex;gap:.5rem}.edit-btn,.del-btn,.view-btn{padding:.4rem .8rem;border-radius:.25rem;border:none;font-size:.85rem;cursor:pointer;font-weight:600;transition:.2s}.view-btn{background:#38bdf833;color:#38bdf8}.view-btn:hover{background:#38bdf8;color:#fff}.edit-btn{background:#10b98133;color:var(--accent)}.edit-btn:hover{background:var(--accent);color:#fff}.del-btn{background:#ef444433;color:var(--danger)}.del-btn:hover{background:var(--danger);color:#fff}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .3s}.modal-content{background:var(--bg-color);padding:2rem;border-radius:1rem;width:90%;max-width:600px;box-shadow:0 25px 50px -12px #00000080;border:1px solid rgba(255,255,255,.1)}.modal-content h3{margin-bottom:1.5rem}.view-modal-layout{display:flex;gap:2rem;align-items:flex-start}.view-photo-container{flex:0 0 250px;background:#000;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 15px #00000080}.view-photo{width:100%;height:auto;display:block}.view-details{flex:1;display:flex;flex-direction:column;gap:.5rem;font-size:.95rem;color:#cbd5e1}@media(max-width:768px){.modal-overlay{align-items:flex-start;overflow-y:auto}.modal-content{width:100vw;min-height:100dvh;max-width:none;border-radius:0;margin:0;border:none}.view-modal-layout{flex-direction:column;align-items:center}.view-photo-container{width:100%;max-width:300px;flex:none}}.view-details p strong{color:var(--text-main);margin-right:.5rem}.form-group{margin-bottom:1.2rem;flex:1}.form-row{display:flex;gap:1rem}.form-group label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.4rem}.form-group input,.form-group textarea{width:100%;background:var(--card-bg);border:1px solid rgba(255,255,255,.1);color:#fff;padding:.75rem;border-radius:.5rem;font-family:inherit;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.cancel-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:.2s}.cancel-btn:hover{background:#ffffff1a}.save-btn{background:var(--primary);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:.2s}.save-btn:hover{background:var(--primary-hover)}.dev-footer{text-align:center;margin-top:3rem;padding:1.5rem;font-size:.85rem;color:var(--text-muted);border-top:1px solid rgba(255,255,255,.05);animation:fadeIn 1s ease-out}.dev-footer strong{color:var(--primary);font-weight:600}.modal-footer-credits{text-align:center;margin-top:1.5rem;font-size:.75rem;color:#ffffff4d;padding-top:1rem;border-top:1px dashed rgba(255,255,255,.05)}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}
