/* Scoped presentation helpers. Original copy remains available without JavaScript. */
.ui-help-source {
    position:absolute !important; width:1px !important; height:1px !important;
    padding:0 !important; margin:-1px !important; overflow:hidden !important;
    clip:rect(0,0,0,0) !important; clip-path:inset(50%) !important; border:0 !important;
    white-space:normal !important;
}
.ui-help-trigger {
    display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
    width:32px; height:32px; min-width:32px; min-height:32px; margin:3px 0 5px 5px;
    padding:0; border:1px solid #dbc6cf; border-radius:50%; background:#fff8fb;
    color:#794c60; font:700 15px/1 Arial,sans-serif; vertical-align:middle; cursor:pointer;
    touch-action:manipulation;
}
.ui-help-trigger[hidden] { display:none !important; }
.ui-help-heading {
    display:flex; align-items:center; gap:4px; max-width:100%; min-width:0;
}
.ui-help-heading[hidden] { display:none !important; }
.ui-help-heading > .ui-help-title {
    flex:0 1 auto; min-width:0; max-width:calc(100% - 36px); margin:0 !important;
}
.ui-help-heading > .ui-help-trigger { flex:0 0 auto; align-self:center; margin:0; }
.ui-help-heading > button.ui-help-trigger {
    width:32px !important; height:32px !important; min-width:32px !important; min-height:32px !important;
    max-width:32px; max-height:32px; padding:0 !important; border-radius:50% !important;
}
.ui-help-trigger:hover { background:#f5e7ee; border-color:#b48097; }
.ui-help-trigger:focus-visible,.ui-confirm-panel button:focus-visible {
    outline:3px solid #b06e8b; outline-offset:3px;
}
.ui-help-panel,.ui-confirm-panel {
    position:fixed; z-index:2147483001; box-sizing:border-box; width:360px;
    max-width:calc(100vw - 24px); max-height:calc(100vh - 24px);
    color:#382b32; background:#fff; border:1px solid #ddc8d1; border-radius:14px;
    box-shadow:0 12px 40px #35232d30; overflow-wrap:anywhere; text-align:left;
    font:400 14px/1.6 Arial,sans-serif;
}
.ui-help-panel { padding:14px 16px; white-space:pre-wrap; overflow:auto; }
.ui-confirm-panel { display:flex; flex-direction:column; gap:12px; padding:18px; }
.ui-confirm-title { flex:0 0 auto; margin:0; color:#593544; font:700 17px/1.4 Arial,sans-serif; }
.ui-confirm-copy { min-height:0; overflow:auto; white-space:pre-wrap; }
.ui-confirm-actions { flex:0 0 auto; display:flex; gap:10px; justify-content:flex-end; padding-top:2px; }
.ui-confirm-panel button {
    display:inline-flex; align-items:center; justify-content:center; min-width:88px; min-height:44px;
    box-sizing:border-box; padding:10px 16px; margin:0; border-radius:9px; cursor:pointer;
    font:700 14px/1.4 Arial,sans-serif; touch-action:manipulation;
}
.ui-confirm-cancel { background:#fff; color:#624a55; border:1px solid #d9c5ce; }
.ui-confirm-accept { background:#8c4e69; color:#fff; border:1px solid #8c4e69; }
.ui-confirm-accept:hover { background:#703b53; }
.ui-confirm-backdrop {
    position:fixed; z-index:2147483000; inset:0; box-sizing:border-box; padding:16px;
    display:flex; align-items:center; justify-content:center; background:#271c226b;
}
.ui-confirm-panel.ui-confirm-modal { position:relative; width:520px; max-width:100%; max-height:calc(100dvh - 32px); }
@media (max-width:480px) {
    .ui-help-trigger { width:36px; height:36px; min-width:36px; min-height:36px; }
    .ui-help-heading > button.ui-help-trigger {
        width:36px !important; height:36px !important; min-width:36px !important; min-height:36px !important;
        max-width:36px; max-height:36px;
    }
    .ui-confirm-panel { padding:16px; }
    .ui-confirm-actions { gap:8px; }
    .ui-confirm-panel button { flex:1 1 0; min-width:0; }
}
@media (prefers-reduced-motion:reduce) { .ui-help-panel,.ui-confirm-panel { scroll-behavior:auto; } }
@media print { .ui-help-trigger,.ui-help-panel,.ui-confirm-panel,.ui-confirm-backdrop { display:none !important; } }
