.ubo-form-wrap .ubo-message {
    margin-bottom: 10px;
}

.ubo-message:empty {
    display: none;
}

.ubo-message.ubo-success {
    color: #1a7f37;
}

.ubo-message.ubo-error {
    color: #d63638;
}

.ubo-form p {
    margin-bottom: 12px;
}

.ubo-materials-filters {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.ubo-materials-results[aria-busy="true"] {
    opacity: 0.5;
}

.ubo-material-card {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 12px 16px;
    margin-bottom: 10px;
}

.ubo-material-card h4 {
    margin: 0 0 4px;
}

.ubo-material-meta {
    color: #666;
    font-size: 0.9em;
    margin: 0 0 8px;
}

.ubo-view-material {
    display: inline-block;
    margin-bottom: 10px;
}

.ubo-restricted-notice {
    border: 1px solid #d63638;
    background: #fbeaea;
    color: #d63638;
    padding: 12px 16px;
    border-radius: 4px;
}

.ubo-material-viewer video,
.ubo-material-viewer audio {
    width: 100%;
    max-width: 640px;
    display: block;
}

.ubo-material-doc-frame {
    width: 100%;
    height: 600px;
    border: 1px solid #ddd;
}

.ubo-pdf-viewer {
    max-width: 800px;
}

.ubo-pdf-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.ubo-pdf-canvas {
    width: 100%;
    border: 1px solid #ddd;
}

.ubo-focus-lost-overlay {
    display: none;
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
    color: #fff;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    z-index: 999;
}

.ubo-focus-lost-overlay.is-active {
    display: flex;
}

.ubo-materials,
.ubo-materials * {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.ubo-materials img,
.ubo-materials video {
    -webkit-user-drag: none;
    pointer-events: auto;
}

@media print {
    .ubo-materials {
        display: none !important;
    }
}