active_admin_prism 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 903311b452f71d21629d8bb53cd03722b1789a0fbab84f47920fd9347f03d98c
4
- data.tar.gz: 81382766724dea1283fa50481b421ee8394a2f1b310c3dcfa30ed9af6ffeede9
3
+ metadata.gz: 856ce99225e35f41d012115c829406cb1de886ef7d36af3aa5b9e12978afe057
4
+ data.tar.gz: f7698fb938f3ea46bb86496ce3f80cc7cfaa74fd887a9425b8b46b7711f38a13
5
5
  SHA512:
6
- metadata.gz: 58344d5b63d18fa7e24b0a3a8f3d4285c382a25c3b191016f9d4c02d640dc6a434a92822313056b6fe7eea2757c4358347eb3cc5f8b10e1dffdcec205434837b
7
- data.tar.gz: 69bc5e4f99226abf52f76ada12054cc6a1e8816bbda267b33aa537fdf1bebe99017005e1a1b03a56688bcf2978372480eb907e77ee55193ca47535e40b8caa5c
6
+ metadata.gz: add5ff5ce0bae255af731412b88af58dad8f9572323acf09f58ed8830253b44e13f269418a83ee796a50f0f19411ba7ea692893215e683379abd55acda003b9c
7
+ data.tar.gz: 4f4554adf93c92eb6cc090b7b7116b54bad8fdab489dfa84d59c5aded4f3282a40c2d864b6b01011d78dd786178a2d27042fc260eb73aa68f37917a9c91cc10c
data/CHANGELOG.md CHANGED
@@ -1,7 +1,16 @@
1
1
  # Changelog
2
2
 
3
- ## Unreleased
3
+ ## 0.1.1
4
4
 
5
+ - A search box renders at the top of the sidebar's "Pages" nav
6
+ (`config.menu_search`, default `true`), filtering menu items as you
7
+ type without a server round trip. Matching works at any nesting depth:
8
+ a submenu item that matches keeps its parent group visible and expanded
9
+ even though the parent's own label doesn't match; a parent whose own
10
+ label matches instead reveals its entire submenu, expanded, so you
11
+ never have to manually open a group to find something buried in a long
12
+ menu. Clearing the box (or the "x" button, or Escape) resets everything
13
+ back to its normal expand/collapse state.
5
14
  - **The shipped `prism.css`/`prism.js` are now minified.** `bin/build-css`
6
15
  compiles with `style: :compressed` instead of `:expanded`, and a new
7
16
  `bin/build-js` (backed by the `terser` dev dependency) minifies the real
data/INTEGRATION.md CHANGED
@@ -5,6 +5,11 @@ to — switching off `active_admin_prism` in a Rails app. For a quick
5
5
  start, see [README.md](README.md); this document goes deeper on every
6
6
  option and the reasoning behind it.
7
7
 
8
+ **Live demo:** [prism-demo.onrender.com/admin](https://prism-demo.onrender.com/admin) —
9
+ `admin@example.com` / `password`. Hosted on Render's free tier, so the
10
+ first request after a period of inactivity can take up to a minute to
11
+ spin up.
12
+
8
13
  ## Contents
9
14
 
10
15
  - [Requirements](#requirements)
data/README.md CHANGED
@@ -9,6 +9,19 @@ no manual asset manifest edits.
9
9
  (configuration reference, feature-by-feature usage, switching/disabling the
10
10
  theme, troubleshooting). This README is a quick start.
11
11
 
12
+ ## Live demo
13
+
14
+ A live demo dashboard is running at
15
+ **[prism-demo.onrender.com/admin](https://prism-demo.onrender.com/admin)**:
16
+
17
+ ```
18
+ Username: admin@example.com
19
+ Password: password
20
+ ```
21
+
22
+ The demo is hosted on Render's free tier, so the first request after a
23
+ period of inactivity can take up to a minute while the instance spins up.
24
+
12
25
  ## Requirements
13
26
 
14
27
  - ActiveAdmin `>= 3.0, < 4`
@@ -16,7 +29,6 @@ theme, troubleshooting). This README is a quick start.
16
29
  - Ruby `>= 3.1`
17
30
 
18
31
  ## Install
19
-
20
32
  Add to your Gemfile:
21
33
 
22
34
  ```ruby
@@ -1 +1 @@
1
- !function(){"use strict";function t(t){return a+t.id}function e(e,n){e.classList.toggle("open",n);try{window.localStorage.setItem(t(e),n?"1":"0")}catch(t){}}function n(e){e.querySelectorAll(".prism-nav-item.has-children").forEach(function(e){var n;try{n=window.localStorage.getItem(t(e))}catch(t){n=null}"1"===n?e.classList.add("open"):"0"===n&&e.classList.remove("open")})}function s(t){var n=t.target.closest("[data-prism-toggle]");if(n){var s=n.closest(".prism-nav-item");s&&e(s,!s.classList.contains("open"))}}function i(t){t.target.closest("[data-prism-toggle-sidebar]")&&document.body.classList.toggle("prism-sidebar-open")}var a="prism_sidebar_";document.addEventListener("DOMContentLoaded",function(){var t=document.getElementById("header");t&&t.classList.contains("prism-sidebar")&&(n(t),t.addEventListener("click",s),t.addEventListener("click",i))})}(),function(){"use strict";document.addEventListener("DOMContentLoaded",function(){if(!document.body.classList.contains("prism-styled-confirms-disabled")&&"undefined"!=typeof jQuery&&jQuery.rails&&window.ActiveAdmin&&window.ActiveAdmin.ModalDialog){var t=jQuery,e=t.rails.allowAction;t.rails.allowAction=function(n){var s=n.data("confirm");return s?n.closest(".batch_actions_selector").length?e.call(t.rails,n):n.data("prismConfirmed")?(n.removeData("prismConfirmed"),!0):(new window.ActiveAdmin.ModalDialog(s,{},function(){n.data("prismConfirmed",!0),n[0].click()}),!1):e.call(t.rails,n)}}})}(),function(){"use strict";function t(t,e){t.dataset.prismDismissed||(t.dataset.prismDismissed="true",t.style.transitionDuration=e+"ms",t.classList.add("prism-flash-hide"),setTimeout(function(){t.remove()},e))}var e=320;document.addEventListener("DOMContentLoaded",function(){var n=document.querySelector(".flashes"),s=document.querySelectorAll(".flashes .flash");if(s.length){var i=n&&parseInt(n.dataset.prismTransitionMs,10)||e,a=n&&parseInt(n.dataset.prismAutoDismissMs,10);a&&s.forEach(function(e){setTimeout(function(){t(e,i)},a)}),document.addEventListener("click",function(e){var n=e.target.closest("[data-prism-flash-dismiss]");n&&t(n.closest(".flash"),i)})}})}(),function(){"use strict";document.addEventListener("DOMContentLoaded",function(){function t(){var t=e.classList.toggle("open");n.setAttribute("aria-expanded",t?"true":"false"),document.body.classList.toggle("prism-filters-open",t)}if(!document.body.classList.contains("prism-filters-collapsible-disabled")){var e=document.getElementById("filters_sidebar_section");if(e){var n=e.querySelector(":scope > h3");n&&(n.setAttribute("role","button"),n.setAttribute("tabindex","0"),n.setAttribute("aria-expanded",e.classList.contains("open")?"true":"false"),document.body.classList.toggle("prism-filters-open",e.classList.contains("open")),n.addEventListener("click",t),n.addEventListener("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t())}))}}})}(),function(){"use strict";function t(t){document.querySelectorAll(".prism-sidebar-lang.open").forEach(function(e){if(e!==t){e.classList.remove("open");var n=e.querySelector(".prism-lang-toggle");n&&n.setAttribute("aria-expanded","false")}})}document.addEventListener("DOMContentLoaded",function(){function e(){var e=s.classList.toggle("open");n.setAttribute("aria-expanded",e?"true":"false"),e&&t(s)}var n=document.querySelector(".prism-lang-toggle");if(n){var s=n.closest(".prism-sidebar-lang");n.setAttribute("role","button"),n.setAttribute("tabindex","0"),n.addEventListener("click",function(t){t.stopPropagation(),e()}),n.addEventListener("keydown",function(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e())}),document.addEventListener("click",function(){t()})}})}();
1
+ !function(){"use strict";function e(e){return a+e.id}function t(t,n){t.classList.toggle("open",n);try{window.localStorage.setItem(e(t),n?"1":"0")}catch(e){}}function n(t){t.querySelectorAll(".prism-nav-item.has-children").forEach(function(t){var n;try{n=window.localStorage.getItem(e(t))}catch(e){n=null}"1"===n?t.classList.add("open"):"0"===n&&t.classList.remove("open")})}function s(e){var n=e.target.closest("[data-prism-toggle]");if(n){var s=n.closest(".prism-nav-item");s&&t(s,!s.classList.contains("open"))}}function i(e){e.target.closest("[data-prism-toggle-sidebar]")&&document.body.classList.toggle("prism-sidebar-open")}var a="prism_sidebar_";document.addEventListener("DOMContentLoaded",function(){var e=document.getElementById("header");e&&e.classList.contains("prism-sidebar")&&(n(e),e.addEventListener("click",s),e.addEventListener("click",i))})}(),function(){"use strict";function e(e){return(e||"").trim().toLowerCase()}function t(t){var n=t.querySelector(":scope > .prism-nav-link .prism-nav-label, :scope > .prism-nav-group-toggle .prism-nav-label");return n?e(n.textContent):""}function n(e){var t=e.querySelector(":scope > .prism-nav-submenu");return t?Array.prototype.filter.call(t.children,function(e){return e.classList.contains("prism-nav-item")}):[]}function s(e,i,a){var r=!!i&&-1!==t(e).indexOf(i),o=!1;n(e).forEach(function(e){s(e,i,a||r)&&(o=!0)});var c=!i||a||r||o;return e.classList.toggle("prism-nav-hidden",!c),e.classList.toggle("prism-search-open",!!i&&(r||o||a)),r||o}function i(e,t){var n=e.querySelector(".prism-sidebar-scroll > .prism-nav");if(n){var i=!1;Array.prototype.forEach.call(n.children,function(e){e.classList.contains("prism-nav-item")&&s(e,t,!1)&&(i=!0)});var a=e.querySelector(".prism-nav-empty");a&&a.classList.toggle("prism-nav-empty-visible",!!t&&!i);var r=e.querySelector("[data-prism-nav-search-clear]");r&&r.classList.toggle("prism-nav-search-clear-visible",!!t)}}document.addEventListener("DOMContentLoaded",function(){var t=document.getElementById("header");if(t&&t.classList.contains("prism-sidebar")){var n=t.querySelector("[data-prism-nav-search]");if(n){n.addEventListener("input",function(){i(t,e(n.value))}),n.addEventListener("keydown",function(e){"Escape"===e.key&&n.value&&(n.value="",i(t,""))});var s=t.querySelector("[data-prism-nav-search-clear]");s&&s.addEventListener("click",function(){n.value="",i(t,""),n.focus()})}}})}(),function(){"use strict";document.addEventListener("DOMContentLoaded",function(){if(!document.body.classList.contains("prism-styled-confirms-disabled")&&"undefined"!=typeof jQuery&&jQuery.rails&&window.ActiveAdmin&&window.ActiveAdmin.ModalDialog){var e=jQuery,t=e.rails.allowAction;e.rails.allowAction=function(n){var s=n.data("confirm");return s?n.closest(".batch_actions_selector").length?t.call(e.rails,n):n.data("prismConfirmed")?(n.removeData("prismConfirmed"),!0):(new window.ActiveAdmin.ModalDialog(s,{},function(){n.data("prismConfirmed",!0),n[0].click()}),!1):t.call(e.rails,n)}}})}(),function(){"use strict";function e(e,t){e.dataset.prismDismissed||(e.dataset.prismDismissed="true",e.style.transitionDuration=t+"ms",e.classList.add("prism-flash-hide"),setTimeout(function(){e.remove()},t))}var t=320;document.addEventListener("DOMContentLoaded",function(){var n=document.querySelector(".flashes"),s=document.querySelectorAll(".flashes .flash");if(s.length){var i=n&&parseInt(n.dataset.prismTransitionMs,10)||t,a=n&&parseInt(n.dataset.prismAutoDismissMs,10);a&&s.forEach(function(t){setTimeout(function(){e(t,i)},a)}),document.addEventListener("click",function(t){var n=t.target.closest("[data-prism-flash-dismiss]");n&&e(n.closest(".flash"),i)})}})}(),function(){"use strict";document.addEventListener("DOMContentLoaded",function(){function e(){var e=t.classList.toggle("open");n.setAttribute("aria-expanded",e?"true":"false"),document.body.classList.toggle("prism-filters-open",e)}if(!document.body.classList.contains("prism-filters-collapsible-disabled")){var t=document.getElementById("filters_sidebar_section");if(t){var n=t.querySelector(":scope > h3");n&&(n.setAttribute("role","button"),n.setAttribute("tabindex","0"),n.setAttribute("aria-expanded",t.classList.contains("open")?"true":"false"),document.body.classList.toggle("prism-filters-open",t.classList.contains("open")),n.addEventListener("click",e),n.addEventListener("keydown",function(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e())}))}}})}(),function(){"use strict";function e(e){document.querySelectorAll(".prism-sidebar-lang.open").forEach(function(t){if(t!==e){t.classList.remove("open");var n=t.querySelector(".prism-lang-toggle");n&&n.setAttribute("aria-expanded","false")}})}document.addEventListener("DOMContentLoaded",function(){function t(){var t=s.classList.toggle("open");n.setAttribute("aria-expanded",t?"true":"false"),t&&e(s)}var n=document.querySelector(".prism-lang-toggle");if(n){var s=n.closest(".prism-sidebar-lang");n.setAttribute("role","button"),n.setAttribute("tabindex","0"),n.addEventListener("click",function(e){e.stopPropagation(),t()}),n.addEventListener("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t())}),document.addEventListener("click",function(){e()})}})}();
@@ -1 +1 @@
1
- body{background:#f4f5f7;color:#384250;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}#active_admin_content h2,#active_admin_content h3{color:#1a1f36;font-weight:600}a{color:#6d5bd0}a:hover{color:#5949b8}#title_bar{background:transparent;border:none;box-shadow:none;text-shadow:none;padding:10px 10px 8px}#title_bar h2#page_title{color:#1a1f36;font-weight:700;font-size:1.6em;letter-spacing:-0.01em}#footer{color:#6b7280;font-size:0.85em;padding:10px;border-top:1px solid #e6e8ec}#footer a{color:#6b7280;text-decoration:underline}#footer a:hover{color:#6d5bd0}.flashes{padding:10px 10px 0}body.active_admin .flash{position:relative;display:flex;align-items:flex-start;gap:12px;background:#f4f5f7;border:1px solid #e6e8ec;border-left:3px solid #6b7280;border-radius:6px;box-shadow:none;text-shadow:none;color:#1a1f36;font-size:0.9em;font-weight:600;line-height:1.4;padding:10px 16px;margin-bottom:0;opacity:1;transform:translateY(0) scale(1);transition:opacity 320ms cubic-bezier(0.4, 0, 0.2, 1),transform 320ms cubic-bezier(0.4, 0, 0.2, 1)}body.active_admin .flash.prism-flash-hide{opacity:0;transform:translateY(-6px) scale(0.98)}body.active_admin .flash.flash_notice{background:#e8f9ee;border-left-color:#22c55e;color:#136e34}body.active_admin .flash.flash_error,body.active_admin .flash.flash_alert{background:#fdecec;border-left-color:#ef4444;color:#eb1515}.prism-flash-message{flex:1 1 auto}.prism-flash-dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-2px -4px -2px 0;padding:0;border:none;border-radius:6px;background:transparent !important;color:inherit !important;opacity:0.6;cursor:pointer;transition:opacity 120ms ease,background 120ms ease}.prism-flash-dismiss:hover{opacity:1;background:rgba(0,0,0,0.06) !important}.prism-flash-dismiss-icon{display:block;margin:0}.ui-widget-overlay{background:rgba(15,18,26,0.45)}.ui-dialog{background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);padding:0;overflow:hidden;outline:none}.ui-dialog:focus{outline:none}.ui-dialog .ui-dialog-titlebar{background:#fff;border:none;border-bottom:1px solid #e6e8ec;box-shadow:none;text-shadow:none;color:#1a1f36;font-weight:700;padding:16px 20px}.ui-dialog .ui-dialog-titlebar span{color:inherit}.ui-dialog form{padding:0}.ui-dialog ul{margin:0;padding:0}.ui-dialog ul li{padding:10px 20px;margin:0}.ui-dialog label{color:#384250;font-weight:600}.ui-dialog .ui-dialog-buttonpane{background:#f4f5f7;padding:12px 20px;display:flex;justify-content:flex-end;gap:8px}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{display:flex;gap:8px}.ui-dialog .ui-dialog-buttonpane button,.ui-dialog .ui-dialog-buttonset button{margin:0}.ui-dialog .ui-dialog-buttonpane button:first-child,.ui-dialog .ui-dialog-buttonset button:first-child{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease}.ui-dialog .ui-dialog-buttonpane button:first-child:hover,.ui-dialog .ui-dialog-buttonset button:first-child:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}.ui-dialog .ui-dialog-buttonpane button:first-child:active,.ui-dialog .ui-dialog-buttonset button:first-child:active{background:#5949b8 !important;box-shadow:none}.ui-dialog .ui-dialog-buttonpane button:last-child,.ui-dialog .ui-dialog-buttonset button:last-child{background:#fff !important;background-image:none !important;border:1px solid #d6d9e0;border-radius:6px;color:#384250 !important;text-shadow:none;box-shadow:none;font-weight:600;padding:8px 15px;transition:background 120ms ease,border-color 120ms ease}.ui-dialog .ui-dialog-buttonpane button:last-child:hover,.ui-dialog .ui-dialog-buttonset button:last-child:hover{background:#f4f5f7 !important;border-color:#6b7280;color:#1a1f36 !important}.ui-dialog .ui-dialog-buttonpane button:last-child:active,.ui-dialog .ui-dialog-buttonset button:last-child:active{background:#f4f5f7 !important;box-shadow:none}.breadcrumb{font-size:0.85em;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;color:#6b7280;margin-bottom:6px}.breadcrumb a,.breadcrumb a:link,.breadcrumb a:visited,.breadcrumb a:active{color:#6b7280;text-decoration:none}.breadcrumb a:hover,.breadcrumb a:link:hover,.breadcrumb a:visited:hover,.breadcrumb a:active:hover{color:#6d5bd0;text-decoration:none}.breadcrumb .breadcrumb_sep{color:#d6d9e0}body:not(.logged_out) #wrapper,body.index:not(.logged_out) #wrapper{display:grid;grid-template-columns:264px 1fr;grid-template-rows:auto auto auto 1fr auto;min-height:100vh;width:100%}#header.prism-sidebar{grid-column:1;grid-row:1 / -1;display:flex;background:#fff !important;background-image:none !important;border-right:1px solid #e6e8ec;padding:0;height:auto;width:264px;position:sticky;top:0;align-self:stretch;max-height:100vh;overflow:hidden;z-index:100;text-shadow:none !important;box-shadow:none !important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#title_bar{grid-column:2;grid-row:2}.flashes{grid-column:2;grid-row:3;align-self:start}#active_admin_content{grid-column:2;grid-row:4;min-width:0;padding:10px}body:not(.prism-sidebar-footer-disabled) #footer{display:none}#header.prism-sidebar .prism-sidebar-inner{display:flex;flex-direction:column;width:100%;height:100%;max-height:100vh}#header.prism-sidebar .prism-sidebar-brand{flex:0 0 auto;padding:20px 24px;border-bottom:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-brand #site_title{margin:0;padding:0;font-size:1.15em;font-weight:700;color:#1a1f36}#header.prism-sidebar .prism-sidebar-brand #site_title a{color:inherit;text-decoration:none}#header.prism-sidebar .prism-sidebar-lang{position:relative;flex:0 0 auto;padding:10px 12px;border-bottom:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-lang.open .prism-chevron{transform:rotate(180deg)}#header.prism-sidebar .prism-sidebar-lang.open .prism-lang-menu{display:block}#header.prism-sidebar .prism-lang-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:6px;color:#384250;font-size:0.85em;font-weight:600;cursor:pointer;user-select:none;transition:background 120ms ease}#header.prism-sidebar .prism-lang-toggle:hover{background:#f4f5f7}#header.prism-sidebar .prism-lang-toggle .prism-nav-icon{flex:0 0 auto;color:#6b7280}#header.prism-sidebar .prism-lang-toggle .prism-chevron{flex:0 0 auto;margin-left:auto;transition:transform 120ms ease}#header.prism-sidebar .prism-lang-current{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header.prism-sidebar .prism-lang-menu{display:none;list-style:none;margin:4px 0 0;padding:4px;position:absolute;left:12px;right:12px;z-index:50;background:#fff;border:1px solid #e6e8ec;border-radius:6px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08)}#header.prism-sidebar .prism-lang-menu li{margin:0}#header.prism-sidebar .prism-lang-option{display:block;padding:8px 10px;border-radius:6px;color:#384250;font-size:0.85em;font-weight:600;text-decoration:none}#header.prism-sidebar .prism-lang-option:hover{background:#f4f5f7}#header.prism-sidebar .prism-lang-option.active{background:#f2ecfd;color:#5949b8}#header.prism-sidebar .prism-sidebar-scroll{flex:1 1 auto;overflow-y:auto;padding:20px 12px}#header.prism-sidebar .prism-sidebar-utility{flex:0 0 auto;padding:12px;border-top:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-utility ul.prism-nav-utility{background:#f4f5f7;border-radius:10px;padding:4px}#header.prism-sidebar .prism-sidebar-utility .prism-nav-item{margin:0}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link{padding:10px 10px 6px;font-weight:600;color:#1a1f36;font-size:0.88em}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link:hover{background:transparent}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link .prism-nav-label{white-space:normal;word-break:break-word}#header.prism-sidebar .prism-sidebar-utility #prism_nav_logout>.prism-nav-link{padding:6px 10px 8px;font-size:0.85em;color:#6b7280}#header.prism-sidebar .prism-sidebar-utility #prism_nav_logout>.prism-nav-link:hover{color:#ef4444;background:transparent}#header.prism-sidebar .prism-sidebar-footer{flex:0 0 auto;padding:10px 16px;border-top:1px solid #e6e8ec;color:#6b7280;font-size:0.72em;line-height:1.4;text-align:center}#header.prism-sidebar .prism-sidebar-footer a{color:#6b7280;text-decoration:underline}#header.prism-sidebar .prism-sidebar-footer a:hover{color:#6d5bd0}#header.prism-sidebar .prism-nav-section-label{padding:0 12px 8px;font-size:0.72em;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#6b7280}#header.prism-sidebar ul.prism-nav{list-style:none;margin:0;padding:0}#header.prism-sidebar .prism-nav-item{margin:2px 0}#header.prism-sidebar .prism-nav-item>.prism-nav-link,#header.prism-sidebar .prism-nav-item>.prism-nav-group-toggle{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:#1a1f36;font-size:0.92em;font-weight:600;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background 120ms ease,color 120ms ease}#header.prism-sidebar .prism-nav-item>.prism-nav-link:hover,#header.prism-sidebar .prism-nav-item>.prism-nav-group-toggle:hover{background:#f4f5f7;color:#1a1f36}#header.prism-sidebar .prism-nav-item.active>.prism-nav-link,#header.prism-sidebar .prism-nav-item.active>.prism-nav-group-toggle{background:#f2ecfd;color:#5949b8;font-weight:700}#header.prism-sidebar .prism-nav-item .prism-nav-icon{flex:0 0 auto;color:inherit}#header.prism-sidebar .prism-nav-item .prism-nav-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header.prism-sidebar .prism-nav-item .prism-chevron{flex:0 0 auto;transition:transform 120ms ease}#header.prism-sidebar .prism-nav-item.open>.prism-nav-group-toggle .prism-chevron{transform:rotate(180deg)}#header.prism-sidebar .prism-nav-item .prism-nav-submenu{list-style:none;margin:2px 0 2px 30px;padding:0;display:none}#header.prism-sidebar .prism-nav-item.open>.prism-nav-submenu{display:block}#header.prism-sidebar .prism-nav-item.has-children>.prism-nav-submenu .prism-nav-item>.prism-nav-link{font-size:0.88em}#header.prism-sidebar .prism-nav-utility .prism-nav-item>.prism-nav-link,#header.prism-sidebar .prism-nav-utility .prism-nav-item>.prism-nav-group-toggle{color:#6b7280}#header.prism-sidebar .nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;border-radius:999px;background:#6d5bd0;color:#fff;font-size:0.72em;font-weight:700;line-height:20px}.prism-sidebar-mobile-toggle{display:none}@media (max-width: 900px){.prism-sidebar-mobile-toggle{display:flex;align-items:center;justify-content:center;position:fixed;top:14px;left:14px;width:38px;height:38px;border-radius:6px;background:#fff;color:#384250;box-shadow:0 1px 2px rgba(16,24,40,0.04), 0 1px 6px rgba(16,24,40,0.04);cursor:pointer;z-index:200}#wrapper,.index #wrapper{grid-template-columns:1fr}#header.prism-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform 120ms ease;box-shadow:0 4px 6px rgba(16,24,40,0.05), 0 10px 24px rgba(16,24,40,0.08)}#title_bar,.flashes,#active_admin_content,#footer{grid-column:1}body.prism-sidebar-open #header.prism-sidebar{transform:translateX(0)}}.panel{background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px;overflow:hidden}.panel>h3{margin:0;padding:16px 20px;background:transparent;border-bottom:1px solid #e6e8ec;color:#1a1f36;font-size:1em;font-weight:600}.panel .panel_contents{padding:20px}.panel .header_action{float:right}.columns{display:flex;flex-wrap:wrap;gap:20px;margin:0}.columns .column{flex:1 1 260px;min-width:0}#sidebar{box-sizing:border-box;overflow-x:hidden}#sidebar .panel{box-sizing:border-box}#active_admin_content #main_content_wrapper #main_content,#active_admin_content #sidebar{transition:margin-right 280ms cubic-bezier(0.4, 0, 0.2, 1),width 280ms cubic-bezier(0.4, 0, 0.2, 1),margin-left 280ms cubic-bezier(0.4, 0, 0.2, 1)}body:has(.prism-collapsible-panel):not(.prism-filters-open) #active_admin_content:not(.without_sidebar) #main_content_wrapper #main_content{margin-right:72px}body:has(.prism-collapsible-panel):not(.prism-filters-open) #active_admin_content #sidebar{width:72px;margin-left:-72px}.prism-collapsible-panel{background:transparent;border-color:transparent;box-shadow:none;margin-bottom:10px;transition:background 120ms ease,border-color 120ms ease,box-shadow 120ms ease,margin 120ms ease}.prism-collapsible-panel>h3{display:flex;align-items:center;gap:8px;width:40px;height:40px;margin:0 0 0 auto;padding:0;justify-content:center;border:1px solid #e6e8ec;border-radius:6px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);color:#1a1f36;cursor:pointer;user-select:none;overflow:hidden;transition:width 120ms ease,padding 120ms ease,justify-content 120ms ease,background 120ms ease,border-color 120ms ease}.prism-collapsible-panel>h3:hover{background:#f2ecfd;color:#5949b8}.prism-collapsible-panel .prism-filter-icon{flex:0 0 auto;order:-1}.prism-collapsible-panel .prism-filter-label{max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width 200ms ease, opacity 150ms ease}.prism-collapsible-panel .panel_contents{overflow:hidden;max-height:0;opacity:0;padding-top:0;padding-bottom:0;transition:max-height 280ms cubic-bezier(0.4, 0, 0.2, 1),opacity 200ms ease,padding 200ms ease}.prism-collapsible-panel.open{background:#fff;border-color:#e6e8ec;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px}.prism-collapsible-panel.open>h3{width:100%;height:auto;margin:0;justify-content:flex-start;padding:16px 20px;border:none;border-bottom:1px solid #e6e8ec;background:transparent;box-shadow:none;color:#1a1f36;border-radius:0}.prism-collapsible-panel.open>h3:hover{background:transparent;color:#1a1f36}.prism-collapsible-panel.open .prism-filter-label{max-width:200px;opacity:1}.prism-collapsible-panel.open .panel_contents{max-height:1200px;opacity:1;padding-top:20px;padding-bottom:20px}body.prism-filters-collapsible-disabled .prism-collapsible-panel{background:#fff;border-color:#e6e8ec;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px}body.prism-filters-collapsible-disabled .prism-collapsible-panel>h3{width:100%;height:auto;margin:0;justify-content:flex-start;padding:16px 20px;border:none;border-bottom:1px solid #e6e8ec;box-shadow:none;cursor:default}body.prism-filters-collapsible-disabled .prism-collapsible-panel .panel_contents{max-height:none;opacity:1;overflow:visible;padding:20px}.blank_slate_container .blank_slate{background:#fff;border:1px dashed #d6d9e0;border-radius:10px;color:#6b7280;font-weight:600;box-shadow:none}.comments .active_admin_comment_meta{color:#6b7280}.comments .active_admin_comment_meta .active_admin_comment_author{color:#1a1f36}.paginated_collection_contents{overflow-x:auto}table.index_table{background:#fff;border:1px solid #e6e8ec;border-radius:10px;border-spacing:0;border-collapse:separate;overflow:hidden}table.index_table th,table.index_table td{padding:12px 16px}table.index_table th{background:#f4f5f7;color:#6b7280;font-size:0.78em;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;border:none;border-bottom:1px solid #e6e8ec;white-space:nowrap}table.index_table th a{white-space:nowrap}table.index_table th:last-child{border-right:none}table.index_table th.sorted-asc,table.index_table th.sorted-desc{background:#f4f5f7}table.index_table td{border-bottom:1px solid #e6e8ec;color:#384250}table.index_table tr:last-child td{border-bottom:none}table.index_table tr.even td{background:transparent}table.index_table tr.selected td{background:#f2ecfd}table.index_table tbody tr:hover td{background:#f4f5f7}table.index_table td.col-actions{white-space:nowrap}.table_actions{display:flex;align-items:center;gap:4px}.table_actions a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;transition:background 120ms ease,color 120ms ease}.table_actions a.view_link{color:#3b82f6}.table_actions a.view_link:hover{background:rgba(59,130,246,0.12);color:#0b63f3}.table_actions a.edit_link{color:#6d5bd0}.table_actions a.edit_link:hover{background:#f2ecfd;color:#5949b8}.table_actions a.delete_link{color:#ef4444}.table_actions a.delete_link:hover{background:#fdecec;color:#eb1515}.table_actions .prism-action-icon{margin:0}.status_tag{border-radius:999px;background:#d6d9e0;color:#1a1f36;text-transform:none;letter-spacing:0;font-weight:600;padding:3px 10px}.status_tag.yes{background:#e8f9ee;color:#17843f}.status_tag.no{background:#fdecec;color:#ed2d2d}form fieldset.inputs{background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:20px}form fieldset legend span{color:#1a1f36;font-weight:700;font-size:1.05em;text-transform:none;letter-spacing:normal}form fieldset ol>li label{color:#384250;font-weight:600;font-size:0.9em}form input[type="text"],form input[type="password"],form input[type="email"],form input[type="number"],form input[type="url"],form input[type="tel"],form input[type="date"],form input[type="time"],form input[type="search"],form select,form textarea{border:1px solid #d6d9e0;border-radius:6px;color:#1a1f36;padding:9px 12px;box-shadow:none;transition:border-color 120ms ease,box-shadow 120ms ease}form input[type="text"]:focus,form input[type="password"]:focus,form input[type="email"]:focus,form input[type="number"]:focus,form input[type="url"]:focus,form input[type="tel"]:focus,form input[type="date"]:focus,form input[type="time"]:focus,form input[type="search"]:focus,form select:focus,form textarea:focus{border-color:#6d5bd0;box-shadow:0 0 0 3px rgba(109,91,208,0.15)}form fieldset>ol>li.error input[type="text"],form fieldset>ol>li.error input[type="password"],form fieldset>ol>li.error input[type="email"],form fieldset>ol>li.error input[type="number"],form fieldset>ol>li.error input[type="url"],form fieldset>ol>li.error input[type="tel"],form fieldset>ol>li.error textarea,form fieldset>ol>li.error select{border-color:#ef4444}form fieldset>ol>li.error input[type="text"]:focus,form fieldset>ol>li.error input[type="password"]:focus,form fieldset>ol>li.error input[type="email"]:focus,form fieldset>ol>li.error input[type="number"]:focus,form fieldset>ol>li.error input[type="url"]:focus,form fieldset>ol>li.error input[type="tel"]:focus,form fieldset>ol>li.error textarea:focus,form fieldset>ol>li.error select:focus{box-shadow:0 0 0 3px rgba(239,68,68,0.15)}form fieldset>ol>li p.inline-errors{color:#ef4444;font-weight:600}form ul.errors{background:#fdecec;color:#ef4444;border-radius:6px}form input[type="checkbox"],form input[type="radio"]{appearance:none;position:relative;width:18px;height:18px;margin:0 8px 0 0;border:1px solid #d6d9e0;background:#fff;vertical-align:middle;cursor:pointer;flex:0 0 auto}form input[type="checkbox"]:checked,form input[type="radio"]:checked{background:#6d5bd0;border-color:#6d5bd0}form input[type="checkbox"]:checked::after,form input[type="radio"]:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}form input[type="checkbox"]:focus-visible,form input[type="radio"]:focus-visible{box-shadow:0 0 0 3px rgba(109,91,208,0.2)}form input[type="checkbox"]{border-radius:5px}form input[type="radio"]{border-radius:50%}form input[type="radio"]:checked::after{left:5px;top:5px;width:6px;height:6px;border:none;border-radius:50%;background:#fff;transform:none}form fieldset>ol>li.boolean label{display:flex;align-items:center}form label.prism-toggle{display:flex;align-items:center;gap:10px}form label.prism-toggle input.prism-toggle-input{appearance:none;position:relative;width:0;height:0;margin:0;border:none}form label.prism-toggle input.prism-toggle-input:checked~.prism-toggle-track{background:#6d5bd0}form label.prism-toggle input.prism-toggle-input:checked~.prism-toggle-track::after{transform:translateX(16px)}form .buttons input[type="submit"],form .buttons input[type="button"],form .buttons button,form .actions input[type="submit"],form .actions input[type="button"],form .actions button{margin-right:10px}.prism-toggle-track{position:relative;display:inline-block;width:38px;height:22px;border-radius:999px;background:#d6d9e0;transition:background 120ms ease;flex:0 0 auto}.prism-toggle-track::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,0.25);transition:transform 120ms ease}.prism-toggle-tag{display:inline-flex;align-items:center;vertical-align:middle}.prism-toggle-tag.on .prism-toggle-track{background:#6d5bd0}.prism-toggle-tag.on .prism-toggle-track::after{transform:translateX(16px)}.sidebar_section label{color:#6b7280;font-size:0.72em;font-weight:700;letter-spacing:0.06em}.sidebar_section select,.sidebar_section input[type="text"],.sidebar_section input[type="number"]{box-sizing:border-box;width:100%;max-width:100%}form.filter_form .filter_form_field{margin-bottom:14px}form.filter_form .filter_form_field.select_and_search{display:flex;gap:8px}form.filter_form .filter_form_field.select_and_search select,form.filter_form .filter_form_field.select_and_search input[type="text"]{width:auto;min-width:0;flex:1 1 0;margin-left:0}form.filter_form .filter_form_field.filter_date_range{display:flex;gap:8px}form.filter_form .filter_form_field.filter_date_range input[type="text"]{width:auto;min-width:0;flex:1 1 0}form.filter_form .filter_form_field.filter_date_range input[type="text"]+input{margin-left:0}a.button,a.button:link,a.button:visited,input[type="submit"],input[type="button"],button,form input[type="submit"],form input[type="button"],form button{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease}a.button:hover,a.button:link:hover,a.button:visited:hover,input[type="submit"]:hover,input[type="button"]:hover,button:hover,form input[type="submit"]:hover,form input[type="button"]:hover,form button:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}a.button:active,a.button:link:active,a.button:visited:active,input[type="submit"]:active,input[type="button"]:active,button:active,form input[type="submit"]:active,form input[type="button"]:active,form button:active{background:#5949b8 !important;box-shadow:none}a.button.danger,input.danger[type="submit"],form input.danger[type="submit"]{background:#ef4444;border-color:#ef4444}a.button.danger:hover,input.danger[type="submit"]:hover,form input.danger[type="submit"]:hover{background:#ec1e1e;border-color:#ec1e1e}#title_bar .action_items span.action_item>a,#title_bar .action_items span.action_item>.dropdown_menu>a{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease;padding:9px 16px;margin:0}#title_bar .action_items span.action_item>a:hover,#title_bar .action_items span.action_item>.dropdown_menu>a:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}#title_bar .action_items span.action_item>a:active,#title_bar .action_items span.action_item>.dropdown_menu>a:active{background:#5949b8 !important;box-shadow:none}.dropdown_menu .dropdown_menu_button,form.filter_form a.clear_filters_btn,fieldset.buttons li.cancel a,fieldset.actions li.cancel a,.pagination a,.pagination span.page.current,.pagination_per_page select{background:#fff !important;background-image:none !important;border:1px solid #d6d9e0;border-radius:6px;color:#384250 !important;text-shadow:none;box-shadow:none;font-weight:600;padding:8px 15px;transition:background 120ms ease,border-color 120ms ease}.dropdown_menu .dropdown_menu_button:hover,form.filter_form a.clear_filters_btn:hover,fieldset.buttons li.cancel a:hover,fieldset.actions li.cancel a:hover,.pagination a:hover,.pagination span.page.current:hover,.pagination_per_page select:hover{background:#f4f5f7 !important;border-color:#6b7280;color:#1a1f36 !important}.dropdown_menu .dropdown_menu_button:active,form.filter_form a.clear_filters_btn:active,fieldset.buttons li.cancel a:active,fieldset.actions li.cancel a:active,.pagination a:active,.pagination span.page.current:active,.pagination_per_page select:active{background:#f4f5f7 !important;box-shadow:none}.dropdown_menu .dropdown_menu_button{padding-right:26px !important}.dropdown_menu .dropdown_menu_button::before,.dropdown_menu .dropdown_menu_button::after{border-color:#6b7280 transparent}.dropdown_menu_list_wrapper{border-radius:6px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);border:1px solid #e6e8ec;background:#fff;padding:4px}.dropdown_menu_list_wrapper .dropdown_menu_list{background:transparent;border:none;box-shadow:none;border-radius:0}.dropdown_menu_list_wrapper .dropdown_menu_list li{border-bottom:none}.dropdown_menu_list_wrapper .dropdown_menu_list li a{border-radius:6px;color:#384250;font-weight:600;text-align:left;text-shadow:none;padding:8px 12px}.dropdown_menu_list_wrapper .dropdown_menu_list li a:hover,.dropdown_menu_list_wrapper .dropdown_menu_list li a:active{background:#f2ecfd;color:#5949b8;text-shadow:none}.dropdown_menu_list_wrapper .dropdown_menu_list li:first-child a,.dropdown_menu_list_wrapper .dropdown_menu_list li:last-child a{border-radius:6px}.pagination a,.pagination span.page.current{border-radius:6px;margin-right:4px;padding:5px 11px}.pagination span.page.current{background:#f2ecfd;border-color:#f2ecfd;color:#5949b8}.pagination_information{color:#6b7280}.pagination_information b{color:#1a1f36}.prism-icon,.prism-nav-icon,.prism-chevron,.prism-action-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.prism-icon{margin-right:6px}.prism-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}body.logged_out:has(.prism-login-brand){min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f5f7;overflow:hidden;position:relative}body.logged_out:has(.prism-login-brand)::before,body.logged_out:has(.prism-login-brand)::after{content:"";position:fixed;z-index:0;border-radius:50%;filter:blur(70px);opacity:0.35;pointer-events:none}body.logged_out:has(.prism-login-brand)::before{width:420px;height:420px;top:-140px;left:-120px;background:radial-gradient(circle at 30% 30%, #6d5bd0, transparent 70%);animation:prism-login-blob-a 16s ease-in-out infinite}body.logged_out:has(.prism-login-brand)::after{width:360px;height:360px;bottom:-120px;right:-100px;background:radial-gradient(circle at 70% 70%, #f2ecfd, transparent 70%);animation:prism-login-blob-b 18s ease-in-out infinite}body.logged_out:has(.prism-login-brand) #wrapper{position:relative;z-index:1;display:block;min-height:0;width:auto}body.logged_out:has(.prism-login-brand) #content_wrapper{display:flex;flex-direction:column;align-items:center;width:400px;max-width:90vw;margin:0 auto}body.logged_out:has(.prism-login-brand) .flashes{width:100%;padding:0 0 10px}body.logged_out:has(.prism-login-brand) #active_admin_content{width:100%;box-sizing:border-box;background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);padding:40px 36px 32px}body.logged_out:has(.prism-login-brand) #footer{position:relative;z-index:1;border-top:none;text-align:center}body.logged_out:has(.prism-login-brand) #login fieldset.inputs{border:none;border-radius:0}body.logged_out:has(.prism-login-brand) #login fieldset.actions{margin-top:4px;text-align:center}body.logged_out:has(.prism-login-brand) #login fieldset.actions li{float:none}body.logged_out:has(.prism-login-brand) #login fieldset.actions li.input_action{padding:20px 0;margin-left:30px;margin-bottom:15px}body.logged_out:has(.prism-login-brand) #login fieldset.actions input[type="submit"]{display:inline-block;width:auto;min-width:200px;padding:12px 28px;font-size:0.95em}body.logged_out:has(.prism-login-brand) #error_explanation{background:#fdecec;border:1px solid rgba(239,68,68,0.3);border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#eb1515}body.logged_out:has(.prism-login-brand) #error_explanation h2{background:none !important;box-shadow:none !important;text-shadow:none !important;border:none !important;margin:0 0 6px !important;padding:0 !important;color:inherit;font-size:0.95em;font-weight:700}body.logged_out:has(.prism-login-brand) #error_explanation ul{margin:0;padding-left:18px;font-size:0.88em;font-weight:600}@keyframes prism-login-blob-a{0%,100%{transform:translate(0, 0) scale(1)}50%{transform:translate(60px, 40px) scale(1.1)}}@keyframes prism-login-blob-b{0%,100%{transform:translate(0, 0) scale(1)}50%{transform:translate(-50px, -30px) scale(1.08)}}.prism-login-brand{text-align:center;margin-bottom:28px}.prism-login-logo{width:64px;height:64px;margin:0 auto 14px;color:#6d5bd0}.prism-login-mark{display:block;width:100%;height:100%}.prism-login-beam{stroke-dasharray:40;animation:prism-login-beam-flow 2.4s linear infinite}@keyframes prism-login-beam-flow{to{stroke-dashoffset:-80}}.prism-login-tri{transform-origin:center;animation:prism-login-tri-glow 3.2s ease-in-out infinite}@keyframes prism-login-tri-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}50%{filter:drop-shadow(0 0 6px rgba(109,91,208,0.45))}}body.logged_out #login .prism-login-brand h2{background:none !important;box-shadow:none !important;text-shadow:none !important;border:none !important;margin:0 !important;padding:0 !important;color:#1a1f36}.prism-login-title{font-size:1.6em;font-weight:800;letter-spacing:-0.01em}.prism-login-tagline{margin:4px 0 0;color:#6b7280;font-size:0.9em}.prism-login-links{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;text-align:center}.prism-login-links a{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid #e6e8ec;border-radius:999px;background:#f4f5f7;color:#384250;font-size:0.82em;font-weight:600;text-decoration:none;transition:background 120ms ease,border-color 120ms ease,color 120ms ease}.prism-login-links a:hover{background:#f2ecfd;border-color:#6d5bd0;color:#5949b8}.prism-login-links br{display:none}
1
+ body{background:#f4f5f7;color:#384250;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}#active_admin_content h2,#active_admin_content h3{color:#1a1f36;font-weight:600}a{color:#6d5bd0}a:hover{color:#5949b8}#title_bar{background:transparent;border:none;box-shadow:none;text-shadow:none;padding:10px 10px 8px}#title_bar h2#page_title{color:#1a1f36;font-weight:700;font-size:1.6em;letter-spacing:-0.01em}#footer{color:#6b7280;font-size:0.85em;padding:10px;border-top:1px solid #e6e8ec}#footer a{color:#6b7280;text-decoration:underline}#footer a:hover{color:#6d5bd0}.flashes{padding:10px 10px 0}body.active_admin .flash{position:relative;display:flex;align-items:flex-start;gap:12px;background:#f4f5f7;border:1px solid #e6e8ec;border-left:3px solid #6b7280;border-radius:6px;box-shadow:none;text-shadow:none;color:#1a1f36;font-size:0.9em;font-weight:600;line-height:1.4;padding:10px 16px;margin-bottom:0;opacity:1;transform:translateY(0) scale(1);transition:opacity 320ms cubic-bezier(0.4, 0, 0.2, 1),transform 320ms cubic-bezier(0.4, 0, 0.2, 1)}body.active_admin .flash.prism-flash-hide{opacity:0;transform:translateY(-6px) scale(0.98)}body.active_admin .flash.flash_notice{background:#e8f9ee;border-left-color:#22c55e;color:#136e34}body.active_admin .flash.flash_error,body.active_admin .flash.flash_alert{background:#fdecec;border-left-color:#ef4444;color:#eb1515}.prism-flash-message{flex:1 1 auto}.prism-flash-dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-2px -4px -2px 0;padding:0;border:none;border-radius:6px;background:transparent !important;color:inherit !important;opacity:0.6;cursor:pointer;transition:opacity 120ms ease,background 120ms ease}.prism-flash-dismiss:hover{opacity:1;background:rgba(0,0,0,0.06) !important}.prism-flash-dismiss-icon{display:block;margin:0}.ui-widget-overlay{background:rgba(15,18,26,0.45)}.ui-dialog{background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);padding:0;overflow:hidden;outline:none}.ui-dialog:focus{outline:none}.ui-dialog .ui-dialog-titlebar{background:#fff;border:none;border-bottom:1px solid #e6e8ec;box-shadow:none;text-shadow:none;color:#1a1f36;font-weight:700;padding:16px 20px}.ui-dialog .ui-dialog-titlebar span{color:inherit}.ui-dialog form{padding:0}.ui-dialog ul{margin:0;padding:0}.ui-dialog ul li{padding:10px 20px;margin:0}.ui-dialog label{color:#384250;font-weight:600}.ui-dialog .ui-dialog-buttonpane{background:#f4f5f7;padding:12px 20px;display:flex;justify-content:flex-end;gap:8px}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{display:flex;gap:8px}.ui-dialog .ui-dialog-buttonpane button,.ui-dialog .ui-dialog-buttonset button{margin:0}.ui-dialog .ui-dialog-buttonpane button:first-child,.ui-dialog .ui-dialog-buttonset button:first-child{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease}.ui-dialog .ui-dialog-buttonpane button:first-child:hover,.ui-dialog .ui-dialog-buttonset button:first-child:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}.ui-dialog .ui-dialog-buttonpane button:first-child:active,.ui-dialog .ui-dialog-buttonset button:first-child:active{background:#5949b8 !important;box-shadow:none}.ui-dialog .ui-dialog-buttonpane button:last-child,.ui-dialog .ui-dialog-buttonset button:last-child{background:#fff !important;background-image:none !important;border:1px solid #d6d9e0;border-radius:6px;color:#384250 !important;text-shadow:none;box-shadow:none;font-weight:600;padding:8px 15px;transition:background 120ms ease,border-color 120ms ease}.ui-dialog .ui-dialog-buttonpane button:last-child:hover,.ui-dialog .ui-dialog-buttonset button:last-child:hover{background:#f4f5f7 !important;border-color:#6b7280;color:#1a1f36 !important}.ui-dialog .ui-dialog-buttonpane button:last-child:active,.ui-dialog .ui-dialog-buttonset button:last-child:active{background:#f4f5f7 !important;box-shadow:none}.breadcrumb{font-size:0.85em;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;color:#6b7280;margin-bottom:6px}.breadcrumb a,.breadcrumb a:link,.breadcrumb a:visited,.breadcrumb a:active{color:#6b7280;text-decoration:none}.breadcrumb a:hover,.breadcrumb a:link:hover,.breadcrumb a:visited:hover,.breadcrumb a:active:hover{color:#6d5bd0;text-decoration:none}.breadcrumb .breadcrumb_sep{color:#d6d9e0}body:not(.logged_out) #wrapper,body.index:not(.logged_out) #wrapper{display:grid;grid-template-columns:264px 1fr;grid-template-rows:auto auto auto 1fr auto;min-height:100vh;width:100%}#header.prism-sidebar{grid-column:1;grid-row:1 / -1;display:flex;background:#fff !important;background-image:none !important;border-right:1px solid #e6e8ec;padding:0;height:auto;width:264px;position:sticky;top:0;align-self:stretch;max-height:100vh;overflow:hidden;z-index:100;text-shadow:none !important;box-shadow:none !important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#title_bar{grid-column:2;grid-row:2}.flashes{grid-column:2;grid-row:3;align-self:start}#active_admin_content{grid-column:2;grid-row:4;min-width:0;padding:10px}body:not(.prism-sidebar-footer-disabled) #footer{display:none}#header.prism-sidebar .prism-sidebar-inner{display:flex;flex-direction:column;width:100%;height:100%;max-height:100vh}#header.prism-sidebar .prism-sidebar-brand{flex:0 0 auto;padding:20px 24px;border-bottom:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-brand #site_title{margin:0;padding:0;font-size:1.15em;font-weight:700;color:#1a1f36}#header.prism-sidebar .prism-sidebar-brand #site_title a{color:inherit;text-decoration:none}#header.prism-sidebar .prism-sidebar-lang{position:relative;flex:0 0 auto;padding:10px 12px;border-bottom:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-lang.open .prism-chevron{transform:rotate(180deg)}#header.prism-sidebar .prism-sidebar-lang.open .prism-lang-menu{display:block}#header.prism-sidebar .prism-lang-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:6px;color:#384250;font-size:0.85em;font-weight:600;cursor:pointer;user-select:none;transition:background 120ms ease}#header.prism-sidebar .prism-lang-toggle:hover{background:#f4f5f7}#header.prism-sidebar .prism-lang-toggle .prism-nav-icon{flex:0 0 auto;color:#6b7280}#header.prism-sidebar .prism-lang-toggle .prism-chevron{flex:0 0 auto;margin-left:auto;transition:transform 120ms ease}#header.prism-sidebar .prism-lang-current{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header.prism-sidebar .prism-lang-menu{display:none;list-style:none;margin:4px 0 0;padding:4px;position:absolute;left:12px;right:12px;z-index:50;background:#fff;border:1px solid #e6e8ec;border-radius:6px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08)}#header.prism-sidebar .prism-lang-menu li{margin:0}#header.prism-sidebar .prism-lang-option{display:block;padding:8px 10px;border-radius:6px;color:#384250;font-size:0.85em;font-weight:600;text-decoration:none}#header.prism-sidebar .prism-lang-option:hover{background:#f4f5f7}#header.prism-sidebar .prism-lang-option.active{background:#f2ecfd;color:#5949b8}#header.prism-sidebar .prism-sidebar-search{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:8px;margin:12px 12px 4px;padding:8px 10px;border:1px solid #e6e8ec;border-radius:6px;background:#f4f5f7}#header.prism-sidebar .prism-sidebar-search:focus-within{border-color:#6d5bd0}#header.prism-sidebar .prism-sidebar-search .prism-search-icon{flex:0 0 auto;color:#6b7280}#header.prism-sidebar .prism-nav-search-input{flex:1 1 auto;min-width:0;border:0;background:transparent;color:#384250;font-size:0.85em}#header.prism-sidebar .prism-nav-search-input:focus{outline:none}#header.prism-sidebar .prism-nav-search-input::placeholder{color:#6b7280}#header.prism-sidebar .prism-nav-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}#header.prism-sidebar .prism-nav-search-clear{display:none;flex:0 0 auto;align-items:center;justify-content:center;color:#6b7280;cursor:pointer}#header.prism-sidebar .prism-nav-search-clear.prism-nav-search-clear-visible{display:flex}#header.prism-sidebar .prism-nav-search-clear:hover{color:#1a1f36}#header.prism-sidebar .prism-nav-search-clear .prism-nav-icon{width:14px;height:14px}#header.prism-sidebar .prism-sidebar-scroll{flex:1 1 auto;overflow-y:auto;padding:20px 12px}#header.prism-sidebar .prism-nav-empty{display:none;padding:8px 12px;color:#6b7280;font-size:0.85em}#header.prism-sidebar .prism-nav-empty.prism-nav-empty-visible{display:block}#header.prism-sidebar .prism-sidebar-utility{flex:0 0 auto;padding:12px;border-top:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-utility ul.prism-nav-utility{background:#f4f5f7;border-radius:10px;padding:4px}#header.prism-sidebar .prism-sidebar-utility .prism-nav-item{margin:0}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link{padding:10px 10px 6px;font-weight:600;color:#1a1f36;font-size:0.88em}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link:hover{background:transparent}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link .prism-nav-label{white-space:normal;word-break:break-word}#header.prism-sidebar .prism-sidebar-utility #prism_nav_logout>.prism-nav-link{padding:6px 10px 8px;font-size:0.85em;color:#6b7280}#header.prism-sidebar .prism-sidebar-utility #prism_nav_logout>.prism-nav-link:hover{color:#ef4444;background:transparent}#header.prism-sidebar .prism-sidebar-footer{flex:0 0 auto;padding:10px 16px;border-top:1px solid #e6e8ec;color:#6b7280;font-size:0.72em;line-height:1.4;text-align:center}#header.prism-sidebar .prism-sidebar-footer a{color:#6b7280;text-decoration:underline}#header.prism-sidebar .prism-sidebar-footer a:hover{color:#6d5bd0}#header.prism-sidebar .prism-nav-section-label{padding:0 12px 8px;font-size:0.72em;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#6b7280}#header.prism-sidebar ul.prism-nav{list-style:none;margin:0;padding:0}#header.prism-sidebar .prism-nav-item{margin:2px 0}#header.prism-sidebar .prism-nav-item>.prism-nav-link,#header.prism-sidebar .prism-nav-item>.prism-nav-group-toggle{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:#1a1f36;font-size:0.92em;font-weight:600;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background 120ms ease,color 120ms ease}#header.prism-sidebar .prism-nav-item>.prism-nav-link:hover,#header.prism-sidebar .prism-nav-item>.prism-nav-group-toggle:hover{background:#f4f5f7;color:#1a1f36}#header.prism-sidebar .prism-nav-item.active>.prism-nav-link,#header.prism-sidebar .prism-nav-item.active>.prism-nav-group-toggle{background:#f2ecfd;color:#5949b8;font-weight:700}#header.prism-sidebar .prism-nav-item .prism-nav-icon{flex:0 0 auto;color:inherit}#header.prism-sidebar .prism-nav-item .prism-nav-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header.prism-sidebar .prism-nav-item .prism-chevron{flex:0 0 auto;transition:transform 120ms ease}#header.prism-sidebar .prism-nav-item.open>.prism-nav-group-toggle .prism-chevron,#header.prism-sidebar .prism-nav-item.prism-search-open>.prism-nav-group-toggle .prism-chevron{transform:rotate(180deg)}#header.prism-sidebar .prism-nav-item .prism-nav-submenu{list-style:none;margin:2px 0 2px 30px;padding:0;display:none}#header.prism-sidebar .prism-nav-item.open>.prism-nav-submenu,#header.prism-sidebar .prism-nav-item.prism-search-open>.prism-nav-submenu{display:block}#header.prism-sidebar .prism-nav-item.has-children>.prism-nav-submenu .prism-nav-item>.prism-nav-link{font-size:0.88em}#header.prism-sidebar .prism-nav-item.prism-nav-hidden{display:none}#header.prism-sidebar .prism-nav-utility .prism-nav-item>.prism-nav-link,#header.prism-sidebar .prism-nav-utility .prism-nav-item>.prism-nav-group-toggle{color:#6b7280}#header.prism-sidebar .nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;border-radius:999px;background:#6d5bd0;color:#fff;font-size:0.72em;font-weight:700;line-height:20px}.prism-sidebar-mobile-toggle{display:none}@media (max-width: 900px){.prism-sidebar-mobile-toggle{display:flex;align-items:center;justify-content:center;position:fixed;top:14px;left:14px;width:38px;height:38px;border-radius:6px;background:#fff;color:#384250;box-shadow:0 1px 2px rgba(16,24,40,0.04), 0 1px 6px rgba(16,24,40,0.04);cursor:pointer;z-index:200}#wrapper,.index #wrapper{grid-template-columns:1fr}#header.prism-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform 120ms ease;box-shadow:0 4px 6px rgba(16,24,40,0.05), 0 10px 24px rgba(16,24,40,0.08)}#title_bar,.flashes,#active_admin_content,#footer{grid-column:1}body.prism-sidebar-open #header.prism-sidebar{transform:translateX(0)}}.panel{background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px;overflow:hidden}.panel>h3{margin:0;padding:16px 20px;background:transparent;border-bottom:1px solid #e6e8ec;color:#1a1f36;font-size:1em;font-weight:600}.panel .panel_contents{padding:20px}.panel .header_action{float:right}.columns{display:flex;flex-wrap:wrap;gap:20px;margin:0}.columns .column{flex:1 1 260px;min-width:0}#sidebar{box-sizing:border-box;overflow-x:hidden}#sidebar .panel{box-sizing:border-box}#active_admin_content #main_content_wrapper #main_content,#active_admin_content #sidebar{transition:margin-right 280ms cubic-bezier(0.4, 0, 0.2, 1),width 280ms cubic-bezier(0.4, 0, 0.2, 1),margin-left 280ms cubic-bezier(0.4, 0, 0.2, 1)}body:has(.prism-collapsible-panel):not(.prism-filters-open) #active_admin_content:not(.without_sidebar) #main_content_wrapper #main_content{margin-right:72px}body:has(.prism-collapsible-panel):not(.prism-filters-open) #active_admin_content #sidebar{width:72px;margin-left:-72px}.prism-collapsible-panel{background:transparent;border-color:transparent;box-shadow:none;margin-bottom:10px;transition:background 120ms ease,border-color 120ms ease,box-shadow 120ms ease,margin 120ms ease}.prism-collapsible-panel>h3{display:flex;align-items:center;gap:8px;width:40px;height:40px;margin:0 0 0 auto;padding:0;justify-content:center;border:1px solid #e6e8ec;border-radius:6px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);color:#1a1f36;cursor:pointer;user-select:none;overflow:hidden;transition:width 120ms ease,padding 120ms ease,justify-content 120ms ease,background 120ms ease,border-color 120ms ease}.prism-collapsible-panel>h3:hover{background:#f2ecfd;color:#5949b8}.prism-collapsible-panel .prism-filter-icon{flex:0 0 auto;order:-1}.prism-collapsible-panel .prism-filter-label{max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width 200ms ease, opacity 150ms ease}.prism-collapsible-panel .panel_contents{overflow:hidden;max-height:0;opacity:0;padding-top:0;padding-bottom:0;transition:max-height 280ms cubic-bezier(0.4, 0, 0.2, 1),opacity 200ms ease,padding 200ms ease}.prism-collapsible-panel.open{background:#fff;border-color:#e6e8ec;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px}.prism-collapsible-panel.open>h3{width:100%;height:auto;margin:0;justify-content:flex-start;padding:16px 20px;border:none;border-bottom:1px solid #e6e8ec;background:transparent;box-shadow:none;color:#1a1f36;border-radius:0}.prism-collapsible-panel.open>h3:hover{background:transparent;color:#1a1f36}.prism-collapsible-panel.open .prism-filter-label{max-width:200px;opacity:1}.prism-collapsible-panel.open .panel_contents{max-height:1200px;opacity:1;padding-top:20px;padding-bottom:20px}body.prism-filters-collapsible-disabled .prism-collapsible-panel{background:#fff;border-color:#e6e8ec;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px}body.prism-filters-collapsible-disabled .prism-collapsible-panel>h3{width:100%;height:auto;margin:0;justify-content:flex-start;padding:16px 20px;border:none;border-bottom:1px solid #e6e8ec;box-shadow:none;cursor:default}body.prism-filters-collapsible-disabled .prism-collapsible-panel .panel_contents{max-height:none;opacity:1;overflow:visible;padding:20px}.blank_slate_container .blank_slate{background:#fff;border:1px dashed #d6d9e0;border-radius:10px;color:#6b7280;font-weight:600;box-shadow:none}.comments .active_admin_comment_meta{color:#6b7280}.comments .active_admin_comment_meta .active_admin_comment_author{color:#1a1f36}.paginated_collection_contents{overflow-x:auto}table.index_table{background:#fff;border:1px solid #e6e8ec;border-radius:10px;border-spacing:0;border-collapse:separate;overflow:hidden}table.index_table th,table.index_table td{padding:12px 16px}table.index_table th{background:#f4f5f7;color:#6b7280;font-size:0.78em;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;border:none;border-bottom:1px solid #e6e8ec;white-space:nowrap}table.index_table th a{white-space:nowrap}table.index_table th:last-child{border-right:none}table.index_table th.sorted-asc,table.index_table th.sorted-desc{background:#f4f5f7}table.index_table td{border-bottom:1px solid #e6e8ec;color:#384250}table.index_table tr:last-child td{border-bottom:none}table.index_table tr.even td{background:transparent}table.index_table tr.selected td{background:#f2ecfd}table.index_table tbody tr:hover td{background:#f4f5f7}table.index_table td.col-actions{white-space:nowrap}.table_actions{display:flex;align-items:center;gap:4px}.table_actions a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;transition:background 120ms ease,color 120ms ease}.table_actions a.view_link{color:#3b82f6}.table_actions a.view_link:hover{background:rgba(59,130,246,0.12);color:#0b63f3}.table_actions a.edit_link{color:#6d5bd0}.table_actions a.edit_link:hover{background:#f2ecfd;color:#5949b8}.table_actions a.delete_link{color:#ef4444}.table_actions a.delete_link:hover{background:#fdecec;color:#eb1515}.table_actions .prism-action-icon{margin:0}.status_tag{border-radius:999px;background:#d6d9e0;color:#1a1f36;text-transform:none;letter-spacing:0;font-weight:600;padding:3px 10px}.status_tag.yes{background:#e8f9ee;color:#17843f}.status_tag.no{background:#fdecec;color:#ed2d2d}form fieldset.inputs{background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:20px}form fieldset legend span{color:#1a1f36;font-weight:700;font-size:1.05em;text-transform:none;letter-spacing:normal}form fieldset ol>li label{color:#384250;font-weight:600;font-size:0.9em}form input[type="text"],form input[type="password"],form input[type="email"],form input[type="number"],form input[type="url"],form input[type="tel"],form input[type="date"],form input[type="time"],form input[type="search"],form select,form textarea{border:1px solid #d6d9e0;border-radius:6px;color:#1a1f36;padding:9px 12px;box-shadow:none;transition:border-color 120ms ease,box-shadow 120ms ease}form input[type="text"]:focus,form input[type="password"]:focus,form input[type="email"]:focus,form input[type="number"]:focus,form input[type="url"]:focus,form input[type="tel"]:focus,form input[type="date"]:focus,form input[type="time"]:focus,form input[type="search"]:focus,form select:focus,form textarea:focus{border-color:#6d5bd0;box-shadow:0 0 0 3px rgba(109,91,208,0.15)}form fieldset>ol>li.error input[type="text"],form fieldset>ol>li.error input[type="password"],form fieldset>ol>li.error input[type="email"],form fieldset>ol>li.error input[type="number"],form fieldset>ol>li.error input[type="url"],form fieldset>ol>li.error input[type="tel"],form fieldset>ol>li.error textarea,form fieldset>ol>li.error select{border-color:#ef4444}form fieldset>ol>li.error input[type="text"]:focus,form fieldset>ol>li.error input[type="password"]:focus,form fieldset>ol>li.error input[type="email"]:focus,form fieldset>ol>li.error input[type="number"]:focus,form fieldset>ol>li.error input[type="url"]:focus,form fieldset>ol>li.error input[type="tel"]:focus,form fieldset>ol>li.error textarea:focus,form fieldset>ol>li.error select:focus{box-shadow:0 0 0 3px rgba(239,68,68,0.15)}form fieldset>ol>li p.inline-errors{color:#ef4444;font-weight:600}form ul.errors{background:#fdecec;color:#ef4444;border-radius:6px}form input[type="checkbox"],form input[type="radio"]{appearance:none;position:relative;width:18px;height:18px;margin:0 8px 0 0;border:1px solid #d6d9e0;background:#fff;vertical-align:middle;cursor:pointer;flex:0 0 auto}form input[type="checkbox"]:checked,form input[type="radio"]:checked{background:#6d5bd0;border-color:#6d5bd0}form input[type="checkbox"]:checked::after,form input[type="radio"]:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}form input[type="checkbox"]:focus-visible,form input[type="radio"]:focus-visible{box-shadow:0 0 0 3px rgba(109,91,208,0.2)}form input[type="checkbox"]{border-radius:5px}form input[type="radio"]{border-radius:50%}form input[type="radio"]:checked::after{left:5px;top:5px;width:6px;height:6px;border:none;border-radius:50%;background:#fff;transform:none}form fieldset>ol>li.boolean label{display:flex;align-items:center}form label.prism-toggle{display:flex;align-items:center;gap:10px}form label.prism-toggle input.prism-toggle-input{appearance:none;position:relative;width:0;height:0;margin:0;border:none}form label.prism-toggle input.prism-toggle-input:checked~.prism-toggle-track{background:#6d5bd0}form label.prism-toggle input.prism-toggle-input:checked~.prism-toggle-track::after{transform:translateX(16px)}form .buttons input[type="submit"],form .buttons input[type="button"],form .buttons button,form .actions input[type="submit"],form .actions input[type="button"],form .actions button{margin-right:10px}.prism-toggle-track{position:relative;display:inline-block;width:38px;height:22px;border-radius:999px;background:#d6d9e0;transition:background 120ms ease;flex:0 0 auto}.prism-toggle-track::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,0.25);transition:transform 120ms ease}.prism-toggle-tag{display:inline-flex;align-items:center;vertical-align:middle}.prism-toggle-tag.on .prism-toggle-track{background:#6d5bd0}.prism-toggle-tag.on .prism-toggle-track::after{transform:translateX(16px)}.sidebar_section label{color:#6b7280;font-size:0.72em;font-weight:700;letter-spacing:0.06em}.sidebar_section select,.sidebar_section input[type="text"],.sidebar_section input[type="number"]{box-sizing:border-box;width:100%;max-width:100%}form.filter_form .filter_form_field{margin-bottom:14px}form.filter_form .filter_form_field.select_and_search{display:flex;gap:8px}form.filter_form .filter_form_field.select_and_search select,form.filter_form .filter_form_field.select_and_search input[type="text"]{width:auto;min-width:0;flex:1 1 0;margin-left:0}form.filter_form .filter_form_field.filter_date_range{display:flex;gap:8px}form.filter_form .filter_form_field.filter_date_range input[type="text"]{width:auto;min-width:0;flex:1 1 0}form.filter_form .filter_form_field.filter_date_range input[type="text"]+input{margin-left:0}a.button,a.button:link,a.button:visited,input[type="submit"],input[type="button"],button,form input[type="submit"],form input[type="button"],form button{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease}a.button:hover,a.button:link:hover,a.button:visited:hover,input[type="submit"]:hover,input[type="button"]:hover,button:hover,form input[type="submit"]:hover,form input[type="button"]:hover,form button:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}a.button:active,a.button:link:active,a.button:visited:active,input[type="submit"]:active,input[type="button"]:active,button:active,form input[type="submit"]:active,form input[type="button"]:active,form button:active{background:#5949b8 !important;box-shadow:none}a.button.danger,input.danger[type="submit"],form input.danger[type="submit"]{background:#ef4444;border-color:#ef4444}a.button.danger:hover,input.danger[type="submit"]:hover,form input.danger[type="submit"]:hover{background:#ec1e1e;border-color:#ec1e1e}#title_bar .action_items span.action_item>a,#title_bar .action_items span.action_item>.dropdown_menu>a{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease;padding:9px 16px;margin:0}#title_bar .action_items span.action_item>a:hover,#title_bar .action_items span.action_item>.dropdown_menu>a:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}#title_bar .action_items span.action_item>a:active,#title_bar .action_items span.action_item>.dropdown_menu>a:active{background:#5949b8 !important;box-shadow:none}.dropdown_menu .dropdown_menu_button,form.filter_form a.clear_filters_btn,fieldset.buttons li.cancel a,fieldset.actions li.cancel a,.pagination a,.pagination span.page.current,.pagination_per_page select{background:#fff !important;background-image:none !important;border:1px solid #d6d9e0;border-radius:6px;color:#384250 !important;text-shadow:none;box-shadow:none;font-weight:600;padding:8px 15px;transition:background 120ms ease,border-color 120ms ease}.dropdown_menu .dropdown_menu_button:hover,form.filter_form a.clear_filters_btn:hover,fieldset.buttons li.cancel a:hover,fieldset.actions li.cancel a:hover,.pagination a:hover,.pagination span.page.current:hover,.pagination_per_page select:hover{background:#f4f5f7 !important;border-color:#6b7280;color:#1a1f36 !important}.dropdown_menu .dropdown_menu_button:active,form.filter_form a.clear_filters_btn:active,fieldset.buttons li.cancel a:active,fieldset.actions li.cancel a:active,.pagination a:active,.pagination span.page.current:active,.pagination_per_page select:active{background:#f4f5f7 !important;box-shadow:none}.dropdown_menu .dropdown_menu_button{padding-right:26px !important}.dropdown_menu .dropdown_menu_button::before,.dropdown_menu .dropdown_menu_button::after{border-color:#6b7280 transparent}.dropdown_menu_list_wrapper{border-radius:6px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);border:1px solid #e6e8ec;background:#fff;padding:4px}.dropdown_menu_list_wrapper .dropdown_menu_list{background:transparent;border:none;box-shadow:none;border-radius:0}.dropdown_menu_list_wrapper .dropdown_menu_list li{border-bottom:none}.dropdown_menu_list_wrapper .dropdown_menu_list li a{border-radius:6px;color:#384250;font-weight:600;text-align:left;text-shadow:none;padding:8px 12px}.dropdown_menu_list_wrapper .dropdown_menu_list li a:hover,.dropdown_menu_list_wrapper .dropdown_menu_list li a:active{background:#f2ecfd;color:#5949b8;text-shadow:none}.dropdown_menu_list_wrapper .dropdown_menu_list li:first-child a,.dropdown_menu_list_wrapper .dropdown_menu_list li:last-child a{border-radius:6px}.pagination a,.pagination span.page.current{border-radius:6px;margin-right:4px;padding:5px 11px}.pagination span.page.current{background:#f2ecfd;border-color:#f2ecfd;color:#5949b8}.pagination_information{color:#6b7280}.pagination_information b{color:#1a1f36}.prism-icon,.prism-nav-icon,.prism-chevron,.prism-action-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.prism-icon{margin-right:6px}.prism-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}body.logged_out:has(.prism-login-brand){min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f5f7;overflow:hidden;position:relative}body.logged_out:has(.prism-login-brand)::before,body.logged_out:has(.prism-login-brand)::after{content:"";position:fixed;z-index:0;border-radius:50%;filter:blur(70px);opacity:0.35;pointer-events:none}body.logged_out:has(.prism-login-brand)::before{width:420px;height:420px;top:-140px;left:-120px;background:radial-gradient(circle at 30% 30%, #6d5bd0, transparent 70%);animation:prism-login-blob-a 16s ease-in-out infinite}body.logged_out:has(.prism-login-brand)::after{width:360px;height:360px;bottom:-120px;right:-100px;background:radial-gradient(circle at 70% 70%, #f2ecfd, transparent 70%);animation:prism-login-blob-b 18s ease-in-out infinite}body.logged_out:has(.prism-login-brand) #wrapper{position:relative;z-index:1;display:block;min-height:0;width:auto}body.logged_out:has(.prism-login-brand) #content_wrapper{display:flex;flex-direction:column;align-items:center;width:400px;max-width:90vw;margin:0 auto}body.logged_out:has(.prism-login-brand) .flashes{width:100%;padding:0 0 10px}body.logged_out:has(.prism-login-brand) #active_admin_content{width:100%;box-sizing:border-box;background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);padding:40px 36px 32px}body.logged_out:has(.prism-login-brand) #footer{position:relative;z-index:1;border-top:none;text-align:center}body.logged_out:has(.prism-login-brand) #login fieldset.inputs{border:none;border-radius:0}body.logged_out:has(.prism-login-brand) #login fieldset.actions{margin-top:4px;text-align:center}body.logged_out:has(.prism-login-brand) #login fieldset.actions li{float:none}body.logged_out:has(.prism-login-brand) #login fieldset.actions li.input_action{padding:20px 0;margin-left:30px;margin-bottom:15px}body.logged_out:has(.prism-login-brand) #login fieldset.actions input[type="submit"]{display:inline-block;width:auto;min-width:200px;padding:12px 28px;font-size:0.95em}body.logged_out:has(.prism-login-brand) #error_explanation{background:#fdecec;border:1px solid rgba(239,68,68,0.3);border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#eb1515}body.logged_out:has(.prism-login-brand) #error_explanation h2{background:none !important;box-shadow:none !important;text-shadow:none !important;border:none !important;margin:0 0 6px !important;padding:0 !important;color:inherit;font-size:0.95em;font-weight:700}body.logged_out:has(.prism-login-brand) #error_explanation ul{margin:0;padding-left:18px;font-size:0.88em;font-weight:600}@keyframes prism-login-blob-a{0%,100%{transform:translate(0, 0) scale(1)}50%{transform:translate(60px, 40px) scale(1.1)}}@keyframes prism-login-blob-b{0%,100%{transform:translate(0, 0) scale(1)}50%{transform:translate(-50px, -30px) scale(1.08)}}.prism-login-brand{text-align:center;margin-bottom:28px}.prism-login-logo{width:64px;height:64px;margin:0 auto 14px;color:#6d5bd0}.prism-login-mark{display:block;width:100%;height:100%}.prism-login-beam{stroke-dasharray:40;animation:prism-login-beam-flow 2.4s linear infinite}@keyframes prism-login-beam-flow{to{stroke-dashoffset:-80}}.prism-login-tri{transform-origin:center;animation:prism-login-tri-glow 3.2s ease-in-out infinite}@keyframes prism-login-tri-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}50%{filter:drop-shadow(0 0 6px rgba(109,91,208,0.45))}}body.logged_out #login .prism-login-brand h2{background:none !important;box-shadow:none !important;text-shadow:none !important;border:none !important;margin:0 !important;padding:0 !important;color:#1a1f36}.prism-login-title{font-size:1.6em;font-weight:800;letter-spacing:-0.01em}.prism-login-tagline{margin:4px 0 0;color:#6b7280;font-size:0.9em}.prism-login-links{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;text-align:center}.prism-login-links a{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid #e6e8ec;border-radius:999px;background:#f4f5f7;color:#384250;font-size:0.82em;font-weight:600;text-decoration:none;transition:background 120ms ease,border-color 120ms ease,color 120ms ease}.prism-login-links a:hover{background:#f2ecfd;border-color:#6d5bd0;color:#5949b8}.prism-login-links br{display:none}
data/js-src/prism.js CHANGED
@@ -75,6 +75,103 @@
75
75
  });
76
76
  })();
77
77
 
78
+ // Sidebar menu search box (lib/active_admin/views/prism_sidebar.rb
79
+ // #render_search_box) — filters the "Pages" nav as the visitor types,
80
+ // matching an item's own label at ANY nesting depth, not just top-level
81
+ // entries. A submenu item that matches keeps every one of its ancestors
82
+ // visible and forced open; a parent whose own label matches instead keeps
83
+ // its *entire* subtree visible and expanded, even children that don't
84
+ // match on their own — either way via ".prism-search-open", distinct from
85
+ // the persisted/manual ".open" class above so clearing the search can't
86
+ // clobber a group the visitor had manually pinned open.
87
+ (function () {
88
+ "use strict";
89
+
90
+ function normalize(text) {
91
+ return (text || "").trim().toLowerCase();
92
+ }
93
+
94
+ function ownLabel(li) {
95
+ var el = li.querySelector(
96
+ ":scope > .prism-nav-link .prism-nav-label, :scope > .prism-nav-group-toggle .prism-nav-label"
97
+ );
98
+ return el ? normalize(el.textContent) : "";
99
+ }
100
+
101
+ function directChildItems(li) {
102
+ var submenu = li.querySelector(":scope > .prism-nav-submenu");
103
+ if (!submenu) return [];
104
+ return Array.prototype.filter.call(submenu.children, function (child) {
105
+ return child.classList.contains("prism-nav-item");
106
+ });
107
+ }
108
+
109
+ // Recurses depth-first, carrying `ancestorOwnMatch` down (true once any
110
+ // ancestor's own label has matched) so a matched group reveals its whole
111
+ // subtree, not just itself — and returns whether this node's own label
112
+ // or any descendant's matched (ignoring ancestorOwnMatch), so that signal
113
+ // keeps bubbling up to open every group on the path to a deep match
114
+ // regardless of how many submenu levels separate it from the top.
115
+ function matchItem(li, query, ancestorOwnMatch) {
116
+ var ownMatch = !!query && ownLabel(li).indexOf(query) !== -1;
117
+ var childMatch = false;
118
+
119
+ directChildItems(li).forEach(function (child) {
120
+ if (matchItem(child, query, ancestorOwnMatch || ownMatch)) childMatch = true;
121
+ });
122
+
123
+ var visible = !query || ancestorOwnMatch || ownMatch || childMatch;
124
+ li.classList.toggle("prism-nav-hidden", !visible);
125
+ li.classList.toggle("prism-search-open", !!query && (ownMatch || childMatch || ancestorOwnMatch));
126
+
127
+ return ownMatch || childMatch;
128
+ }
129
+
130
+ function applySearch(sidebar, query) {
131
+ var nav = sidebar.querySelector(".prism-sidebar-scroll > .prism-nav");
132
+ if (!nav) return;
133
+
134
+ var anyVisible = false;
135
+ Array.prototype.forEach.call(nav.children, function (li) {
136
+ if (!li.classList.contains("prism-nav-item")) return;
137
+ if (matchItem(li, query, false)) anyVisible = true;
138
+ });
139
+
140
+ var empty = sidebar.querySelector(".prism-nav-empty");
141
+ if (empty) empty.classList.toggle("prism-nav-empty-visible", !!query && !anyVisible);
142
+
143
+ var clear = sidebar.querySelector("[data-prism-nav-search-clear]");
144
+ if (clear) clear.classList.toggle("prism-nav-search-clear-visible", !!query);
145
+ }
146
+
147
+ document.addEventListener("DOMContentLoaded", function () {
148
+ var sidebar = document.getElementById("header");
149
+ if (!sidebar || !sidebar.classList.contains("prism-sidebar")) return;
150
+
151
+ var input = sidebar.querySelector("[data-prism-nav-search]");
152
+ if (!input) return;
153
+
154
+ input.addEventListener("input", function () {
155
+ applySearch(sidebar, normalize(input.value));
156
+ });
157
+
158
+ input.addEventListener("keydown", function (event) {
159
+ if (event.key !== "Escape" || !input.value) return;
160
+ input.value = "";
161
+ applySearch(sidebar, "");
162
+ });
163
+
164
+ var clearBtn = sidebar.querySelector("[data-prism-nav-search-clear]");
165
+ if (clearBtn) {
166
+ clearBtn.addEventListener("click", function () {
167
+ input.value = "";
168
+ applySearch(sidebar, "");
169
+ input.focus();
170
+ });
171
+ }
172
+ });
173
+ })();
174
+
78
175
  // Routes every plain `data-confirm` link (row-level View/Edit/Delete
79
176
  // actions, any other rails-ujs confirm) through ActiveAdmin's own styled
80
177
  // jQuery UI dialog — the same one it already uses for Batch Actions —
@@ -42,9 +42,11 @@ module ActiveAdmin
42
42
  div class: "prism-sidebar-inner" do
43
43
  div(class: "prism-sidebar-brand") { site_title @namespace }
44
44
  render_language_switcher if ActiveAdminPrism.configuration.language_switcher
45
+ render_search_box if ActiveAdminPrism.configuration.menu_search
45
46
  div(class: "prism-sidebar-scroll") do
46
47
  div "Pages", class: "prism-nav-section-label"
47
48
  render_menu @menu, class: "prism-nav"
49
+ div("No matching menu items", class: "prism-nav-empty")
48
50
  end
49
51
  if @utility_menu.items.any?
50
52
  div(class: "prism-sidebar-utility") do
@@ -111,6 +113,30 @@ module ActiveAdmin
111
113
  end
112
114
  end
113
115
 
116
+ # A text input that filters the "Pages" nav below as the visitor
117
+ # types (see js-src/prism.js) — matching happens purely client-side,
118
+ # against every item's own label regardless of nesting level, so a
119
+ # long menu with several submenus doesn't force a scroll to find one
120
+ # item. The actual show/hide + submenu auto-expand logic lives in JS
121
+ # because the whole menu is already rendered up front here; there's
122
+ # nothing server-side left to decide once the markup exists.
123
+ def render_search_box
124
+ div(class: "prism-sidebar-search") do
125
+ text_node ActiveAdminPrism::Icons.svg(:search, css_class: "prism-nav-icon prism-search-icon").html_safe
126
+ input(
127
+ type: "search",
128
+ class: "prism-nav-search-input",
129
+ placeholder: "Search menu",
130
+ autocomplete: "off",
131
+ "aria-label": "Search menu",
132
+ data: { "prism-nav-search": true }
133
+ )
134
+ span(class: "prism-nav-search-clear", data: { "prism-nav-search-clear": true }, "aria-label": "Clear search") do
135
+ text_node ActiveAdminPrism::Icons.svg(:x, css_class: "prism-nav-icon").html_safe
136
+ end
137
+ end
138
+ end
139
+
114
140
  # Each language entry's own :url (String/Proc/Symbol — same
115
141
  # nil/String/Proc/Symbol convention as config.login_logo etc.,
116
142
  # evaluated the same way item.url is above) wins when given, e.g. to
@@ -136,6 +136,19 @@ module ActiveAdminPrism
136
136
  # as it would be if you'd wired up the utility_navigation menu by hand.
137
137
  attr_accessor :languages
138
138
 
139
+ # Whether a search box renders at the top of the sidebar's "Pages" nav,
140
+ # letting a visitor filter menu items by label without scrolling —
141
+ # matching against every item regardless of nesting (a top-level item,
142
+ # or one buried in a submenu). A submenu item that matches keeps its
143
+ # parent visible (and expanded) even though the parent's own label
144
+ # doesn't match; a parent that matches shows all of its children. See
145
+ # lib/active_admin/views/prism_sidebar.rb#render_search_box for the
146
+ # markup and js-src/prism.js for the filtering itself (pure client-side
147
+ # DOM filtering — no server round trip, no change to how menu do |m|
148
+ # ... end is authored in app/admin/*.rb). false renders no search box at
149
+ # all.
150
+ attr_accessor :menu_search
151
+
139
152
  def initialize
140
153
  @sidebar = true
141
154
  @colorize_action_icons = true
@@ -156,6 +169,7 @@ module ActiveAdminPrism
156
169
  { label: "Español", locale: :es },
157
170
  { label: "Français", locale: :fr }
158
171
  ]
172
+ @menu_search = true
159
173
  end
160
174
  end
161
175
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveAdminPrism
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
@@ -238,12 +238,98 @@ body:not(.prism-sidebar-footer-disabled) #footer {
238
238
  }
239
239
  }
240
240
 
241
+ // Sits between the brand/language switcher and .prism-sidebar-scroll —
242
+ // flex: 0 0 auto like those, so it stays pinned above the scrolling nav
243
+ // rather than scrolling away with it (a visitor should never need to
244
+ // scroll up just to reach the search box itself).
245
+ .prism-sidebar-search {
246
+ position: relative;
247
+ flex: 0 0 auto;
248
+ display: flex;
249
+ align-items: center;
250
+ gap: 8px;
251
+ margin: 12px 12px 4px;
252
+ padding: 8px 10px;
253
+ border: 1px solid $prism-border-color;
254
+ border-radius: $prism-radius-sm;
255
+ background: $prism-bg-page;
256
+
257
+ &:focus-within {
258
+ border-color: $prism-color-primary;
259
+ }
260
+
261
+ .prism-search-icon {
262
+ flex: 0 0 auto;
263
+ color: $prism-text-muted;
264
+ }
265
+ }
266
+
267
+ .prism-nav-search-input {
268
+ flex: 1 1 auto;
269
+ min-width: 0;
270
+ border: 0;
271
+ background: transparent;
272
+ color: $prism-text-body;
273
+ font-size: 0.85em;
274
+
275
+ &:focus {
276
+ outline: none;
277
+ }
278
+
279
+ &::placeholder {
280
+ color: $prism-text-muted;
281
+ }
282
+
283
+ // Removes Chrome/Edge/Safari's built-in clear ("x") button on
284
+ // type="search" inputs — this component renders its own
285
+ // (.prism-nav-search-clear) so the two don't visually double up.
286
+ &::-webkit-search-cancel-button {
287
+ -webkit-appearance: none;
288
+ appearance: none;
289
+ }
290
+ }
291
+
292
+ .prism-nav-search-clear {
293
+ display: none;
294
+ flex: 0 0 auto;
295
+ align-items: center;
296
+ justify-content: center;
297
+ color: $prism-text-muted;
298
+ cursor: pointer;
299
+
300
+ &.prism-nav-search-clear-visible {
301
+ display: flex;
302
+ }
303
+
304
+ &:hover {
305
+ color: $prism-text-heading;
306
+ }
307
+
308
+ .prism-nav-icon {
309
+ width: 14px;
310
+ height: 14px;
311
+ }
312
+ }
313
+
241
314
  .prism-sidebar-scroll {
242
315
  flex: 1 1 auto;
243
316
  overflow-y: auto;
244
317
  padding: 20px 12px;
245
318
  }
246
319
 
320
+ // Shown by js-src/prism.js only while the search box has a query and it
321
+ // matched nothing anywhere in the "Pages" nav.
322
+ .prism-nav-empty {
323
+ display: none;
324
+ padding: 8px 12px;
325
+ color: $prism-text-muted;
326
+ font-size: 0.85em;
327
+
328
+ &.prism-nav-empty-visible {
329
+ display: block;
330
+ }
331
+ }
332
+
247
333
  .prism-sidebar-utility {
248
334
  flex: 0 0 auto;
249
335
  padding: 12px;
@@ -385,7 +471,8 @@ body:not(.prism-sidebar-footer-disabled) #footer {
385
471
  transition: transform $prism-transition-fast;
386
472
  }
387
473
 
388
- &.open > .prism-nav-group-toggle .prism-chevron {
474
+ &.open > .prism-nav-group-toggle .prism-chevron,
475
+ &.prism-search-open > .prism-nav-group-toggle .prism-chevron {
389
476
  transform: rotate(180deg);
390
477
  }
391
478
 
@@ -396,13 +483,20 @@ body:not(.prism-sidebar-footer-disabled) #footer {
396
483
  display: none;
397
484
  }
398
485
 
399
- &.open > .prism-nav-submenu {
486
+ &.open > .prism-nav-submenu,
487
+ &.prism-search-open > .prism-nav-submenu {
400
488
  display: block;
401
489
  }
402
490
 
403
491
  &.has-children > .prism-nav-submenu .prism-nav-item > .prism-nav-link {
404
492
  font-size: 0.88em;
405
493
  }
494
+
495
+ // Set by js-src/prism.js while the sidebar search box has a query and
496
+ // neither this item's own label nor any descendant's matches it.
497
+ &.prism-nav-hidden {
498
+ display: none;
499
+ }
406
500
  }
407
501
 
408
502
  .prism-nav-utility .prism-nav-item > .prism-nav-link,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_admin_prism
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ram Laxman Yadav
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-12 00:00:00.000000000 Z
11
+ date: 2026-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeadmin