/* Private recipes, version 20260909-dev-5. */
body .ppp-my-meals-manager-wrapper .ppp-ur-tab-button {
    width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0;
    background: transparent !important; color: inherit !important;
    font: inherit; text-align: left; text-transform: none; letter-spacing: 0; box-shadow: none;
}
.ppp-ur-toolbar, .ppp-ur-notices { grid-column: 1 / -1; width: 100%; box-sizing: border-box; }
.ppp-ur-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.ppp-ur-toolbar > span { font-size: 15px; color: #475662; line-height: 1.5; }
.ppp-ur-active .ppp-my-meals-manager-grid {
    display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(310px, 100%), 1fr));
    align-items: start; gap: 20px !important;
}

/* Keep theme and page-builder button rules out of these private recipe surfaces. */
body :is(.ppp-ur-dialog, .ppp-ur-recipe, .ppp-ur-toolbar, .ppp-ur-notices) button {
    box-sizing: border-box; min-height: 44px; max-width: 100%; margin: 0;
    padding: 10px 14px; border: 1px solid #aebbc3; border-radius: 4px;
    background: #fff !important; color: #263b48 !important;
    font-size: 15px; font-weight: 600; line-height: 1.4;
    text-transform: none !important; letter-spacing: 0 !important;
    text-shadow: none; box-shadow: none; white-space: normal; cursor: pointer;
    overflow-wrap: anywhere; transition: background-color .15s, border-color .15s;
}
body :is(.ppp-ur-dialog, .ppp-ur-recipe, .ppp-ur-toolbar, .ppp-ur-notices) button:hover:not(:disabled) {
    background: #edf3f5 !important; border-color: #627b8a;
}
body .ppp-ur-toolbar > button,
body .ppp-ur-dialog .ppp-ur-form footer [type=submit],
body .ppp-ur-recipe .ppp-my-meals-manager-card__btn {
    background: #0f3855 !important; color: #fff !important; border-color: #0f3855;
}
body .ppp-ur-toolbar > button:hover:not(:disabled),
body .ppp-ur-dialog .ppp-ur-form footer [type=submit]:hover:not(:disabled),
body .ppp-ur-recipe .ppp-my-meals-manager-card__btn:hover:not(:disabled) {
    background: #194d6d !important; border-color: #194d6d;
}
body :is(.ppp-ur-dialog, .ppp-ur-recipe, .ppp-ur-toolbar) button:disabled {
    background: #e9edf0 !important; color: #4b5c68 !important; border: 1px solid #cbd4da;
    opacity: 1; cursor: not-allowed;
}
body :is(.ppp-ur-dialog, .ppp-ur-recipe, .ppp-ur-toolbar, .ppp-ur-notices) :is(button, input, select, textarea, summary):focus-visible,
body .ppp-my-meals-manager-wrapper .ppp-ur-tab-button:focus-visible {
    outline: 3px solid #0f3855; outline-offset: 2px;
}
.ppp-ur-notices { border-left: 3px solid #26815e; padding: 16px; background: #f0f8f3; color: #243b2e; }
body .ppp-ur-notices h3 { font-size: 17px; font-weight: 600; margin: 0 0 8px; color: #243b2e; }
body .ppp-ur-notices ul { margin: 0 0 12px; padding-left: 20px; font-size: 15px; line-height: 1.5; }
body .ppp-ur-notices li { margin: 4px 0; }

/* Override the fixed image-card dimensions, including the theme's mobile grid. */
body .ppp-my-meals-manager-card.ppp-ur-recipe {
    display: flex !important; flex-direction: column; align-items: stretch;
    width: 100% !important; height: auto !important; min-height: 0; min-width: 0;
    margin: 0 !important; padding: 20px !important; gap: 12px !important;
    border: 1px solid #d7e0e5; border-radius: 6px; background: #fff !important;
    box-shadow: none !important; box-sizing: border-box; text-align: left;
    color: #263641; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere;
}
.ppp-ur-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
body .ppp-ur-recipe .ppp-ur-card-header h4 {
    min-width: 0; min-height: 0; margin: 2px 0 0 !important; padding: 0;
    color: #16384c; font-size: 20px; font-weight: 600; line-height: 1.35 !important;
    text-align: left; letter-spacing: 0;
}
.ppp-ur-actions { display: flex; flex-shrink: 0; gap: 4px; }
body .ppp-ur-recipe .ppp-ur-actions button {
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 44px; width: 44px; min-height: 44px; height: 44px; padding: 0;
    border: 0; background: transparent !important;
}
body .ppp-ur-recipe .ppp-ur-actions button:hover:not(:disabled) { background: transparent !important; }
/* Same assets and image dimensions as Shopped Recipes, with a 44px click target. */
.ppp-ur-actions img { width: 35px; height: 35px; object-fit: contain; }
body .ppp-my-meals-manager-card.ppp-ur-recipe p { margin: 0; }
body .ppp-ur-recipe p { font-size: 16px; line-height: 1.55; color: #263641; }
body .ppp-ur-recipe .ppp-ur-status {
    align-self: flex-start; max-width: 100%; padding: 4px 9px; border-radius: 4px;
    font-size: 13px; font-weight: 600; line-height: 1.5; color: #4b5c68; background: #eef1f3;
}
body .ppp-ur-recipe .ppp-ur-status--shoppable { color: #20603e; background: #eaf5ee; }
body .ppp-ur-recipe .ppp-ur-status--pending { color: #704c12; background: #fff4d9; }
body .ppp-ur-recipe .ppp-ur-status--rejected { color: #962d35; background: #fbeef0; }
.ppp-ur-meta { display: flex; flex-wrap: wrap; column-gap: 16px; row-gap: 4px; }
.ppp-ur-meta span { color: #4b5c68; font-size: 14px; line-height: 1.5; }
body .ppp-ur-recipe details { width: 100%; margin: 0; border-top: 1px solid #e1e7eb; }
body .ppp-ur-recipe summary {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    min-height: 44px; padding: 8px 0; color: #244c64; font-size: 15px; font-weight: 600;
    line-height: 1.5; list-style: none; cursor: pointer;
}
.ppp-ur-recipe summary::-webkit-details-marker { display: none; }
.ppp-ur-recipe summary::after {
    content: ''; width: 7px; height: 7px; flex: 0 0 7px; margin-right: 4px;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
}
.ppp-ur-recipe details[open] summary::after { transform: rotate(225deg); }
body .ppp-ur-recipe details h5 { margin: 12px 0 6px; color: #263641; font-size: 14px; font-weight: 600; line-height: 1.5; }
body .ppp-ur-recipe details ul { margin: 0; padding: 0 0 0 20px; color: #263641; }
body .ppp-ur-recipe details li { margin: 0 0 6px; font-size: 16px; line-height: 1.55; list-style-type: disc; }
body .ppp-ur-recipe .ppp-ur-instructions { white-space: pre-wrap; margin: 0 0 8px; }
body .ppp-ur-recipe .ppp-my-meals-manager-card__btn {
    position: static; align-self: stretch !important; width: 100% !important;
    height: auto !important; min-height: 44px; margin: 0; padding: 10px 12px !important;
    font-size: 14px !important; line-height: 1.5 !important; text-align: center !important;
}

body .ppp-ur-dialog {
    width: min(780px, calc(100% - 32px)); max-width: none;
    max-height: calc(100dvh - 32px); box-sizing: border-box; margin: auto; padding: 0;
    border: 1px solid #c5d0d7; border-radius: 8px; background: #fff; color: #263641;
    overflow: auto; overscroll-behavior: contain; z-index: 100000; text-align: left;
    box-shadow: 0 16px 48px #0003;
}
.ppp-ur-dialog::backdrop { background: rgb(19 29 36 / 55%); }
.ppp-ur-form { display: grid; gap: 0; margin: 0; }
body .ppp-ur-dialog .ppp-ur-form header,
body .ppp-ur-dialog .ppp-ur-form footer {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    position: sticky; padding: 16px 24px; background: #fff; z-index: 2;
}
.ppp-ur-form header { top: 0; border-bottom: 1px solid #dce3e8; }
.ppp-ur-form footer { bottom: 0; border-top: 1px solid #dce3e8; }
body .ppp-ur-dialog .ppp-ur-form h2 { margin: 0; font-size: 24px; font-weight: 600; line-height: 1.3; color: #183c50; }
.ppp-ur-basics { display: grid; grid-template-columns: minmax(0, 1fr) 108px; gap: 16px; margin: 20px 24px 24px; }
body .ppp-ur-dialog .ppp-ur-form h3 { font-size: 18px; font-weight: 600; line-height: 1.4; color: #263641; margin: 0 24px 12px; }
body .ppp-ur-dialog .ppp-ur-form label { display: grid; gap: 6px; min-width: 0; margin: 0; color: #263641; font-size: 14px; font-weight: 600; line-height: 1.5; }
body .ppp-ur-dialog .ppp-ur-form > label { margin: 20px 24px; }
body .ppp-ur-dialog .ppp-ur-form :is(input, select, textarea) {
    box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 44px;
    padding: 9px 10px; margin: 0; border: 1px solid #9baebc; border-radius: 4px;
    background: #fff !important; color: #243642 !important; box-shadow: none;
    font-size: 16px; font-weight: 400; line-height: 1.5; letter-spacing: 0;
}
body .ppp-ur-dialog .ppp-ur-form select { appearance: auto; padding-right: 4px; cursor: pointer; }
body .ppp-ur-dialog .ppp-ur-form :is(input, select, textarea):focus {
    border-color: #0f3855; outline: 2px solid #0f3855; outline-offset: 1px;
}
.ppp-ur-form textarea { resize: vertical; }
.ppp-ur-rows { padding: 0 24px; min-width: 0; }
body .ppp-ur-dialog .ppp-ur-row { min-width: 0; margin: 0; padding: 16px 0; border: 0; border-top: 1px solid #dce3e8; }
body .ppp-ur-dialog .ppp-ur-row legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ppp-ur-row-fields { display: grid; grid-template-columns: 80px 156px minmax(0, 1fr) 40px; gap: 10px; align-items: end; margin-bottom: 12px; }
body .ppp-ur-dialog .ppp-ur-form :is(.ppp-ur-remove-row, header .ppp-ur-close) {
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 40px; height: 44px; min-height: 44px; padding: 0; font-size: 26px; font-weight: 400;
}
.ppp-ur-results { display: grid; max-height: 224px; overflow-y: auto; overscroll-behavior: contain; margin: 0 0 12px; border: 1px solid #b7c7d1; border-radius: 4px; }
.ppp-ur-results:empty { display: none; }
body .ppp-ur-dialog .ppp-ur-form .ppp-ur-search-result {
    display: block; width: 100%; max-width: 100%; padding: 10px 12px; border: 0;
    border-bottom: 1px solid #e1e7eb; border-radius: 0; background: #fff !important;
    color: #243642 !important; font-size: 16px; font-weight: 400; line-height: 1.5; text-align: left;
}
body .ppp-ur-dialog .ppp-ur-form .ppp-ur-search-result:hover { background: #eaf2f6 !important; color: #163d55 !important; }
body .ppp-ur-dialog .ppp-ur-form .ppp-ur-request { color: #205b40 !important; background: #f0f8f3 !important; font-weight: 600; }
body .ppp-ur-dialog .ppp-ur-form .ppp-ur-add-row { justify-self: start; width: auto; margin: 0 24px; border-color: #819aa9; }
body .ppp-ur-dialog .ppp-ur-row-status { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: #465d6b; overflow-wrap: anywhere; }
.ppp-ur-row-status:empty { display: none; }
body .ppp-ur-dialog .ppp-ur-unit-warning { margin: 0 0 12px; color: #704c12; font-size: 14px; line-height: 1.5; }
body .ppp-ur-dialog .ppp-ur-error { margin: 0 24px 16px; color: #a12732; font-size: 15px; line-height: 1.5; }
.ppp-ur-error:empty { display: none; }
body .ppp-ur-recipe .ppp-ur-partial-note, body .ppp-ur-cart-warning { margin: 8px 0; color: #704c12; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
body .ppp-ur-dialog .ppp-ur-owner { margin: 16px 24px 0; font-size: 14px; color: #465d6b; }

.ppp-user-recipes-admin .ppp-ur-admin-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.ppp-user-recipes-admin .ppp-ur-admin-actions form { margin: 0; }
.ppp-user-recipes-admin .ppp-ur-admin-actions .button { white-space: nowrap; }
.ppp-user-recipes-admin .ppp-ur-card > table { min-width: 820px; }
.ppp-user-recipes-admin .ppp-ur-card > table > tbody > tr > td:first-child { min-width: 190px; }
.ppp-user-recipes-admin .ppp-ur-review-form { display: grid; gap: 12px; min-width: 240px; max-width: 520px; }
.ppp-user-recipes-admin .ppp-ur-review-form label { display: grid; gap: 4px; margin-bottom: 8px; }
.ppp-user-recipes-admin .ppp-ur-review-form :is(input:not([type=checkbox]), select, textarea) { width: 100%; max-width: 100%; }
.ppp-user-recipes-admin .ppp-ur-review-form :is(input, select, textarea):focus { border-color: #0f3855; outline: 2px solid #0f3855; outline-offset: 1px; }
.ppp-user-recipes-admin .ppp-ur-review-form [hidden] { display: none; }
.ppp-user-recipes-admin .ppp-ur-review-form .ppp-ur-test-check { display: flex; align-items: center; gap: 8px; }
.ppp-user-recipes-admin .ppp-ur-admin-results { display: grid; max-height: 180px; overflow: auto; }
.ppp-user-recipes-admin .ppp-ur-search-result { padding: 8px; background: #fff; border: 1px solid #c3c4c7; color: #135e96; cursor: pointer; text-align: left; }
.ppp-user-recipes-admin .ppp-ur-prepared-summary { padding: 8px 0; border-top: 1px solid #c3c4c7; color: #704c12; }
.ppp-user-recipes-admin .ppp-ur-history { border-block: 1px solid #c3c4c7; margin-block: 24px; padding-bottom: 16px; }
.ppp-user-recipes-admin .ppp-ur-history ul { margin: 12px 0 12px 20px; list-style: disc; }
.ppp-user-recipes-admin .ppp-ur-history summary { cursor: pointer; color: #135e96; margin-block: 8px; }
.ppp-user-recipes-admin .ppp-ur-history-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.ppp-user-recipes-admin td { overflow-wrap: anywhere; }

@media (max-width: 600px) {
    body .ppp-ur-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); }
    body .ppp-ur-dialog .ppp-ur-form header, body .ppp-ur-dialog .ppp-ur-form footer { padding: 12px 16px; }
    .ppp-ur-basics { grid-template-columns: minmax(0, 1fr) 84px; gap: 12px; margin: 16px; }
    body .ppp-ur-dialog .ppp-ur-form h3 { margin: 8px 16px 12px; }
    body .ppp-ur-dialog .ppp-ur-form > label { margin: 20px 16px; }
    .ppp-ur-rows { padding: 0 16px; }
    body .ppp-ur-dialog .ppp-ur-form .ppp-ur-add-row { margin: 0 16px; }
    .ppp-ur-row-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) 40px; gap: 10px; }
    .ppp-ur-name-label { grid-column: 1 / 3; grid-row: 1; }
    .ppp-ur-remove-row { grid-column: 3; grid-row: 1; }
    .ppp-ur-row-fields > label:nth-child(1) { grid-row: 2; }
    .ppp-ur-row-fields > label:nth-child(2) { grid-column: 2 / 4; grid-row: 2; }
    body .ppp-ur-dialog .ppp-ur-form h2 { font-size: 22px; }
    body .ppp-ur-dialog .ppp-ur-error { margin: 0 16px 16px; }
}
@media (max-width: 767px) {
    .ppp-ur-active .ppp-my-meals-manager-grid { grid-template-columns: minmax(0, 1fr); gap: 16px !important; }
    body .ppp-my-meals-manager-card.ppp-ur-recipe { padding: 16px !important; }
    .ppp-ur-actions img { width: 24px; height: 24px; }
}
@media (max-width: 360px) {
    .ppp-ur-basics { grid-template-columns: minmax(0, 1fr); }
    .ppp-ur-basics [name=servings] { max-width: 100px; }
    .ppp-ur-card-header { flex-wrap: wrap; gap: 4px; }
}
