/* =========================================
   INPUT MODULE STYLING (Top Bar)
========================================= */
.ks-top-bar {
    background: var(--ks-bg);
    border: 1px solid var(--ks-border);
    border-radius: 8px;
    padding: 18px 15px;
    box-shadow: var(--ks-shadow);
}

.ks-form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
    align-items: center;
}

.ks-field {
    flex: 1;
    min-width: 130px; /* Reduced slightly to fit coords */
    position: relative;
    display: flex;
}

.ks-field-name { flex: 1.2; }
.ks-field-loc { flex: 1.5; min-width: 160px; }

/* COMPACT LAT/LNG BOXES */
.ks-coord {
    flex: 0.6;
    min-width: 80px;
}

/* Base Input Styles */
.ks-field input {
    width: 100%;
    height: 46px;
    padding: 0 15px;
    background: var(--ks-input-bg) !important;
    border: 1px solid var(--ks-input-border) !important;
    color: var(--ks-text) !important; 
    font-family: inherit;
    font-size: 14px;
    border-radius: 6px;
    outline: none !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: border-color 0.3s ease;
}

/* Hide Spinners for Coordinates */
.ks-coord input[type="number"]::-webkit-inner-spin-button,
.ks-coord input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Browser Resets for Time/Date inputs */
.ks-field input[type="date"],
.ks-field input[type="time"] {
    -webkit-inner-spin-button, -webkit-clear-button { display: none; -webkit-appearance: none; }
}
.ks-field input:focus { border-color: var(--ks-border) !important; }

/* Autocomplete Dropdown */
.ks-suggestions {
    position: absolute; top: calc(100% + 5px); left: 0; right: 0;
    background: var(--ks-input-bg); border: 1px solid var(--ks-border);
    z-index: 100; margin: 0; padding: 0; list-style: none; border-radius: 6px;
    max-height: 200px; overflow-y: auto; box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.ks-suggestions li {
    padding: 12px 15px; color: var(--ks-text); cursor: pointer;
    border-bottom: 1px solid rgba(128,128,128,0.2); font-size: 14px;
}
.ks-suggestions li:hover { background: var(--ks-border); color: var(--ks-bg); }

/* =========================================
   ICONS & BUTTONS
========================================= */
.ks-icon-date::after, .ks-icon-time::after, .ks-icon-loc::after {
    content: ''; position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
    width: 20px; height: 20px; background-color: var(--ks-text); pointer-events: none; z-index: 5;
}
.ks-icon-date::after { mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"/></svg>') no-repeat center / contain; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"/></svg>') no-repeat center / contain; }
.ks-icon-time::after { mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>') no-repeat center / contain; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>') no-repeat center / contain; }
.ks-icon-loc::after { mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>') no-repeat center / contain; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>') no-repeat center / contain; }

.ks-field input[type="date"]::-webkit-calendar-picker-indicator, .ks-field input[type="time"]::-webkit-calendar-picker-indicator { position: absolute; right: 0; width: 40px; height: 100%; opacity: 0; cursor: pointer; z-index: 10; }
.ks-field input[type="date"], .ks-field input[type="time"], #ks_loc { padding-right: 40px; }

/* Buttons */
.ks-actions { display: flex; gap: 8px; height: 46px; }
#ks-btn-submit { background: var(--ks-accent-orange) !important; color: #ffffff !important; border: none !important; border-radius: 6px !important; padding: 0 24px; font-weight: bold; font-size: 16px; cursor: pointer; transition: opacity 0.2s; }
.ks-btn-icon { background: var(--ks-accent-pink) !important; color: #ffffff !important; border: none !important; border-radius: 6px !important; width: 46px !important; cursor: pointer; font-size: 18px; transition: opacity 0.2s; }
#ks-btn-submit:hover, .ks-btn-icon:hover { opacity: 0.85; }

@media (max-width: 1200px) { .ks-coord { flex: 1 1 calc(50% - 12px); } }
@media (max-width: 768px) { .ks-field { flex: 1 1 100%; } .ks-actions { width: 100%; } #ks-btn-submit { flex: 1; } }