/* BOOK592 Resource Studio PWA v1.0 — scoped enhancements, no route or data changes. */
:root { --b592-r-navy:#172b40; --b592-r-copper:#bc6946; --b592-r-cream:#faf7f2; --b592-r-line:#e9ddd2; }
/* Navigation links in the existing mobile/account menu: no DOM replacements or link changes. */
.account-panel a.b592-r-menu-link,
.mobile-menu-panel a.b592-r-menu-link,
.owner-sidebar a.b592-r-menu-link,
.sidebar a.b592-r-menu-link {
  box-sizing:border-box; display:flex; align-items:center; gap:12px; width:100%; min-height:54px;
  padding:10px 12px; border-radius:13px; border:1px solid transparent;
  color:var(--b592-r-navy); background:transparent; text-decoration:none;
  white-space:normal; overflow-wrap:anywhere; font-size:14px; font-weight:750;
  -webkit-tap-highlight-color:transparent;
}
.account-panel a.b592-r-menu-link::before,
.mobile-menu-panel a.b592-r-menu-link::before,
.owner-sidebar a.b592-r-menu-link::before,
.sidebar a.b592-r-menu-link::before {
  content:''; flex:0 0 35px; width:35px; height:35px; border-radius:10px;
  background:#f4ebe4; border:1px solid #ebd9cb;
  background-position:center; background-repeat:no-repeat; background-size:18px;
}
/* CSS-embedded icons: work offline as a PWA, no external assets. */
a.b592-r-menu-link[data-b592-resource-link="guide"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a75837' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6c-2.8-1.8-5.8-1.8-9-.5v13c3.2-1.3 6.2-1.3 9 .5m0-13c2.8-1.8 5.8-1.8 9-.5v13c-3.2-1.3-6.2-1.3-9 .5M12 6v13'/%3E%3C/svg%3E"); }
a.b592-r-menu-link[data-b592-resource-link="timing"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a75837' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2.5'/%3E%3C/svg%3E"); }
a.b592-r-menu-link[data-b592-resource-link="plans"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a75837' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='M3 10h18M7 15h4'/%3E%3C/svg%3E"); }
.account-panel a.b592-r-menu-link:hover,
.mobile-menu-panel a.b592-r-menu-link:hover,
.owner-sidebar a.b592-r-menu-link:hover,
.sidebar a.b592-r-menu-link:hover {background:#fff3ea; border-color:#efd9c8;}
a.b592-r-menu-link[aria-current="page"] {background:#f7ece5!important; border-color:#e4c5b0!important; color:#914c2d!important;}
a.b592-r-menu-link:focus-visible {outline:3px solid var(--b592-r-copper);outline-offset:2px;}
/* Content-only section: inserted on existing pages. Does not hide or replace page functionality. */
.b592-resources-nav {display:grid; grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
  margin:0 0 26px; inline-size:100%; min-width:0; grid-column:1/-1;}
.b592-resources-nav > * {min-width:0;}
.b592-resources-nav .b592-r-route {box-sizing:border-box; display:flex; align-items:center;
 gap:12px; padding:14px 16px; min-height:84px; background:#fff; border:1px solid var(--b592-r-line);
 border-radius:16px; text-decoration:none; color:var(--b592-r-navy); transition:background .14s,border-color .14s;}
.b592-r-route .b592-r-icon { flex:0 0 41px; display:grid;place-items:center;inline-size:41px;block-size:41px;
 border-radius:12px;background:#f8eee7;color:#ad5837; }
.b592-r-route .b592-r-icon svg {inline-size:22px;block-size:22px;}
.b592-r-route .b592-r-text {display:block;min-width:0;}
.b592-r-route .b592-r-text strong {display:block;font-size:14px;font-weight:800;line-height:1.3;}
.b592-r-route .b592-r-text small {display:block;margin-top:3px;color:#607185;font-size:11px;line-height:1.4;}
.b592-resources-nav .b592-r-route:hover {background:#fdf7f2;border-color:#ddbda6;}
.b592-resources-nav .b592-r-route[aria-current="page"] {background:var(--b592-r-navy);border-color:var(--b592-r-navy);color:#fff;}
.b592-resources-nav .b592-r-route[aria-current="page"] .b592-r-icon {background:#ffffff20;color:#f3b38b;}
.b592-resources-nav .b592-r-route[aria-current="page"] small {color:#dce5ed;}
.b592-resources-nav .b592-r-route:focus-visible {outline:3px solid var(--b592-r-copper);outline-offset:3px;}
/* Existing page content receives a consistent readable layout; app header/footer untouched. */
html[data-b592-resource-page] main.wrap,html[data-b592-resource-page] main .wrap { min-width:0; }
html[data-b592-resource-page] main.wrap > h1,
html[data-b592-resource-page] main.wrap > .page-heading h1,
html[data-b592-resource-page] main.wrap > .pricing-intro h1,
html[data-b592-resource-page] main.wrap > .section h1 {font-size:clamp(29px,4.5vw,53px);line-height:1.08;letter-spacing:-.045em;overflow-wrap:anywhere;}
html[data-b592-resource-page] main.wrap .card {border-color:var(--b592-r-line);box-shadow:0 10px 30px #172b4007;}
html[data-b592-resource-page] main.wrap :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {max-width:100%;box-sizing:border-box;}
html[data-b592-resource-page] main.wrap :is(button,.btn) {min-height:42px;}
html[data-b592-resource-page] main.wrap :is(input,select,textarea,button,a,summary):focus-visible {outline:3px solid #bc6946;outline-offset:2px;}
html[data-b592-resource-page] main.wrap :is(p,li,.hint,.lead) {overflow-wrap:anywhere;}
html[data-b592-resource-page] main.wrap .table-wrap {max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
/* Guidebook: sectional reading rhythm, compact accordions. */
html[data-b592-resource-page="guide"] main.wrap details {border:1px solid var(--b592-r-line);border-radius:14px;background:#fff;max-width:100%;}
html[data-b592-resource-page="guide"] main.wrap details + details {margin-top:10px;}
html[data-b592-resource-page="guide"] main.wrap details > summary {min-height:48px;display:list-item;cursor:pointer;padding:13px 18px;font-weight:750;}
/* Notification timing: readable forms, never alter enabled / disabled control states. */
html[data-b592-resource-page="timing"] main.wrap .field {min-width:0;}
html[data-b592-resource-page="timing"] main.wrap .card {max-width:100%;}
html[data-b592-resource-page="timing"] main.wrap input[type=checkbox],
html[data-b592-resource-page="timing"] main.wrap input[type=radio] {accent-color:var(--b592-r-copper);inline-size:18px;block-size:18px;flex-shrink:0;}
/* Pricing is already implemented with these BOOK592 classes; keep prices/features data driven. */
html[data-b592-resource-page="plans"] main.wrap .pricing-intro {max-width:850px;margin:12px auto 30px;}
html[data-b592-resource-page="plans"] main.wrap .pricing-grid {grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;min-width:0;}
html[data-b592-resource-page="plans"] main.wrap .pricing-card {min-width:0;border-color:var(--b592-r-line);box-shadow:0 10px 26px #162a3c0a;}
html[data-b592-resource-page="plans"] main.wrap .pricing-card-header {min-height:0;}
html[data-b592-resource-page="plans"] main.wrap .pricing-price {white-space:normal;overflow-wrap:anywhere;}
/* PWA / mobile: no page-level horizontal scroll, native input focus readability, safe-area aware. */
@media (max-width:1024px) {
  .b592-resources-nav {grid-template-columns:repeat(3,minmax(0,1fr));}
  html[data-b592-resource-page="plans"] main.wrap .pricing-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px) {
  .b592-resources-nav {grid-template-columns:1fr;gap:8px;margin-bottom:20px;}
  .b592-resources-nav .b592-r-route {min-height:65px;padding:10px 13px;border-radius:13px;}
  .b592-r-route .b592-r-icon {flex-basis:38px;inline-size:38px;block-size:38px;}
  .b592-r-route .b592-r-text small {font-size:11px;}
  html[data-b592-resource-page] main.wrap {box-sizing:border-box; max-width:100%;padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right));padding-bottom:max(72px,env(safe-area-inset-bottom));}
  html[data-b592-resource-page] main.wrap :is(input:not([type=checkbox]):not([type=radio]),textarea,select) {font-size:max(16px,1rem);min-height:44px;}
  html[data-b592-resource-page] main.wrap :is(button,.btn) {min-height:44px;max-width:100%;white-space:normal;}
  html[data-b592-resource-page] main.wrap .card {padding:clamp(16px,4vw,24px);border-radius:18px;}
  html[data-b592-resource-page] main.wrap :is(.grid2,.grid3) {grid-template-columns:1fr;}
  html[data-b592-resource-page="plans"] main.wrap .pricing-grid {grid-template-columns:1fr;gap:13px;}
  html[data-b592-resource-page="plans"] main.wrap .pricing-card {padding:20px 17px;}
  html[data-b592-resource-page="plans"] main.wrap .pricing-intro h1 {font-size:clamp(30px,9vw,45px);}
  html[data-b592-resource-page] main.wrap .row {flex-wrap:wrap;}
  .account-panel.b592-r-menu, .mobile-menu-panel.b592-r-menu {max-width:calc(100vw - 24px);max-height:calc(80dvh - env(safe-area-inset-bottom));overscroll-behavior:contain;}
}
@media (max-width:350px) {
  .b592-resources-nav .b592-r-route {gap:9px;padding-inline:10px;}
  .b592-r-route .b592-r-text strong {font-size:13px;}
}
@media (prefers-reduced-motion:reduce) {
  .b592-resources-nav .b592-r-route {transition:none!important;}
}

/* Keep existing icons if the application already supplies them, avoiding duplicates. */
a.b592-r-menu-link.b592-r-has-icon::before {display:none!important;}
a.b592-r-menu-link.b592-r-has-icon > :is(svg,.owner-nav-icon,.nav-icon,.menu-icon) {flex:0 0 35px;inline-size:35px;block-size:35px;padding:8px;border-radius:10px;box-sizing:border-box;background:#f4ebe4;color:#a75837;}
