@import url("./colors.css");

/* Component color roles. Shared roles live in colors.css. */
:root {
	--wb-export-button-border-hover: #f07832;
	--wb-export-panel-shadow: #0f172a24;
}

.wb-export-menu { position: relative; flex-shrink: 0; }
.wb-pdf-export {
    display: flex; align-items: center; justify-content: center;
    box-sizing: border-box; width: 40px; height: 40px; padding: 9px;
    border: 1px solid var(--ui-border-menu); border-radius: 8px; background: var(--ui-surface); color: var(--ui-text-icon);
    cursor: pointer; list-style: none; user-select: none;
}
.wb-pdf-export::-webkit-details-marker { display: none; }
.wb-pdf-export svg { width: 21px; height: 21px; }
.wb-pdf-export:hover, .wb-export-menu[open] > summary { background: var(--ui-surface-accent-subtle); border-color: var(--wb-export-button-border-hover); }
.wb-pdf-export:focus-visible, .wb-export-action:focus-visible { outline: 2px solid var(--ui-focus-info); outline-offset: 2px; }
.wb-export-panel {
    position: absolute; top: calc(100% + 6px); right: 0; z-index: 80;
    box-sizing: border-box; width: max-content; min-width: 176px; max-width: calc(100vw - 32px);
    padding: 6px; border: 1px solid var(--ui-border-panel); border-radius: 10px;
    background: var(--ui-surface); box-shadow: 0 10px 24px var(--ui-shadow-medium); text-align: left;
}
.wb-export-action {
    display: block; box-sizing: border-box; width: 100%; margin: 0; padding: .45rem .55rem;
    border: 0; border-radius: 7px; background: transparent; color: var(--ui-text);
    font: inherit; font-size: .9rem; font-weight: 700; text-align: left; cursor: pointer;
}
.wb-export-action:hover { background: var(--ui-surface-hover); }
.wb-export-action:disabled { opacity: .55; cursor: wait; }
.whiteboard-page .wb-export-panel {
    top: calc(100% + 8px); padding: 16px; border-color: var(--c-border); border-radius: 12px;
    box-shadow: 0 8px 28px var(--wb-export-panel-shadow);
}
.whiteboard-page .wb-export-action {
    padding: 8px 10px; border: 1px solid var(--c-border); border-radius: 6px; font-size: 13px; font-weight: 400;
}
.course-wb-card-actions .wb-pdf-export { width: 34px; height: 34px; padding: 7px; box-shadow: 0 1px 3px var(--ui-shadow-subtle); }
.course-wb-card-actions .wb-pdf-export svg { width: 18px; height: 18px; }
.course-wb-card-actions .wb-pdf-export:hover,
.course-wb-card-actions .wb-export-menu[open] > summary { border-color: var(--ui-accent); background: var(--ui-surface-accent-hover); color: var(--ui-accent-ink); }
@media (max-width: 520px) {
    .course-wb-card-actions .wb-export-panel, .whiteboards-actions .wb-export-panel { left: 50%; right: auto; transform: translateX(-50%); }
}
.wb-pdf-status {
    position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%); z-index: 10000;
    box-sizing: border-box; width: max-content; max-width: calc(100% - 32px); margin: 0;
    padding: 10px 16px; border: 1px solid var(--ui-border-menu); border-radius: 8px;
    background: var(--ui-surface); color: var(--ui-text-heading); box-shadow: 0 3px 16px var(--ui-shadow-popover);
    font: 14px/1.5 system-ui, sans-serif; overflow-wrap: anywhere; pointer-events: none;
}
.wb-pdf-status[hidden], .wb-pdf-status [hidden] { display: none; }
.wb-pdf-status p { margin: 0; }
.wb-pdf-status-ready {
    pointer-events: auto; max-width: min(520px, calc(100% - 32px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 32px); overflow-y: auto;
}
.wb-pdf-status .wb-pdf-filename { margin-top: 4px; font-size: 12px; }
.wb-pdf-result-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.wb-pdf-result-button {
    min-height: 44px; padding: 8px 12px; border: 1px solid var(--ui-border-menu); border-radius: 7px;
    background: var(--ui-surface); color: var(--ui-text); font: inherit; cursor: pointer;
}
.wb-pdf-result-button:hover { background: var(--ui-surface-hover); }
.wb-pdf-result-button:focus-visible { outline: 2px solid var(--ui-focus-info); outline-offset: 2px; }
.wb-pdf-result-button:disabled { opacity: .55; cursor: wait; }
