/* ================================================================
   BadgeFed – Minimal CSS Foundation
   Replaces Bulma. Keeps class names so Razor files don't break.
   Intentionally bare — override freely in custom.css / themes.
   ================================================================ */

/* ── Variables ─────────────────────────────────────────────────── */
:root {
  --primary: #00d1b2;
  --link: #485fc7;
  --info: #3e8ed0;
  --success: #48c78e;
  --warning: #ffe08a;
  --danger: #f14668;
  --dark: #363636;
  --light: #f5f5f5;
  --text: #4a4a4a;
  --text-strong: #363636;
  --border: #dbdbdb;
  --radius: 4px;
  --font: 'Inter', 'SF Pro', 'Segoe UI', Roboto, Oxygen, Ubuntu, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-code: Inconsolata, Hack, SF Mono, Roboto Mono, Source Code Pro, Ubuntu Mono, monospace;
  --shadow: 0 .5em 1em -.125em rgba(10,10,10,.1), 0 0 0 1px rgba(10,10,10,.02);
}

/* ── Reset ─────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font);line-height:1.5;color:var(--text);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;color:var(--text-strong);font-weight:600;line-height:1.125}
p{margin:0 0 1em}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--text-strong)}
img{max-width:100%;height:auto;display:block}
hr{border:none;height:1px;background:var(--border);margin:1.5rem 0}
strong{font-weight:700;color:var(--text-strong)}
small{font-size:.875em}

/* ── Layout ────────────────────────────────────────────────────── */
.container{width:100%;max-width:1152px;margin:0 auto;padding:0 1rem}
.container.is-fluid{max-width:none}
.section{padding:3rem 1.5rem}
.footer{background:var(--light);padding:3rem 1.5rem}

/* ── Grid ──────────────────────────────────────────────────────── */
.columns{display:flex;flex-wrap:wrap;margin:-.75rem}
.columns.is-centered{justify-content:center}
.columns.is-vcentered{align-items:center}
.columns.is-multiline{flex-wrap:wrap}
.columns.is-mobile{display:flex}
.columns.is-variable{--gap:.75rem;margin:calc(-1*var(--gap))}
.columns.is-variable>.column{padding:var(--gap)}
.column{flex:1 1 0%;padding:.75rem}
.column.is-1{flex:none;width:8.333%}
.column.is-2{flex:none;width:16.667%}
.column.is-3{flex:none;width:25%}
.column.is-4{flex:none;width:33.333%}
.column.is-5{flex:none;width:41.667%}
.column.is-6{flex:none;width:50%}
.column.is-7{flex:none;width:58.333%}
.column.is-8{flex:none;width:66.667%}
.column.is-9{flex:none;width:75%}
.column.is-10{flex:none;width:83.333%}
.column.is-11{flex:none;width:91.667%}
.column.is-12{flex:none;width:100%}
.column.is-half{flex:none;width:50%}
.column.is-one-third{flex:none;width:33.333%}
.column.is-two-thirds{flex:none;width:66.667%}
.column.is-one-quarter{flex:none;width:25%}
.column.is-three-quarters{flex:none;width:75%}
.column.is-full{flex:none;width:100%}
.column.is-narrow{flex:none}

@media(max-width:768px){
  .columns:not(.is-mobile){display:block}
  .columns:not(.is-mobile)>.column{width:100%}
  .column.is-12-mobile{flex:none;width:100%}
  .column.is-full-mobile{flex:none;width:100%}
  .column.is-4-mobile{flex:none;width:33.333%}
  .column.is-5-mobile{flex:none;width:41.667%}
  .column.is-7-mobile{flex:none;width:58.333%}
}
@media(min-width:769px){
  .column.is-6-tablet{flex:none;width:50%}
  .column.is-half-tablet{flex:none;width:50%}
  .column.is-three-quarters-tablet{flex:none;width:75%}
}
@media(min-width:1024px){
  .column.is-4-desktop{flex:none;width:33.333%}
  .column.is-5-desktop{flex:none;width:41.667%}
  .column.is-half-desktop{flex:none;width:50%}
  .column.is-one-quarter-desktop{flex:none;width:25%}
}

/* ── Navbar ────────────────────────────────────────────────────── */
.navbar{display:flex;align-items:stretch;min-height:3.25rem;background:#fff;position:relative;z-index:30}
.navbar.is-dark{background:var(--dark);color:#fff}
.navbar.is-dark .navbar-item,.navbar.is-dark .navbar-link,.navbar.is-dark .navbar-burger{color:#fff}
.navbar.is-primary{background:var(--primary);color:#fff}
.navbar.is-primary .navbar-item,.navbar.is-primary .navbar-link{color:#fff}
.navbar.is-spaced{padding:1rem 2rem}
.navbar>.container{display:flex;align-items:stretch;width:100%}
.navbar-brand{display:flex;align-items:stretch;flex-shrink:0}
.navbar-burger{display:block;cursor:pointer;background:none;border:none;color:inherit;width:3.25rem;height:3.25rem;margin-left:auto;position:relative}
.navbar-burger span{display:block;background:currentColor;height:1px;width:16px;position:absolute;left:calc(50% - 8px);transition:transform 86ms ease-out}
.navbar-burger span:nth-child(1){top:calc(50% - 6px)}
.navbar-burger span:nth-child(2){top:calc(50% - 1px)}
.navbar-burger span:nth-child(3){top:calc(50% + 4px)}
.navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.navbar-burger.is-active span:nth-child(2){opacity:0}
.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.navbar-menu{display:none}
.navbar-menu.is-active{display:block}
.navbar-item,.navbar-link{display:block;padding:.5rem .75rem;color:inherit;line-height:1.5}
a.navbar-item:hover,.navbar-link:hover{background:rgba(0,0,0,.05)}
.navbar-item.has-dropdown{padding:0;position:relative}
.navbar-item img{max-height:1.75rem}
.navbar-link:not(.is-arrowless){padding-right:2.5em;position:relative}
.navbar-link:not(.is-arrowless)::after{border-color:currentColor;border-style:solid;border-width:0 0 2px 2px;content:" ";display:block;height:.5em;width:.5em;pointer-events:none;position:absolute;right:1.125em;top:50%;transform:translateY(-75%) rotate(-45deg)}
.navbar-dropdown{display:none;font-size:.875rem;padding:.5rem 0}
.navbar-dropdown .navbar-item{padding:.375rem 1rem}
.navbar-start{margin-right:auto}
.navbar-end{margin-left:auto}
.navbar-logo{max-height:1.75rem}
@media(min-width:1024px){
  .navbar,.navbar-menu,.navbar-start,.navbar-end{display:flex;align-items:stretch}
  .navbar-menu{flex-grow:1}
  .navbar-burger{display:none}
  .navbar-item,.navbar-link{display:flex;align-items:center}
  .navbar-item.has-dropdown{align-items:stretch}
  .navbar-item.has-dropdown:hover .navbar-dropdown,.navbar-item.has-dropdown.is-active .navbar-dropdown{display:block;position:absolute;top:100%;left:0;min-width:100%;background:#fff;box-shadow:0 8px 8px rgba(10,10,10,.1);border-top:2px solid var(--border);z-index:20;border-radius:0 0 var(--radius) var(--radius)}
}

/* ── Hero ──────────────────────────────────────────────────────── */
.hero{display:flex;flex-direction:column;justify-content:center}
.hero-body{padding:3rem 1.5rem}
.hero.is-primary{background:var(--primary);color:#fff}
.hero.is-info{background:var(--info);color:#fff}

/* ── Level ─────────────────────────────────────────────────────── */
.level{display:flex;align-items:center;justify-content:space-between}
.level-left,.level-right{display:flex;align-items:center}
.level-left{justify-content:flex-start}
.level-right{justify-content:flex-end}
.level-item{display:flex;align-items:center;justify-content:center;flex:none}
.level-item:not(:last-child){margin-right:.75rem}

/* ── Media ─────────────────────────────────────────────────────── */
.media{display:flex;align-items:flex-start}
.media+.media{border-top:1px solid rgba(219,219,219,.5);margin-top:1rem;padding-top:1rem}
.media-left{margin-right:1rem;flex-shrink:0}
.media-right{margin-left:1rem;flex-shrink:0}
.media-content{flex:1 1 auto;min-width:0}

/* ── Typography ────────────────────────────────────────────────── */
.title{font-size:2rem;font-weight:600;color:var(--text-strong);line-height:1.125;margin-bottom:.5em}
.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}
.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}
.subtitle{font-size:1.25rem;font-weight:400;color:#6b6b6b;line-height:1.25;margin-bottom:.5em}
.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}
.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}
.title:not(.is-spaced)+.subtitle{margin-top:-1rem}

/* ── Elements ──────────────────────────────────────────────────── */
.box{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}
.content{color:var(--text)}
.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:var(--text-strong);font-weight:600}
.content p:not(:last-child),.content ul:not(:last-child),.content ol:not(:last-child){margin-bottom:1em}
.content ul{list-style:disc;margin-left:2em}
.content ol{list-style:decimal;margin-left:2em}
.content blockquote{background:var(--light);border-left:5px solid var(--border);padding:1.25em 1.5em}

.icon{display:inline-flex;align-items:center;justify-content:center;height:1.5rem;width:1.5rem}
.icon.is-small{height:1rem;width:1rem}
.icon.is-medium{height:2rem;width:2rem}
.icon.is-large{height:3rem;width:3rem}
.icon-text{display:inline-flex;align-items:flex-start;flex-wrap:wrap;line-height:1.5rem;color:inherit}
.icon-text .icon:not(:last-child){margin-right:.25em}

.image{display:block;position:relative}
.image img{display:block;width:100%;height:auto}
.image.is-32x32{width:32px;height:32px}
.image.is-48x48{width:48px;height:48px}
.image.is-64x64{width:64px;height:64px}
.image.is-96x96{width:96px;height:96px}
.image.is-128x128{width:128px;height:128px}
.image.is-32x32 img,.image.is-48x48 img,.image.is-64x64 img,.image.is-96x96 img,.image.is-128x128 img{width:100%;height:100%}
.image img.is-rounded{border-radius:9999px}

/* ── Notification ──────────────────────────────────────────────── */
.notification{background:var(--light);border-radius:var(--radius);padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}
.notification>.delete{position:absolute;right:.5rem;top:.5rem}
.notification.is-primary{background:var(--primary);color:#fff}
.notification.is-link{background:var(--link);color:#fff}
.notification.is-info{background:var(--info);color:#fff}
.notification.is-success{background:var(--success);color:#fff}
.notification.is-warning{background:var(--warning);color:rgba(0,0,0,.7)}
.notification.is-danger{background:var(--danger);color:#fff}
.notification.is-primary.is-light{background:#ebfffc;color:#00947e}
.notification.is-link.is-light{background:#eff1fa;color:#3850b7}
.notification.is-info.is-light{background:#eff5fb;color:#296fa8}
.notification.is-success.is-light{background:#effaf5;color:#257953}
.notification.is-warning.is-light{background:#fffaeb;color:#946c00}
.notification.is-danger.is-light{background:#feecf0;color:#cc0f35}

/* ── Tag ───────────────────────────────────────────────────────── */
.tag:not(body){display:inline-flex;align-items:center;background:var(--light);border-radius:var(--radius);font-size:.75rem;height:2em;padding:0 .75em;white-space:nowrap}
.tag:not(body).is-primary{background:var(--primary);color:#fff}
.tag:not(body).is-link{background:var(--link);color:#fff}
.tag:not(body).is-info{background:var(--info);color:#fff}
.tag:not(body).is-success{background:var(--success);color:#fff}
.tag:not(body).is-warning{background:var(--warning);color:rgba(0,0,0,.7)}
.tag:not(body).is-danger{background:var(--danger);color:#fff}
.tag:not(body).is-dark{background:var(--dark);color:#fff}
.tag:not(body).is-light{background:var(--light);color:rgba(0,0,0,.7)}
.tag:not(body).is-medium{font-size:1rem}
.tag:not(body).is-large{font-size:1.25rem}
.tag:not(body).is-rounded{border-radius:9999px}
.tags{display:flex;flex-wrap:wrap;gap:.5rem}

/* ── Delete button ─────────────────────────────────────────────── */
.delete{appearance:none;background:rgba(10,10,10,.2);border:none;border-radius:9999px;cursor:pointer;display:inline-block;height:20px;width:20px;min-height:20px;min-width:20px;position:relative;vertical-align:top}
.delete::before,.delete::after{background:#fff;content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.delete::before{height:2px;width:50%}
.delete::after{height:50%;width:2px}
.delete:hover{background:rgba(10,10,10,.3)}

/* ── Table ─────────────────────────────────────────────────────── */
.table{width:100%;background:#fff;color:var(--text-strong)}
.table td,.table th{border-bottom:1px solid var(--border);padding:.5em .75em;vertical-align:top}
.table th{font-weight:600}
.table thead th{border-bottom-width:2px}
.table.is-fullwidth{width:100%}
.table.is-hoverable tbody tr:hover{background:var(--light)}
.table.is-striped tbody tr:nth-child(even){background:#fafafa}

/* ── Progress ──────────────────────────────────────────────────── */
.progress{appearance:none;border:none;border-radius:9999px;display:block;height:1rem;overflow:hidden;width:100%;padding:0}
.progress::-webkit-progress-bar{background:#ededed}
.progress::-webkit-progress-value{background:var(--text)}
.progress::-moz-progress-bar{background:var(--text)}
.progress.is-primary::-webkit-progress-value,.progress.is-primary::-moz-progress-bar{background:var(--primary)}
.progress.is-info::-webkit-progress-value,.progress.is-info::-moz-progress-bar{background:var(--info)}
.progress.is-success::-webkit-progress-value,.progress.is-success::-moz-progress-bar{background:var(--success)}
.progress.is-warning::-webkit-progress-value,.progress.is-warning::-moz-progress-bar{background:var(--warning)}
.progress.is-danger::-webkit-progress-value,.progress.is-danger::-moz-progress-bar{background:var(--danger)}
.progress.is-small{height:.75rem}

/* ── Button ────────────────────────────────────────────────────── */
.button{display:inline-flex;align-items:center;justify-content:center;appearance:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-strong);cursor:pointer;font-size:1rem;height:2.5em;line-height:1.5;padding:.4em 1em;text-align:center;white-space:nowrap;vertical-align:top}
.button:hover{border-color:#b5b5b5}
.button:focus{outline:none;border-color:var(--link);box-shadow:0 0 0 .125em rgba(72,95,199,.25)}
.button[disabled]{opacity:.5;cursor:not-allowed}
.button .icon:first-child:not(:last-child){margin-left:calc(-.5em - 1px);margin-right:.25em}
.button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-.5em - 1px)}
.button.is-small{font-size:.75rem;height:2em}
.button.is-medium{font-size:1.25rem}
.button.is-large{font-size:1.5rem}
.button.is-fullwidth{display:flex;width:100%}
.button.is-rounded{border-radius:9999px;padding-left:1.25em;padding-right:1.25em}
.button.is-loading{color:transparent!important;pointer-events:none}
.button.is-loading::after{content:"";display:block;width:1em;height:1em;border:2px solid var(--border);border-radius:9999px;border-right-color:transparent;border-top-color:transparent;animation:spin .5s infinite linear;position:absolute}
.button.is-static{background:var(--light);color:#7a7a7a;pointer-events:none}
.button.is-outlined{background:transparent}
.button.is-text{background:transparent;border-color:transparent;text-decoration:underline}
@keyframes spin{to{transform:rotate(360deg)}}

/* Button colours */
.button.is-primary{background:var(--primary);border-color:transparent;color:#fff}
.button.is-primary:hover{background:#00c4a7}
.button.is-primary.is-outlined{background:transparent;border-color:var(--primary);color:var(--primary)}
.button.is-primary.is-outlined:hover{background:var(--primary);color:#fff}
.button.is-primary.is-light{background:#ebfffc;color:#00947e}
.button.is-link{background:var(--link);border-color:transparent;color:#fff}
.button.is-link:hover{background:#3e56c4}
.button.is-link.is-outlined{background:transparent;border-color:var(--link);color:var(--link)}
.button.is-link.is-outlined:hover{background:var(--link);color:#fff}
.button.is-link.is-light{background:#eff1fa;color:#3850b7}
.button.is-info{background:var(--info);border-color:transparent;color:#fff}
.button.is-info.is-outlined{background:transparent;border-color:var(--info);color:var(--info)}
.button.is-info.is-outlined:hover{background:var(--info);color:#fff}
.button.is-info.is-light{background:#eff5fb;color:#296fa8}
.button.is-success{background:var(--success);border-color:transparent;color:#fff}
.button.is-success.is-outlined{background:transparent;border-color:var(--success);color:var(--success)}
.button.is-success.is-outlined:hover{background:var(--success);color:#fff}
.button.is-success.is-light{background:#effaf5;color:#257953}
.button.is-warning{background:var(--warning);border-color:transparent;color:rgba(0,0,0,.7)}
.button.is-warning.is-outlined{background:transparent;border-color:var(--warning);color:#946c00}
.button.is-warning.is-outlined:hover{background:var(--warning);color:rgba(0,0,0,.7)}
.button.is-warning.is-light{background:#fffaeb;color:#946c00}
.button.is-danger{background:var(--danger);border-color:transparent;color:#fff}
.button.is-danger:hover{background:#f03a5f}
.button.is-danger.is-outlined{background:transparent;border-color:var(--danger);color:var(--danger)}
.button.is-danger.is-outlined:hover{background:var(--danger);color:#fff}
.button.is-danger.is-light{background:#feecf0;color:#cc0f35}
.button.is-dark{background:var(--dark);border-color:transparent;color:#fff}
.button.is-dark.is-outlined{background:transparent;border-color:var(--dark);color:var(--dark)}
.button.is-dark.is-outlined:hover{background:var(--dark);color:#fff}
.button.is-light{background:var(--light);border-color:transparent;color:rgba(0,0,0,.7)}
.buttons{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}
.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}

/* ── Forms ─────────────────────────────────────────────────────── */
.input,.textarea,.select select{display:block;width:100%;appearance:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-strong);font-size:1rem;height:2.5em;line-height:1.5;padding:.4em .75em;box-shadow:inset 0 1px 2px rgba(10,10,10,.05)}
.input:focus,.textarea:focus,.select select:focus{border-color:var(--link);box-shadow:0 0 0 .125em rgba(72,95,199,.25);outline:none}
.input[disabled],.textarea[disabled],.select select[disabled]{background:var(--light);color:#7a7a7a;cursor:not-allowed}
.input::placeholder,.textarea::placeholder{color:rgba(54,54,54,.3)}
.input.is-small,.select.is-small select{font-size:.75rem}
.input.is-medium,.select.is-medium select{font-size:1.25rem}
.input.is-rounded{border-radius:9999px;padding-left:1.1em;padding-right:1.1em}
.input.is-static{background:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}
.input.is-danger{border-color:var(--danger)}
.input.is-success{border-color:var(--success)}
.textarea{height:auto;min-height:8em;resize:vertical;padding:.75em}
.select{display:inline-block;position:relative;vertical-align:top;height:2.5em}
.select:not(.is-multiple)::after{content:"";border:3px solid transparent;border-top:0;border-right:0;border-color:var(--link);display:block;height:.625em;width:.625em;pointer-events:none;position:absolute;top:50%;right:1.125em;transform:translateY(-50%) rotate(-45deg)}
.select select{cursor:pointer;padding-right:2.5em}
.select.is-fullwidth,.select.is-fullwidth select{width:100%}
.select.is-rounded select{border-radius:9999px}
.checkbox{cursor:pointer;display:inline-block;line-height:1.25}
.label{display:block;font-size:1rem;font-weight:700;color:var(--text-strong);margin-bottom:.5em}
.label.is-small{font-size:.75rem}
.label.is-medium{font-size:1.25rem}
.help{display:block;font-size:.75rem;margin-top:.25rem}
.help.is-danger{color:var(--danger)}
.help.is-success{color:var(--success)}
.help.is-info{color:var(--info)}
.help.is-warning{color:#946c00}
.field:not(:last-child){margin-bottom:.75rem}
.field.has-addons{display:flex}
.field.has-addons .control:not(:first-child) .button,.field.has-addons .control:not(:first-child) .input,.field.has-addons .control:not(:first-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}
.field.has-addons .control:not(:last-child) .button,.field.has-addons .control:not(:last-child) .input,.field.has-addons .control:not(:last-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}
.field.is-grouped{display:flex;justify-content:flex-start}
.field.is-grouped>.control:not(:last-child){margin-right:.75rem}
.field.is-grouped>.control.is-expanded{flex-grow:1}
.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}
.field.is-horizontal{display:flex}
.field-label{flex:1;margin-right:1.5rem;text-align:right}
.field-body{display:flex;flex:5}
.control{position:relative;font-size:1rem}
.control.is-loading::after{content:"";display:block;width:1em;height:1em;border:2px solid var(--border);border-radius:9999px;border-right-color:transparent;border-top-color:transparent;animation:spin .5s infinite linear;position:absolute;right:.625em;top:.625em}
.control.is-expanded{flex-grow:1}
.control.has-icons-left .icon.is-left{position:absolute;left:0;top:0;height:2.5em;width:2.5em;pointer-events:none;z-index:4;color:var(--border)}
.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.5em}
.control.has-icons-right .icon.is-right{position:absolute;right:0;top:0;height:2.5em;width:2.5em;pointer-events:none;z-index:4;color:var(--border)}
.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.5em}

/* File upload */
.file{display:flex;align-items:stretch;position:relative}
.file-label{display:flex;align-items:stretch;cursor:pointer;overflow:hidden}
.file-input{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}
.file-cta,.file-name{display:flex;align-items:center;height:2.5em;padding:0 1em;border:1px solid var(--border);border-radius:var(--radius);font-size:1em;white-space:nowrap}
.file-cta{background:var(--light);color:var(--text)}
.file-name{border-left:0;max-width:16em;overflow:hidden;text-overflow:ellipsis}
.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}
.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}
.file-icon{display:flex;align-items:center;margin-right:.5em}

/* ── Card ──────────────────────────────────────────────────────── */
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}
.card-header{display:flex;align-items:stretch;box-shadow:0 .125em .25em rgba(10,10,10,.1)}
.card-header-title{display:flex;align-items:center;flex-grow:1;font-weight:700;padding:.75rem 1rem;color:var(--text-strong)}
.card-header-icon{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;cursor:pointer;appearance:none;background:none;border:none}
.card-image{display:block}
.card-content{padding:1.5rem}
.card-footer{display:flex;border-top:1px solid #ededed}
.card-footer-item{display:flex;align-items:center;justify-content:center;flex:1;padding:.75rem}
.card-footer-item:not(:last-child){border-right:1px solid #ededed}

/* ── Modal ─────────────────────────────────────────────────────── */
.modal{display:none;position:fixed;inset:0;z-index:40;align-items:center;justify-content:center;flex-direction:column}
.modal.is-active{display:flex}
.modal-background{position:absolute;inset:0;background:rgba(10,10,10,.86)}
.modal-content,.modal-card{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 40px);overflow:auto;margin:0 20px}
.modal-content{background:#fff;border-radius:var(--radius);padding:1.5rem}
.modal-card{display:flex;flex-direction:column;overflow:hidden}
.modal-card-head{display:flex;align-items:center;padding:20px;background:var(--light);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0}
.modal-card-title{font-size:1.5rem;font-weight:600;color:var(--text-strong);flex-grow:1}
.modal-card-body{padding:20px;background:#fff;overflow:auto;flex-grow:1}
.modal-card-foot{display:flex;align-items:center;padding:20px;background:var(--light);border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius)}
.modal-card-foot .button:not(:last-child){margin-right:.5em}

/* ── Tabs ──────────────────────────────────────────────────────── */
.tabs{display:flex;font-size:1rem;overflow-x:auto}
.tabs ul{display:flex;flex-grow:1;list-style:none;margin:0;padding:0;border-bottom:1px solid var(--border)}
.tabs li{display:block}
.tabs a{display:flex;align-items:center;padding:.5em 1em;border-bottom:1px solid transparent;color:var(--text);margin-bottom:-1px}
.tabs a:hover{border-bottom-color:var(--text-strong);color:var(--text-strong)}
.tabs li.is-active a{border-bottom-color:var(--link);color:var(--link)}
.tabs.is-boxed a{border:1px solid transparent;border-radius:var(--radius) var(--radius) 0 0}
.tabs.is-boxed li.is-active a{background:#fff;border-color:var(--border);border-bottom-color:transparent}

/* ── Breadcrumb ────────────────────────────────────────────────── */
.breadcrumb{font-size:1rem}
.breadcrumb ul,.breadcrumb ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.breadcrumb li{display:flex;align-items:center}
.breadcrumb li+li::before{content:"/";color:#b5b5b5;padding:0 .5em}
.breadcrumb a{color:var(--link);padding:0 .75em}
.breadcrumb a:hover{color:var(--text-strong)}
.breadcrumb li.is-active a{color:var(--text-strong);pointer-events:none}

/* ── Pagination ────────────────────────────────────────────────── */
.pagination{display:flex;align-items:center;justify-content:center;font-size:1rem}
.pagination-list{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:.25rem}
.pagination-previous,.pagination-next,.pagination-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);min-width:2.5em;height:2.5em;padding:0 .5em;color:var(--text-strong)}
.pagination-previous:hover,.pagination-next:hover,.pagination-link:hover{border-color:#b5b5b5}
.pagination-link.is-current{background:var(--link);border-color:var(--link);color:#fff}
.pagination-previous[disabled],.pagination-next[disabled]{opacity:.5;cursor:not-allowed}

/* ── Panel ─────────────────────────────────────────────────────── */
.panel{border-radius:var(--radius);box-shadow:var(--shadow);font-size:1rem}
.panel-block{display:flex;align-items:center;padding:.5em .75em;border:1px solid #ededed;border-top:0}
.panel-block:first-child{border-top:1px solid #ededed}

/* ── Tooltip ───────────────────────────────────────────────────── */
[data-tooltip]{position:relative}
[data-tooltip]::after{content:attr(data-tooltip);position:absolute;z-index:9999;background:rgba(74,74,74,.9);color:#fff;font-size:.75rem;padding:.35rem .75rem;border-radius:var(--radius);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 86ms}
[data-tooltip]:hover::after{opacity:1}
.has-tooltip-arrow[data-tooltip]::before{content:"";position:absolute;z-index:9999;border:6px solid transparent;opacity:0;pointer-events:none;transition:opacity 86ms}
.has-tooltip-arrow[data-tooltip]:hover::before{opacity:1}

/* ══════════════════════════════════════════════════════════════════
   UTILITIES — only the ones actually used in the codebase
   ══════════════════════════════════════════════════════════════════ */

/* Size */
.is-size-1{font-size:3rem!important}
.is-size-2{font-size:2.5rem!important}
.is-size-3{font-size:2rem!important}
.is-size-4{font-size:1.5rem!important}
.is-size-5{font-size:1.25rem!important}
.is-size-6{font-size:1rem!important}
.is-size-7{font-size:.75rem!important}
.is-family-code{font-family:var(--font-code)!important}

/* Text */
.has-text-centered{text-align:center!important}
.has-text-left{text-align:left!important}
.has-text-right{text-align:right!important}
.has-text-weight-medium{font-weight:500!important}
.has-text-weight-semibold{font-weight:600!important}
.has-text-weight-bold{font-weight:700!important}

/* Text colour */
.has-text-primary{color:var(--primary)!important}
.has-text-link{color:var(--link)!important}
.has-text-info{color:var(--info)!important}
.has-text-success{color:var(--success)!important}
.has-text-warning{color:#946c00!important}
.has-text-danger{color:var(--danger)!important}
.has-text-dark{color:var(--dark)!important}
.has-text-white{color:#fff!important}
.has-text-white-bis{color:#fafafa!important}
.has-text-white-ter{color:#f5f5f5!important}
.has-text-grey{color:#7a7a7a!important}
.has-text-grey-light{color:#b5b5b5!important}
.has-text-grey-dark{color:#4a4a4a!important}
.has-text-purple{color:#7957d5!important}

/* Background colour */
.has-background-white{background:#fff!important}
.has-background-white-bis{background:#fafafa!important}
.has-background-white-ter{background:#f5f5f5!important}
.has-background-light{background:var(--light)!important}
.has-background-grey-lighter{background:#dbdbdb!important}
.has-background-primary{background:var(--primary)!important}
.has-background-primary-light{background:#ebfffc!important}
.has-background-link{background:var(--link)!important}
.has-background-link-light{background:#eff1fa!important}
.has-background-info{background:var(--info)!important}
.has-background-info-light{background:#eff5fb!important}
.has-background-success{background:var(--success)!important}
.has-background-success-light{background:#effaf5!important}
.has-background-warning{background:var(--warning)!important}
.has-background-warning-light{background:#fffaeb!important}
.has-background-danger{background:var(--danger)!important}
.has-background-danger-light{background:#feecf0!important}
.has-background-purple{background:#7957d5!important}
.has-background-orange{background:#ff470f!important}

/* Visibility / display */
.is-hidden{display:none!important}
@media(max-width:768px){.is-hidden-mobile{display:none!important}}
.is-clipped{overflow:hidden!important}

/* Flex */
.is-flex{display:flex!important}
.is-flex-wrap-wrap{flex-wrap:wrap!important}
.is-flex-direction-column{flex-direction:column!important}
.is-align-items-center{align-items:center!important}
.is-align-items-flex-start{align-items:flex-start!important}
.is-justify-content-center{justify-content:center!important}
.is-justify-content-space-between{justify-content:space-between!important}

/* Shadow / radius */
.has-shadow{box-shadow:var(--shadow)!important}
.has-radius{border-radius:var(--radius)!important}

/* ── Spacing (0-6 Bulma scale) ─────────────────────────────────── */
.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:.75rem!important}.mt-4{margin-top:1rem!important}.mt-5{margin-top:1.5rem!important}.mt-6{margin-top:3rem!important}
.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:.75rem!important}.mr-4{margin-right:1rem!important}.mr-5{margin-right:1.5rem!important}.mr-6{margin-right:3rem!important}
.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:.75rem!important}.mb-4{margin-bottom:1rem!important}.mb-5{margin-bottom:1.5rem!important}.mb-6{margin-bottom:3rem!important}
.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:.75rem!important}.ml-4{margin-left:1rem!important}.ml-5{margin-left:1.5rem!important}.ml-6{margin-left:3rem!important}
.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:.75rem!important;margin-right:.75rem!important}.mx-4{margin-left:1rem!important;margin-right:1rem!important}
.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-4{margin-top:1rem!important;margin-bottom:1rem!important}
.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:.75rem!important}.pt-4{padding-top:1rem!important}.pt-5{padding-top:1.5rem!important}.pt-6{padding-top:3rem!important}
.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:.75rem!important}.pr-4{padding-right:1rem!important}
.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:.75rem!important}.pb-4{padding-bottom:1rem!important}.pb-5{padding-bottom:1.5rem!important}
.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:.75rem!important}.pl-4{padding-left:1rem!important}
.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.px-5{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-6{padding-left:3rem!important;padding-right:3rem!important}
.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.py-5{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-6{padding-top:3rem!important;padding-bottom:3rem!important}
.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:.75rem!important}.p-4{padding:1rem!important}.p-5{padding:1.5rem!important}.p-6{padding:3rem!important}

/* Extended spacing (used by cc/ pages) */
.mt-8{margin-top:2rem!important}.mt-12{margin-top:3rem!important}.mt-16{margin-top:4rem!important}
.mb-8{margin-bottom:2rem!important}.mb-16{margin-bottom:4rem!important}
.p-8{padding:2rem!important}.px-8{padding-left:2rem!important;padding-right:2rem!important}
.py-8{padding-top:2rem!important;padding-bottom:2rem!important}.py-16{padding-top:4rem!important;padding-bottom:4rem!important}.py-20{padding-top:5rem!important;padding-bottom:5rem!important}
.pt-8{padding-top:2rem!important}.pt-24{padding-top:6rem!important}.pb-20{padding-bottom:5rem!important}

/* ================================================================
   BadgeFed Design System Overrides
   FediProfile-inspired visual language applied to Bulma-compatible
   class names so existing pages inherit the new UI automatically.
   ================================================================ */

:root {
  --primary: #6d5bd0;
  --link: #5a4dc4;
  --info: #2b6ed2;
  --success: #16846a;
  --warning: #e0a116;
  --danger: #cf476f;
  --dark: #1f1637;
  --light: #f7f5fc;
  --text: #4e4765;
  --text-strong: #1f1637;
  --border: rgba(93, 77, 162, 0.14);
  --radius: 16px;
  --font: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-code: 'Cascadia Code', 'Fira Code', 'SF Mono', monospace;
  --shadow: 0 18px 40px rgba(43, 28, 91, 0.08);
}

html {
  background: #f7f4ff;
}

body {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(109, 91, 208, 0.08), transparent 28%),
    radial-gradient(circle at bottom right, rgba(243, 139, 42, 0.08), transparent 22%),
    linear-gradient(180deg, #f7f4ff 0%, #fcfbff 52%, #fff8ec 100%);
  color: var(--text);
}

a {
  color: var(--link);
}

a:hover {
  color: var(--text-strong);
}

.app-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.app-main {
  flex: 1 1 auto;
}

.page-section,
.admin-section-shell {
  padding-top: 2rem;
  padding-bottom: 3rem;
}

.page-container,
.admin-container-shell {
  max-width: 1180px;
}

.landing-shell > .app-main {
  display: flex;
  flex-direction: column;
}

.app-footer {
  margin-top: auto;
  border-top: 1px solid rgba(93, 77, 162, 0.1);
}

.public-footer {
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(18px);
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 0.8rem;
}

.footer-text {
  max-width: 44rem;
  margin: 0 auto;
  color: var(--text);
}

.public-navbar,
.minimal-navbar {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid rgba(93, 77, 162, 0.12);
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 24px rgba(43, 28, 91, 0.05);
  font-family: var(--font);
}

.minimal-navbar {
  position: static;
}

.public-shell .navbar>.container,
.minimal-shell .navbar>.container {
  min-height: 5rem;
  align-items: center;
}

.public-shell .navbar-brand,
.minimal-shell .navbar-brand {
  align-items: center;
}

.navbar-logo {
  padding-left: 0;
  padding-right: 1rem;
  background: transparent !important;
}

.navbar-logo img {
  max-width: min(100%, 16rem);
  max-height: 3.2rem;
  object-fit: contain;
}

.public-shell .navbar-item,
.minimal-shell .navbar-item,
.public-shell .navbar-link,
.minimal-shell .navbar-link {
  border-radius: 999px;
  font-weight: 600;
  font-family: var(--font);
  color: var(--text);
  padding: 0.6rem 0.95rem;
}

.public-shell .navbar-item .icon,
.minimal-shell .navbar-item .icon {
  color: var(--primary);
}

.public-shell a.navbar-item:hover,
.public-shell .navbar-link:hover,
.minimal-shell a.navbar-item:hover,
.minimal-shell .navbar-link:hover {
  color: var(--text-strong);
  background: rgba(109, 91, 208, 0.08);
}

.public-shell .navbar-burger,
.minimal-shell .navbar-burger {
  border-radius: 999px;
  color: var(--text-strong);
}

.public-shell .navbar-burger:hover,
.minimal-shell .navbar-burger:hover {
  background: rgba(109, 91, 208, 0.08);
}

.hero {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
}

.hero.is-primary,
.hero.is-info {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 22%),
    linear-gradient(140deg, #6d5bd0 0%, #4d5bd4 52%, #f38b2a 100%);
}

.hero-body {
  padding: clamp(2rem, 4vw, 4rem);
}

.hero .title,
.hero .subtitle {
  color: #fff;
}

.title {
  letter-spacing: -0.03em;
}

.subtitle {
  color: var(--text);
}

.box,
.card,
.modal-content,
.modal-card {
  border: 1px solid rgba(93, 77, 162, 0.12);
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(43, 28, 91, 0.08);
}

.box,
.card,
.modal-content {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
}

.card-header,
.modal-card-head,
.modal-card-foot {
  background: rgba(247, 245, 252, 0.85);
  border-color: rgba(93, 77, 162, 0.12);
}

.notification {
  border: 1px solid transparent;
  border-radius: 18px;
  padding: 1rem 1.15rem;
  box-shadow: 0 10px 24px rgba(43, 28, 91, 0.05);
}

.notification.is-info,
.notification.is-info.is-light {
  background: rgba(43, 110, 210, 0.1);
  color: #255eb3;
  border-color: rgba(43, 110, 210, 0.16);
}

.notification.is-success,
.notification.is-success.is-light {
  background: rgba(22, 132, 106, 0.1);
  color: #116d58;
  border-color: rgba(22, 132, 106, 0.16);
}

.notification.is-warning,
.notification.is-warning.is-light {
  background: rgba(224, 161, 22, 0.12);
  color: #946c00;
  border-color: rgba(224, 161, 22, 0.18);
}

.notification.is-danger,
.notification.is-danger.is-light {
  background: rgba(207, 71, 111, 0.1);
  color: #ae3459;
  border-color: rgba(207, 71, 111, 0.16);
}

.tag:not(body) {
  height: auto;
  min-height: 2rem;
  padding: 0.38rem 0.78rem;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.tag:not(body).is-light {
  background: rgba(109, 91, 208, 0.08);
  color: var(--primary);
}

.tag:not(body).is-primary { background: #6d5bd0; color: #fff; }
.tag:not(body).is-info { background: #2b6ed2; color: #fff; }
.tag:not(body).is-success { background: #16846a; color: #fff; }
.tag:not(body).is-warning { background: #f4d37c; color: #704f00; }
.tag:not(body).is-danger { background: #cf476f; color: #fff; }

.button {
  min-height: 2.8rem;
  height: auto;
  border-radius: 999px;
  padding: 0.7rem 1.15rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  border-color: rgba(93, 77, 162, 0.12);
  box-shadow: 0 8px 18px rgba(43, 28, 91, 0.05);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.button:hover {
  transform: translateY(-1px);
  border-color: rgba(93, 77, 162, 0.22);
  box-shadow: 0 14px 26px rgba(43, 28, 91, 0.08);
}

.button.is-primary,
.button.is-link,
.button.is-info,
.button.is-success,
.button.is-danger,
.button.is-warning,
.button.is-dark {
  border-color: transparent;
}

.button.is-primary {
  background: linear-gradient(135deg, #6d5bd0 0%, #8370f2 100%);
}

.button.is-link,
.button.is-info {
  background: linear-gradient(135deg, #2b6ed2 0%, #4d8bf0 100%);
}

.button.is-success {
  background: linear-gradient(135deg, #16846a 0%, #27a586 100%);
}

.button.is-warning {
  background: linear-gradient(135deg, #f4d37c 0%, #f1b63d 100%);
  color: #704f00;
}

.button.is-danger {
  background: linear-gradient(135deg, #cf476f 0%, #e26a8d 100%);
}

.button.is-dark {
  background: linear-gradient(135deg, #1f1637 0%, #3d2e69 100%);
}

.button.is-light,
.button.is-text,
.button.is-outlined {
  box-shadow: none;
}

.button.is-outlined {
  background: rgba(255, 255, 255, 0.72);
}

.button.is-text {
  color: var(--primary);
}

.buttons {
  gap: 0.65rem;
}

.input,
.textarea,
.select select {
  min-height: 2.9rem;
  height: auto;
  border-radius: 16px;
  border-color: rgba(93, 77, 162, 0.14);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: inset 0 1px 2px rgba(22, 12, 49, 0.03);
}

.input:focus,
.textarea:focus,
.select select:focus {
  border-color: rgba(109, 91, 208, 0.38);
  box-shadow: 0 0 0 4px rgba(109, 91, 208, 0.1);
}

.label {
  font-size: 0.92rem;
  letter-spacing: -0.01em;
}

.help {
  color: var(--text);
}

.field.is-grouped {
  flex-wrap: wrap;
  gap: 0.75rem;
}

.field.is-grouped>.control:not(:last-child) {
  margin-right: 0;
}

.field.is-horizontal {
  gap: 1rem;
}

.field-label {
  margin-right: 0;
  text-align: left;
}

.field-body {
  gap: 1rem;
}

.control.has-icons-left .icon.is-left,
.control.has-icons-right .icon.is-right {
  color: rgba(93, 77, 162, 0.34);
}

.tabs ul {
  gap: 0.45rem;
  border-bottom: none;
  flex-wrap: wrap;
}

.tabs a {
  border-radius: 999px;
  padding: 0.7rem 1rem;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(93, 77, 162, 0.12);
}

.tabs a:hover {
  border-bottom-color: rgba(93, 77, 162, 0.2);
  background: rgba(109, 91, 208, 0.08);
}

.tabs li.is-active a,
.tabs.is-boxed li.is-active a {
  border-color: transparent;
  background: linear-gradient(135deg, #6d5bd0 0%, #8370f2 100%);
  color: #fff;
}

.table-container {
  overflow-x: auto;
}

.table {
  border-radius: 18px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 14px 30px rgba(43, 28, 91, 0.06);
}

.table th,
.table td {
  border-color: rgba(93, 77, 162, 0.12);
  padding: 0.8rem 0.9rem;
}

.table thead th {
  background: rgba(109, 91, 208, 0.08);
  color: var(--text-strong);
}

.table.is-striped tbody tr:nth-child(even) {
  background: rgba(247, 245, 252, 0.7);
}

.table.is-hoverable tbody tr:hover {
  background: rgba(109, 91, 208, 0.06);
}

.breadcrumb a {
  border-radius: 999px;
  padding: 0.35rem 0.8rem;
}

.breadcrumb a:hover {
  background: rgba(109, 91, 208, 0.08);
}

.pagination-link,
.pagination-next,
.pagination-previous {
  border-radius: 999px;
}

.modal-background {
  background: rgba(31, 22, 55, 0.68);
  backdrop-filter: blur(6px);
}

@media (max-width: 1023px) {
  .public-shell .navbar-menu,
  .minimal-shell .navbar-menu {
    margin-top: 0.85rem;
    padding: 0.75rem;
    border: 1px solid rgba(93, 77, 162, 0.12);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 30px rgba(43, 28, 91, 0.08);
  }
}

@media (max-width: 768px) {
  .page-section,
  .admin-section-shell,
  .section {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .box,
  .card,
  .modal-content,
  .modal-card {
    border-radius: 18px;
  }

  .field.is-horizontal {
    flex-direction: column;
  }

  .field-body {
    flex-direction: column;
  }
}
