* { box-sizing: border-box; font-family: 'Oswald', 'Roboto', sans-serif; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .search-input, .search-transfer, .modal-desc, .target-option { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; } body { background: transparent; margin: 0; height: 100vh; display: flex; justify-content: center; align-items: center; color: white; } .garage-container { position: relative; display: none; width: 900px; background: #2c2c2c; border-radius: 10px; padding: 20px; box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5); } .garage-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; } .garage-header h2 { font-size: 20px; margin: 0; display: flex; align-items: center; gap: 10px; } .search-input { padding: 8px 12px 8px 32px; border-radius: 8px; border: none; width: 100%; background: #1e1e1e; color: white; position: relative; box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.5); } .garage-list { height: 500px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; } .vehicle-item { background: #1f1f1f; border-radius: 10px; transition: 0.3s ease; position: relative; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.76); cursor: pointer; } .vehicle-item:hover { background: #222222; } .vehicle-info { display: flex; align-items: center; padding: 10px 15px; height: 100px; overflow: hidden; } .vehicle-info img { width: 100px; height: 80px; object-fit: contain; border-radius: 5px; margin-right: 15px; background: #181818; padding: 4px 8px; } .impound-location { margin-bottom: 10px; font-size: 14px; color: #ffffff; display: flex; align-items: center; background: #f13434; padding: 1px 8px; border-radius: 5px; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.76); gap: 5px; } .normal-location { margin-bottom: 10px; font-size: 14px; color: #ffffff; display: flex; align-items: center; background: #2196f3; padding: 1px 8px; border-radius: 5px; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.76); gap: 5px; } .vehicle-text { flex-grow: 1; } .vehicle-name { font-size: 20px; margin-bottom: 3px; color: #999; } .vehicle-meta span { display: inline-block; } .plate-number { font-size: 12px; background: #000000; padding: 2px 8px; border-radius: 4px; color: rgb(248, 178, 87); box-shadow: 0 2px 2px rgba(0, 0, 0, 0.76); } .vehicle-actions { display: flex; align-items: center; gap: 10px; padding-right: 15px; } .toggle-arrow { cursor: pointer; transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55); transform-origin: center center; padding: 5px; font-size: 14px; color: #ffffff; } .vehicle-item.open .toggle-arrow { transform: rotate(90deg); } .vehicle-details { background: #1f1f1f; padding: 0 15px; margin-top: 5px; border-top: 1px solid transparent; border-radius: 0 0 10px 10px; max-height: 0; overflow: hidden; opacity: 0; transform: translateY(-10px); transition: max-height 0.8s cubic-bezier(0.25, 0.1, 0.25, 1.4), padding 0.8s cubic-bezier(0.25, 0.1, 0.25, 1.4), opacity 0.6s ease 0.1s, transform 0.6s ease 0.1s, border-color 0.6s ease 0.1s; } .vehicle-item.open .vehicle-details { max-height: 1000px; padding: 15px; opacity: 1; transform: translateY(0); border-color: #444; transition: max-height 0.8s cubic-bezier(0.25, 0.1, 0.25, 1.4), padding 0.8s cubic-bezier(0.25, 0.1, 0.25, 1.4), opacity 0.6s ease 0.1s, transform 0.6s ease 0.1s, border-color 0.6s ease 0.1s; } .vehicle-details > * { opacity: 0; transform: translateY(5px); transition: opacity 0.5s ease 0.2s, transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1.4) 0.2s; } .vehicle-item.open .vehicle-details > * { opacity: 1; transform: translateY(0); } .progress-wrapper { margin-bottom: 10px; } .progress-wrapper label { display: block; font-size: 13px; margin: 5px 0; } .progress { background: #3a3a3a; height: 12px; border-radius: 5px; overflow: hidden; margin-bottom: 5px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.76); } .bar { height: 100%; position: relative; width: 1% !important; transition: width 1.2s cubic-bezier(0.25, 0.1, 0.25, 1.4), background-color 0.4s ease; transform-origin: left center; will-change: width; animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1.4); } .vehicle-item.open .bar { width: var(--target-width) !important; transition: width 1.2s cubic-bezier(0.25, 0.1, 0.25, 1.4), background-color 0.4s ease; } .take-btn { background: #2196f3; border: none; padding: 6px 12px; border-radius: 4px; color: white; font-size: 14px; cursor: pointer; margin-top: 10px; transition: background 0.2s; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.76); } .transfer-btn { padding: 6px 12px; background-color: #aa3333; color: #fff; border: none; border-radius: 4px; font-size: 14px; cursor: pointer; transition: background 0.2s; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.76); } .take-btn:hover { background: #1976d2; } .disabled { background-color: rgba(190, 190, 190, 0.5); box-shadow: 0 0 50px rgba(0, 0, 0, 0.5) inset; pointer-events: none; } .transfer-btn:hover { background-color: #cc4444; } .garage-close-btn { position: absolute; top: 5px; right: 5px; font-size: 20px; background: #1e1e1e; color: #aaa; border: none; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; transition: background 0.2s, color 0.2s; } .garage-close-btn:hover { background: #333; color: white; } .garage-list::-webkit-scrollbar { width: 10px; } .garage-list::-webkit-scrollbar-track { background: #1a1a1a; border-radius: 10px; } .garage-list::-webkit-scrollbar-thumb { background: #444; border-radius: 10px; border: 2px solid #2c2c2c; } .garage-list::-webkit-scrollbar-thumb:hover { background: #666; } .transfer-modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); z-index: 999; justify-content: center; align-items: center; } .modal-content { background: #1e1e1e; width: 320px; border-radius: 5px; overflow: hidden; border: 1px solid #333; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.76); } .modal-header { padding: 15px; background: #2a2a2a; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #333; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.76); } .modal-title { font-weight: bold; } .modal-close { cursor: pointer; font-size: 20px; } .modal-body { padding: 15px; } .transfer-option, .transfer-target { margin-bottom: 15px; } .transfer-option label, .transfer-target label { display: block; margin-bottom: 8px; color: #aaa; font-size: 13px; } .transfer-type { display: flex; border-radius: 3px; overflow: hidden; border: 1px solid #333; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.76); } .type-option { flex: 1; text-align: center; padding: 8px; background: #2a2a2a; cursor: pointer; } .type-option:hover { background: #1f1f1f; } .type-option.active { background: #4CAF50; } .target-list { max-height: 200px; overflow-y: auto; border: 1px solid #333; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.76); border-radius: 3px; } .target-option { padding: 10px; border-bottom: 1px solid #333; cursor: pointer; } .target-option:hover { background: #2a2a2a; } .target-option.selected { background: #2a2a2a; } .search-transfer { padding: 8px 12px 8px 32px; border-radius: 8px; border: none; width: 100%; background-color: #161616 !important; color: white; box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.4); } .modal-desc { font-size: 12px; color: #777; margin-top: 15px; } .modal-footer { display: flex; padding: 10px; border-top: 1px solid #333; box-shadow: 0 4px 4px rgba(0, 0, 0, 0.76); } .modal-footer button { flex: 1; padding: 8px; margin: 0 5px; border: none; border-radius: 3px; cursor: pointer; } .modal-cancel { background: #444; color: white; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.76); } .modal-submit { background: #4CAF50; color: white; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.76); } .modal-submit:hover { background: #337736; } .modal-cancel:hover { background: #2e2e2e; } .search-container { position: relative; width: 250px; } .modal-search-container { position: relative; margin-bottom: 10px; } .search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #999; z-index: 1; } .search-transfer { padding: 8px 12px 8px 32px; /* Icon spacing */ border-radius: 8px; border: none; width: 100%; background: #1e1e1e; color: white; position: relative; box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.5); } .clear-search { position: absolute; right: 10px; top: 35%; transform: translateY(-50%); background: transparent; border: none; color: #aaa; cursor: pointer; font-size: 20px; line-height: 1; padding: 0 5px; } .clear-search:hover { color: white; } .target-list::-webkit-scrollbar { width: 8px; } .target-list::-webkit-scrollbar-track { background: #1a1a1a; border-radius: 10px; } .target-list::-webkit-scrollbar-thumb { background: #444; border-radius: 10px; border: 2px solid #1e1e1e; } .target-list::-webkit-scrollbar-thumb:hover { background: #666; } .target-list { scroll-behavior: smooth; } .target-list { scrollbar-width: thin; scrollbar-color: #444 #1a1a1a; } .progress { position: relative; background: #3a3a3a; height: 12px; border-radius: 5px; overflow: hidden; margin-bottom: 5px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.76); } .bar { height: 100%; background: #2196f3; position: relative; } .percent-text { position: absolute; right: 4px; font-size: 9px; color: white; text-shadow: 0 0 2px rgba(0,0,0,0.7); line-height: 12px; }