/* Shared modal skin; print and photo canvases keep their own layout. */
@media screen{
.module-dialog:not(.plan-print):not(.photo-viewer-dialog){border:0;border-radius:18px;background:#f5f7f5;box-shadow:0 24px 90px #142b3540;max-height:calc(100dvh - 32px)}
.module-dialog::backdrop{background:#172c36a6;backdrop-filter:blur(4px)}
.module-dialog:not(.plan-print):not(.photo-viewer-dialog)>header{background:#303436;color:#fff;border:0;padding:16px 20px;gap:12px}
.module-dialog:not(.plan-print):not(.photo-viewer-dialog)>header h2{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.025em;color:#fff}
.module-dialog:not(.plan-print):not(.photo-viewer-dialog)>header .icon-button{border:0;border-radius:50%;background:#ffffff0e;color:#e2ebe5;min-width:36px;width:36px;height:36px;flex-basis:36px;padding:9px}
.module-dialog:not(.plan-print):not(.photo-viewer-dialog)>.module-dialog-body{padding:20px}
.module-dialog .module-form{gap:14px}.module-dialog .module-form label{font-size:12px;font-weight:500;line-height:1.4;color:#4c6259}
.module-dialog .module-form input:not([type=checkbox]):not([type=radio]),.module-dialog .module-form select,.module-dialog .module-form textarea{box-sizing:border-box;min-height:44px;border:1px solid #dee7e0;border-radius:10px;background:#fff;color:#233c31;font-size:16px;padding:10px 12px;box-shadow:none}
.module-dialog .module-form input:focus,.module-dialog .module-form select:focus,.module-dialog .module-form textarea:focus{outline:2px solid #c9e2d6;outline-offset:1px;border-color:#70a78e}
.module-dialog .primary{border:0;border-radius:10px;min-height:44px}.module-dialog .secondary{border-radius:10px;box-shadow:none}
.module-dialog [role=alert]:empty,.module-dialog [data-error]:empty{display:none}
.module-dialog .module-results{border:0;border-radius:10px;max-height:240px}.module-dialog .module-results button{background:#fff;padding:12px;border-bottom:1px solid #edf1ee}.module-dialog .module-results button:hover{background:#edf5ef}
.module-dialog .module-form-grid{gap:10px}
@media(max-width:600px){.module-dialog:not(.plan-print):not(.photo-viewer-dialog){width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 24px);margin:auto;border-radius:16px}.module-dialog:not(.plan-print):not(.photo-viewer-dialog)>header{padding:14px 16px}.module-dialog:not(.plan-print):not(.photo-viewer-dialog)>.module-dialog-body{padding:16px}}
}
.food-entry-dialog{width:min(480px,calc(100% - 24px))}.food-entry-form .food-context{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin:0}.food-context svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
.food-entry-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#e7eeea;border-radius:10px;padding:4px}.food-entry-modes button{border:0;border-radius:7px;background:transparent;min-height:36px;font-size:12px;color:#52695d;padding:7px}.food-entry-modes button[aria-pressed=true]{background:#fff;color:#286a53;box-shadow:0 1px 4px #263d3110;font-weight:600}
.food-entry-form .food-search{display:grid;gap:7px}.food-entry-form .food-search>span{font-size:15px;font-weight:600;color:#263e32}.food-entry-form .food-search input{width:100%}
.food-entry-form .food-search-hint{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.food-search-results:empty{display:none}.food-entry-form .food-search-message{font-size:12px;margin:10px;color:var(--muted)}
.food-entry-form .food-manual{display:grid;gap:12px;padding:14px;background:#edf2ee;border-radius:12px}.food-manual>label{display:grid;gap:6px}.food-manual .module-form-grid{display:grid;grid-template-columns:1fr 1fr}.food-manual .module-form-grid label{display:grid;gap:5px}.food-manual input{width:100%;min-width:0}
.food-entry-form .food-portion{display:grid;grid-template-columns:1fr 96px;align-items:center;gap:8px;padding:14px;background:#e8f1eb;border-radius:12px}.food-portion strong{font-size:13px;color:#294c39}.food-portion [data-measure]{font-size:11px;color:#536d5e;margin:5px 0 0}.food-portion input{width:100%;text-align:center;font-weight:600}.food-portion [data-estimate]{grid-column:1/-1;font-size:10px;margin:0;color:var(--muted)}.food-portion [data-estimate]:empty{display:none}
.food-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.food-entry-footer{padding-top:2px}.food-entry-footer .primary{width:100%;justify-content:center;font-size:13px}.food-entry-footer .primary:disabled{opacity:.4;cursor:default}.food-entry-dialog [hidden]{display:none!important}
