.license-plan-dialog {
    width: min(880px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    padding: 0;
    overflow: hidden;
    color: #343a40;
    background: #fff;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}
.license-plan-dialog::backdrop { background: rgba(20, 24, 35, .68); backdrop-filter: blur(2px); }
.license-plan-dialog__header { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid #dee2e6; }
.license-plan-dialog__header h2 { margin: 0; font-size: 1.3rem; }
.license-plan-dialog__header p { margin: 4px 0 0; color: #6c757d; }
.license-plan-dialog__close { width: 34px; height: 34px; padding: 0; color: #6c757d; font-size: 25px; line-height: 30px; background: transparent; border: 0; border-radius: 6px; }
.license-plan-dialog__close:hover { background: #f2f4f7; }
.license-plan-dialog__body { max-height: calc(100vh - 145px); padding: 24px; overflow-y: auto; }
.license-plan-dialog__state { margin: 24px 0; color: #6c757d; text-align: center; }
.license-plan-dialog__state--error { color: #dc3545; }
.license-plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.license-plan-card { display: flex; flex-direction: column; min-width: 0; padding: 20px; background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 10px; }
.license-plan-card h3 { margin: 0; font-size: 1.05rem; }
.license-plan-card__price { margin-top: 12px; font-size: 1.75rem; font-weight: 700; }
.license-plan-card__duration { margin: 4px 0 20px; color: #6c757d; }
.license-plan-card__select { width: 100%; margin-top: auto; }
@media (max-width: 640px) {
    .license-plan-dialog__header, .license-plan-dialog__body { padding: 16px; }
    .license-plan-grid { grid-template-columns: 1fr; }
}
