/* Layout-specific components share portal.css tokens and remain light. */
.home-benefits { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0 26px; }
.home-benefits .panel { margin:0;padding:28px; }.home-benefits h2 { font-size:17px;margin:20px 0 10px; }.home-benefits p { color:var(--muted);font-size:13px;margin:0; }
.home-catalog-cta { display:flex;align-items:center;justify-content:space-between;gap:26px;padding:30px 34px;background:linear-gradient(110deg,#fff,#f0f4ff); }
.home-catalog-cta h2 { font-size:23px;margin:5px 0 10px; }.home-catalog-cta p { margin:0;color:var(--muted); }.home-catalog-cta .button { flex-shrink:0; }
.catalog-layout { display:grid;grid-template-columns:228px minmax(0,1fr);gap:28px;align-items:start; }
.catalog-directory { position:sticky;top:106px;padding:20px 15px; }.catalog-directory .panel-heading { padding:0 9px; }.catalog-directory h2 { display:flex;align-items:center;gap:8px;font-size:15px; }
.category-item { display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:9px;padding:11px 12px;color:#516078;font-size:13px;margin:3px 0; }.category-item > span:first-child { display:flex;align-items:center;gap:9px; }.category-item .icon { width:16px;height:16px; }.category-item > span:last-child { border-radius:5px;background:#f2f5fb;padding:1px 7px;font-size:11px; }.category-item:hover,.category-item[aria-current] { background:var(--blue-soft);color:#3d53c9; }
.directory-help { margin:25px 9px 0;padding-top:20px;border-top:1px solid var(--line);font-size:12px; }.directory-help p { color:var(--muted);line-height:1.8; }.directory-help a { display:flex;align-items:center;gap:8px; }
.catalog-content { min-width:0; }.catalog-content .catalog-section { padding:0;margin:0; }.catalog-results-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px; }.catalog-results-heading h2 { margin:0;font-size:18px; }.catalog-content .api-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.catalog-content .catalog-filters .wide { min-width:100%; }.catalog-content .catalog-filters > div:not(.wide) { min-width:110px; }.catalog-content .catalog-filters { margin-bottom:25px; }.catalog-directory-toggle { display:none; }.catalog-page .page-heading .button-row { margin:0;align-self:center; }
.feedback-layout { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start; }.feedback-form { max-width:none;min-width:0; }.feedback-form label { margin:23px 0 9px; }.feedback-form label:first-of-type { margin-top:0; }.feedback-form .help { margin:9px 0 0; }.verification-row { display:flex;align-items:stretch;gap:10px; }.verification-row input { flex:1;min-width:0; }.verification-row button { flex-shrink:0;min-width:126px; }.feedback-guide h2 { font-size:17px;margin:20px 0 14px; }.feedback-guide p,.feedback-guide li { font-size:12px;color:var(--muted); }.feedback-guide ul { padding-left:18px; }.feedback-guide li { margin:10px 0; }#feedback-code-status[data-state=error] { color:#b33e50; }#feedback-code-status[data-state=success] { color:#26765c; }
/* Explicit intrinsic dimensions prevent uploaded images from expanding admin rows. */
.admin-main img { max-width:100%;object-fit:contain; }
.admin-main .site-logo,.admin-main .preview-img { display:block;width:48px;height:48px;max-width:48px;flex:0 0 48px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:4px; }
.admin-main .logo-preview { display:block;width:112px;height:54px;max-width:112px;flex-shrink:0;border:1px solid var(--line);border-radius:9px;background:#fff;padding:5px; }
.admin-main .qr-preview { display:block;width:144px;height:144px;max-width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px;margin-bottom:15px; }
.payment-upload { display:flex;flex-direction:column;gap:0; }.payment-upload > div { width:100%;min-width:0; }
.payment-upload .qr-placeholder { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:144px;height:144px;margin-bottom:15px;border:1px dashed #ccd6e8;border-radius:12px;background:#f8faff;color:var(--muted);font-size:11px; }.qr-placeholder .icon { width:25px;height:25px; }
.qr-unavailable { display:grid;place-items:center;width:min(260px,100%);height:260px;margin:12px 0;border:1px dashed #ccd6e8;border-radius:15px;background:#f8faff;color:var(--muted);font-size:12px; }
.admin-main .flex-grow-1 { min-width:0; }.admin-main .table td { vertical-align:middle; }.admin-main input[type=file] { font-size:12px;line-height:1.5;min-height:42px;padding:8px; }
.admin-main .form-check { display:flex;align-items:center;gap:8px;padding-left:0;min-height:28px; }.admin-main .form-check-input { float:none;margin:0!important;flex-shrink:0;width:16px;height:16px;padding:0; }.admin-main .form-check-label { margin:0; }.admin-main .btn,.admin-main .button { display:inline-flex;align-items:center;justify-content:center;gap:7px;vertical-align:middle; }.admin-main .modal-footer { align-items:center; }.admin-main .modal-body { max-height:70dvh;overflow-y:auto; }.admin-main .modal-title { margin:0; }.admin-main .modal-header .btn-close { min-height:24px;padding:8px;box-sizing:content-box; }
.admin-main .media-preview-link { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;max-width:100%;border-radius:10px; }.admin-main .media-preview-link:focus-visible { outline:3px solid #93a5f7;outline-offset:3px; }
.admin-main .form-switch .form-check-input { width:34px;height:20px; }.admin-main .btn-close,.admin-main .btn-close:hover { background-color:transparent;border:0;box-shadow:none; }
.admin-main .form-check label { margin:0;min-width:0; }
@media(min-width:1600px) { .catalog-content .api-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1120px) { .catalog-layout { grid-template-columns:205px minmax(0,1fr);gap:20px; }.feedback-layout { grid-template-columns:minmax(0,1fr) 260px;gap:20px; }.home-benefits .panel { padding:22px; } }
@media(max-width:900px) { .feedback-layout { grid-template-columns:minmax(0,1fr); }.feedback-guide { max-width:none; }.home-benefits { gap:14px; }.home-benefits h2 { font-size:15px; } }
@media(max-width:760px) { .home-benefits { grid-template-columns:minmax(0,1fr);gap:15px; }.home-benefits .panel { padding:23px; }.home-benefits h2 { margin-top:14px; }.home-catalog-cta { display:block;padding:25px; }.home-catalog-cta h2 { font-size:21px; }.home-catalog-cta p { font-size:12px; }.home-catalog-cta .button { margin-top:20px; }.catalog-layout { display:block; }.catalog-directory { display:none; }.catalog-directory.open { display:block;position:fixed;inset:0 auto 0 0;width:min(85vw,300px);height:100dvh;overflow-y:auto;z-index:40;margin:0;border-radius:0;padding:24px 16px; }.catalog-directory .drawer-close { display:inline-flex; }.catalog-directory-toggle { display:inline-flex; }.catalog-page .page-heading { align-items:start;gap:18px; }.catalog-page .page-heading h1 { font-size:26px; }.catalog-page .page-heading .button-row { align-self:start; }.catalog-content .api-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.catalog-content .catalog-filters > div:not(.wide) { min-width:95px; }.feedback-guide ul { margin-bottom:20px; }.admin-main .qr-preview { width:128px;height:128px; } }
@media(max-width:580px) { .catalog-content .api-grid { grid-template-columns:minmax(0,1fr); }.catalog-page .page-heading { flex-direction:column; }.catalog-results-heading .help { font-size:10px; }.verification-row { gap:8px; }.verification-row button { min-width:112px;padding:9px 10px;font-size:12px; }.feedback-form { padding:22px; }.feedback-layout { gap:16px; } }
@media(max-width:760px) { .payment-upload .qr-placeholder { width:128px;height:128px; } }
