:root{--primary: #4A4A48;--surface: #3A3A39;--surface-hover: #565654;--accent: #B76646;--accent-glow: #CF7A59;--success: #758D76;--warning: #D89814;--danger: #993B3B;--text: #EAEAEB;--text-muted: #BEA89B;--glass: rgba(74, 74, 72, .85);--border: #AE816D;--font-sans: "Urbanist", sans-serif;--font-mono: "JetBrains Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--primary);color:var(--text);height:100vh;overflow:hidden}#root{height:100vh;display:flex;flex-direction:column}header{background:linear-gradient(180deg,#4a4a48f2,#4a4a48cc);border-bottom:1px solid var(--border);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:38px;height:38px;background:linear-gradient(135deg,var(--accent),#818cf8);border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;box-shadow:0 0 15px #3b82f666}.logo-text{font-weight:800;font-size:16px;letter-spacing:.5px;background:linear-gradient(to right,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-sub{font-size:11px;color:var(--text-muted)}.header-status{display:flex;align-items:center;gap:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);padding:6px 12px;border-radius:20px;font-size:11px;color:var(--success)}.status-dot{width:6px;height:6px;background-color:var(--success);border-radius:50%;box-shadow:0 0 8px var(--success);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.app-container{display:flex;flex:1;position:relative;overflow:hidden}.sidebar{width:380px;background:var(--primary);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:5;box-shadow:10px 0 30px #0000004d}.sidebar-header{padding:20px;background:linear-gradient(180deg,var(--surface) 0%,var(--primary) 100%);border-bottom:1px solid var(--border)}.sidebar-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent-glow);margin-bottom:12px}.search-box{width:100%;padding:12px 16px;background-color:#3a3a3999;border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:var(--font-sans);font-size:13px;outline:none;transition:all .2s ease}.search-box:focus{border-color:var(--accent);box-shadow:0 0 10px #3b82f633}.values-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.values-list::-webkit-scrollbar{width:4px}.values-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.value-card{background-color:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.value-card:hover{background-color:var(--surface-hover);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.value-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--card-color, var(--accent))}.value-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.value-card-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--card-color, var(--accent))}.value-card-amount{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--success)}.value-card-desc{font-size:13px;color:var(--text);line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.value-card-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.map-container{flex:1;position:relative}#map{width:100%;height:100%}.layer-toggle-panel{position:absolute;top:20px;right:20px;background-color:var(--glass);border:1px solid var(--border);border-radius:16px;padding:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:8;width:260px;box-shadow:0 10px 30px #00000080}.panel-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;color:var(--accent-glow);display:flex;justify-content:space-between;align-items:center}.layer-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px}.layer-label{display:flex;align-items:center;gap:8px;cursor:pointer}.layer-checkbox{accent-color:var(--accent)}.legend-color{width:12px;height:12px;border-radius:50%;display:inline-block}.analysis-panel{position:absolute;bottom:20px;right:20px;background-color:var(--glass);border:1px solid var(--border);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:8;width:320px;box-shadow:0 10px 30px #00000080;transition:all .3s cubic-bezier(.4,0,.2,1)}.prediction-title{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--accent-glow);margin-bottom:4px}.prediction-val{font-family:var(--font-mono);font-size:24px;font-weight:700;color:var(--success);margin-bottom:14px}.metrics-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding-right:4px}.metrics-list::-webkit-scrollbar{width:2px}.metrics-list::-webkit-scrollbar-thumb{background:var(--border)}.metric-item{display:flex;justify-content:space-between;font-size:12px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.05)}.metric-name{color:var(--text-muted)}.metric-value{font-family:var(--font-mono);color:var(--text);font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#04060ccc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--primary);border:1px solid var(--border);border-radius:20px;padding:28px;width:440px;max-width:90%;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-content h2{font-size:18px;font-weight:700;color:var(--accent-glow);margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;background-color:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-sans);font-size:13px;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group textarea{min-height:70px;resize:vertical}.form-actions{display:flex;gap:12px;margin-top:24px}.btn{flex:1;padding:12px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer;border:none;transition:all .2s;font-family:var(--font-sans)}.btn-primary{background-color:var(--accent);color:#fff;box-shadow:0 4px 14px #b766464d}.btn-primary:hover{background-color:var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background-color:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--danger);color:var(--danger)}.stats-bar{background:var(--surface);border-top:1px solid var(--border);padding:12px 24px;display:flex;gap:32px;font-size:12px;z-index:5}.stat-item{display:flex;align-items:center;gap:8px}.stat-label{color:var(--text-muted)}.stat-val{font-family:var(--font-mono);color:var(--accent-glow);font-weight:600}.mapboxgl-popup-content{background:var(--glass)!important;color:var(--text)!important;border:1px solid var(--border);border-radius:14px!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:14px!important;box-shadow:0 10px 30px #0006!important}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{border-bottom-color:var(--surface)!important}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{border-top-color:var(--surface)!important}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:var(--surface)!important}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:var(--surface)!important}.mapboxgl-popup-close-button{color:var(--text-muted)!important;font-size:16px!important;right:6px!important;top:4px!important;outline:none}.mapboxgl-popup-close-button:hover{color:var(--text)!important;background:transparent!important}.mapboxgl-popup-content{background:#171717d9!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:0!important;box-shadow:0 10px 30px #00000080!important;color:var(--text)!important;padding:16px!important;font-family:var(--font-sans)!important}.popup-card{min-width:230px}.popup-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-glow);border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px;margin-bottom:10px}.popup-row{font-size:12px;margin-bottom:6px;display:flex;align-items:center;gap:6px}.popup-row-label{color:var(--text-muted);min-width:70px}.popup-row-val{color:var(--text);font-weight:500}.popup-price{margin-top:14px;background:#10b9811f;border:1px solid rgba(16,185,129,.25);padding:10px;border-radius:0;font-family:var(--font-mono);font-size:16px;color:var(--success);font-weight:700;text-align:center;position:relative;overflow:hidden}.popup-price:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.05),transparent);animation:shine 3s infinite}@keyframes shine{to{left:200%}}@media (max-width: 768px){.sidebar{display:none}header{flex-wrap:wrap;gap:12px;padding:12px}.header-status{width:100%;justify-content:center;flex-wrap:wrap}.header-status span,.logo-sub{display:none}.auth-container{width:90%;max-width:400px;padding:24px}.modal-content{width:90%;padding:20px}.layer-toggle-panel{top:10px;right:10px;width:auto;max-width:90%;padding:12px}.analysis-panel{bottom:10px;right:10px;width:auto;max-width:90%;padding:16px}.stats-bar{flex-wrap:wrap;gap:12px;padding:12px;justify-content:center;font-size:11px}.stat-item{width:45%}}.raster-legend{position:absolute;bottom:20px;left:20px;background:var(--glass);border:1px solid var(--border);border-radius:12px;padding:12px 16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:8;min-width:180px;box-shadow:0 8px 24px #0006;animation:fadeIn .3s ease}.raster-legend-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--accent-glow);margin-bottom:8px}.raster-legend-bar{height:10px;border-radius:5px;background:linear-gradient(90deg,#0d0887,#7e03a8,#cc4678,#f89441,#f0f921);margin-bottom:4px}.raster-legend-labels{display:flex;justify-content:space-between;font-size:10px;font-family:var(--font-mono);color:var(--text-muted)}.layer-item-wrapper{margin-bottom:6px}.layer-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px;font-size:12px}.layer-item-actions{display:flex;align-items:center;gap:6px}.opacity-toggle-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:10px;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s;line-height:1}.opacity-toggle-btn:hover{color:var(--accent-glow);background:#3b82f61a}.opacity-slider-row{display:flex;align-items:center;gap:8px;padding:4px 0 6px 24px;animation:fadeIn .15s ease}.opacity-label{font-size:10px;color:var(--text-muted);white-space:nowrap}.opacity-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:2px;outline:none;cursor:pointer}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 0 6px #3b82f680;transition:transform .1s}.opacity-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.opacity-value{font-size:10px;font-family:var(--font-mono);color:var(--accent-glow);min-width:28px;text-align:right}.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--primary);display:flex;align-items:center;justify-content:center;z-index:2000}.auth-container{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:32px;width:400px;box-shadow:0 20px 40px #00000080}.auth-logo{text-align:center;margin-bottom:24px}.auth-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:24px}.auth-tab{flex:1;background:none;border:none;color:var(--text-muted);padding:12px;cursor:pointer;font-weight:600;transition:all .2s;border-bottom:2px solid transparent}.auth-tab.active{color:var(--accent-glow);border-bottom-color:var(--accent)}.auth-error{background:#f43f5e1a;color:var(--danger);padding:10px;border-radius:8px;font-size:12px;margin-bottom:16px;text-align:center;border:1px solid rgba(244,63,94,.2)}.admin-panel-container{flex:1;background:var(--primary);padding:32px;overflow-y:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.admin-table-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{background:#0003;color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:11px}.admin-table tr:hover{background:var(--surface-hover)}.status-badge{padding:4px 8px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase}.status-pending{background:#f59e0b1a;color:var(--warning);border:1px solid rgba(245,158,11,.2)}.status-approved{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.2)}.admin-actions{display:flex;gap:8px}.action-btn{background:none;border:1px solid var(--border);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--border)}.approve-btn{color:var(--success);border-color:#10b9814d}.approve-btn:hover{background:#10b9811a}.reject-btn{color:var(--warning);border-color:#f59e0b4d}.reject-btn:hover{background:#f59e0b1a}.delete-btn{color:var(--danger);border-color:#f43f5e4d}.delete-btn:hover{background:#f43f5e1a}
