:root{
  --red:#d71920;--red-dark:#b8141a;--green:#16a34a;--ink:#111827;--muted:#6b7280;
  --bg:#ffffff;--surface:#ffffff;--surface-2:#f9fafb;--line:#e5e7eb;--line-strong:#d1d5db;
  --shadow:0 16px 40px rgba(15,23,42,.08);--shadow-soft:0 8px 24px rgba(15,23,42,.06);
  --header-h:72px;--radius:28px;--paper:#fff;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg);color:var(--ink);scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}button,a,input,select,textarea{font:inherit;color:inherit}a{color:inherit}.muted{color:var(--muted)!important}.tiny{font-size:12px;color:var(--muted);line-height:1.4}.mobileOnly{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:1000;color:var(--red)}h1,h2,h3{margin:0;color:var(--ink)}h1{font-size:40px;line-height:1;letter-spacing:-1.5px}h2{font-size:24px;line-height:1.08}h3{font-size:18px}.sub{color:var(--muted);line-height:1.45;margin:0 0 18px}

/* AUDIT-style authentication */
.authApp{max-width:540px;margin:0 auto;min-height:100dvh;padding:24px 14px 60px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.authPanel{width:100%;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:32px;padding:28px;box-shadow:var(--shadow);animation:screenIn .22s ease both}.authTopRow{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.logoWrap{display:flex;align-items:center;background:transparent;border:0;padding:0;text-decoration:none}.logo{height:42px;max-width:190px;object-fit:contain;display:block}.authLogo .logo{height:42px}.authPanel h1{font-size:36px;line-height:.96;margin:8px 0 9px;letter-spacing:-1.4px;color:#000}.loginSwitch{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(0,0,0,.06);align-items:center;white-space:nowrap}.loginSwitch a{border-radius:999px;padding:9px 14px;text-decoration:none;color:#374151;font-weight:1000;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.loginSwitch a.active{background:var(--red);color:#fff;box-shadow:0 10px 22px rgba(215,25,32,.18)}.authForm{display:grid;gap:12px;margin-top:18px}.fieldLabel{display:block;font-weight:1000;color:#111}.textInput{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.045);outline:none}.textInput:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.10),0 8px 22px rgba(0,0,0,.045)}.authLabelRow{display:flex;align-items:center;gap:8px;margin-bottom:-4px}.accessHelpButton{width:28px;height:28px;border-radius:999px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc);color:#111827;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:1000;box-shadow:0 8px 20px rgba(15,23,42,.08)}.rememberDevice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:12px 14px;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.05)}.rememberDevice input{position:absolute;opacity:0;pointer-events:none}.rememberBox{width:24px;height:24px;border:2px solid var(--line-strong);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;background:#fff}.rememberBox:after{content:"";width:11px;height:6px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg) translate(1px,-1px);opacity:0}.rememberDevice input:checked + .rememberBox{background:var(--red);border-color:var(--red)}.rememberDevice input:checked + .rememberBox:after{opacity:1}.rememberDevice strong{display:block;font-size:15px;color:#111;font-weight:900}.authError{background:#fff1f2;border:1px solid #fecdd3;color:#991b1b;border-radius:16px;padding:12px 14px;font-weight:900;margin:0 0 12px}.authSubmit{width:100%}.appFooter{text-align:center;color:#6b7280;font-weight:900;font-size:12px;line-height:1.45;margin:14px 0 0}.appFooter span{font-size:11px}
@keyframes screenIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Shared navigation */
.appHeader{height:var(--header-h);position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 max(18px,calc((100vw - 1240px)/2));background:rgba(255,255,255,.94);border-bottom:1px solid rgba(229,231,235,.9);backdrop-filter:blur(16px);box-shadow:0 4px 20px rgba(15,23,42,.035)}.brandCluster{display:flex;align-items:center;gap:12px;min-width:0}.brandText{display:flex;flex-direction:column;min-width:0}.brandText strong{font-size:18px;line-height:1.1}.brandText span{font-size:11px;color:var(--muted);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.appNav{display:flex;align-items:center;gap:8px}.navIconLink{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border-radius:999px;border:1px solid var(--line);background:#fff;color:#111;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.06);transition:.16s ease;cursor:pointer}.navIconLink:hover,.navIconLink:focus-visible{background:#f3f4f6;transform:translateY(-1px);outline:none}.navIconLink.active{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 12px 28px rgba(215,25,32,.20)}.navSvg{width:20px;height:20px;display:block;fill:currentColor}.settingsWrap{position:relative}.settingsMenu{position:absolute;right:0;top:50px;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 18px 44px rgba(0,0,0,.16);z-index:200}.settingsMenu[hidden]{display:none}.settingsWelcome{padding:10px 12px 12px;font-weight:1000;color:#111;border-bottom:1px solid rgba(0,0,0,.08);overflow:hidden;text-overflow:ellipsis}.settingsMenuLink{display:block;padding:11px 12px;color:#111;text-decoration:none;font-weight:900;border-radius:12px}.settingsMenuLink:hover{background:rgba(215,25,32,.08);color:var(--red)}.darkModeRow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;color:#111;font-weight:900;border-bottom:1px solid var(--line);cursor:pointer}.darkModeRow input{position:absolute;opacity:0;pointer-events:none}.darkModeRow i{width:48px;height:28px;border-radius:999px;background:#e5e7eb;position:relative;display:inline-block;flex:0 0 48px}.darkModeRow i:after{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:transform .18s}.darkModeRow input:checked+i{background:var(--red)}.darkModeRow input:checked+i:after{transform:translateX(20px)}

/* Home / admin */
.shell,.adminShell{max-width:1240px;margin:0 auto;padding:28px 24px 72px}.heroCard{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:28px}.heroCard h1{margin-top:6px}.heroCard p{margin:12px 0 0;max-width:680px}.heroSide{display:flex;flex-direction:column;gap:4px;min-width:230px;padding:14px 16px;border:1px solid var(--line);background:var(--surface-2);border-radius:18px}.heroSide strong{font-size:13px}.heroSide span{font-size:12px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-soft)}.card h2{margin-bottom:8px}.cardIcon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#111;color:#fff;font-size:11px;font-weight:1000;letter-spacing:.05em;margin-bottom:16px}.gmIcon{background:var(--red)}.supIcon{background:#111}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0}.field label,label{font-size:13px;font-weight:850}.field input,.field select,.field textarea,input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:14px;padding:11px 12px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.09)}textarea{min-height:92px;resize:vertical}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.btn{appearance:none;border:1px solid var(--line-strong);background:#fff;border-radius:999px;min-height:44px;padding:10px 16px;font-weight:1000;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.15s ease}.btn:hover{background:#f9fafb;transform:translateY(-1px)}.btn.primary{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 10px 24px rgba(215,25,32,.16)}.btn.primary:hover{background:var(--red-dark)}.btn.full{width:100%;border-radius:16px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.alert{padding:13px 15px;border-radius:16px;margin:14px 0;font-weight:800}.alert.error{background:#fee2e2;color:#991b1b}.alert.ok{background:#dcfce7;color:#166534}.storePicker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:230px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.storeChoice{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px;cursor:pointer}.storeChoice input{width:auto}.resumeCard{margin-top:18px}.sectionHeader{display:flex;justify-content:space-between;align-items:center;gap:12px}.recentGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.recentBook{display:flex;flex-direction:column;gap:4px;text-decoration:none;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface-2);transition:.15s}.recentBook:hover{background:#fff;border-color:#fecaca;transform:translateY(-1px)}.recentBook span,.recentBook small{color:var(--muted)}.recentBook small{font-size:11px}.helpBox{background:var(--surface-2);border:1px solid var(--line);padding:13px;border-radius:14px;font-size:13px;line-height:1.5}.editionRow{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.editionRow .grow{flex:1}.badge{font-size:11px;font-weight:1000;border-radius:999px;padding:5px 9px;background:#e5e7eb}.badge.published{background:#dcfce7;color:#166534}.dangerBtn{color:#991b1b;border-color:#fecaca}

/* Book */
.bookBody{overflow:hidden}.bookShell{display:grid;grid-template-columns:300px minmax(0,1fr);height:calc(100dvh - var(--header-h));background:#f6f7f9}.sidebar{background:#fff;border-right:1px solid var(--line);overflow:auto;padding:18px 14px}.drawerHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:6px 8px 14px}.drawerHead h3{margin-top:5px;font-size:20px}.bookMeta{padding:14px 8px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:12px}.bookMonth{font-size:13px;font-weight:900}.progressTrack{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-top:11px}.progressTrack span{display:block;height:100%;background:var(--green);transition:width .2s}.pageNav{display:grid;gap:4px}.pageNav button{border:0;background:transparent;text-align:left;padding:10px 9px;border-radius:13px;cursor:pointer;display:flex;gap:10px;align-items:flex-start;color:#374151;transition:.14s}.pageNav button:hover{background:#f3f4f6}.pageNav button.active{background:#fff1f2;color:#9d1015;font-weight:900}.pageNav .num{width:24px;height:24px;border-radius:999px;background:#f3f4f6;display:grid;place-items:center;font-size:11px;flex:0 0 auto;font-weight:900}.pageNav button.active .num{background:#fecaca}.bookMain{overflow:auto;padding:28px 30px 70px}.paper{background:var(--paper);max-width:860px;min-height:calc(100dvh - var(--header-h) - 56px);margin:0 auto;border:1px solid var(--line);box-shadow:0 18px 48px rgba(15,23,42,.08);border-radius:22px;padding:40px 46px 90px}.pageHead{padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--line)}.pageHead .day{color:var(--red);font-weight:1000;font-size:11px;text-transform:uppercase;letter-spacing:.11em}.pageHead h1{font-size:32px;margin-top:5px;letter-spacing:-1px}.block{margin:18px 0}.sectionTitle{font-size:17px;font-weight:900;margin-top:26px;padding-bottom:8px;border-bottom:1px solid var(--line-strong)}.infoList{display:grid;gap:10px;padding-left:24px;line-height:1.45}.heroBlock{text-align:center;font-size:52px;font-weight:1000;letter-spacing:.04em;padding:62px 0 38px;color:var(--red)}.pbTable{width:100%;border-collapse:collapse;margin-top:10px}.pbTable th{font-size:11px;text-align:left;color:var(--muted);padding:8px 6px;border-bottom:2px solid var(--ink);text-transform:uppercase;letter-spacing:.03em}.pbTable td{padding:6px}.pbTable input,.pbTable textarea{border-width:0 0 1px;border-radius:0;padding:8px 4px;background:transparent}.comparison{display:grid;grid-template-columns:1fr 130px 60px 130px;gap:8px;align-items:center}.comparison .head,.dayGrid .head{font-size:11px;font-weight:900;color:var(--muted)}.dayGrid{display:grid;grid-template-columns:1fr 130px 130px;gap:8px;align-items:center}.storeTabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.storeTab{padding:8px 12px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;font-size:12px;font-weight:900;cursor:pointer}.storeTab.active{background:#111;color:#fff;border-color:#111}.pageControls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}.saveState{font-size:12px;color:var(--muted)}.completeLabel{display:flex;align-items:center;gap:8px;font-weight:900}.completeLabel input{width:auto}.auditCta{border:1px dashed var(--line-strong);border-radius:20px;padding:30px;text-align:center;background:var(--surface-2)}.formStatus{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);z-index:2;padding:12px;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.vsCell{text-align:center;color:var(--muted);font-size:12px}.instructionText{white-space:pre-line;line-height:1.55}.tableScroll{overflow-x:auto}.attachment{padding:18px;border:1px solid var(--line);border-radius:18px}.attachment iframe{width:100%;height:70vh;border:0}.attachment img{max-width:100%;display:block;margin:auto}.pageDrawerBackdrop{display:none}

/* Builder */
.builderLayout{display:grid;grid-template-columns:300px 1fr;gap:18px}.builderPages{background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;height:calc(100vh - 170px);overflow:auto}.builderPage{padding:10px;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.builderPage.active{background:#fff1f1;color:#9d1015;font-weight:900}.builderEditor{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.jsonEditor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-height:500px;font-size:12px}.builderToolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.builderActions,.blockButtons{display:flex;gap:7px;flex-wrap:wrap}.blockEditor{margin:10px 0;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.blockEditorHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.miniBtn{border:1px solid var(--line-strong);background:#fff;border-radius:9px;padding:5px 7px;font-size:11px;font-weight:900;cursor:pointer}.miniBtn.danger{color:#991b1b}

/* Dark mode */
html.dark-mode{--ink:#f9fafb;--muted:#aab2c0;--bg:#0f1115;--surface:#171a21;--surface-2:#11141a;--line:#2b303b;--line-strong:#374151;--paper:#171a21;--shadow:0 16px 40px rgba(0,0,0,.30);--shadow-soft:0 10px 28px rgba(0,0,0,.22)}html.dark-mode body{background:var(--bg);color:var(--ink)}html.dark-mode .appHeader{background:rgba(15,17,21,.94);border-color:#2b303b}html.dark-mode .navIconLink,html.dark-mode .settingsMenu,html.dark-mode .card,html.dark-mode .heroCard,html.dark-mode .sidebar,html.dark-mode .builderPages,html.dark-mode .builderEditor{background:#171a21;border-color:#2b303b;color:#f9fafb}html.dark-mode .navIconLink:hover{background:#232833}html.dark-mode .navIconLink.active{background:var(--red);border-color:var(--red)}html.dark-mode .settingsWelcome,html.dark-mode .settingsMenuLink,html.dark-mode .darkModeRow{color:#f9fafb;border-color:#2b303b}html.dark-mode .settingsMenuLink:hover{background:rgba(255,255,255,.08);color:#fff}html.dark-mode input,html.dark-mode select,html.dark-mode textarea,html.dark-mode .storeChoice,html.dark-mode .storeTab,html.dark-mode .btn:not(.primary),html.dark-mode .miniBtn{background:#11141a;border-color:#374151;color:#f9fafb}html.dark-mode .bookShell{background:#0f1115}html.dark-mode .paper{background:#171a21;border-color:#2b303b;box-shadow:0 18px 48px rgba(0,0,0,.28)}html.dark-mode .pageNav button{color:#d1d5db}html.dark-mode .pageNav button:hover{background:#232833}html.dark-mode .pageNav button.active{background:#451a1a;color:#fecaca}html.dark-mode .pageNav button.active .num{background:#7f1d1d;color:#fff}html.dark-mode .pageNav .num{background:#2b303b}html.dark-mode .formStatus{background:rgba(23,26,33,.95);border-color:#2b303b}html.dark-mode .authApp{background:#fff}html.dark-mode .authPanel{background:#fff;color:#111;border-color:#e5e7eb}html.dark-mode .authPanel h1,html.dark-mode .authPanel label,html.dark-mode .authPanel strong{color:#111}html.dark-mode .authPanel .sub{color:#555!important}html.dark-mode .authPanel .textInput,html.dark-mode .authPanel .rememberDevice{background:#fff;color:#111;border-color:#e5e7eb}html.dark-mode .authPanel .loginSwitch{background:rgba(0,0,0,.06)}html.dark-mode .authPanel .loginSwitch a{color:#374151}html.dark-mode .authPanel .loginSwitch a.active{color:#fff}.dark-mode .appFooter{color:#6b7280}

@media(max-width:820px){
  :root{--header-h:64px}.mobileOnly{display:inline-flex!important}.appHeader{padding:0 12px}.appHeader .logo{height:34px;max-width:126px}.brandText strong{font-size:16px}.brandText span{max-width:150px}.navIconLink{width:38px;height:38px;min-width:38px;min-height:38px}.navSvg{width:18px;height:18px}.shell,.adminShell{padding:16px 12px 60px}.grid{grid-template-columns:1fr}.heroCard{display:block;padding:22px}.heroCard h1{font-size:34px}.heroSide{margin-top:18px;min-width:0}.storePicker{grid-template-columns:repeat(2,minmax(0,1fr))}.recentGrid{grid-template-columns:1fr}.formRow{grid-template-columns:1fr}.builderLayout{grid-template-columns:1fr}.builderPages{height:auto}.builderToolbar{display:block}.builderActions{margin-top:12px}.bookBody{overflow:auto}.bookShell{display:block;height:auto;min-height:calc(100dvh - var(--header-h));background:var(--bg)}.sidebar{position:fixed;left:0;top:var(--header-h);bottom:0;width:min(340px,88vw);z-index:180;transform:translateX(-105%);transition:transform .22s ease;box-shadow:0 18px 60px rgba(0,0,0,.25);border-right:1px solid var(--line);padding-bottom:40px}.pageDrawerBackdrop{position:fixed;inset:var(--header-h) 0 0;z-index:170;background:rgba(0,0,0,.48);display:block;opacity:0;pointer-events:none;transition:opacity .22s}.page-drawer-open .sidebar{transform:translateX(0)}.page-drawer-open .pageDrawerBackdrop{opacity:1;pointer-events:auto}.page-drawer-open body{overflow:hidden}.drawerClose{border:1px solid var(--line);background:var(--surface);color:var(--ink);width:38px;height:38px;border-radius:999px;align-items:center;justify-content:center}.bookMain{overflow:visible;padding:12px 10px 60px}.paper{padding:25px 18px 72px;min-height:auto;border-radius:20px}.comparison{grid-template-columns:minmax(70px,1fr) 76px 28px 76px;gap:5px}.dayGrid{grid-template-columns:minmax(75px,1fr) 90px 90px}.pageHead h1{font-size:27px}.heroBlock{font-size:38px;padding:45px 0 30px}.pageControls{flex-wrap:wrap}.formStatus{bottom:10px}.attachment iframe{height:62vh}
}
@media(max-width:430px){.authApp{padding:12px}.authPanel{border-radius:27px;padding:18px}.authPanel h1{font-size:31px}.authTopRow{gap:10px}.loginSwitch a{padding:8px 10px;font-size:11px}.appHeader{gap:8px}.brandText span{display:none}.appNav{gap:6px}.settingsMenu{right:-2px;min-width:204px}.comparison{grid-template-columns:minmax(66px,1fr) 68px 24px 68px}.dayGrid{grid-template-columns:minmax(70px,1fr) 78px 78px}.paper{padding:22px 14px 64px}.pageHead h1{font-size:25px}.btn{min-height:42px;padding:9px 13px}.card{padding:18px}.heroCard{border-radius:24px}}

.contextBar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft)}.contextActions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:620px){.contextBar{align-items:flex-start}.contextActions{justify-content:flex-end}.contextBar .btn{padding:8px 12px;min-height:38px;font-size:12px}}

/* ===== Playbook 1.2.2 visual reset / AUDIT alignment ===== */
:root{
  --red:#d71920;--red-dark:#b8141a;--ink:#111;--muted:#4b5563;--bg:#fff;
  --surface:#fff;--surface-2:#f9fafb;--line:#e5e7eb;--line-strong:#d1d5db;
  --shadow:0 16px 40px rgba(0,0,0,.08);--shadow-soft:0 8px 24px rgba(0,0,0,.045);
}
html,body{background:#fff!important;color:#111!important;overflow-x:hidden}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important}

/* Login intentionally mirrors AUDIT */
.authApp{max-width:540px!important;margin:0 auto!important;min-height:100dvh!important;padding:16px 14px 80px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;background:#fff!important}
.authPanel{width:100%!important;max-width:none!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:32px!important;padding:22px!important;box-shadow:0 16px 40px rgba(0,0,0,.08)!important;position:relative!important;overflow:hidden!important}
.authTopRow{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin-bottom:22px!important}
.authPanel .logo{height:42px!important;width:auto!important;max-width:190px!important;object-fit:contain!important}
.authPanel h1{font-size:36px!important;line-height:.96!important;margin:8px 0 9px!important;letter-spacing:-1.4px!important;color:#000!important}
.authPanel .sub{color:#4b5563!important;line-height:1.45!important;margin:0 0 18px!important}
.loginSwitch{display:inline-flex!important;gap:4px!important;padding:4px!important;border-radius:999px!important;background:rgba(0,0,0,.06)!important;margin:0!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important}
.loginSwitch a{border-radius:999px!important;padding:9px 14px!important;text-decoration:none!important;color:#374151!important;font-weight:1000!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.02em!important}
.loginSwitch a.active{background:#d71920!important;color:#fff!important;box-shadow:0 10px 22px rgba(215,25,32,.18)!important}
.authForm{display:grid!important;gap:12px!important;margin-top:0!important}
.fieldLabel{display:block!important;font-size:14px!important;font-weight:1000!important;color:#111!important}
.textInput{display:block!important;width:100%!important;border:1px solid #e5e7eb!important;border-radius:18px!important;padding:14px 16px!important;background:#fff!important;box-shadow:0 8px 22px rgba(0,0,0,.045)!important;outline:none!important;margin-top:8px!important}
.textInput:focus{border-color:#d71920!important;box-shadow:0 0 0 3px rgba(215,25,32,.10),0 8px 22px rgba(0,0,0,.045)!important}
.rememberDevice{display:flex!important;align-items:center!important;gap:12px!important;border:1px solid #e5e7eb!important;background:#fff!important;border-radius:18px!important;padding:12px 14px!important;cursor:pointer!important;box-shadow:0 8px 22px rgba(0,0,0,.035)!important}
.rememberBox{width:24px!important;height:24px!important;border:2px solid #d1d5db!important;border-radius:8px!important;background:#fff!important;flex:0 0 24px!important}
.authSubmit{width:100%!important;min-height:49px!important;border-radius:18px!important;background:#d71920!important;color:#fff!important;border:0!important;font-weight:1000!important;font-size:16px!important}
.appFooter{text-align:center!important;color:#6b7280!important;font-weight:900!important;font-size:12px!important;line-height:1.45!important;margin:16px 0 0!important}

/* Header: compact AUDIT-style row, not a full-width site bar */
.appHeader{position:relative!important;top:auto!important;z-index:100!important;height:auto!important;max-width:980px!important;margin:18px auto 0!important;padding:0 18px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.brandCluster{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.brandCluster .logo{height:42px!important;width:auto!important;max-width:190px!important;display:block!important;object-fit:contain!important}
.brandText{display:flex!important;flex-direction:column!important;min-width:0!important}
.brandText strong{font-size:17px!important;line-height:1.05!important;color:#111!important;font-weight:1000!important}
.brandText span{font-size:11px!important;color:#6b7280!important;font-weight:900!important}
.appNav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin-left:auto!important}
.navIconLink{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;border:1px solid #e5e7eb!important;border-radius:999px!important;background:#fff!important;color:#111!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 8px 22px rgba(0,0,0,.045)!important;text-decoration:none!important;overflow:hidden!important}
.navIconLink:hover{background:#f3f4f6!important;transform:translateY(-1px)!important}
.navIconLink.active{background:#d71920!important;border-color:#d71920!important;color:#fff!important;box-shadow:0 10px 26px rgba(215,25,32,.18)!important}
.navSvg{width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;min-width:20px!important;min-height:20px!important;display:block!important;fill:currentColor!important;flex:0 0 20px!important}
.settingsWrap{position:relative!important}
.settingsMenu{position:absolute!important;right:0!important;top:52px!important;min-width:220px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:18px!important;padding:8px!important;box-shadow:0 18px 44px rgba(0,0,0,.16)!important;z-index:500!important}
.settingsMenu[hidden]{display:none!important}

/* Home */
.shell,.adminShell{max-width:980px!important;margin:0 auto!important;padding:18px 18px 80px!important}
.heroCard{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:30px!important;padding:24px!important;box-shadow:0 16px 40px rgba(0,0,0,.08)!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:24px!important}
.heroCard h1{font-size:36px!important;line-height:1!important;letter-spacing:-1.3px!important;color:#111!important}
.heroCard p{color:#4b5563!important}
.heroSide{background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:18px!important;padding:13px 15px!important;min-width:230px!important}
.grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin-top:14px!important}
.card{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:26px!important;padding:20px!important;box-shadow:0 10px 28px rgba(0,0,0,.055)!important;color:#111!important}
.cardIcon{width:46px!important;height:46px!important;border-radius:17px!important;margin-bottom:14px!important;display:grid!important;place-items:center!important;color:#fff!important;background:#d71920!important;font-weight:1000!important}
.supIcon{background:#111!important}
.field input,.field select,.field textarea,input,select,textarea{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;padding:13px 14px!important;color:#111!important;box-shadow:0 8px 22px rgba(0,0,0,.035)!important}
.btn{border-radius:18px!important;min-height:49px!important;padding:13px 17px!important;font-weight:1000!important}
.btn.primary{background:#d71920!important;border-color:#d71920!important;color:#fff!important;box-shadow:0 10px 26px rgba(215,25,32,.18)!important}
.storePicker{background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:18px!important;padding:8px!important}
.storeChoice{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:14px!important;padding:10px!important}

/* Keep book/admin modern and remove any warm/yellow paper tint */
.paper,.bookPaper,.bookPage,.pageCard,.editorCard,.adminCard,[class*="paper"]{background:#fff!important}
.bookShell,.bookWorkspace,.pageWorkspace,.adminShell{background:transparent!important}

/* Dark mode */
html.dark-mode,html.dark-mode body{background:#0f1115!important;color:#f9fafb!important}
html.dark-mode .authApp{background:#0f1115!important}
html.dark-mode .authPanel,html.dark-mode .card,html.dark-mode .heroCard,html.dark-mode .settingsMenu,html.dark-mode .navIconLink,html.dark-mode .bookPage,html.dark-mode .pageCard,html.dark-mode .editorCard,html.dark-mode .adminCard{background:#171a21!important;border-color:#2b303b!important;color:#f9fafb!important;box-shadow:0 16px 40px rgba(0,0,0,.28)!important}
html.dark-mode .brandText strong,html.dark-mode h1,html.dark-mode h2,html.dark-mode h3,html.dark-mode label,html.dark-mode .fieldLabel,html.dark-mode .settingsWelcome,html.dark-mode .settingsMenuLink{color:#f9fafb!important}
html.dark-mode .sub,html.dark-mode .muted,html.dark-mode .brandText span,html.dark-mode .heroSide span,html.dark-mode .tiny{color:#aab2c0!important}
html.dark-mode .heroSide,html.dark-mode .storePicker{background:#11141a!important;border-color:#2b303b!important}
html.dark-mode input,html.dark-mode select,html.dark-mode textarea,html.dark-mode .textInput,html.dark-mode .rememberDevice,html.dark-mode .storeChoice{background:#11141a!important;border-color:#374151!important;color:#f9fafb!important}
html.dark-mode .loginSwitch{background:rgba(255,255,255,.08)!important}
html.dark-mode .loginSwitch a{color:#e5e7eb!important}
html.dark-mode .navIconLink.active{background:#d71920!important;border-color:#d71920!important;color:#fff!important}
html.dark-mode .appFooter{color:#aab2c0!important}

@media(max-width:700px){
  .appHeader{margin-top:12px!important;padding:0 12px!important}
  .brandText{display:none!important}
  .brandCluster .logo{height:36px!important;max-width:150px!important}
  .appNav{gap:6px!important}
  .navIconLink{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  .shell,.adminShell{padding:14px 12px 72px!important}
  .heroCard{padding:18px!important;border-radius:26px!important;align-items:flex-start!important;flex-direction:column!important;gap:14px!important}
  .heroCard h1{font-size:31px!important}
  .heroSide{width:100%!important;min-width:0!important}
  .grid{grid-template-columns:1fr!important;gap:12px!important}
  .storePicker{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .authApp{padding:12px!important}
  .authPanel{border-radius:27px!important;padding:18px!important}
  .authTopRow{gap:10px!important}
  .loginSwitch a{padding:8px 10px!important;font-size:11px!important}
}

/* v1.2.2 patches + open-book discovery */
.compactAlert{margin:14px 0!important}
.adminSection{margin-top:18px!important}
.patchCountRow{display:flex;align-items:end;gap:18px;padding:16px 0 4px}.patchCountRow .field{width:190px;margin:0}.patchCountRow p{margin:0 0 12px}
.patchGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.patchCard{border:1px solid var(--line);border-radius:22px;padding:16px;background:var(--surface-2)}.patchCardHead{display:flex;gap:14px;align-items:end}.patchNumber{font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;color:var(--red);min-width:58px;padding-bottom:14px}.patchNameField{flex:1;margin:0}.patchStoreHeader{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px;font-size:12px}.patchStoreHeader span{color:var(--muted)}.patchStores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.patchStoreChoice{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--surface);font-size:11px;font-weight:900;cursor:pointer}.patchStoreChoice input{width:auto!important;margin:0!important;box-shadow:none!important}.adminStickySave{display:flex;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.openBooksCard{margin-top:18px!important}.bookCount{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 11px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:12px;font-weight:900;color:var(--muted)}.bookFilters{display:grid;grid-template-columns:1fr 1fr 1.25fr 1.25fr;gap:10px;margin:16px 0}.bookFilters .field{margin:0}.openBookGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.openBookTile{display:flex;flex-direction:column;gap:6px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);color:var(--ink);text-decoration:none;transition:.15s}.openBookTile:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:0 10px 24px rgba(15,23,42,.08)}.openBookTile[hidden]{display:none!important}.openBookTile strong{font-size:15px}.openBookTile span,.openBookTile small{color:var(--muted)}.openBookTop{display:flex;justify-content:space-between;align-items:center;gap:10px}.bookTypePill{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;padding:4px 8px;border-radius:999px;background:#111;color:#fff!important;font-size:10px!important;font-weight:1000;letter-spacing:.05em}.bookTypePill.gm{background:var(--red)}.emptyFilterState{padding:28px;text-align:center;border:1px dashed var(--line-strong);border-radius:18px;color:var(--muted)}
html.dark-mode .patchCard,html.dark-mode .patchStoreChoice,html.dark-mode .openBookTile,html.dark-mode .bookCount{background:#11141a!important;border-color:#2b303b!important}html.dark-mode .openBookTile strong{color:#f9fafb!important}
@media(max-width:900px){.patchGrid{grid-template-columns:1fr}.openBookGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.bookFilters{grid-template-columns:1fr 1fr}.patchStores{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.patchCountRow{align-items:stretch;flex-direction:column;gap:4px}.patchCountRow .field{width:100%}.patchCardHead{align-items:stretch;flex-direction:column;gap:2px}.patchNumber{padding-bottom:0}.patchStores{grid-template-columns:repeat(2,minmax(0,1fr))}.openBookGrid{grid-template-columns:1fr}.bookFilters{grid-template-columns:1fr}.sectionHeader{align-items:flex-start!important}.bookCount{flex:none}}
.openBookLoading{display:flex;align-items:center;gap:10px;padding:18px 2px;color:var(--muted,#667085)}
.miniSpinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pbspin .75s linear infinite;opacity:.65}
@keyframes pbspin{to{transform:rotate(360deg)}}
.btn.small{padding:7px 10px;font-size:.85rem;margin-left:8px}

/* v1.2.2 fixes */
.openBookLoading[hidden]{display:none!important}

/* Keep sidebar actions anchored at the bottom without affecting page navigation. */
.sidebar{display:flex;flex-direction:column}.sidebarInner{min-height:0;display:flex;flex:1;flex-direction:column}.pageNav{flex:1}.sidebarDanger{margin-top:18px;padding:16px 8px 8px;border-top:1px solid var(--line);text-align:center}.deleteBookBtn{width:100%;border-color:#dc2626!important;background:#dc2626!important;color:#fff!important;box-shadow:none}.deleteBookBtn:hover{background:#b91c1c!important;border-color:#b91c1c!important}.sidebarDanger .tiny{margin-top:7px}

/* Dark mode: login should be genuinely dark, including Remember this device. */
html.dark-mode .authApp{background:#0f1115!important;color:#f9fafb!important}
html.dark-mode .authPanel{background:#171a21!important;color:#f9fafb!important;border-color:#2b303b!important;box-shadow:0 18px 54px rgba(0,0,0,.38)!important}
html.dark-mode .authPanel h1,html.dark-mode .authPanel label,html.dark-mode .authPanel strong,html.dark-mode .authPanel .fieldLabel{color:#f9fafb!important}
html.dark-mode .authPanel .sub{color:#aab2c0!important}
html.dark-mode .authPanel .textInput{background:#11141a!important;color:#f9fafb!important;border-color:#374151!important;box-shadow:none!important}
html.dark-mode .authPanel .rememberDevice{background:#11141a!important;color:#f9fafb!important;border-color:#374151!important;box-shadow:none!important}
html.dark-mode .authPanel .rememberDevice strong{color:#f9fafb!important}
html.dark-mode .authPanel .rememberBox{background:#171a21!important;border-color:#6b7280!important}
html.dark-mode .authPanel .rememberDevice input:checked + .rememberBox{background:var(--red)!important;border-color:var(--red)!important}
html.dark-mode .authPanel .loginSwitch{background:#11141a!important}
html.dark-mode .authPanel .loginSwitch a{color:#d1d5db!important}
html.dark-mode .authPanel .loginSwitch a.active{color:#fff!important}
html.dark-mode .accessHelpButton{background:#11141a!important;color:#f9fafb!important;border-color:#374151!important}
html.dark-mode .appFooter{color:#9ca3af!important}

/* Dark mode: every generated book surface inherits readable foreground colors. */
html.dark-mode .paper{background:#171a21!important;color:#f9fafb!important;border-color:#2b303b!important}
html.dark-mode .paper h1,html.dark-mode .paper h2,html.dark-mode .paper h3,html.dark-mode .paper h4,
html.dark-mode .paper p,html.dark-mode .paper label,html.dark-mode .paper li,
html.dark-mode .paper .instructionText,html.dark-mode .paper .sectionTitle,
html.dark-mode .paper .comparison>div:not(.vsCell),html.dark-mode .paper .dayGrid>div,
html.dark-mode .paper .completeLabel,html.dark-mode .paper .auditCta{color:#f9fafb!important}
html.dark-mode .paper .muted,html.dark-mode .paper .tiny,html.dark-mode .paper .saveState,
html.dark-mode .paper .comparison .head,html.dark-mode .paper .dayGrid .head,
html.dark-mode .paper .pbTable th,html.dark-mode .paper .vsCell{color:#aab2c0!important}
html.dark-mode .paper .pageHead .day,html.dark-mode .paper .heroBlock{color:#ff4b51!important}
html.dark-mode .paper input,html.dark-mode .paper select,html.dark-mode .paper textarea{background:#11141a!important;color:#f9fafb!important;border-color:#4b5563!important}
html.dark-mode .paper input::placeholder,html.dark-mode .paper textarea::placeholder{color:#7f8998!important}
html.dark-mode .paper .pbTable th{border-bottom-color:#d1d5db!important}
html.dark-mode .paper .pbTable input,html.dark-mode .paper .pbTable textarea{background:transparent!important;border-bottom-color:#4b5563!important}
html.dark-mode .paper .storeTab{background:#11141a!important;color:#f9fafb!important;border-color:#4b5563!important}
html.dark-mode .paper .storeTab.active{background:#f9fafb!important;color:#111827!important;border-color:#f9fafb!important}
html.dark-mode .paper .auditCta,html.dark-mode .paper .attachment{background:#11141a!important;border-color:#374151!important}
html.dark-mode .progressTrack{background:#2b303b!important}

/* v1.3.0 modal confirmation */
.modalBackdrop{position:fixed;inset:0;z-index:1200;background:rgba(15,17,21,.62);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px}
.modalBackdrop[hidden]{display:none!important}
.confirmDialog{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.confirmDialog h2{margin:5px 0 9px;font-size:24px;line-height:1.12}.confirmDialog p{margin:0}
.dialogActions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dialogActions .btn{width:auto!important;min-width:120px}
body.modalOpen{overflow:hidden}
html.dark-mode .confirmDialog{background:#171a21!important;border-color:#2b303b!important;color:#f9fafb!important}
html.dark-mode .confirmDialog h2{color:#f9fafb!important}
@media(max-width:560px){.dialogActions{flex-direction:column-reverse}.dialogActions .btn{width:100%!important}}

/* v1.3.1: navbar semantics + in-book mobile page drawer control */
.mobileBookPagesButton{display:none}
@media (max-width: 780px){
  .mobileBookPagesButton.mobileOnly{display:inline-flex!important;align-items:center;gap:8px;margin:0 0 10px 2px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.05);cursor:pointer}
  .mobileBookPagesButton .navSvg{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;flex-basis:16px!important}
  html.dark-mode .mobileBookPagesButton{background:#171a21;border-color:#2b303b;color:#f9fafb}
}

/* v1.3.2 — confidence save action + edition controls */
.sidebarActions{margin-top:18px;padding:16px 8px 8px;border-top:1px solid var(--line);text-align:center;display:flex;flex-direction:column;gap:8px}
.sidebarActions .tiny{margin-top:-2px;margin-bottom:4px}
.saveBookBtn{width:100%;position:relative;overflow:hidden;transition:transform .18s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease!important}
.saveBookBtn .saveBookIcon{display:inline-grid;place-items:center;width:0;opacity:0;transform:scale(.45) rotate(-20deg);transition:width .18s ease,opacity .18s ease,transform .24s cubic-bezier(.2,.8,.2,1)}
.saveBookBtn.is-saving{pointer-events:none;animation:pbSavePulse .75s ease-in-out infinite alternate}
.saveBookBtn.is-saved{background:#16a34a!important;border-color:#16a34a!important;box-shadow:0 10px 28px rgba(22,163,74,.22)!important;transform:translateY(-1px)}
.saveBookBtn.is-saved .saveBookIcon{width:18px;opacity:1;transform:scale(1) rotate(0)}
.saveBookBtn.is-error{background:#b91c1c!important;border-color:#b91c1c!important}
@keyframes pbSavePulse{from{transform:scale(1);box-shadow:0 8px 20px rgba(215,25,32,.12)}to{transform:scale(.985);box-shadow:0 12px 28px rgba(215,25,32,.26)}}
.editionDeleteBtn{min-height:40px!important;padding:9px 13px!important}
html.dark-mode .sidebarActions{border-color:#2b303b}

/* v1.4.0 book actions + active-book guard */
.sidebarActions{gap:10px!important;padding-top:14px!important}
.sidebarActions .tiny,.saveBookHint{display:none!important}
.saveBookBtn{width:100%;background:#16a34a!important;border-color:#16a34a!important;color:#fff!important;box-shadow:0 8px 20px rgba(22,163,74,.16)!important}
.saveBookBtn:hover{background:#15803d!important;border-color:#15803d!important}
.saveBookBtn.is-saving{background:#16a34a!important;border-color:#16a34a!important}
.saveBookBtn.is-saved{background:#22c55e!important;border-color:#22c55e!important;box-shadow:0 10px 28px rgba(34,197,94,.28)!important}
.resumeBookBtn{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}
.resumeBookBtn:hover{background:#15803d!important;border-color:#15803d!important}
.adminOverrideBtn{border-color:#dc2626!important;color:#dc2626!important;background:transparent!important}
.adminOverrideBtn:hover{background:rgba(220,38,38,.08)!important}
.activeBookDialog .dialogActions{flex-wrap:wrap}
html.dark-mode .adminOverrideBtn{color:#f87171!important;border-color:#ef4444!important}


/* v1.5.1: book actions, notes, and expandable working tables */
.sidebarActions{display:grid;gap:8px;padding:12px 4px 4px}.sidebarActions .btn{width:100%;margin:0}.saveBookBtn{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}.saveBookBtn:hover{background:#15803d!important}.abandonBookBtn{background:#facc15!important;border-color:#eab308!important;color:#422006!important}.abandonBookBtn:hover{background:#eab308!important}.deleteBookBtn{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}.deleteBookBtn:hover{background:#b91c1c!important}
.dynamicTableBlock{overflow:visible}.addTableRowBtn{margin-top:9px;border:1px dashed var(--line-strong);background:transparent;color:var(--muted);border-radius:12px;padding:8px 12px;font-size:12px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.addTableRowBtn span{width:20px;height:20px;border-radius:999px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:16px;line-height:1}.addTableRowBtn:hover{color:var(--ink);background:var(--surface-2)}
.notesPageNav .num{font-size:14px}.notesPageNav.active .num{background:#fecaca}.builderAddButtons{display:grid;gap:8px;margin-top:10px}.notesAddBtn{border-style:dashed}.paper textarea[data-field="notes"]{min-height:300px;line-height:1.55}
html.dark-mode .abandonBookBtn{background:#ca8a04!important;border-color:#ca8a04!important;color:#fff!important}html.dark-mode .addTableRowBtn{color:#cbd5e1;border-color:#4b5563}html.dark-mode .addTableRowBtn:hover{background:#20242d;color:#fff}

/* v1.6.0 — per-page notes, removable extra rows, mobile sidebar action anchoring */
.pageNavRow{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:4px;align-items:center;border-radius:13px}.pageNavRow:not(:has(.pageNotesBtn)){grid-template-columns:1fr}.pageNavMain{width:100%}.pageNav .pageNotesBtn{width:32px;height:32px;min-width:32px;min-height:32px;padding:0!important;border:0;border-radius:10px;background:transparent;color:var(--muted);display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:0!important;font-size:17px;font-weight:900;cursor:pointer}.pageNav .pageNotesBtn:hover{background:#f3f4f6;color:var(--red)}.pageNav .pageNavRow.active .pageNotesBtn{color:var(--red)}
.rowActionHead,.rowActionCell{width:38px;min-width:38px;text-align:center!important;padding-left:2px!important;padding-right:2px!important}.removeTableRowBtn{width:28px;height:28px;border:1px solid #fca5a5;border-radius:9px;background:#fff1f2;color:#b91c1c;font-size:20px;line-height:1;display:inline-grid;place-items:center;cursor:pointer}.removeTableRowBtn:hover{background:#fee2e2;border-color:#ef4444}.pbTable .rowActionCell{vertical-align:middle}
.pageNotesDialog{width:min(720px,100%);max-height:min(86vh,860px);overflow:auto}.notesDialogHead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.notesDialogHead h2{margin:5px 0 0}.notesCloseBtn{display:grid!important}.notesLargeField textarea{min-height:260px;resize:vertical}.notesActionList{display:grid;gap:8px;margin-top:10px}.notesActionRow{display:grid;grid-template-columns:18px minmax(0,1fr) 34px;gap:8px;align-items:start}.notesActionRow textarea{min-height:48px;resize:vertical}.notesBullet{font-size:24px;line-height:1.7;color:var(--muted);text-align:center}.notesDialogFooter{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
html.dark-mode .pageNotesBtn:hover{background:#232833;color:#ff6b70}html.dark-mode .removeTableRowBtn{background:#2b1114;border-color:#7f1d1d;color:#fca5a5}html.dark-mode .removeTableRowBtn:hover{background:#451a1a}html.dark-mode .notesDialogFooter{border-color:#2b303b}

/* Keep book actions truly anchored to the bottom of the drawer on every viewport. */
.sidebar{overflow:hidden!important}.sidebarInner{overflow-y:auto;min-height:0}.sidebarActions{margin-top:auto!important;flex:0 0 auto;background:var(--surface);position:relative;z-index:3}
@media(max-width:820px){.sidebar{display:flex!important;flex-direction:column!important;height:calc(100dvh - var(--header-h));padding-bottom:max(12px,env(safe-area-inset-bottom))!important}.sidebarInner{flex:1 1 auto!important;overflow-y:auto!important}.sidebarActions{flex:0 0 auto!important;margin-top:0!important;padding:10px 4px 4px!important;border-top:1px solid var(--line);box-shadow:0 -8px 20px rgba(15,23,42,.06)}html.dark-mode .sidebarActions{background:#171a21;box-shadow:0 -8px 20px rgba(0,0,0,.18)}}
@media(max-width:560px){.pageNotesDialog{max-height:92vh;padding:18px}.notesLargeField textarea{min-height:220px}.notesDialogFooter{position:sticky;bottom:-18px;background:var(--surface);padding-bottom:6px}.notesActionRow{grid-template-columns:16px minmax(0,1fr) 32px}}


/* v1.8.0 — live editions, locked history, polished store/patch selectors */
.pickerCard{display:flex!important;flex-direction:column!important;align-items:stretch!important}.pickerCard .selectorLaunch{margin-top:auto!important}
.selectorModal{z-index:1400}.pickerDialog{width:min(720px,100%);max-height:min(88vh,820px);overflow:auto}.pickerDialogHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.pickerDialogHead h2{margin:5px 0 4px}.selectionPills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.selectionPill{display:flex;align-items:center;gap:12px;min-height:68px;padding:13px 15px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);color:var(--ink);text-decoration:none;transition:.15s ease}.selectionPill:hover{transform:translateY(-1px);border-color:#f87171;box-shadow:0 9px 22px rgba(15,23,42,.08)}.selectionPill strong{display:block;font-size:14px}.selectionPill small{display:block;color:var(--muted);margin-top:2px}.pillStoreIcon{width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--red);font-size:12px;font-weight:1000}.patchPills .pillStoreIcon{background:var(--red);color:#fff;border-color:var(--red)}
.lockedBookBanner{position:relative;z-index:15;margin:12px auto 0;width:min(1180px,calc(100% - 24px));padding:12px 16px;border:1px solid #f59e0b;border-radius:14px;background:#fffbeb;color:#78350f;font-size:13px}.lockedBookBanner strong{margin-right:4px}.lockedSidebarState{display:grid;place-items:center;min-height:42px;border:1px solid #f59e0b;border-radius:12px;background:#fffbeb;color:#92400e;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.05em}.bookLocked .paper input:disabled,.bookLocked .paper textarea:disabled,.bookLocked .paper select:disabled{opacity:.8;cursor:not-allowed}.bookLocked .addTableRowBtn:disabled,.bookLocked .removeTableRowBtn:disabled{display:none!important}
html.dark-mode .selectionPill,html.dark-mode .pillStoreIcon{background:#20242d;border-color:#343a46;color:#f9fafb}html.dark-mode .patchPills .pillStoreIcon{background:var(--red);border-color:var(--red)}html.dark-mode .lockedBookBanner,html.dark-mode .lockedSidebarState{background:#422006;border-color:#a16207;color:#fde68a}
@media(max-width:600px){.selectionPills{grid-template-columns:1fr}.pickerDialog{padding:18px;max-height:92vh}.selectionPill{min-height:62px}}

/* v1.8.0 — edition week repeats + grouped week navigation */
.editionWeeksField{max-width:150px}.editionWeeksField input{max-width:92px}.weekNavGroup{margin:8px 0;border:1px solid var(--border,#e5e7eb);border-radius:12px;overflow:hidden;background:var(--card,#fff)}.weekNavGroup>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;font-weight:800;font-size:.88rem}.weekNavGroup>summary::-webkit-details-marker{display:none}.weekNavGroup>summary:after{content:'›';font-size:1.15rem;transform:rotate(90deg);transition:transform .18s ease;opacity:.6}.weekNavGroup[open]>summary:after{transform:rotate(-90deg)}.weekNavProgress{margin-left:auto;font-size:.72rem;font-weight:800;opacity:.65}.weekNavPages{padding:0 6px 6px}.weekNavGroup .pageNavRow{margin:3px 0}.weekNavGroup .pageNavMain{padding-left:8px}.theme-dark .weekNavGroup,[data-theme="dark"] .weekNavGroup{background:var(--surface,#15171b);border-color:rgba(255,255,255,.1)}

/* v1.8.3 — dark-mode week navigation */
html.dark-mode .weekNavGroup{
  background:#171a21!important;
  border-color:#2b303b!important;
  color:#f9fafb!important;
}
html.dark-mode .weekNavGroup>summary{
  background:#171a21!important;
  color:#f9fafb!important;
}
html.dark-mode .weekNavGroup[open]>summary{
  background:#1d2129!important;
  border-bottom:1px solid #2b303b;
}
html.dark-mode .weekNavGroup>summary:hover{background:#232833!important}
html.dark-mode .weekNavProgress{color:#aab2c0!important;opacity:1}
html.dark-mode .weekNavGroup>summary:after{color:#d1d5db!important;opacity:.85}
html.dark-mode .weekNavPages{background:#14171d!important}
html.dark-mode .weekNavGroup .pageNavMain{color:#d1d5db!important}
html.dark-mode .weekNavGroup .pageNavRow:hover .pageNavMain{background:#232833!important;color:#fff!important}
html.dark-mode .weekNavGroup .pageNavRow.active .pageNavMain{background:#451a1a!important;color:#fecaca!important}

/* v1.8.3 — dark-mode interaction polish */
html.dark-mode .recentBook:hover,
html.dark-mode .recentBook:focus-visible{
  background:#20242d!important;
  border-color:#4b5563!important;
  color:#f9fafb!important;
  box-shadow:0 9px 22px rgba(0,0,0,.22)!important;
}
html.dark-mode .recentBook:hover strong,
html.dark-mode .recentBook:focus-visible strong{color:#f9fafb!important}
html.dark-mode .recentBook:hover span,
html.dark-mode .recentBook:hover small,
html.dark-mode .recentBook:focus-visible span,
html.dark-mode .recentBook:focus-visible small{color:#cbd5e1!important}

/* Store / patch selector close control */
.pickerDialogHead .drawerClose{
  display:inline-flex;
  flex:0 0 38px;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f3f4f6;
  color:#111827;
  align-items:center;
  justify-content:center;
  font-size:24px;
  line-height:1;
  font-weight:600;
  cursor:pointer;
  transition:.15s ease;
}
.pickerDialogHead .drawerClose:hover,
.pickerDialogHead .drawerClose:focus-visible{
  background:#e5e7eb;
  color:#111827;
  outline:none;
}
html.dark-mode .pickerDialogHead .drawerClose{
  background:#20242d!important;
  border-color:#4b5563!important;
  color:#f9fafb!important;
}
html.dark-mode .pickerDialogHead .drawerClose:hover,
html.dark-mode .pickerDialogHead .drawerClose:focus-visible{
  background:#2b303b!important;
  border-color:#6b7280!important;
  color:#fff!important;
}

/* v1.8.7 checkmark fields */
.checklistBlock{display:grid;gap:9px}.checklistItem{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);font-weight:750;cursor:pointer;transition:.14s}.checklistItem:hover{border-color:var(--line-strong);transform:translateY(-1px)}.checklistItem input{position:absolute;opacity:0;pointer-events:none}.checkmarkBox{width:22px;height:22px;flex:0 0 22px;border:2px solid var(--line-strong);border-radius:7px;background:var(--surface);display:grid;place-items:center;transition:.14s}.checklistItem input:checked+.checkmarkBox{background:var(--green);border-color:var(--green)}.checklistItem input:checked+.checkmarkBox:after{content:"✓";color:#fff;font-size:14px;font-weight:1000;line-height:1}.checklistItem input:checked~span:last-child{text-decoration:line-through;color:var(--muted)}html.dark-mode .checklistItem{background:#11141a;border-color:#374151;color:#f9fafb}html.dark-mode .checkmarkBox{background:#171a21;border-color:#4b5563}

/* v1.9.0 OROA upload progress + page manager */
.uploadProgress{margin-top:16px;padding:14px;border:1px solid var(--border,#d9dee7);border-radius:14px;background:var(--panel-soft,#f7f8fa)}
.uploadProgressHead{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.uploadProgressTrack{height:10px;border-radius:99px;background:#e6e9ef;overflow:hidden}.uploadProgressTrack span{display:block;height:100%;width:0;background:#16a34a;border-radius:inherit;transition:width .15s ease}
.oroaFiles{display:grid;gap:16px}.oroaFileCard{border:1px solid var(--border,#d9dee7);border-radius:18px;padding:16px;background:var(--card,#fff)}.oroaFileHead,.oroaFileFooter{display:flex;align-items:center;justify-content:space-between;gap:12px}.oroaFileFooter{margin-top:14px;padding-top:14px;border-top:1px solid var(--border,#e3e6eb)}.oroaManagerGrid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(360px,1.28fr);gap:16px;margin-top:14px}.oroaPageSelection{display:flex;flex-direction:column;gap:12px}.oroaPagePills{display:grid;gap:8px;max-height:520px;overflow:auto;padding-right:3px}.oroaPagePill{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #cfd6df;border-radius:12px;padding:8px 9px;background:#fff;transition:.15s ease}.oroaPagePill label{display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:700}.oroaPagePill input{position:absolute;opacity:0;pointer-events:none}.oroaKeepBox{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#16a34a;color:#fff;font-size:13px}.oroaPagePill.removed{opacity:.62;background:#f3f4f6}.oroaPagePill.removed .oroaKeepBox{background:transparent;border:2px solid #aab2bf;color:transparent}.oroaPreviewBtn{border:0;background:#eef1f5;border-radius:8px;padding:7px 10px;font-weight:800;cursor:pointer}.oroaPreviewPane{min-height:460px;border:1px solid #d7dce5;border-radius:14px;overflow:hidden;background:#eef1f5;position:relative}.oroaPreviewPane iframe{width:100%;height:620px;border:0;background:#fff}.oroaPreviewPane img{display:block;max-width:100%;max-height:700px;margin:auto;object-fit:contain}.oroaPreviewEmpty{display:grid;place-items:center;min-height:460px;color:#667085}.oroaPreviewEmpty[hidden]{display:none!important}
html.dark-mode .uploadProgress,html.dark-mode .oroaFileCard{background:#11151b;border-color:#303844;color:#f4f6f8}html.dark-mode .uploadProgressTrack{background:#2a313c}html.dark-mode .oroaFileFooter{border-color:#303844}html.dark-mode .oroaPagePill{background:#171c23;border-color:#343d49;color:#f4f6f8}html.dark-mode .oroaPagePill.removed{background:#10141a;color:#aeb7c3}html.dark-mode .oroaPreviewBtn{background:#2a313c;color:#f4f6f8}html.dark-mode .oroaPreviewPane{background:#0c1015;border-color:#343d49}html.dark-mode .oroaPreviewEmpty{color:#9aa5b3}
@media(max-width:850px){.oroaManagerGrid{grid-template-columns:1fr}.oroaPreviewPane{min-height:340px}.oroaPreviewPane iframe{height:520px}.oroaFileHead,.oroaFileFooter{align-items:flex-start;flex-wrap:wrap}}
/* v1.9.3: OROA page selector must never move the document when selecting deep pages. */
.oroaPagePill label{position:relative}
.oroaPagePill input[type="checkbox"]{position:absolute!important;left:0!important;top:50%!important;width:1px!important;height:1px!important;margin:0!important;opacity:0!important;transform:translateY(-50%);clip-path:inset(50%);overflow:hidden;white-space:nowrap}

/* v1.9.3: render only the selected OROA PDF page inside a Playbook. */
.pdfSinglePage{display:grid;gap:10px}
.pdfSinglePageStage{width:100%;min-height:360px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#eef1f5;padding:0}
.pdfSinglePageStage canvas{display:block;max-width:100%;height:auto!important;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.pdfSinglePageLoading{min-height:360px;width:100%;display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted);font-weight:700}
.pdfSinglePageLoading[hidden]{display:none!important}
.pdfSinglePageLink{margin:0;text-align:right}
html.dark-mode .pdfSinglePageStage{background:#0c1015;border-color:#343d49}
@media(max-width:700px){.pdfSinglePageStage,.pdfSinglePageLoading{min-height:260px}}

/* v1.9.3: selected PDF page renderer loading/canvas fixes. */
.pdfSinglePageStage{position:relative;display:flex;align-items:flex-start;justify-content:center;min-height:0}
.pdfSinglePageStage canvas[hidden]{display:none!important}
.pdfSinglePageStage canvas{width:100%!important;max-width:100%;height:auto!important}
.pdfSinglePageLoading{position:absolute;inset:0;z-index:2;min-height:360px;background:inherit}
.pdfSinglePageStage.pdfReady .pdfSinglePageLoading{display:none!important}
@media(max-width:700px){.pdfSinglePageLoading{min-height:260px}}

/* v1.9.5 selected PDF page viewer: native browser PDF viewer, no external PDF.js. */
.pdfSinglePageStage{position:relative;width:100%;height:min(78vh,980px);min-height:620px;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:14px;background:#eef1f5}
.pdfSinglePageFrame{display:block;width:100%;height:100%;border:0;background:#fff;pointer-events:none}
html.dark-mode .pdfSinglePageStage{background:#0c1015;border-color:#343d49}
@media(max-width:700px){.pdfSinglePageStage{height:72vh;min-height:430px}}
/* v1.9.5 — clip the browser's native PDF viewer to one selected physical page. */
.pdfSinglePageStage{position:relative;overflow:hidden!important;min-height:0!important;max-height:none!important}
.pdfSinglePageFrame{position:absolute;inset:0;width:100%!important;height:1400px!important;min-height:1400px!important;border:0;display:block;background:#fff;pointer-events:none}
@media(max-width:700px){.pdfSinglePageFrame{height:1200px!important;min-height:1200px!important}}

/* v1.9.6 OROA missing-file state */
.attachmentMissing{padding:28px;border:1px dashed var(--border);border-radius:18px;text-align:center;background:var(--surface-soft)}
.attachmentMissing strong{display:block;margin-bottom:6px}

/* v1.9.8 — selected OROA pages use a one-page native PDF viewport.
   Do not oversize the iframe: an oversized viewport is what allowed page N+1
   to become visible below the selected page. */
.pdfSinglePageStage{position:relative;overflow:hidden!important;min-height:0!important;max-height:none!important}
.pdfSinglePageFrame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;border:0!important;display:block;background:#fff;pointer-events:none}
@media(max-width:700px){.pdfSinglePageFrame{height:100%!important;min-height:0!important}.pdfSinglePageStage{min-height:0!important}}


/* v1.9.8 — exact OROA page rendering. Native browser PDF viewers are not
   consistent about page fragments/continuous layout (especially Edge desktop
   vs mobile), so selected pages are rendered to a canvas with PDF.js. */
.pdfSinglePageStage{position:relative!important;width:100%!important;height:auto;min-height:360px!important;max-height:none!important;overflow:hidden!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;padding:0!important;background:#eef1f5;border:1px solid var(--line);border-radius:14px}
.pdfSinglePageFrame{display:none!important}
.pdfSinglePageStage canvas{display:block;max-width:100%;height:auto;background:#fff;box-shadow:none}
.pdfSinglePageStage canvas[hidden]{display:none!important}
.pdfSinglePageLoading,.pdfSinglePageError{width:100%;min-height:360px;display:grid;place-items:center;text-align:center;padding:28px;color:var(--muted);font-weight:800}
.pdfSinglePageLoading[hidden],.pdfSinglePageError[hidden]{display:none!important}
.pdfSinglePageError{gap:6px;align-content:center}.pdfSinglePageError span{font-size:12px;font-weight:600}
html.dark-mode .pdfSinglePageStage{background:#0c1015;border-color:#343d49}
@media(max-width:700px){.pdfSinglePageStage,.pdfSinglePageLoading,.pdfSinglePageError{min-height:260px!important}}
/* v1.10.0 Find-a-Book read-only/start flow */
.startBookForm{margin:0}.startBookBtn{width:100%;background:#16a34a!important;border-color:#16a34a!important;color:#fff!important;font-weight:800;letter-spacing:.02em}.startBookBtn:hover{background:#15803d!important;border-color:#15803d!important}.previewBookBanner{background:rgba(59,130,246,.10);border-color:rgba(59,130,246,.28)}html.dark-mode .previewBookBanner{background:rgba(59,130,246,.13);border-color:rgba(96,165,250,.25)}

/* v1.10.1 — Day Hours uses a single Hours field per day */
.dayHoursGrid{grid-template-columns:minmax(0,1fr) 130px}
@media(max-width:760px){.dayHoursGrid{grid-template-columns:minmax(75px,1fr) 90px}}
@media(max-width:430px){.dayHoursGrid{grid-template-columns:minmax(70px,1fr) 78px}}


/* v1.10.2 AUDIT-style chrome + login fixes */
.appHeader{max-width:980px!important;margin:18px auto 0!important;padding:0 18px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;position:relative!important;height:auto!important}
.brandCluster{gap:10px!important}.brandCluster .logo{height:54px!important;max-width:105px!important}.brandText{display:none!important}
.auditToolLink{margin-left:0}.authToolLinks{display:flex;align-items:center;gap:10px}.authAuditLink{flex:0 0 auto}.authLogo .logo{height:48px!important;max-width:110px!important}
.globalAppFooter{text-align:center;color:var(--muted);font-weight:900;font-size:12px;line-height:1.45;padding:18px 12px 28px}.globalAppFooter span{font-size:11px}
.accessHelpButton{cursor:pointer;font-family:inherit;padding:0}.loginHelpModal[hidden]{display:none!important}.loginHelpModal{z-index:1000}.loginHelpDialog{width:min(420px,calc(100% - 28px))}
.rememberDevice{position:relative}.rememberDevice input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:auto!important}.rememberDevice,.rememberDevice *{cursor:pointer}.rememberText strong{color:#111!important}
html.dark-mode .authApp{background:var(--bg)!important}html.dark-mode .authPanel{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}html.dark-mode .authPanel h1,html.dark-mode .authPanel label,html.dark-mode .authPanel strong,html.dark-mode .rememberText strong{color:#f9fafb!important}html.dark-mode .authPanel .sub{color:#aab2c0!important}html.dark-mode .authPanel .textInput,html.dark-mode .authPanel .rememberDevice{background:#11141a!important;color:#f9fafb!important;border-color:#374151!important}html.dark-mode .rememberBox{background:#11141a!important;border-color:#4b5563!important}html.dark-mode .rememberDevice input:checked + .rememberBox{background:var(--red)!important;border-color:var(--red)!important}
@media(max-width:560px){.appHeader{padding:0 12px!important;margin-top:12px!important}.brandCluster .logo{height:46px!important;max-width:92px!important}.authTopRow{align-items:flex-start!important}.authToolLinks{gap:7px}.authLogo .logo{height:42px!important;max-width:92px!important}.authAuditLink{width:38px!important;height:38px!important;min-width:38px!important}.globalAppFooter{padding-bottom:22px}}
/* v1.11.0 — Print current page + on-demand Find a Book */
.pageHead{position:relative;padding-right:54px}
.pagePrintBtn{position:absolute;right:0;top:0;width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:.15s;box-shadow:0 4px 12px rgba(15,23,42,.05)}
.pagePrintBtn svg{width:19px;height:19px;fill:currentColor}.pagePrintBtn:hover{transform:translateY(-1px);background:var(--surface-2);border-color:var(--line-strong)}
html.dark-mode .pagePrintBtn{background:#151922;border-color:#343a46;color:#f9fafb}html.dark-mode .pagePrintBtn:hover{background:#202631}
.bookFiltersManual{grid-template-columns:1fr 1fr 1.25fr 1.25fr auto;align-items:end}.findBookGoWrap{display:flex;align-items:flex-end}.findBookGo{min-width:82px;height:46px}.openBookPager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.openBookPager span{font-size:12px;font-weight:900;color:var(--muted)}
@media(max-width:900px){.bookFiltersManual{grid-template-columns:1fr 1fr}.findBookGoWrap{grid-column:span 2}.findBookGo{width:100%}}
@media(max-width:600px){.bookFiltersManual{grid-template-columns:1fr}.findBookGoWrap{grid-column:auto}.pageHead{padding-right:48px}.pagePrintBtn{width:40px;height:40px}}

/* v1.11.1 — desktop book nav spacing + tighter footer rhythm */
@media (min-width:821px){
  .bookBody .appHeader{
    width:100%!important;
    max-width:none!important;
    margin:14px 0 0!important;
    padding:0 28px!important;
    gap:24px!important;
  }
  .bookBody .brandCluster{gap:12px!important;flex:0 0 auto!important}
  .bookBody .appNav{gap:10px!important;flex:0 0 auto!important;margin-left:auto!important}
  .bookBody .navIconLink{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important}
}
.shell,.adminShell{padding-bottom:30px!important}
.globalAppFooter{padding:2px 12px 18px!important;margin-top:0!important}

/* v1.11.4 — whole-book PDF export */
.bookDownloadNav:disabled{opacity:.55;cursor:wait!important;transform:none!important}

/* v1.11.5 — whole-book export moved into the side navigation. */
.downloadBookSidebarBtn{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:100%;background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important;font-weight:800}
.downloadBookSidebarBtn .navSvg{width:18px!important;height:18px!important;fill:currentColor}.downloadBookSidebarBtn:hover{background:var(--surface-2)!important;border-color:var(--line-strong)!important}.downloadBookSidebarBtn:disabled{opacity:.55;cursor:wait!important;transform:none!important}
html.dark-mode .downloadBookSidebarBtn{background:#151922!important;color:#f9fafb!important;border-color:#343a46!important}html.dark-mode .downloadBookSidebarBtn:hover{background:#202631!important}


/* v1.11.6 — compact edition download control + safer whole-book printing. */
.bookMonthRow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bookDownloadCircle{position:static!important;flex:0 0 auto;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important}
.bookDownloadCircle .navSvg{width:18px!important;height:18px!important;fill:currentColor}.bookDownloadCircle:disabled{opacity:.55;cursor:wait!important;transform:none!important}
.bookExportPrep{position:fixed;inset:0;z-index:100000;background:rgba(15,18,24,.68);display:flex;align-items:center;justify-content:center;padding:20px}.bookExportPrep[hidden]{display:none!important}.bookExportPrepCard{width:min(440px,calc(100vw - 40px));padding:28px;border-radius:18px;background:var(--surface);color:var(--ink);text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.28)}.bookExportPrepCard h2{margin:0 0 8px}.bookExportSpinner{width:34px;height:34px;border:4px solid var(--line);border-top-color:var(--red);border-radius:50%;margin:20px auto;animation:bookExportSpin .8s linear infinite}@keyframes bookExportSpin{to{transform:rotate(360deg)}}
.wholeBookPrintRoot{display:none}
@media print{
  html.wholeBookPrinting body>*:not(.wholeBookPrintRoot){display:none!important}
  html.wholeBookPrinting .wholeBookPrintRoot{display:block!important;background:#fff!important;color:#111!important}
  html.wholeBookPrinting .bookPrintPage{zoom:.60;page-break-after:always;break-after:page;break-inside:avoid-page;page-break-inside:avoid;padding:8px 12px 14px;background:#fff!important;color:#111!important;box-sizing:border-box;overflow:visible}
  html.wholeBookPrinting .bookPrintPage:last-child{page-break-after:auto}
  html.wholeBookPrinting .bookPrintPage h1{font-size:26px;margin:4px 0 10px}
  html.wholeBookPrinting .bookPrintKicker,html.wholeBookPrinting .bookPrintScope{font-size:11px;font-weight:800;color:#666;text-transform:uppercase;letter-spacing:.04em}
  html.wholeBookPrinting .bookPrintScope{margin-top:6px;color:#111}
  html.wholeBookPrinting .bookPrintAttachment{display:flex;justify-content:center;align-items:flex-start;break-inside:avoid-page;page-break-inside:avoid;overflow:hidden}
  html.wholeBookPrinting .bookPrintAttachment img{display:block;max-width:100%;max-height:13.5in;width:auto;height:auto;object-fit:contain;break-inside:avoid-page;page-break-inside:avoid}
  /* Image-based OROA pages were too small at the global 60% form scale. Compensate only those images. */
  html.wholeBookPrinting .bookPrintImageAttachment{width:166.666%;max-width:166.666%;margin-left:-33.333%;}
  html.wholeBookPrinting .bookPrintImageAttachment img{width:100%;max-width:100%;max-height:10in;object-fit:contain}
  html.wholeBookPrinting .bookPrintPage input,html.wholeBookPrinting .bookPrintPage textarea,html.wholeBookPrinting .bookPrintPage select{color:#111!important;background:#fff!important;border-color:#aaa!important}
  html.wholeBookPrinting .addTableRowBtn,html.wholeBookPrinting .removeTableRowBtn,html.wholeBookPrinting .rowActionCell,html.wholeBookPrinting .rowActionHead{display:none!important}
  html.wholeBookPrinting .bookPrintNotes{margin-top:14px;padding:12px;border:1px solid #ddd;border-radius:10px;break-inside:avoid-page;page-break-inside:avoid}
  html.wholeBookPrinting .bookPrintCompletion{margin-top:14px;font-size:12px;font-weight:800;color:#555}
  html.wholeBookPrinting .dynamicTableBlock,html.wholeBookPrinting .tableScroll{overflow:visible}
  html.wholeBookPrinting table{page-break-inside:auto}html.wholeBookPrinting tr{page-break-inside:avoid;page-break-after:auto}
}


/* v1.11.7 - adaptive whole-book printing: per-page orientation and fit-to-sheet scaling. */
.wholeBookPrintRoot.measurePrintRoot{display:block!important;position:fixed!important;left:-20000px!important;top:0!important;width:1056px!important;visibility:hidden!important;pointer-events:none!important;z-index:-1!important}
.wholeBookPrintRoot.measurePrintRoot .bookPrintPage{box-sizing:border-box;width:100%;padding:8px 12px 14px;background:#fff;color:#111}
.wholeBookPrintRoot.measurePrintRoot .bookPrintFit{width:100%;transform:none!important;zoom:1!important}
@page pbPortrait{size:letter portrait;margin:.28in}
@page pbLandscape{size:letter landscape;margin:.28in}
@media print{
  html.wholeBookPrinting .bookPrintPage{zoom:1!important;padding:0!important;margin:0!important;overflow:hidden!important;box-sizing:border-box;break-after:page;page-break-after:always;break-inside:avoid-page;page-break-inside:avoid;position:relative}
  html.wholeBookPrinting .bookPrintPage.print-portrait{page:pbPortrait;width:7.94in;min-height:10.44in;max-height:10.44in}
  html.wholeBookPrinting .bookPrintPage.print-landscape{page:pbLandscape;width:10.44in;min-height:7.94in;max-height:7.94in}
  html.wholeBookPrinting .bookPrintPage:last-child{break-after:auto;page-break-after:auto}
  html.wholeBookPrinting .bookPrintFit{transform-origin:top left;transform:scale(var(--pb-page-scale,1));width:calc(100% / var(--pb-page-scale,1));box-sizing:border-box;padding:8px 12px 14px;background:#fff;color:#111}
  /* Attachment pages are already rendered as a single image. Never apply the form-page shrink to them. */
  html.wholeBookPrinting .bookPrintPage.print-attachment .bookPrintFit{transform:none!important;width:100%!important;height:100%!important;padding:0!important;display:flex!important;flex-direction:column!important}
  html.wholeBookPrinting .bookPrintPage.print-attachment header{flex:0 0 auto;padding:4px 6px 6px}
  html.wholeBookPrinting .bookPrintPage.print-attachment .bookPrintAttachment{flex:1 1 auto;min-height:0!important;width:100%!important;max-width:100%!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
  html.wholeBookPrinting .bookPrintPage.print-attachment .bookPrintAttachment img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;margin:auto!important}
  /* Override the old 166% OROA compensation; orientation now decides the usable sheet instead. */
  html.wholeBookPrinting .bookPrintImageAttachment{width:100%!important;max-width:100%!important;margin-left:0!important}
  html.wholeBookPrinting .bookPrintImageAttachment img{width:auto!important;max-width:100%!important;max-height:100%!important}
  html.wholeBookPrinting .bookPrintPdfAttachment img{width:auto!important;max-width:100%!important;max-height:100%!important}
}
/* v1.11.8 attachment controls */
.oroaPagePill{display:grid;grid-template-columns:minmax(0,1fr) 34px auto;align-items:center;gap:8px}
.oroaPageSettingsBtn{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);display:inline-grid;place-items:center;cursor:pointer;font-size:15px;line-height:1}
.oroaPageSettingsBtn:hover{background:var(--surface-2)}
.oroaPageSettingsBtn:disabled{opacity:.35;cursor:not-allowed}
.oroaSettingsDialog{max-width:520px;width:min(92vw,520px)}
@media print{
  html.wholeBookPrinting .bookPrintPage.print-attachment .bookPrintAttachment img{
    max-width:calc(100% * var(--pb-attachment-scale,1))!important;
    max-height:calc(100% * var(--pb-attachment-scale,1))!important;
  }
}


/* v1.12.0 — reliable attachment sizing/orientation. */
@page pbPortraitAttachment{size:letter portrait;margin:0}
@page pbLandscapeAttachment{size:letter landscape;margin:0}
@media print{
  html.wholeBookPrinting .bookPrintPage.print-attachment.print-portrait{
    page:pbPortraitAttachment!important;width:8.5in!important;height:11in!important;min-height:11in!important;max-height:11in!important;
    padding:.22in!important;box-sizing:border-box!important;overflow:hidden!important;
  }
  html.wholeBookPrinting .bookPrintPage.print-attachment.print-landscape{
    page:pbLandscapeAttachment!important;width:11in!important;height:8.5in!important;min-height:8.5in!important;max-height:8.5in!important;
    padding:.22in!important;box-sizing:border-box!important;overflow:hidden!important;
  }
  html.wholeBookPrinting .bookPrintPage.print-attachment .bookPrintFit{
    width:100%!important;height:100%!important;min-height:0!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;
  }
  html.wholeBookPrinting .bookPrintPage.print-attachment header{
    flex:0 0 auto!important;padding:0 0 .10in!important;margin:0!important;
  }
  html.wholeBookPrinting .bookPrintPage.print-attachment header h1{font-size:18px!important;line-height:1.15!important;margin:2px 0 0!important}
  html.wholeBookPrinting .bookPrintPage.print-attachment .bookPrintAttachment{
    flex:1 1 auto!important;min-width:0!important;min-height:0!important;width:100%!important;height:100%!important;
    display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;margin:0!important;
  }
  html.wholeBookPrinting .bookPrintPage.print-attachment .bookPrintAttachment img{
    display:block!important;width:calc(100% * var(--pb-attachment-scale,1))!important;height:calc(100% * var(--pb-attachment-scale,1))!important;
    max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center center!important;margin:auto!important;flex:0 0 auto!important;
  }
}

/* ===== v1.13.0 integrated tools + cross-app chrome alignment ===== */
/* Match AUDIT's established logo and circular navigation geometry so switching apps feels stationary. */
.brandCluster .logo{height:42px!important;max-width:190px!important;width:auto!important;object-fit:contain!important}
.authLogo .logo{height:42px!important;max-width:190px!important;width:auto!important;object-fit:contain!important}
.navIconLink{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
.navIconLink .navSvg{width:20px!important;height:20px!important}
.toolFrameWrap{width:100%;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.toolFrame{display:block;width:100%;height:min(76vh,900px);min-height:640px;border:0;background:#fff}
.toolFrameHint{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);font-weight:800;background:var(--surface-2)}
.toolFrameHint a{color:var(--red);text-decoration:none;font-weight:1000}
html.dark-mode .toolFrameWrap{background:#171a21;border-color:#2b303b}
html.dark-mode .toolFrameHint{background:#11141a;border-color:#2b303b;color:#aab2c0}
@media(max-width:430px){
  .brandCluster .logo{height:34px!important;max-width:126px!important}
  .appNav{gap:6px!important}
  .navIconLink,.bookBody .navIconLink,.auditToolLink{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  .navIconLink .navSvg,.auditToolLink .navSvg{width:18px!important;height:18px!important}
  .brandCluster{gap:6px!important}
  .toolFrame{height:72vh;min-height:560px}
  .toolFrameHint{padding:9px 11px}
}

/* ===== v1.13.1 attachment print scaling fix =====
   Always fit the complete attachment to the selected paper first, then apply
   the admin scale as a visual transform. Percentage width/height on flexed
   replaced images could make Chromium clip the image at the scale boundary
   instead of shrinking its pixels, especially on landscape pages. */
@media print{
  html.wholeBookPrinting .bookPrintPage.print-attachment .bookPrintAttachment{
    overflow:hidden!important;
  }
  html.wholeBookPrinting .bookPrintPage.print-attachment .bookPrintAttachment img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:scale(var(--pb-attachment-scale,1))!important;
    transform-origin:center center!important;
    margin:auto!important;
    flex:0 0 auto!important;
  }
}
