/* Shared iOS-style controls. Content stays opaque; glass is reserved for navigation. */
.ios-app{accent-color:var(--brand);-webkit-tap-highlight-color:transparent}
.ios-app :is(button,input,select,textarea){font:inherit}
.ios-app :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand)!important;outline-offset:3px!important}
.ios-app :is(.btn,.form-control,.form-select,.form-check-input,.page-link,.accordion-button,.list-group-item-action){transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}

/* Actions: one primary action, quiet secondary controls, and generous touch areas. */
.ios-app .btn{--bs-btn-border-radius:14px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.2rem;padding:.58rem 1rem;border-radius:14px;font-weight:600;line-height:1.2;box-shadow:none;text-decoration:none}
.ios-app .btn-sm{min-height:38px;padding:.38rem .72rem;border-radius:11px;font-size:.84rem}
.ios-app .btn-lg{min-height:50px;padding:.75rem 1.2rem;border-radius:16px}
.ios-app .btn-primary{--bs-btn-bg:var(--ios-primary-fill);--bs-btn-border-color:var(--ios-primary-fill);--bs-btn-color:var(--ios-primary-ink);--bs-btn-hover-bg:var(--ios-primary-pressed);--bs-btn-hover-border-color:var(--ios-primary-pressed);--bs-btn-hover-color:var(--ios-primary-ink);--bs-btn-active-bg:var(--ios-primary-pressed);--bs-btn-active-border-color:var(--ink);--bs-btn-active-color:var(--ios-primary-ink);--bs-btn-disabled-bg:var(--system-gray5);--bs-btn-disabled-border-color:var(--system-gray4);--bs-btn-disabled-color:var(--muted);--bs-btn-focus-shadow-rgb:30,110,244;box-shadow:none}
.ios-app :is(.btn-light,.btn-secondary,.btn-outline-dark,.btn-outline-secondary,.btn-outline-primary){--bs-btn-bg:var(--ios-control);--bs-btn-color:var(--ink);--bs-btn-border-color:var(--ios-control-border);--bs-btn-hover-bg:var(--ios-control-pressed);--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:var(--ios-control-border);--bs-btn-active-bg:var(--ios-control-pressed);--bs-btn-active-color:var(--ink);--bs-btn-active-border-color:var(--brand)}
.ios-app .btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-hover-color:var(--brand)}
.ios-app .btn-outline-danger{--bs-btn-color:var(--ios-danger);--bs-btn-border-color:var(--ios-control-border);--bs-btn-hover-color:var(--ios-danger);--bs-btn-hover-bg:var(--ios-control);--bs-btn-hover-border-color:var(--ios-danger);--bs-btn-active-color:var(--ios-danger);--bs-btn-active-bg:var(--ios-control)}
.ios-app .btn-link{min-height:44px;box-shadow:none}
@media(hover:hover){.ios-app .btn:not(:disabled):hover{transform:translateY(-1px)}}
.ios-app .btn:not(:disabled):active{transform:scale(.985);box-shadow:none}
.ios-app .btn:disabled,.ios-app .btn.disabled{opacity:.56;box-shadow:none}
.ios-app :is(.user-action,.ios-calendar-arrow,.ios-filter-toggle,.ios-sheet-close){width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:14px}
.ios-app .user-action .bi{font-size:1rem}
.ios-app :is(.ios-calendar-arrow,.ios-filter-toggle,.ios-sheet-close){border-radius:50%}
.ios-app .ios-filter-toggle{width:48px;height:48px}
.ios-app .ios-board-create{border-radius:50px;min-width:46px;min-height:46px}

/* Form controls keep native date, time, picker and keyboard behavior. */
.ios-app .form-label{margin-bottom:.45rem;color:var(--ink);font-weight:600;font-size:var(--ios-font-subhead)}
.ios-app .form-text{line-height:1.45;color:var(--muted)}
.ios-app :is(.form-control,.form-select,.input-group-text){min-height:46px;background-color:var(--ios-control);color:var(--ink);border:1px solid var(--ios-control-border);border-radius:14px;box-shadow:0 1px 2px rgba(26,45,78,.025)}
.ios-app :is(.form-control,.form-select){padding:.68rem .88rem;font-size:1rem}
.ios-app textarea.form-control{min-height:112px;resize:vertical}
.ios-app .form-control::placeholder{color:var(--muted);opacity:1}
.ios-app :is(.form-control,.form-select):focus{border-color:var(--brand);background-color:var(--ios-control);color:var(--ink);box-shadow:0 0 0 4px var(--ios-control-ring);outline:0!important}
.ios-app :is(.form-control,.form-select):disabled,.ios-app .form-control[readonly]{background-color:var(--ios-control-muted);color:var(--muted);opacity:1}
.ios-app .form-control-sm,.ios-app .form-select-sm{min-height:38px;padding:.42rem .7rem;border-radius:11px;font-size:.875rem}
.ios-app .form-control-lg,.ios-app .form-select-lg{min-height:52px;border-radius:16px}
/* A shared Bootstrap chevron for select controls; native selection behavior is retained. */
.ios-app select:is(.form-select,.swal2-select){-webkit-appearance:auto;appearance:auto;--ios-select-chevron:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%23636366%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M3.646%209.146a.5.5%200%200%201%20.708%200L8%2012.793l3.646-3.647a.5.5%200%200%201%20.708.708l-4%204a.5.5%200%200%201-.708%200l-4-4a.5.5%200%200%201%200-.708m0-2.292a.5.5%200%200%200%20.708%200L8%203.207l3.646%203.647a.5.5%200%200%200%20.708-.708l-4-4a.5.5%200%200%200-.708%200l-4%204a.5.5%200%200%200%200%20.708%22%2F%3E%0A%3C%2Fsvg%3E");color-scheme:light;background-image:none;min-width:0;max-width:100%;padding-inline-end:.9rem;cursor:pointer}
.ios-app select:is(.form-select,.swal2-select):not([multiple]):is(:not([size]),[size="0"],[size="1"]){-webkit-appearance:none;appearance:none;background-image:var(--ios-select-chevron);background-repeat:no-repeat;background-position:right .85rem center;background-size:16px 16px;padding-inline-end:2.5rem}
[data-bs-theme="dark"] .ios-app select:is(.form-select,.swal2-select){--ios-select-chevron:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%23aeaeb2%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M3.646%209.146a.5.5%200%200%201%20.708%200L8%2012.793l3.646-3.647a.5.5%200%200%201%20.708.708l-4%204a.5.5%200%200%201-.708%200l-4-4a.5.5%200%200%201%200-.708m0-2.292a.5.5%200%200%200%20.708%200L8%203.207l3.646%203.647a.5.5%200%200%200%20.708-.708l-4-4a.5.5%200%200%200-.708%200l-4%204a.5.5%200%200%200%200%20.708%22%2F%3E%0A%3C%2Fsvg%3E")}
.ios-app select:is(.form-select,.swal2-select):dir(rtl){background-position:left .85rem center}
.ios-app select:is(.form-select,.swal2-select):disabled{background-color:var(--ios-control-muted);color:var(--muted);cursor:not-allowed;opacity:1}
@supports (appearance:base-select) and selector(select::picker(select)) and selector(select::picker-icon){
 .ios-app select:is(.form-select,.swal2-select):not([multiple]):is(:not([size]),[size="0"],[size="1"]){
  appearance:base-select;background-image:none;padding-inline-end:.9rem;display:flex;align-items:center;gap:.65rem;white-space:normal;overflow-wrap:anywhere;text-align:start;
  &::picker-icon{content:"\f283";font-family:bootstrap-icons!important;font-size:1rem;font-weight:normal;line-height:1;color:var(--muted);flex:0 0 auto;margin-inline-start:auto}
  &:open{border-color:var(--brand)}
  &::picker(select){appearance:base-select;box-sizing:border-box;min-inline-size:anchor-size(self-inline);max-inline-size:calc(100vw - 24px);max-block-size:min(320px,calc(100dvh - 32px));overflow:auto;overscroll-behavior:contain;padding:4px;border:1px solid var(--ios-control-border);border-radius:12px;background:var(--ios-card);color:var(--ink);box-shadow:0 8px 28px #00000024;font:inherit}
  & option{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:var(--ios-card);color:var(--ink);font-size:1rem;font-weight:400;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
  & option:checked{background:var(--accent);color:var(--brand);font-weight:600}
  & option:not(:disabled):hover,& option:not(:disabled):focus-visible{background:var(--ios-control-muted)}
  & option:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
  & option::checkmark{order:1;margin-inline-start:auto;color:var(--brand);flex-shrink:0}
  & option:disabled{color:var(--muted);background:var(--ios-card);cursor:not-allowed}
  & optgroup{color:var(--muted);font-weight:600}
 }
}
@media(forced-colors:active){.ios-app select::picker(select){border-color:CanvasText}.ios-app select option:checked{background:Highlight;color:HighlightText}.ios-app select option::checkmark{color:inherit}}
.ios-app .input-group-text{display:inline-flex;align-items:center;background:var(--ios-control-muted);font-weight:550}
.ios-app .input-group>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}
.ios-app .input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}
.ios-app .form-control[type="file"]{padding:.42rem .55rem;line-height:1.6}
.ios-app .form-control[type="file"]::file-selector-button{margin:-.42rem .75rem -.42rem -.55rem;padding:.6rem .9rem;border:0;border-right:1px solid var(--ios-control-border);background:var(--ios-control-muted);color:var(--ink);font-weight:600}
.ios-app .form-control-color{width:56px;min-height:46px;padding:.3rem;cursor:pointer}
.ios-app .form-check-input{width:1.2em;height:1.2em;margin-top:.15em;border:1.5px solid var(--ios-control-border);background-color:var(--ios-control);box-shadow:none;cursor:pointer}
.ios-app .form-check-input:checked{background-color:var(--ios-primary-fill);border-color:var(--ios-primary-fill)}
.ios-app .form-check-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--ios-control-ring);outline:0!important}
.ios-app .form-check-label{color:var(--ink);line-height:1.45;cursor:pointer}
.ios-app .form-switch .form-check-input{width:2.8em;height:1.55em;margin-top:0;border-radius:2em;background-size:1.15em;transition:background-position .18s ease,background-color .18s ease}
.ios-app .form-switch:not(.d-flex){padding-left:3.4em}
.ios-app .form-switch:not(.d-flex) .form-check-input{margin-left:-3.4em}
.ios-app .form-range::-webkit-slider-thumb{background:var(--system-blue);box-shadow:0 1px 5px #24324b33}
.ios-app .form-range::-moz-range-thumb{background:var(--system-blue);box-shadow:0 1px 5px #24324b33}
.ios-app .invalid-feedback,.ios-app .valid-feedback{font-size:.82rem}
.ios-app .is-invalid{--ios-control-border:#d44d5d}

/* Opaque content surfaces and grouped settings. */
.ios-app :is(.card,.content-card,.auth-card,.error-panel,.empty-state){border-color:var(--line);box-shadow:var(--ios-elevation)}
.ios-app .content-card{overflow-wrap:anywhere}
.ios-app .card-header,.ios-app .card-footer{background:var(--ios-control-muted);border-color:var(--line)}
.ios-app .alert{border-radius:17px;border-width:1px;padding:1rem 1.15rem;line-height:1.5}
.ios-app .badge{border-radius:9px;padding:.38em .62em;font-weight:600;letter-spacing:0}
.ios-app .table{vertical-align:middle}
.ios-app .table>:not(caption)>*>*{padding:.85rem .9rem;border-bottom-color:var(--line)}
.ios-app .table thead th{font-size:.82rem;font-weight:700;color:var(--muted);letter-spacing:.015em;white-space:normal}
.ios-app .users-table-container{border-color:var(--line)!important;border-radius:18px!important;box-shadow:var(--ios-elevation)}
.ios-app .table-responsive{border-radius:18px}
.ios-app .list-group-item{border-color:var(--line)}
.ios-app .list-group-item-action:active{background:var(--ios-control-pressed);color:var(--ink)}

/* Disclosure, navigation and layered controls. */
.ios-app .accordion{--bs-accordion-border-color:var(--line);--bs-accordion-border-radius:18px;--bs-accordion-inner-border-radius:17px}
.ios-app .accordion-item{overflow:hidden;background:var(--ios-card);border-color:var(--line);border-radius:18px;box-shadow:var(--ios-elevation)}
.ios-app .accordion-button{min-height:54px;padding:1rem 1.15rem;color:var(--ink);font-weight:600;box-shadow:none}
.ios-app .accordion-button:not(.collapsed){color:var(--ink);background:var(--ios-control-muted);box-shadow:inset 0 -1px var(--line)}
.ios-app .accordion-button:focus{box-shadow:0 0 0 4px var(--ios-control-ring);z-index:1}
.ios-app details>summary{min-height:44px;cursor:pointer}
.ios-app .nav-pills{padding:4px;border-radius:15px;background:var(--ios-control-muted);gap:3px}
.ios-app .nav-pills .nav-link{min-height:44px;border-radius:11px;color:var(--muted);font-weight:600}
.ios-app .nav-pills .nav-link.active{color:var(--ink);background:var(--ios-control);box-shadow:0 1px 5px #24324b18}
.ios-app .pagination .page-link{min-height:44px;display:grid;place-items:center;padding:.55rem .9rem;border:1px solid var(--ios-control-border);border-radius:12px;background:var(--ios-control);color:var(--brand);font-weight:600}
.ios-app .pagination .active>.page-link{background:var(--ios-primary-fill);border-color:var(--ios-primary-fill);color:var(--ios-primary-ink);font-weight:700}
.ios-app .main-content>.d-flex:first-child>a:not(.btn){display:inline-flex;align-items:center;min-height:44px;padding:.58rem 1rem;border:1px solid var(--ios-control-border);border-radius:14px;background:var(--ios-control);color:var(--brand);font-weight:600;text-decoration:none}
.ios-app .main-content>.d-flex:first-child>a:not(.btn):hover{background:var(--ios-control-pressed)}
.ios-app .dropdown-menu{padding:7px;border:1px solid var(--line);border-radius:17px;background:var(--ios-control);box-shadow:var(--ios-elevation)}
.ios-app .dropdown-item{min-height:44px;display:flex;align-items:center;gap:.3rem;border-radius:10px;color:var(--ink)}
.ios-app .dropdown-item:is(:hover,:focus){background:var(--ios-control-pressed);color:var(--ink)}
.ios-app .modal-content,.ios-app .offcanvas{border-color:var(--line);box-shadow:var(--ios-elevation)}
.ios-app .modal-header,.ios-app .modal-footer,.ios-app .offcanvas-header{border-color:var(--line)}
.ios-app .modal-header,.ios-app .modal-footer{padding:1rem 1.25rem}
.ios-app .modal-body{padding:1.25rem}
.ios-app .modal-backdrop,.ios-app .offcanvas-backdrop{--bs-backdrop-opacity:.36}
.ios-app .btn-close{border-radius:50%;background-color:var(--ios-control-muted);background-size:12px}
.ios-app .btn-close:focus{box-shadow:0 0 0 4px var(--ios-control-ring)}
.ios-app .toast,.ios-app .popover{border:1px solid var(--line);border-radius:17px;background:var(--ios-control);color:var(--ink);box-shadow:var(--ios-elevation)}
.ios-app .progress{height:.5rem;background:var(--ios-control-muted);border-radius:1rem}

/* Third-party editor and alerts use the same surrounding chrome. */
.ios-app .jodit-container{border-color:var(--ios-control-border)!important;border-radius:16px;overflow:hidden;box-shadow:none}
.ios-app .jodit-toolbar__box{background:var(--ios-control-muted);border-color:var(--line)}
.ios-app .jodit-toolbar-button{border-radius:9px}
.ios-app .swal2-popup{border:1px solid var(--line);border-radius:24px;background:var(--ios-card);color:var(--ink);box-shadow:var(--ios-shadow);font:inherit;max-width:100%;padding:0 0 1.4rem}
.ios-app .swal2-title{font-family:inherit;font-size:1.4rem;font-weight:600;line-height:1.25;letter-spacing:-.015em;color:var(--ink);padding:0 1.4rem;overflow-wrap:anywhere}
.ios-app .swal2-actions{gap:.6rem;margin:1.4rem 1.4rem 0;flex-wrap:wrap;max-width:calc(100% - 2.8rem)}
.ios-app .swal2-actions .btn{min-width:100px}
.ios-app .pdf-toolbar{border:1px solid var(--line);background:var(--ios-control-muted)}
.ios-app .file-dropzone{border-color:var(--ios-control-border);background:var(--ios-control-muted)}

[data-bs-theme="dark"] .ios-app :is(.btn-light,.btn-secondary,.btn-outline-dark,.btn-outline-secondary,.btn-outline-primary){--bs-btn-bg:var(--ios-control);--bs-btn-color:var(--ink);--bs-btn-border-color:var(--ios-control-border);--bs-btn-hover-bg:var(--ios-control-pressed);--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:var(--ios-control-border);--bs-btn-active-bg:var(--ios-control-pressed);--bs-btn-active-color:var(--ink)}
[data-bs-theme="dark"] .ios-app .btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-hover-color:var(--brand)}
[data-bs-theme="dark"] .ios-app .btn-close{filter:none;opacity:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m2 2 12 12M14 2 2 14' stroke='%23edf1f8' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
[data-bs-theme="dark"] .ios-app :is(.form-control,.form-select,.swal2-select){color-scheme:dark}
[data-bs-theme="dark"] .ios-app .form-control[type="file"]::file-selector-button{background:var(--ios-control-pressed);color:var(--ink)}
[data-bs-theme="dark"] .ios-app .jodit-toolbar__box{background:#f0f2f6}
[data-bs-theme="dark"] .ios-app .jodit-toolbar-button{color:#24324b}

@media(max-width:575.98px){
 .ios-app .content-card{padding:20px}
 .ios-app .modal-body{padding:1rem}
 .ios-app .modal-footer{gap:.6rem}
 .ios-app .user-action{width:44px;height:44px}
 .ios-app .table>:not(caption)>*>*{padding:.75rem .65rem}
 .ios-app :is(input.form-control,input.form-select,select.form-select,textarea.form-control){font-size:1rem}
}
@media(prefers-reduced-motion:reduce){.ios-app :is(.btn,.form-control,.form-select,.form-check-input,.page-link,.accordion-button,.list-group-item-action){transition:none}.ios-app .btn:not(:disabled):is(:hover,:active){transform:none}.ios-app select::picker-icon{transition:none}}
@media(prefers-reduced-transparency:reduce){.ios-app :is(.site-header,.ios-tabbar){background:var(--ios-card);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){.ios-app :is(.btn,.form-control,.form-select,.accordion-item,.content-card){border-width:2px}.ios-app .btn-primary{--ios-primary-fill:var(--ios-primary-pressed);border-color:var(--ink)}}

/* One consistent return control, with a generous touch target. */
.ios-app .ios-back-button{--back-glass:var(--ios-glass);--back-edge:var(--ios-glass-edge);--back-highlight:var(--ios-glass-highlight);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;flex-shrink:0;border:1px solid var(--back-edge);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.48),transparent 55%,rgba(255,255,255,.12)),var(--back-glass);color:var(--ink);box-shadow:inset 0 1px 1px var(--back-highlight),0 2px 8px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);text-decoration:none;transition:background-color .18s ease,transform .18s ease;-webkit-tap-highlight-color:transparent}
.ios-app .ios-back-button .bi{font-size:1.2rem;line-height:1}
.ios-app .ios-back-button:hover{background-color:var(--ios-glass);color:var(--ink);text-decoration:none}
.ios-app .ios-back-button:active{transform:scale(.94)}
.ios-app .ios-back-button:focus:not(:focus-visible){outline:none}
.ios-app .ios-back-button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
@media(max-width:1199.98px){.ios-context-header{border:0;background:var(--paper);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}}
[data-bs-theme="dark"] .ios-app .ios-back-button{background-image:linear-gradient(145deg,rgba(255,255,255,.14),transparent 55%,rgba(255,255,255,.03))}
@media(prefers-reduced-transparency:reduce){.ios-app .ios-back-button{background:var(--ios-card);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--line)}}
@media(forced-colors:active){.ios-app .ios-back-button{background:Canvas;color:LinkText;border:1px solid ButtonText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.ios-app .ios-back-button{transition:none}.ios-app .ios-back-button:active{transform:none}}
@media print{.desktop-back-navigation{display:none!important}}

/* Shared type scale for page titles, card headings and supporting text. */
/* Floating glass navigation; labels remain opaque for readability. */
.users-page-heading{align-items:center;justify-content:space-between;gap:16px}
.users-page-heading h1{text-align:center}
.ios-app .users-add-button{justify-self:end;cursor:pointer}
.ios-signed-in:is([data-page-path="/admin/users"],[data-page-path="/admin/categories"],[data-page-path="/admin/roles"],[data-page-path="/admin/audit"]) .ios-context-title{opacity:1;transform:none;font-size:1.0625rem}
.ios-app .users-search-glass{display:flex;align-items:center;gap:4px;min-height:48px;padding:2px 12px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(155deg,rgba(255,255,255,.22),transparent),var(--ios-glass);box-shadow:inset 0 1px 1px rgba(255,255,255,.5),0 3px 12px rgba(30,45,70,.04);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.ios-app .users-search-glass button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:1.25rem}
.ios-app .users-search-glass .form-control{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;font-size:1rem;padding:8px 4px;min-height:44px}
.ios-app .users-search-glass:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.ios-app .users-search-form .form-select{width:auto;min-width:0;flex:1;max-width:280px}
#create-user-sheet .form-check-label{margin-bottom:10px}
@media(prefers-reduced-transparency:reduce){.ios-app .users-search-glass{background:var(--ios-card);backdrop-filter:none;-webkit-backdrop-filter:none}}
.ios-app .ios-tabbar{--tab-glass:var(--ios-glass);--tab-edge:var(--ios-glass-edge);--tab-highlight:var(--ios-glass-highlight);--tab-active:var(--system-gray5);background:linear-gradient(155deg,rgba(255,255,255,.36),transparent 48%,rgba(255,255,255,.12)),var(--tab-glass);border:1px solid var(--tab-edge);box-shadow:inset 0 1px 1px var(--tab-highlight),inset 0 -1px 2px rgba(0,0,0,.09),0 8px 30px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.08);backdrop-filter:blur(26px) saturate(130%);-webkit-backdrop-filter:blur(26px) saturate(130%)}
.ios-app .ios-tabbar .ios-tab{color:var(--ink)}
.ios-app .ios-tabbar .ios-tab.active{background:linear-gradient(155deg,rgba(255,255,255,.3),transparent 70%),var(--tab-active);color:var(--ink);box-shadow:inset 0 1px 1px rgba(255,255,255,.65),0 1px 4px rgba(0,0,0,.06)}
[data-bs-theme="dark"] .ios-app .ios-tabbar{--tab-active:var(--system-gray3);background-image:linear-gradient(155deg,rgba(255,255,255,.13),transparent 48%,rgba(255,255,255,.025))}
[data-bs-theme="dark"] .ios-app .ios-tabbar .ios-tab.active{background-image:linear-gradient(155deg,rgba(255,255,255,.1),transparent 70%);box-shadow:inset 0 1px 1px rgba(255,255,255,.22),0 1px 4px rgba(0,0,0,.12)}
@media(prefers-reduced-transparency:reduce){:root .ios-app .ios-tabbar{background:var(--ios-card);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--line)}:root .ios-app .ios-tabbar .ios-tab.active{background:var(--accent)}}
@media(prefers-contrast:more){:root .ios-app .ios-tabbar{background:var(--ios-card);border-color:var(--muted)}:root .ios-app .ios-tabbar .ios-tab.active{background:var(--accent)}}
@media(forced-colors:active){:root .ios-app .ios-tabbar{background:Canvas;border-color:ButtonText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}:root .ios-app .ios-tabbar .ios-tab{color:LinkText}:root .ios-app .ios-tabbar .ios-tab.active{background:Highlight;color:HighlightText;box-shadow:none}}

:root{--ios-page-title:var(--ios-font-title);--ios-section-title:1.2941rem;--ios-text-small:var(--ios-font-subhead);--ios-text-caption:var(--ios-font-footnote)}
.ios-app h1{font-size:var(--ios-page-title);line-height:1.18;letter-spacing:-.02em;overflow-wrap:anywhere}
.ios-app :is(.ios-board-heading,.ios-calendar-heading) h1{font-size:var(--ios-page-title);line-height:1.18;letter-spacing:-.02em}
.ios-app :is(.content-card,.auth-card,.document-editor) h2:not(.accordion-header){font-size:var(--ios-section-title);line-height:1.35;margin-bottom:1rem}
.ios-app .content-card h3:not(.accordion-header){font-size:1.0625rem;line-height:1.4}
.ios-app .disclosure .accordion-button{font-size:1rem;line-height:1.4;letter-spacing:normal}
.ios-app :is(.offcanvas-title,.modal-title){font-size:var(--ios-section-title);line-height:1.35;letter-spacing:-.02em}
.ios-app :is(.small,small,.form-text,.ios-settings-note,.document-save-summary){font-size:var(--ios-text-small);line-height:1.5}
.ios-app .form-label{font-size:var(--ios-text-small);line-height:1.5}
.ios-app .ios-settings-label{font-size:var(--ios-text-caption);letter-spacing:.04em}
.ios-app .ios-document-entry .document-title{font-size:1rem}
.ios-app :is(.ios-document-meta,.ios-category-new,.ios-board-filter-summary){font-size:var(--ios-text-caption)}
.ios-app .ios-document-status{font-size:.75rem;line-height:1.4}
.ios-app .ios-calendar-agenda-content p,.ios-app .ios-calendar-hint{font-size:var(--ios-text-small)}
.ios-app .document-pdf-picker [role=status]{font-size:var(--ios-text-small)}
.ios-app .document-disclosure-toggle strong{font-size:1rem}
.ios-app .document-disclosure-toggle small{font-size:var(--ios-text-small)}
.ios-app .document-save-actions .btn{font-size:var(--ios-text-small)}
.ios-app .content-card>p:last-child{margin-bottom:0}
.ios-app .main-content>h1{margin-bottom:1.5rem}
.ios-app .users-table th:last-child{width:224px}
.ios-app .users-table .user-actions{flex-wrap:wrap}
@media(max-width:767.98px){
 .ios-app .users-table th:last-child{width:116px}
 .ios-app .users-table .user-actions{display:grid!important;grid-template-columns:44px 44px;justify-content:end}
 .ios-app .users-table .user-actions>*{min-width:0}
 .ios-app .users-table td:first-child{overflow-wrap:anywhere}
 .ios-app .btn-sm{min-height:44px}
}

.ios-signed-in[data-page-path="/admin/roles"] .ios-context-inner{grid-template-columns:44px minmax(0,1fr) 44px}
.ios-signed-in[data-page-path="/admin/audit"] .ios-context-inner{grid-template-columns:44px minmax(0,1fr) 44px}
.ios-signed-in[data-page-path="/admin/audit"] .ios-context-inner>form{margin:0;justify-self:end}
.ios-signed-in[data-page-path="/admin/audit"] .table td:first-child{min-width:100px;word-break:normal;overflow-wrap:normal}
#create-role-sheet .form-check{margin-left:0;padding-left:1.6em}

/* Theme parity for navigation, editor hints and glass search fields. */
/* Desktop navigation shares the floating glass treatment of mobile navigation. */
@media(min-width:1200px){
 .ios-app .site-header{padding:12px 0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
 .ios-app .site-header.is-scrolled{box-shadow:none}
 .ios-app .site-header .navbar>.container{width:calc(100% - 32px);padding:8px 16px;border:1px solid var(--line);border-radius:24px;background:var(--ios-glass);box-shadow:inset 0 1px 1px rgba(255,255,255,.3),var(--ios-shadow);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
 .ios-app .site-header .navbar-brand{margin-right:20px;padding:0;white-space:nowrap}
 .ios-app #main-navbar{background:transparent;box-shadow:none;border:0}
 .ios-app #main-navbar .offcanvas-body{gap:16px;min-width:0}
 .ios-app #main-navbar .navbar-nav{align-items:center;gap:4px}
 .ios-app #main-navbar .nav-link{min-height:44px;padding:10px 12px;border:0;border-radius:16px;font-size:.875rem;font-weight:550;line-height:1.4;box-shadow:none}
 .ios-app #main-navbar .nav-link.active{font-weight:600;border-radius:16px}
 .ios-app #main-navbar .navbar-account{padding-left:12px;border-left:1px solid var(--line)}
 .ios-app #main-navbar .navbar-account form{display:flex;align-items:center}
 .ios-app #main-navbar .dropdown-menu{margin-top:12px;min-width:240px}
}
@media(min-width:1200px) and (prefers-reduced-transparency:reduce){.ios-app .site-header .navbar>.container{background:var(--ios-card);backdrop-filter:none;-webkit-backdrop-filter:none}}
.ios-app #main-navbar .nav-link:is(.active,:hover,:focus-visible){background:var(--accent);color:var(--ink)}
.ios-app #main-navbar .dropdown-item.active{background:var(--accent);color:var(--ink)}
.ios-app .document-section-number{background:var(--accent)}
.ios-app .jodit-placeholder{color:#5e697b!important;opacity:1!important}
[data-bs-theme="dark"] .ios-app .users-search-glass{background:linear-gradient(155deg,rgba(255,255,255,.06),transparent),var(--ios-glass);box-shadow:inset 0 1px 1px rgba(255,255,255,.12),0 3px 12px rgba(0,0,0,.1)}
@media(max-width:575.98px){
 .ios-signed-in[data-page-path="/admin/audit"] .table-responsive.content-card{padding:12px}
 .ios-signed-in[data-page-path="/admin/audit"] .table>:not(caption)>*>*{padding:.75rem .35rem;overflow-wrap:normal;word-break:normal}
 .ios-signed-in[data-page-path="/admin/audit"] .table td:first-child{min-width:88px;font-size:.8125rem}
}

/* Semantic selection, feedback and input. Never convey state by color alone. */
.ios-app ::selection{background:var(--ios-selection-bg);color:var(--ios-selection-ink)}
.ios-app :is(input,textarea,[contenteditable="true"]){caret-color:var(--brand)}
.ios-app .text-primary{color:var(--brand)!important}
.ios-app .text-danger{color:var(--ios-danger)!important}
.ios-app .text-success{color:var(--ios-success)!important}
.ios-app .text-warning{color:var(--ios-warning)!important}
.ios-app .text-info{color:var(--brand)!important}
.ios-app .btn-danger{--bs-btn-color:var(--ios-primary-ink);--bs-btn-bg:var(--ios-danger-fill);--bs-btn-border-color:var(--ios-danger-fill);--bs-btn-hover-color:var(--ios-primary-ink);--bs-btn-hover-bg:var(--ios-danger-fill);--bs-btn-hover-border-color:var(--ios-danger-fill);--bs-btn-active-color:var(--ios-primary-ink);--bs-btn-active-bg:var(--ios-danger-fill);--bs-btn-active-border-color:var(--ink)}
.ios-app .btn-success{--bs-btn-color:var(--ios-primary-ink);--bs-btn-bg:var(--ios-success-fill);--bs-btn-border-color:var(--ios-success-fill);--bs-btn-hover-color:var(--ios-primary-ink);--bs-btn-hover-bg:var(--ios-success-fill);--bs-btn-hover-border-color:var(--ios-success-fill);--bs-btn-active-color:var(--ios-primary-ink);--bs-btn-active-bg:var(--ios-success-fill)}
.ios-app .badge:is(.bg-primary,.text-bg-primary){background:var(--ios-primary-fill)!important;color:var(--ios-primary-ink)!important}
.ios-app .badge:is(.bg-success,.text-bg-success){background:var(--system-green)!important;color:var(--ios-fill-ink)!important}
.ios-app .badge:is(.bg-warning,.text-bg-warning){background:var(--system-yellow)!important;color:var(--ios-fill-ink)!important}
.ios-app .badge:is(.bg-danger,.text-bg-danger){background:var(--system-red)!important;color:var(--ios-fill-ink)!important}
.ios-app .badge:is(.bg-secondary,.text-bg-secondary,.text-bg-light){background:var(--system-gray5)!important;color:var(--ink)!important;border:1px solid var(--line)}
.ios-app .alert{background:var(--ios-card);color:var(--ink);border-color:var(--line);border-inline-start-width:4px}
.ios-app .alert-success{border-inline-start-color:var(--system-green)}
.ios-app .alert-danger{border-inline-start-color:var(--system-red)}
.ios-app .alert-warning{border-inline-start-color:var(--system-orange)}
.ios-app .alert-info{border-inline-start-color:var(--system-blue)}
.ios-app .alert a{color:var(--brand)}
.ios-app .form-switch .form-check-input:checked{background-color:var(--system-green);border-color:var(--system-green)}
.ios-app label.form-check,.ios-app .form-check:has(>.form-check-input){min-height:44px}
.ios-app .form-check:has(>.form-check-input)>.form-check-label{min-height:44px;display:inline-flex;align-items:center}
.ios-app .form-check:has(>.form-check-input)>.form-check-input{margin-top:.65em}
.ios-app .invalid-feedback{color:var(--ios-danger);font-size:var(--ios-font-subhead)}
.ios-app .valid-feedback{color:var(--ios-success);font-size:var(--ios-font-subhead)}
.ios-app .is-invalid{border-color:var(--ios-danger)}
.ios-app .is-valid{border-color:var(--system-green)}
.ios-app :is(.form-control,.form-select):focus-visible{outline:2px solid var(--brand)!important;outline-offset:2px!important}
.ios-app .btn:focus:not(:focus-visible){box-shadow:none}
.ios-app .btn-close{width:44px;height:44px;min-width:44px;min-height:44px;box-sizing:border-box}
.ios-app .btn-sm{min-height:44px}
.ios-app .dropdown-item{white-space:normal}
.ios-app .ios-tab{min-width:44px;font-size:clamp(12px,var(--ios-font-caption),15px);line-height:1.3}
.ios-app .ios-tab .bi{font-size:clamp(22px,1.2941rem,28px)}
.ios-app .ios-settings-row{font-size:var(--ios-font-body)}
.ios-app .ios-document-title-row{line-height:1.35}
.ios-app :is(.offcanvas-header,.modal-header){gap:12px}
.ios-app :is(.offcanvas-title,.modal-title){min-width:0;overflow-wrap:anywhere}
.ios-app :is(.offcanvas-header,.modal-header)>.btn-close{order:-1;margin:0}
.ios-app :is(.offcanvas-header,.modal-header):has(>.btn-close)>:is(.offcanvas-title,.modal-title){flex:1;text-align:center}
.ios-app :is(.offcanvas-header,.modal-header):has(>.btn-close)::after{content:"";flex:0 0 44px}
.ios-app .pdf-fullscreen-modal .pdf-close{order:-1;margin:0}
.ios-app .offcanvas-bottom{overflow-y:auto}
.ios-app .welcome-panel,.ios-app .setup-note,.ios-app .feature-number{background:var(--ios-card);border-color:var(--line)}
.ios-app .panel-symbol{color:var(--brand)}
.ios-app .panel-footer{color:var(--muted)}
.ios-app .feature-row{border-color:var(--line)}
.ios-app .connection-status{background:var(--system-yellow);color:var(--ios-fill-ink);border-color:var(--system-orange)}
.ios-app .connection-status a{color:var(--ios-fill-ink);text-decoration:underline}
.ios-app .connection-status .btn{--bs-btn-color:var(--ios-fill-ink);--bs-btn-bg:transparent;--bs-btn-border-color:var(--ios-fill-ink)}
@media(pointer:coarse){.ios-app .btn,.ios-app .dropdown-item,.ios-app .nav-link{min-height:44px}}
@media(max-width:575.98px){
 .ios-app .main-content{padding-inline:max(16px,var(--safe-left)) max(16px,var(--safe-right))}
 .ios-app .main-content .row{--bs-gutter-x:min(1.5rem,32px)}
 .ios-app .users-page-heading{gap:12px}
 .ios-app .users-table th:last-child{white-space:normal;overflow-wrap:anywhere}
 .ios-app .users-search-form>.d-flex{flex-wrap:wrap}
 .ios-app .users-search-form .form-select{flex-basis:12rem;max-width:100%}
 .ios-app .document-save-actions{flex-wrap:wrap}
 .ios-app .document-save-actions .btn{flex:1 1 8rem}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .ios-app :is(.ios-tabbar,.ios-back-button,.users-search-glass),.ios-app .site-header .navbar>.container{background:var(--ios-card)}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){
 :root .ios-app :is(.ios-tabbar,.ios-back-button,.users-search-glass),:root .ios-app .site-header .navbar>.container{
  background:var(--ios-card);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--muted);box-shadow:none
 }
}
@media(prefers-contrast:more){
 :root,[data-bs-theme="light"]{--muted:#48484a;--line:#636366;--ios-control-border:#636366}
 [data-bs-theme="dark"]{--muted:#e5e5ea;--line:#aeaeb2;--ios-control-border:#aeaeb2;--brand:#5cb8ff}
 .ios-app .ios-tab.active{outline:2px solid currentColor;outline-offset:-3px}
}
@media(prefers-reduced-motion:reduce){
 .ios-app *,.ios-app *::before,.ios-app *::after{scroll-behavior:auto!important}
 .ios-app .collapsing,.ios-app .offcanvas,.ios-app .modal-dialog{transition:none}
}
@media(forced-colors:active){
 .ios-app :is(.btn,.form-control,.form-select,.dropdown-menu,.users-search-glass,.ios-category-tile,.category-document-count){forced-color-adjust:auto;background:Canvas!important;color:CanvasText!important;border:1px solid ButtonText;box-shadow:none}
 .ios-app .form-check-input:checked{background-color:Highlight;border-color:Highlight}
 .ios-app ::selection{background:Highlight;color:HighlightText}
}

/* Paired page actions: neutral return on the left, prominent creation on the right. */
:root .ios-app .ios-back-button.ios-add-button{background:var(--ios-primary-fill);color:var(--ios-primary-ink);border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 8px rgba(0,0,0,.08);backdrop-filter:none;-webkit-backdrop-filter:none}
:root .ios-app .ios-back-button.ios-add-button:is(:hover,:active){background:var(--ios-primary-pressed);color:var(--ios-primary-ink)}
@media(prefers-contrast:more){:root .ios-app .ios-back-button.ios-add-button{background:var(--ios-primary-pressed);border-color:var(--ink);box-shadow:none}}
@media(forced-colors:active){:root .ios-app .ios-back-button.ios-add-button{background:Highlight;color:HighlightText;border-color:ButtonText;box-shadow:none}}

/* Icons inherit their control's label color; standalone settings use blue/white tiles. */
.ios-app :is(.btn,.dropdown-item,.nav-link,.ios-tab)>.bi{color:inherit;line-height:1;flex-shrink:0}
.ios-app .swal2-actions>button{min-height:44px;border:1px solid transparent;border-radius:14px;padding:.58rem 1rem;font:inherit;font-weight:600;line-height:1.2;box-shadow:none}
.ios-app .swal2-actions .swal2-confirm{background:var(--ios-primary-fill);color:var(--ios-primary-ink)}
.ios-app .swal2-actions .swal2-confirm:is(:hover,:active){background:var(--ios-primary-pressed)}
.ios-app .swal2-actions .swal2-deny{background:var(--ios-control);color:var(--ink);border-color:var(--ios-control-border)}
.ios-app .swal2-actions .swal2-cancel{background:var(--ios-control);color:var(--ink);border-color:var(--ios-control-border)}
.ios-app .swal2-actions .swal2-cancel:is(:hover,:active){background:var(--ios-control-pressed)}
.ios-app .swal2-actions>button:disabled{background:var(--system-gray5);color:var(--muted);opacity:.56}
.ios-app .swal2-icon.swal2-success{color:var(--ios-success);border-color:var(--ios-success)}
.ios-app .swal2-icon.swal2-success [class^="swal2-success-line"]{background:var(--ios-success)}
.ios-app .swal2-icon.swal2-success .swal2-success-ring{border-color:var(--ios-success)}
.ios-app .swal2-icon.swal2-error{color:var(--ios-danger);border-color:var(--ios-danger)}
.ios-app .swal2-icon.swal2-error [class^="swal2-x-mark-line"]{background:var(--ios-danger)}
.ios-app .swal2-icon.swal2-warning{color:var(--ios-warning);border-color:var(--ios-warning)}
.ios-app .swal2-icon:is(.swal2-info,.swal2-question){color:var(--brand);border-color:var(--brand)}
@media(forced-colors:active){.ios-app :is(.ios-settings-icon,.swal2-styled){background:ButtonFace!important;color:ButtonText!important;border:1px solid ButtonText}}

/* Dialog typography and input use the app scale; vendor icon keyframes remain intact. */
.ios-app .swal2-container{padding:max(16px,var(--safe-top)) max(16px,var(--safe-right)) max(16px,var(--safe-bottom)) max(16px,var(--safe-left))}
.ios-app .swal2-html-container{font:inherit;font-size:1rem;line-height:1.5;color:var(--ink);padding:0;margin:1rem 1.4rem 0;overflow-wrap:anywhere}
.ios-app .swal2-html-container p:last-child{margin-bottom:0}
.ios-app .swal2-actions>button{min-width:100px;max-width:100%;margin:0;white-space:normal;overflow-wrap:anywhere;flex:1 1 8rem}
.ios-app .swal2-actions .swal2-deny:is(:hover,:active){background:var(--ios-control-pressed)}
.ios-app .app-dialog-danger .swal2-confirm{background:var(--ios-danger-fill);color:var(--ios-primary-ink)}
.ios-app .app-dialog-danger .swal2-confirm:is(:hover,:active){background:var(--ios-danger-fill);border-color:var(--ink)}
.ios-app .swal2-close{width:44px;height:44px;min-width:44px;border-radius:50%;margin:.6rem;color:var(--ink);background:var(--ios-control-muted);font-size:1.8rem}
.ios-app .swal2-close:hover{color:var(--ink);background:var(--ios-control-pressed)}
.ios-app :is(.swal2-input,.swal2-textarea,.swal2-select){font:inherit;color:var(--ink);background-color:var(--ios-control);border:1px solid var(--ios-control-border);border-radius:12px;box-shadow:none;min-height:44px;max-width:calc(100% - 2.8rem);margin:1rem 1.4rem 0;padding-block:.68rem;padding-inline-start:.88rem}
.ios-app :is(.swal2-input,.swal2-textarea)::placeholder{color:var(--muted);opacity:1}
.ios-app :is(.swal2-input,.swal2-textarea,.swal2-select):focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--ios-control-ring)}
.ios-app .swal2-input-label{font:inherit;color:var(--ink);margin:1rem 1.4rem 0}
.ios-app .swal2-validation-message{font:inherit;font-size:var(--ios-font-subhead);background:var(--ios-control-muted);color:var(--ios-danger);margin:1rem 0 0}
.ios-app .swal2-validation-message::before{background:var(--ios-danger-fill);color:var(--ios-primary-ink)}
.ios-app .swal2-footer{font:inherit;font-size:var(--ios-font-subhead);color:var(--muted);border-color:var(--line)}
.ios-app .swal2-loader{border-color:var(--ios-primary-fill) transparent var(--ios-primary-fill) transparent}
.ios-app .swal2-popup:not(:has(.swal2-icon[style*="display: flex"],.swal2-image[src])) .swal2-title{padding-top:1.4rem}
@media(forced-colors:active){.ios-app .swal2-actions>button{background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText}}

@media(forced-colors:active){.ios-app select:is(.form-select,.swal2-select){appearance:auto!important;-webkit-appearance:auto!important;background-image:none!important}}
.post-category-navigation{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;flex-shrink:0}
.post-category-navigation .btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:44px;font-size:.875rem;white-space:nowrap;padding:.5rem}
.post-category-navigation .post-navigation-select{flex:1;min-width:0;width:0;height:44px;min-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem}
@media(max-width:575.98px){.post-category-navigation .btn{flex:0 0 44px;width:44px;padding:0}.post-category-navigation .btn span{display:none}}
/* Category navigation floats above the document, clear of the home indicator. */
.ios-app .pdf-expanded .post-category-navigation{position:fixed;z-index:2;left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));max-width:620px;margin-inline:auto;gap:4px;padding:6px;border:1px solid var(--ios-glass-edge);border-radius:32px;background:linear-gradient(155deg,var(--ios-glass-highlight),transparent 48%),var(--ios-glass);box-shadow:inset 0 1px 1px var(--ios-glass-highlight),var(--ios-shadow);backdrop-filter:blur(26px) saturate(130%);-webkit-backdrop-filter:blur(26px) saturate(130%)}
.ios-app .pdf-expanded .post-category-navigation .btn{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);box-shadow:none}
.ios-app .pdf-expanded .post-category-navigation .btn span{display:none}
.ios-app .pdf-expanded .post-category-navigation .btn:not(:disabled):hover{background:var(--ios-control-pressed)}
.ios-app .pdf-expanded .post-category-navigation .post-navigation-select{border:0;border-radius:22px;background-color:transparent;color:var(--ink);box-shadow:none;padding-inline-start:12px}
.ios-app .pdf-expanded .post-category-navigation :is(.btn,.post-navigation-select):focus-visible{outline:2px solid var(--ios-primary-fill);outline-offset:2px}
.pdf-expanded:has(.post-category-navigation) .pdf-canvas-wrapper{padding-bottom:calc(88px + var(--safe-bottom));scroll-padding-bottom:calc(88px + var(--safe-bottom))}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.ios-app .pdf-expanded .post-category-navigation{background:var(--ios-card);border-color:var(--muted);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.ios-app .pdf-expanded .post-category-navigation{background:Canvas;border-color:ButtonText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.ios-app .pdf-expanded .post-category-navigation :is(.btn,.post-navigation-select){color:ButtonText}.ios-app .pdf-expanded .post-category-navigation .btn:disabled{color:GrayText}}

/* Standalone reader: the document is the page, without an underlying post or modal. */
body.ios-app.document-reader-page{padding:0!important;overflow:hidden}
.document-reader-page #main{display:flex;flex-direction:column;width:100%;max-width:none;height:100dvh;min-height:0;margin:0;padding:0;overflow:hidden}
.document-reader-page .document-reader{flex:1;overflow:hidden}
.ios-app .document-reader .reader-toolbar{display:flex!important;flex-wrap:nowrap;gap:8px;margin:0!important;padding:calc(8px + var(--safe-top)) calc(12px + var(--safe-right)) 10px calc(12px + var(--safe-left));border:0;background:transparent;border-radius:0;z-index:3}
.ios-app .document-reader .reader-glass{border:1px solid var(--ios-glass-edge);background-color:var(--ios-glass);color:var(--ink);box-shadow:inset 0 1px 1px var(--ios-glass-highlight),var(--ios-shadow);backdrop-filter:blur(26px) saturate(130%);-webkit-backdrop-filter:blur(26px) saturate(130%)}
.ios-app .document-reader .reader-toolbar .btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border-radius:50%}
.ios-app .document-reader .reader-toolbar .pdf-zoom{flex:1;width:0;max-width:200px;min-width:0;height:44px;margin-right:auto;border-radius:24px;white-space:nowrap;padding-inline-start:14px}
.ios-app .document-reader.pdf-expanded .pdf-toolbar.reader-toolbar>.reader-more{display:block!important;flex:0 0 44px}
.document-reader .dropdown-item{min-height:44px;display:flex;align-items:center;white-space:normal}
.document-reader .reader-notice,.document-reader-page .offline-save-status{margin:0;padding:4px 16px;font-size:.8125rem}
.document-reader .pdf-canvas-wrapper{padding-bottom:calc(20px + var(--safe-bottom))}
.document-reader:has(.post-category-navigation) .pdf-canvas-wrapper{padding-bottom:calc(88px + var(--safe-bottom))}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.ios-app .document-reader .reader-glass{background-color:var(--ios-card);border-color:var(--muted);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.ios-app .document-reader .reader-glass{background-color:Canvas;color:ButtonText;border-color:ButtonText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}}

.pdf-scroll-page{position:relative}
.pdf-name-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.pdf-name-highlight{position:absolute;display:block;padding:0;background:var(--system-green,#30D158);opacity:.8;transform-origin:0 0;mix-blend-mode:multiply;border-radius:2px}
.pdf-name-highlight.is-current{opacity:1;outline:3px solid var(--ios-fill-ink,#1C1C1E);outline-offset:1px}
.pdf-name-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px 12px 8px;flex-shrink:0}
.pdf-name-tools .btn{min-width:44px;min-height:44px;border-radius:24px}
.pdf-name-tools .btn[hidden]{display:none}
.pdf-name-tools span{flex:1;min-width:100px}
@media(forced-colors:active){.pdf-name-highlight{forced-color-adjust:none;background:Highlight;opacity:.4}.pdf-name-highlight.is-current{outline-color:CanvasText}}

/* Installation is a profile page, with the same grouped rows and native disclosures. */
.install-page{max-width:760px}.install-summary>.ios-settings-icon{width:52px;height:52px;border-radius:15px;font-size:1.7rem}.install-summary p{font-size:var(--ios-font-body)}
.install-platform{border-bottom:1px solid var(--line)}.install-platform:last-child{border-bottom:0}.install-platform summary{list-style:none;border:0!important}.install-platform summary::-webkit-details-marker{display:none}.install-platform[open] summary>.ios-settings-chevron{transform:rotate(180deg)}
.install-steps{margin:0;padding:4px 24px 20px 54px}.install-steps li{padding:6px 0 6px 4px;line-height:1.5}.install-steps li::marker{color:var(--brand);font-weight:600}
.install-status{display:flex;align-items:center;gap:10px;padding:16px 20px;margin:0 0 24px;background:var(--ios-card);border:1px solid var(--line);border-radius:22px}.install-status::before{content:"\f26a";font-family:bootstrap-icons;color:var(--ios-success);font-size:1.25rem}
.install-page [hidden]{display:none!important}
