[v-cloak] { display: none; }
.udc-app-container { max-width: 1000px; margin: 2rem auto; color: #333; line-height: 1.5; }

.udc-updated-date { text-align: right; font-size: 12px; color: #888; margin-bottom: 6px; }
.udc-filter-section { background: #f8f9fb; padding: 20px; border-radius: 12px; margin-bottom: 25px; border: 1px solid #eee; }
.udc-search-input input { width: 100%; padding: 10px; border: 2px solid #ddd; border-radius: 8px; font-size: 16px; margin-bottom: 15px; box-sizing: border-box; }
.udc-filter-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.udc-label-text { font-size: 11px; font-weight: bold; color: #777; margin-bottom: 4px; }
.udc-field select { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 6px; background: #fff; cursor: pointer; }

.udc-category-group { margin-bottom: 30px; }
.udc-title-category { font-size: 25px; font-weight: bold; border-left: 5px solid #e4007f; padding-left: 12px; margin: 35px 0 15px; }
.udc-maker-wrapper { margin-bottom: 30px; }
.udc-maker-label { font-size: 20px; font-weight: bold; color: #666; margin: 15px 0 12px 5px; }

.udc-no-result { text-align: center; padding: 40px 20px; color: #666; background: #fdfdfd; border-radius: 8px; border: 1px dashed #ccc; margin-top: 20px; font-weight: bold; }

.udc-device-list-vertical { display: flex; flex-direction: column; gap: 8px; }

.udc-device-item { background: #fff; border: 1px solid #eee; border-radius: 8px; overflow: hidden; width: 100%; }
.udc-device-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 15px; cursor: pointer; transition: background-color 0.2s;
    width: 100%; background: transparent; border: 0;
    font: inherit; color: inherit; text-align: left;
}
.udc-device-header:hover { background: #fafafa; }
.udc-device-header:focus-visible { outline: 2px solid #005bac; outline-offset: -2px; }

.udc-info-side { flex: 1; }
.udc-device-name-text { font-size: 15px; font-weight: bold; }
.udc-au-text { font-size: 11px; color: #f08300; font-weight: bold; margin-top: 4px; }

.udc-status-side { display: flex; align-items: center; gap: 10px; }
.udc-status-badge { font-size: 10px; background: #e4007f; color: #fff; padding: 2px 8px; border-radius: 4px; font-weight: bold; }
.udc-arrow::after { content: '▼'; font-size: 10px; color: #ccc; transition: transform 0.3s; display: inline-block; }
.udc-arrow.is-open { transform: rotate(180deg); }

.udc-device-detail { padding: 15px; background: #fdfdfd; border-top: 1px solid #f5f5f5; }
.udc-spec-table { width: 100%; }
.udc-spec-table th { text-align: center; vertical-align: middle; }
.udc-spec-table td { text-align: left; vertical-align: middle; }

.udc-cta-area { display: flex; gap: 10px; margin-top: 20px; padding-top: 15px; border-top: 1px dashed #eee; justify-content: center; }
.udc-btn { flex: 1; max-width: 250px; text-align: center; padding: 12px 10px; border-radius: 8px; font-weight: bold; color: #fff; text-decoration: none; font-size: 13px; transition: opacity 0.2s, transform 0.2s; box-sizing: border-box; display: block; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.udc-btn:hover { opacity: 0.8; transform: translateY(-1px); }

.udc-btn-sim { background-color: var(--udc-sim-color, #e4007f); }
.udc-btn-esim { background-color: var(--udc-esim-color, #005bac); }

@media (max-width: 767px) {
    .udc-filter-grid { grid-template-columns: 1fr; }
    .udc-device-name-text { font-size: 14px; }
    .udc-cta-area { flex-direction: column; align-items: center; }
    .udc-btn { max-width: 100%; width: 100%; }
}
