/* Standard actions: green commits, outlined secondary controls, red destructive actions. */
.primary-button,
.secondary-button,
.danger-button {
    min-height: 44px !important;
    min-width: 44px;
    max-width: 100%;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    justify-self: start;
    white-space: normal;
    text-align: center;
}
.primary-button > svg,
.secondary-button > svg,
.danger-button > svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.secondary-button { border-color: #94a3b8; background: #fff; }
.secondary-button:hover { background: #f1f5f9; border-color: #64748b; }
[data-destructive-action]:not(.danger-button) { border-color: #b42332; background: #fff1f2; color: #951e2a !important; }
[data-destructive-action]:hover { background: #b42332; color: #fff !important; }
.primary-button:focus-visible,
.secondary-button:focus-visible,
.danger-button:focus-visible { outline: 2px solid #0f7a43; outline-offset: 3px; }
.primary-button:disabled,
.secondary-button:disabled,
.danger-button:disabled { cursor: wait; opacity: .6; }

/* Compact recognizable actions; the original localized label remains accessible. */
.ptc-icon-action.ptc-icon-action {
    align-items: center;
    justify-content: center;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    flex: 0 0 44px;
    padding: 0 !important;
    gap: 0;
    vertical-align: middle;
    touch-action: manipulation;
}
.ptc-icon-action .ptc-action-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.ptc-icon-action > svg { width: 18px; height: 18px; flex-shrink: 0; }
.ptc-icon-action[hidden] { display: none !important; }
summary.ptc-icon-action { list-style: none; }
summary.ptc-icon-action::-webkit-details-marker { display: none; }
summary.ptc-icon-action::after { display: none !important; }
.ptc-action-tooltip {
    position: fixed;
    z-index: 10000;
    max-width: min(300px, calc(100vw - 16px));
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 6px 10px;
    background: #fff;
    color: #0f172a;
    box-shadow: 0 2px 8px rgb(15 23 42 / 12%);
    font-size: 13px;
    line-height: 1.5;
    text-align: start;
    overflow-wrap: anywhere;
    pointer-events: none;
}
.ptc-action-tooltip[hidden] { display: none !important; }
@media print { .ptc-action-tooltip { display: none !important; } }
