*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:#f5f7fb;color:#1e293b;padding:12px;}
.container{max-width:1200px;margin:0 auto;width:100%;overflow-x:hidden;}
.card-grid{display:flex;flex-direction:column;gap:16px;}
.card{background:white;border-radius:20px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,0.05);word-wrap:break-word;width:100%;}
.card-title{font-size:1.2rem;word-break:break-word;}
.card-klasifikasi,.card-deskripsi,.card-details,.card-location{font-size:0.85rem;word-break:break-word;margin-bottom:8px;}
.card-details{display:flex;flex-wrap:wrap;gap:8px;}
.card-actions{display:flex;gap:10px;margin-top:12px;}
.card-actions button{flex:1;padding:10px;font-size:0.9rem;}
.admin-table{width:100%;border-collapse:collapse;min-width:600px;}
.admin-table th,.admin-table td{padding:8px;text-align:left;border-bottom:1px solid #e2e8f0;word-break:break-word;}
.admin-content{overflow-x:auto;}
.search-wrapper form{display:flex;gap:8px;flex-wrap:wrap;}
.search-wrapper input{flex:1;min-width:180px;}
.modal-content{width:95%;max-width:500px;margin:20px auto;}
.card-badge{position:absolute;top:12px;right:12px;background:#e2e8f0;padding:4px 12px;border-radius:30px;font-size:0.75rem;font-weight:bold;}
.status-tersedia{background:#dcfce7;color:#166534;}
.status-dp{background:#fed7aa;color:#9a3412;}
.status-terjual{background:#fee2e2;color:#991b1b;}
.btn-detail,.btn-tertarik,.btn-tertarik-detail,.btn-submit,.btn-primary{border-radius:40px;border:none;cursor:pointer;font-weight:600;}
.btn-detail{background:#e2e8f0;color:#1e293b;}
.btn-tertarik,.btn-tertarik-detail{background:#0f3b5c;color:white;}
.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);align-items:center;justify-content:center;z-index:1000;}
.modal-content{background:white;border-radius:28px;padding:24px;position:relative;}
.close{position:absolute;right:20px;top:16px;font-size:28px;cursor:pointer;}
.form-group{margin-bottom:16px;}
.form-group label{display:block;margin-bottom:6px;font-weight:500;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:16px;font-size:1rem;}
@media (min-width:640px){.card-grid{flex-direction:row;flex-wrap:wrap;}.card{width:calc(50% - 12px);}}
@media (min-width:1024px){.card{width:calc(33.33% - 14px);}}