:root{font-family:system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background-color:#242424;color:#ffffffde}button,input,textarea,select{font-family:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-left{display:flex;align-items:center;gap:1rem;flex:1}.topbar-logo{width:32px;height:32px}.search-form{flex:1;max-width:400px}.search-input{width:100%;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;background-color:#ffffff0d;color:inherit;font-size:.9rem}.search-input:focus{outline:2px solid #4CAF50;outline-offset:0}.topbar-right{display:flex;align-items:center}.menu-button{padding:.5rem;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:6px;transition:background-color .2s}.menu-button:hover{background-color:#ffffff1a}.menu-button:focus{outline:2px solid #4CAF50;outline-offset:2px}.left-column{display:flex;flex-direction:column;background-color:#ffffff05;border-right:1px solid rgba(255,255,255,.1);transition:all .3s ease;position:relative;height:calc(100vh - 60px)}.left-column.expanded{width:350px;min-width:350px}.left-column.collapsed{width:50px;min-width:50px}.column-header{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 1rem;border-bottom:1px solid rgba(255,255,255,.1);background-color:#ffffff05;flex-shrink:0}.items-list{flex:1;padding:.5rem;overflow-y:auto}.item-cell{display:flex;gap:1rem;padding:.5rem;margin-bottom:.5rem;background-color:#ffffff0d;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid transparent;align-items:center;position:relative}.item-cell:hover{background-color:#ffffff14}.item-cell.selected{border-color:#4caf50;background-color:#646cff1a}.item-cell.multi-selected{background-color:#f44336}.item-cell:focus{outline:2px solid #4CAF50;outline-offset:2px}.item-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background-color:#ffffff1a}.item-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#ffffff4d}.item-details{flex:1;display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;overflow:hidden}.item-field{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:#0003;padding:.25rem .5rem;border-radius:4px}.sync-status{position:absolute;top:.25rem;left:.25rem;width:12px;height:12px;border-radius:50%;background-color:#f44336}.bulk-editing-bar{height:50px;background-color:#00000080;padding:.5rem;display:flex;align-items:center;justify-content:space-between}@media(max-width:767px){.left-column{width:100%!important;border-right:none}.toggle-button{display:none}}.detail-tab{padding:1rem}.form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:500}.form-field input{width:100%;padding:.5rem;border-radius:4px;border:1px solid rgba(255,255,255,.2);background-color:#0003;color:inherit}.custom-fields-section{margin-top:2rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1rem}.custom-fields-section h4{margin-bottom:1rem}.add-field-container{display:flex;gap:.5rem;margin-bottom:1rem}.add-field-container select{flex-grow:1;padding:.5rem;border-radius:4px;border:1px solid rgba(255,255,255,.2);background-color:#333;color:#fff}.add-field-container button{padding:.5rem 1rem;border:none;border-radius:4px;background-color:#007bff;color:#fff;cursor:pointer}.add-field-container button:disabled{background-color:#555;cursor:not-allowed}.form-field.custom .custom-field-input{display:flex;align-items:center;gap:.5rem}.form-field.custom input{flex-grow:1}.remove-btn{padding:.5rem;border:none;background:none;color:#ff4d4d;cursor:pointer;font-size:1rem}.edit-switch-container{display:flex;align-items:center;margin-bottom:1rem}.edit-switch-container span{margin-left:.5rem}.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translate(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.save-btn,.cancel-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer}.save-btn{background-color:#28a745;color:#fff}.cancel-btn{background-color:#dc3545;color:#fff}input[readOnly]{background-color:#444;cursor:not-allowed}.infographic-card.compact{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:16px}.main-valuation{text-align:center;border-bottom:1px solid #e0e0e0;padding-bottom:12px;margin-bottom:12px}.total-value{font-size:2em;font-weight:700;color:#333}.value-change{font-size:.9em;margin-top:4px}.value-change.increment{color:#4caf50}.value-change.decrement{color:#f44336}.valuation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.grid-item{background-color:#fff;padding:12px;border-radius:6px;text-align:center;box-shadow:0 1px 3px #0000001a}.grid-label{font-size:.8em;color:#666;margin-bottom:6px}.grid-value{font-size:1.1em;font-weight:600;color:#333}.geography-card{display:flex;height:400px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.map-view-container{flex:3;background-color:#f0f0f0}.nearby-list-container{flex:2;background-color:#f9f9f9;display:flex;flex-direction:column;border-left:1px solid #e0e0e0}.nearby-list-container h4{margin:0;padding:12px;border-bottom:1px solid #e0e0e0;font-size:1.1em}.nearby-list{list-style-type:none;margin:0;padding:0;overflow-y:auto}.nearby-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #f0f0f0}.nearby-item:last-child{border-bottom:none}.nearby-address{font-size:.9em}.nearby-value{font-weight:600;font-size:.9em;white-space:nowrap}.api-key-placeholder{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px}.marker{padding:4px 8px;border-radius:12px;color:#fff;font-size:.9em;font-weight:700;white-space:nowrap}.marker-main{background-color:#007bff;border:2px solid #fff;z-index:10;position:relative}.marker-nearby{background-color:#28a745}.valuation-chart-card{background-color:#323232;border:1px solid #404040;border-radius:8px;padding:16px;margin-bottom:16px;color:#fff}.valuation-chart-card h2{font-size:1.2em;margin-top:0;margin-bottom:12px}.chart-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.view-switcher,.filter-buttons{display:flex;gap:8px}.view-switcher button,.filter-buttons button{padding:6px 12px;border:1px solid #666;border-radius:6px;background-color:#404040;color:#fff;cursor:pointer;transition:background-color .2s}.view-switcher button.active,.filter-buttons button.active{background-color:#4caf50;border-color:#4caf50}.chart-container{height:250px;background-color:#404040;border-radius:4px;display:flex;align-items:center;justify-content:center}.valuation-tab{height:100vh;overflow-y:auto;padding:1rem}.valuation-tab .infographic-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:16px}.valuation-tab .infographic-card h2{font-size:1.2em;margin-top:0;margin-bottom:12px;color:#333}.valuation-tab .valuation-details{width:100%}.valuation-tab .detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9e9e9}.valuation-tab .detail-item:last-child{border-bottom:none}.valuation-tab .detail-label{font-weight:600;color:#555}.valuation-tab .detail-value{text-align:right}.valuation-tab .detail-value-focus{display:flex;align-items:center;justify-content:flex-end;font-weight:700}.valuation-tab .increment{color:#4caf50;margin-left:8px;font-size:.9em}.valuation-tab .decrement{color:#f44336;margin-left:8px;font-size:.9em}.valuation-tab .map-container{height:300px;width:100%;border-radius:4px;overflow:hidden;margin-bottom:16px}.valuation-tab .api-key-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background-color:#f0f0f0;text-align:center;padding:20px}.valuation-tab .marker{padding:4px 8px;border-radius:12px;color:#fff;font-size:.9em;font-weight:700;white-space:nowrap}.valuation-tab .marker-main{background-color:#007bff;border:2px solid #fff;z-index:10;position:relative}.valuation-tab .marker-nearby{background-color:#28a745}.valuation-tab .map-container .gm-style-moc{height:100%;width:100%}.valuation-tab .nearby-table{width:100%;border-collapse:collapse}.valuation-tab .nearby-table th,.valuation-tab .nearby-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #ddd}.valuation-tab .nearby-table th{background-color:#f2f2f2}.valuation-tab .nearby-table td:last-child{text-align:right;font-weight:700}.infographic-card.compact{background-color:#323232;border-color:#404040;color:#fff}.total-value{color:#64e3a3!important}.grid-item{background-color:#404040!important;color:#fff!important}.grid-label{color:#ccc!important}.grid-value{color:#fff!important}.geography-card{background-color:#323232;border-color:#404040;color:#fff}.map-view-container{background-color:#404040}.nearby-list-container{background-color:#323232;border-color:#404040}.nearby-list-container h4{background-color:#323232;border-color:#404040;color:#fff}.nearby-item{border-color:#404040}.nearby-address{color:#ccc}.nearby-value{color:#fff}.middle-column{flex:1;display:flex;flex-direction:column;background-color:#ffffff03;height:calc(100vh - 60px)}.column-header{display:flex;align-items:center;justify-content:flex-start;height:60px;padding:0;border-bottom:1px solid rgba(255,255,255,.1);background-color:#ffffff05;flex-shrink:0}.tabs{display:flex;height:100%}.tab-button{display:flex;align-items:center;justify-content:center;width:120px;height:100%;padding:0 1rem;cursor:pointer;background-color:transparent;border:none;color:inherit;font-size:1rem;border-bottom:3px solid transparent;gap:.5rem}.tab-button.active{border-bottom-color:#4caf50;color:#4caf50}.empty-state-container{display:flex;align-items:center;justify-content:center;height:100%}.empty-state{text-align:center}.valuation-tab-content{padding:1rem;color:#333}.chat-view{display:flex;flex-direction:column;height:100%}.chat-header{padding:12px;border-bottom:1px solid #404040;background-color:#ffffff05}.chat-header h4{margin:0;font-size:1.1em;color:#fff}.chat-subtitle{margin:4px 0 0;font-size:.9em;color:#ccc}.chat-messages{flex-grow:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px;background-color:#323232}.chat-message{display:flex;flex-direction:column}.chat-message.user{align-items:flex-end}.chat-message.bot{align-items:flex-start}.message-content{max-width:80%;padding:8px 12px;border-radius:12px;word-wrap:break-word}.chat-message.user .message-content{background-color:#007bff;color:#fff;border-top-right-radius:4px}.chat-message.bot .message-content{background-color:transparent;color:#fff;border:1px solid #555;border-top-left-radius:4px}.message-timestamp{font-size:.75em;color:#999;margin-top:4px;padding:0 4px}.chat-input-form{display:flex;padding:12px;border-top:1px solid #404040;background-color:#ffffff05}.chat-input{flex-grow:1;border:1px solid #555;border-radius:16px;padding:8px 12px;font-size:1em;margin-right:8px;background-color:#404040;color:#fff}.chat-input:focus{outline:none;border-color:#4caf50}.btn.btn-primary{background-color:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:16px;cursor:pointer;font-size:1em}.btn.btn-primary:hover{background-color:#0056b3}.changelog-view{display:flex;flex-direction:column;height:100%}.changelog-header{padding:12px;border-bottom:1px solid #e0e0e0}.changelog-header h4{margin:0;font-size:1.1em}.changelog-subtitle{margin:4px 0 0;font-size:.9em;color:#666}.changelog-entries{flex-grow:1;overflow-y:auto;padding:12px}.changelog-entry{padding:8px 0;border-bottom:1px solid #f0f0f0}.changelog-entry:last-child{border-bottom:none}.entry-action{font-weight:500}.entry-meta{font-size:.8em;color:#888;margin-top:4px}.right-column{display:flex;flex-direction:column;background-color:#ffffff05;border-left:1px solid rgba(255,255,255,.1);transition:all .3s ease;position:relative;height:calc(100vh - 60px)}.right-column.expanded{width:350px;min-width:350px}.right-column.collapsed{width:50px;min-width:50px}.toggle-button{position:absolute;top:1rem;left:.5rem;z-index:10;padding:.25rem .5rem;border:1px solid rgba(255,255,255,.2);border-radius:4px;background-color:#00000080;color:inherit;cursor:pointer;font-size:1.2rem}.column-header{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0;border-bottom:1px solid rgba(255,255,255,.1);background-color:#ffffff05;flex-shrink:0}.tabs{display:flex;height:100%;width:100%}.tab{display:flex;align-items:center;justify-content:center;flex:1;height:100%;padding:0 1rem;border:none;background:transparent;color:#fff9;cursor:pointer;transition:all .2s;font-size:.9rem;font-weight:500;border-bottom:3px solid transparent}.tab:hover{color:#fffc;background-color:#ffffff0d}.tab.active{color:#4caf50;border-bottom-color:#4caf50}.tab-content{flex:1;overflow-y:auto}.empty-state{padding:2rem;text-align:center}@media(max-width:767px){.right-column{width:100%!important;border-left:none}.toggle-button{display:none}}.floating-bubble{position:fixed;bottom:2rem;left:2rem;width:60px;height:60px;border-radius:50%;background-color:#4caf50;border:none;color:#fff;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;display:flex;align-items:center;justify-content:center;z-index:100}.floating-bubble:hover{background-color:#28a745;transform:scale(1.1);box-shadow:0 6px 16px #0006}.floating-bubble:focus{outline:3px solid rgba(100,108,255,.5);outline-offset:3px}.notification-modal,.add-modal{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.notification-content,.modal-content{background-color:#2a2a2a;padding:2rem;border-radius:12px;max-width:450px;width:90%;box-shadow:0 8px 24px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.notification-content h3,.modal-header h3{margin-bottom:1rem}.notification-content p{margin-bottom:1.5rem;color:#fffc;line-height:1.5}.notification-actions,.form-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.close-button{background:transparent;border:none;color:#fff9;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background-color:#ffffff1a;color:#fff}.add-form{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.9rem;font-weight:500;color:#fffc}.form-field input{padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;background-color:#ffffff0d;color:inherit;font-size:.95rem;transition:all .2s}.form-field input:focus{outline:none;border-color:#4caf50;background-color:#ffffff14}.form-actions{margin-top:.5rem}@media(max-width:767px){.floating-bubble{bottom:1.5rem;left:1.5rem;width:56px;height:56px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;margin:0;min-height:100vh;background-color:#242424;color:#ffffffde}#root{width:100%;height:100vh;overflow:hidden}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#2e2e2e}*::-webkit-scrollbar-thumb{background:#555;border-radius:5px}*::-webkit-scrollbar-thumb:hover{background:#666}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:2rem}.loading-logo{width:120px;height:120px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.progress-bar{width:300px;height:4px;background-color:#ffffff1a;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background-color:#4caf50;transition:width .3s ease}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh}.login-container{text-align:center;padding:2rem;max-width:400px;width:100%}.login-logo{width:80px;height:80px;margin-bottom:1rem}.login-form{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.login-input{padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background-color:#ffffff0d;color:inherit;font-size:1rem}.login-button,.guest-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.login-button{background-color:#4caf50;color:#fff}.login-button:hover{background-color:#28a745}.guest-button{background-color:#ffffff1a;color:inherit}.guest-button:hover{background-color:#ffffff26}.login-divider{text-align:center;color:#ffffff80}.app{display:flex;flex-direction:column;height:100vh;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-content{flex:1;display:flex;overflow:hidden;background-color:#323232}.main-content.desktop{gap:0}.main-content.mobile{position:relative}.btn{padding:.5rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;background-color:#ffffff0d;color:inherit;cursor:pointer;transition:all .2s}.btn:hover{background-color:#ffffff1a}.btn:focus{outline:2px solid #4CAF50;outline-offset:2px}.btn-primary{background-color:#4caf50;border-color:#4caf50}.btn-primary:hover{background-color:#28a745}@media(max-width:767px){.main-content.mobile>*{width:100%;height:100%}}
