:root {
    --ap-blue: #1e3a8a;
    --ap-blue-hover: #172554;
    --ap-grey-bg: #f8fafc;
    --ap-border: #e2e8f0;
    --ap-text-main: #334155;
    --ap-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ap-radius: 12px;
}
.am-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.am-btn-primary { height: 50px; padding: 0 26px; background: #0ea5e9; color: #fff; border: none; border-radius: 8px; font-weight: 800; cursor: pointer; box-shadow: 0 8px 18px rgba(14,165,233,.25); }
.am-btn-primary:hover { filter: brightness(.95); transform: translateY(-1px); }
.am-count { flex: 1; text-align: center; background: var(--ap-blue); color: #fff; padding: 14px 20px; border-radius: var(--ap-radius); font-weight: 800; box-shadow: var(--ap-shadow); }

.am-main-container { display: flex; flex-direction: column-reverse; gap: 20px; background: #fff; padding: 15px; border-radius: var(--ap-radius); box-shadow: var(--ap-shadow); border: 1px solid var(--ap-border); }
@media(min-width: 800px) { .am-main-container { flex-direction: row; height: 600px; } }

.am-sidebar { display: flex; flex-direction: column; gap: 15px; width: 100%; }
@media(min-width: 800px) { .am-sidebar { width: 35%; } }
.am-search-box { display: flex; flex-direction: column; gap: 10px; }
.am-input-search { width: 100%; padding: 12px 15px; border: 2px solid var(--ap-border); border-radius: 8px; background-color: var(--ap-grey-bg); font-size: 14px; }
.am-btn-reset { padding: 10px; background: var(--ap-blue); color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; }

.am-list { flex: 1; overflow-y: auto; padding-right: 5px; display: flex; flex-direction: column; gap: 10px; }
.am-list::-webkit-scrollbar { width: 6px; }
.am-list::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; }
.am-list::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }

.am-card { border: 1px solid var(--ap-border); border-radius: 8px; padding: 15px; background: var(--ap-grey-bg); cursor: pointer; transition: all 0.2s ease; display: flex; gap: 15px; }
.am-card:hover { background: #fff; border-color: var(--ap-blue); box-shadow: var(--ap-shadow); transform: translateY(-2px); }
.am-card-logo { width: 50px; height: 50px; object-fit: contain; border-radius: 4px; background: #fff; }
.am-card-content h4 { margin: 0 0 5px 0; color: var(--ap-blue); font-size: 15px; }
.am-card-content p { margin: 0 0 3px 0; font-size: 13px; color: var(--ap-text-main); }

.am-map-wrapper { width: 100%; height: 400px; border-radius: 8px; border: 2px solid var(--ap-border); overflow: hidden; }
@media(min-width: 800px) { .am-map-wrapper { width: 65%; height: 100%; } }

.am-modal { display: none; position: fixed; inset: 0; z-index: 99999; }
.am-modal.is-open { display: block; }
.am-modal__backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .55); }
.am-modal__dialog { position: relative; width: min(620px, calc(100% - 32px)); margin: 50px auto; background: #fff; border-radius: 18px; box-shadow: 0 30px 90px rgba(0,0,0,.35); padding: 28px; max-height: 90vh; overflow-y: auto; }
.am-modal__close { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; border: none; background: #0f172a; color: #fff; font-size: 22px; cursor: pointer; }
.am-form-group { margin-bottom: 15px; }
.am-form-group label { display: block; font-weight: 600; color: var(--ap-blue); margin-bottom: 5px; }
.am-form-group input, .am-form-group textarea { width: 100%; padding: 12px; border: 2px solid var(--ap-border); border-radius: 8px; background-color: var(--ap-grey-bg); }
.am-submit-btn { background: var(--ap-blue); color: #fff; border: none; padding: 14px 30px; border-radius: 50px; font-weight: bold; cursor: pointer; width: 100%; font-size: 16px; margin-top: 10px;}
.am-message-success { background: #dcfce7; color: #166534; padding: 15px; border-radius: 8px; text-align: center; margin-bottom: 15px;}