/* Developer Portal basic styles */
.dp-wrap { max-width: 960px; margin: 24px auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.dp-header { margin-bottom: 16px; }
.dp-topbar { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; border:1px solid #eee; border-radius:12px; margin-bottom:16px; }
.dp-right { display:flex; align-items:center; gap:10px; }
.dp-user { color:#444; font-size:14px; }
.dp-btn { display:inline-block; padding:8px 14px; border:1px solid #ddd; border-radius:8px; text-decoration:none; }
.dp-primary { background:#2271b1; color:#fff; border-color:#2271b1; }
.dp-panels { display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width: 900px){ .dp-panels { grid-template-columns:1fr 1fr; } }
.dp-card { border:1px solid #eee; border-radius:12px; padding:16px; }
.dp-form input[type="text"], .dp-form input[type="email"], .dp-form input[type="date"], .dp-form textarea { width:100%; padding:10px; border:1px solid #ddd; border-radius:8px; }
.dp-form button { padding:10px 16px; border:none; border-radius:8px; cursor:pointer; }
.notice { padding:10px 12px; border-radius:8px; margin:10px 0; }
.notice-success { background:#ecf8f1; border:1px solid #c6ead6; }
.notice-error { background:#fdecea; border:1px solid #f5c2c0; }
