/* JurassicHub's Filament theme extends the installed Filament styles. */
.fi-panel-admin{--jh-bg:#07110d;--jh-surface:#0c1b14;--jh-border:rgba(150,192,163,.2);--jh-muted:#a7b9ae;--jh-green:#88e6a5;--jh-gold:#edc57d;background:radial-gradient(ellipse at 86% 0%,rgba(42,87,54,.22),transparent 46%),var(--jh-bg)!important;color:#f1f6f2}
.fi-panel-admin .fi-main{padding-top:1.8rem;padding-bottom:3rem}
.fi-panel-admin .fi-header-heading{letter-spacing:-.035em;font-size:2.5rem;font-weight:750}
.fi-panel-admin .fi-header-subheading{color:var(--jh-muted);font-size:.95rem}
.fi-panel-admin .fi-topbar>nav{background:rgba(7,17,13,.94)!important;border-bottom:1px solid var(--jh-border);box-shadow:none;backdrop-filter:blur(16px)}
.fi-panel-admin .fi-sidebar{background:linear-gradient(160deg,#0b2016 0%,#08140f 60%,#06100b)!important;border-right:1px solid var(--jh-border);box-shadow:none}
.fi-panel-admin .fi-sidebar-header{height:116px;background:transparent!important;box-shadow:none;--tw-ring-color:transparent;padding:22px}
.jh-brand{display:flex;align-items:center;gap:12px;min-width:0}
.jh-brand>img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(237,197,125,.4)}
.jh-brand>div{display:flex;flex-direction:column;gap:5px}
.jh-brand-name{font-size:1.45rem;font-weight:800;letter-spacing:-.04em;line-height:1.2;color:#fff;white-space:nowrap}
.jh-brand-hub{background:linear-gradient(110deg,#f97316 0%,#f59e0b 50%,#f5d56a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.jh-brand-caption{text-transform:uppercase;letter-spacing:.26em;font-size:.7rem;color:#b7c6bc;font-weight:800}
.fi-panel-admin .fi-sidebar-nav{padding:14px}
.fi-panel-admin .fi-sidebar-item-button{border:1px solid transparent;border-radius:9px;padding:12px 15px;transition:background .16s,border-color .16s}
.fi-panel-admin .fi-sidebar-item-label{color:#d1dfd5;font-weight:500}
.fi-panel-admin .fi-sidebar-item-icon{color:#a2b6a9}
.fi-panel-admin .fi-sidebar-item-button:hover{background:rgba(101,172,123,.08)!important}
.fi-panel-admin .fi-sidebar-item-active>.fi-sidebar-item-button{background:linear-gradient(110deg,rgba(45,106,66,.48),rgba(24,65,41,.5))!important;border-color:rgba(115,202,141,.36);box-shadow:inset 0 1px rgba(168,241,190,.05)}
.fi-panel-admin .fi-sidebar-item-active .fi-sidebar-item-label,.fi-panel-admin .fi-sidebar-item-active .fi-sidebar-item-icon{color:#d9ffe4!important}
.fi-panel-admin .fi-sidebar-group-label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#8caa98}
.jh-sidebar-footer{padding:22px;margin:0 14px;border-top:1px solid var(--jh-border)}
.jh-sidebar-footer a{display:flex;align-items:center;gap:12px;color:#becfc3;font-size:.88rem}
.jh-sidebar-footer svg{width:22px;height:22px}.jh-sidebar-footer a:hover{color:#f3d18e}
.fi-panel-admin .fi-section,.fi-panel-admin .fi-ta-ctn,.fi-panel-admin .fi-modal-window,.fi-panel-admin .fi-dropdown-panel{background:var(--jh-surface)!important;border:1px solid var(--jh-border);box-shadow:0 12px 35px rgba(0,0,0,.12);--tw-ring-color:transparent}
.fi-panel-admin .fi-section-header,.fi-panel-admin .fi-ta-header,.fi-panel-admin .fi-ta-header-ctn,.fi-panel-admin .fi-ta-content,.fi-panel-admin .fi-ta-empty-state,.fi-panel-admin .fi-ta-pagination{background:transparent!important;border-color:var(--jh-border)}
.fi-panel-admin .fi-ta-row{background:transparent!important}
.fi-panel-admin .fi-ta-row:hover{background:rgba(135,224,161,.035)!important}
.fi-panel-admin .fi-ta-header-cell{background:#102219!important;color:#b6c9bd}
.fi-panel-admin .fi-ta-table :is(thead,tbody,tr),.fi-panel-admin .fi-section-content-ctn{border-color:var(--jh-border)!important}
.fi-panel-admin .fi-input-wrp{background:#08170f!important;border:1px solid rgba(151,193,165,.26);box-shadow:none;--tw-ring-color:transparent}
.fi-panel-admin .fi-input-wrp:focus-within{border-color:#bda46c;box-shadow:0 0 0 2px rgba(237,197,125,.09)}
.fi-panel-admin .fi-input,.fi-panel-admin .fi-select-input{color:#ecf5ef!important}.fi-panel-admin .fi-input::placeholder{color:#6e8979}
.fi-panel-admin .fi-fo-field-wrp-helper-text,.fi-panel-admin .fi-section-description{color:var(--jh-muted)}
.fi-panel-admin .fi-btn-color-primary{background:linear-gradient(110deg,#ebc77f,#c99543)!important;color:#142016!important;border:1px solid #f2d494;box-shadow:0 3px 12px rgba(0,0,0,.15)}
.fi-panel-admin .fi-btn-color-primary:hover{filter:brightness(1.08)}
.fi-panel-admin .fi-avatar{border:1px solid rgba(234,198,127,.4)}
.fi-panel-admin .fi-simple-layout{background:linear-gradient(115deg,rgba(3,13,8,.94),rgba(5,17,10,.87)),url('images/banner-1.png') center/cover fixed;min-height:100dvh}
.fi-panel-admin .fi-simple-main{background:rgba(9,25,17,.96)!important;border:1px solid rgba(161,194,163,.25);border-radius:20px;box-shadow:0 30px 100px #0008;padding:40px;--tw-ring-color:transparent}
.fi-panel-admin .fi-simple-header .jh-brand{flex-direction:column;text-align:center;gap:16px;margin-bottom:18px}
.fi-panel-admin .fi-simple-header .jh-brand>img{width:88px;height:88px}
.fi-panel-admin .fi-simple-header .jh-brand-name{font-size:2.25rem}
.fi-panel-admin .fi-simple-header .jh-brand-caption{font-size:.7rem}
.fi-panel-admin .fi-simple-header-heading{font-size:1.4rem}
.jh-dashboard{display:grid;gap:24px}.jh-card{background:linear-gradient(140deg,rgba(18,39,27,.85),rgba(9,24,16,.94));border:1px solid var(--jh-border);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.1)}
.jh-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.jh-stat{padding:26px 22px;display:flex;align-items:center;gap:20px;min-width:0}
.jh-stat p{font-size:.86rem;color:#cbd9d0;line-height:1.5}.jh-stat strong,.jh-review-row strong{font-size:2.15rem;font-weight:700;line-height:1.25;color:#f7faf7}
.jh-stat-icon{width:54px;height:54px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:1px solid;box-shadow:inset 0 0 18px rgba(255,255,255,.025)}
.jh-stat-icon svg{width:27px;height:27px}.jh-gold{color:var(--jh-gold);border-color:#826b3d;background:#6d52212b}.jh-green{color:var(--jh-green);border-color:#3d7050;background:#2e683a2b}
.jh-dashboard-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:24px;align-items:stretch}
.jh-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 24px;border-bottom:1px solid var(--jh-border)}
.jh-card-heading h2{display:flex;align-items:center;gap:12px;font-weight:650;font-size:1.1rem}.jh-card-heading h2 svg{width:25px;height:25px;color:var(--jh-gold)}
.jh-events-card .jh-card-heading h2 svg{color:#d8efe0}
.jh-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;border:1px solid #548663;border-radius:7px;font-size:.8rem;font-weight:500;color:#d9ffe4;background:linear-gradient(130deg,#235534,#183b26);white-space:nowrap;transition:filter .15s}
.jh-button:hover{filter:brightness(1.18)}.jh-button-gold{border-color:#8a6c36;background:linear-gradient(120deg,#594523,#302b18);color:#f4cd83}
.jh-event-content{padding:24px;display:grid;grid-template-columns:minmax(220px,.95fr) minmax(0,1fr);gap:25px}
.jh-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.jh-calendar-heading h3{font-size:.95rem;font-weight:600}.jh-calendar-heading button{padding:7px;border-radius:5px;color:#c3d8ca}.jh-calendar-heading button:hover{background:#25432f}.jh-calendar-heading svg{width:17px;height:17px}
.jh-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center;align-items:center;font-size:.8rem}.jh-weekday{color:#bfcec5;font-size:.7rem;padding-bottom:9px}.jh-calendar-day{display:grid;place-items:center;min-height:32px;border-radius:6px}.jh-outside{color:#506a5b}.jh-has-event{background:linear-gradient(120deg,#b2f4bf,#7cda9a);color:#092c15;font-weight:750;box-shadow:0 2px 8px #0002}.jh-today{outline:1px solid #e6c680;outline-offset:-1px}
.jh-calendar-note{color:#8fa798;font-size:.65rem;margin-top:18px;line-height:1.5}.jh-upcoming{border-left:1px solid var(--jh-border);padding-left:24px}.jh-upcoming-event{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--jh-border)}.jh-upcoming-event:first-child{padding-top:7px}.jh-upcoming-event:last-child{border:0}.jh-upcoming-event h3{font-size:.95rem;font-weight:600;line-height:1.4}.jh-upcoming-event:hover h3{color:var(--jh-green)}.jh-upcoming-event p{font-size:.77rem;color:var(--jh-muted);margin:6px 0}.jh-upcoming-event time{display:block;font-size:.72rem;color:#c6d8cd;line-height:1.5}
.jh-dot{display:block;width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#86e5a2;margin-top:7px}.jh-dot-draft{background:#eac473}
.jh-review-row{display:flex;align-items:center;gap:15px;padding:25px 23px;border-bottom:1px solid var(--jh-border)}.jh-review-row>div{flex:1;min-width:0}.jh-review-row p{color:#c4d6ca;font-size:.8rem;line-height:1.5;margin-bottom:4px}.jh-review-row .jh-stat-icon{width:46px;height:46px}.jh-review-row .jh-stat-icon svg{width:24px;height:24px}.jh-review-note{display:flex;gap:9px;align-items:flex-start;color:var(--jh-muted);font-size:.73rem;line-height:1.6;padding:20px 23px}.jh-review-note svg{width:17px;height:17px;flex-shrink:0;margin-top:2px}
.jh-text-link{color:#9ee2b0;font-size:.8rem;white-space:nowrap}.jh-text-link:hover{color:#d6f8df}
.jh-table-scroll{overflow-x:auto;padding:0 24px 16px}.jh-table{width:100%;border-collapse:collapse;text-align:left;font-size:.83rem}.jh-table th{color:#b7cbbf;font-weight:500;font-size:.77rem;padding:16px 10px}.jh-table td{padding:17px 10px;border-top:1px solid var(--jh-border)}.jh-table td:first-child{font-weight:550}.jh-table td:last-child{color:var(--jh-muted);font-size:.75rem;white-space:nowrap}.jh-table a:hover{color:var(--jh-green)}.jh-status{color:#9af0af;white-space:nowrap}.jh-status::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:8px}.jh-status-draft{color:#f1c878}
.jh-empty{padding:28px;color:var(--jh-muted);font-size:.88rem;line-height:1.7}.jh-empty h2{font-size:1.2rem;font-weight:600;color:#f2f7f3;margin-bottom:8px}
.jh-muted{color:var(--jh-muted);line-height:1.7;margin-bottom:18px;font-size:.9rem}.jh-security-status{color:#98eab0;margin-bottom:18px}.jh-action-row{display:flex;gap:12px;flex-wrap:wrap}.jh-setup,.jh-recovery{padding:22px;margin-top:22px;border:1px solid var(--jh-border);border-radius:10px;background:#08160f;line-height:1.7;font-size:.9rem}.jh-setup h3,.jh-recovery h3{font-weight:650;margin-bottom:8px}.jh-setup p,.jh-recovery p{color:var(--jh-muted);margin:8px 0 14px}.jh-secret{display:block;overflow-wrap:anywhere;color:var(--jh-gold);letter-spacing:.08em;padding:12px;background:#173321;border-radius:6px}.jh-recovery ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:.8rem;overflow-wrap:anywhere;color:var(--jh-gold)}
@media(min-width:1600px){.jh-stat{padding:30px}.jh-event-content{padding:30px}.jh-dashboard{gap:28px}}
@media(max-width:1200px){.jh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.jh-dashboard-columns{grid-template-columns:minmax(0,1fr)}.jh-review-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.jh-review-card .jh-card-heading,.jh-review-card .jh-review-note{grid-column:1/-1}.jh-review-row{border-bottom:1px solid var(--jh-border)}}
@media(max-width:640px){.fi-panel-admin .fi-header-heading{font-size:2rem}.fi-panel-admin .fi-simple-main{padding:28px 22px}.jh-stats{gap:12px}.jh-stat{padding:18px 14px;gap:12px}.jh-stat-icon{width:38px;height:38px}.jh-stat-icon svg{width:21px;height:21px}.jh-stat strong{font-size:1.7rem}.jh-stat p{font-size:.72rem}.jh-card-heading{padding:18px}.jh-card-heading h2{font-size:.95rem;gap:8px}.jh-card-heading h2 svg{width:21px}.jh-event-content{grid-template-columns:1fr;padding:18px}.jh-upcoming{border-left:0;border-top:1px solid var(--jh-border);padding:16px 0 0}.jh-review-card{display:block}.jh-review-row{padding:20px 18px}.jh-table-scroll{padding:0 12px 12px}.jh-table{min-width:600px}.jh-recovery ul{grid-template-columns:1fr}.jh-calendar-grid{gap:8px}.jh-calendar-day{min-height:36px}}
@media(prefers-reduced-motion:reduce){.fi-panel-admin *{scroll-behavior:auto!important;transition:none!important}}

/* Keep grid and flex children inside the available panel width. */
.fi-panel-admin .fi-main-ctn,.fi-panel-admin .fi-main,.jh-dashboard,.jh-dashboard-columns,.jh-card,.jh-event-content,.jh-calendar,.jh-upcoming,.jh-stat>div,.jh-upcoming-event>div{min-width:0}
.jh-card{max-width:100%}.jh-stat p,.jh-upcoming-event h3,.jh-upcoming-event p,.jh-review-row p,.jh-table td{overflow-wrap:anywhere}
.jh-stat-note{display:block;color:var(--jh-muted);font-size:.65rem;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}
.jh-card-heading h2{min-width:0}.jh-card-heading h2 svg{flex-shrink:0}
.jh-calendar-heading button,.jh-button{min-height:44px}.jh-calendar-heading button{min-width:44px}

@media(max-width:767px){
    .fi-panel-admin .fi-main{padding-top:20px;padding-bottom:24px}
    .fi-panel-admin .fi-header-heading{font-size:1.8rem;line-height:1.2}
    .fi-panel-admin .fi-header-subheading{font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}
    .jh-dashboard{gap:16px}.jh-dashboard-columns{gap:16px}
    .jh-event-content{grid-template-columns:minmax(0,1fr);gap:18px}
    .jh-upcoming{border-left:0;border-top:1px solid var(--jh-border);padding:18px 0 0}
    .jh-review-card{display:block}
    .jh-card-heading{flex-wrap:wrap;gap:12px;padding:16px}
    .jh-card-heading h2{font-size:1rem;flex:1 1 160px}
    .jh-card-heading>.jh-button{flex-shrink:0}
    .jh-review-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;padding:18px 16px}
    .jh-review-row .jh-stat-icon{width:38px;height:38px}
    .jh-review-row strong{font-size:1.8rem}
    .jh-review-note{padding:16px;font-size:.78rem}
    .jh-calendar-grid{gap:4px;font-size:.85rem}.jh-calendar-day{min-height:38px}
    .jh-calendar-note{font-size:.75rem}.jh-upcoming-event time{font-size:.8rem}
    .jh-table-scroll{padding:0 16px 12px;overflow:visible}
    .jh-table{display:block;min-width:0;width:100%}
    .jh-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
    .jh-table tbody{display:block}
    .jh-table tr{display:block;padding:14px 0;border-bottom:1px solid var(--jh-border)}
    .jh-table tr:last-child{border-bottom:0}
    .jh-table td{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:7px 0;border:0;font-size:.85rem;text-align:right;white-space:normal}
    .jh-table td[data-label]::before{content:attr(data-label);color:var(--jh-muted);font-size:.75rem;text-align:left;flex-shrink:0}
    .jh-table td:first-child{display:block;text-align:left;font-size:.95rem;font-weight:650;margin-bottom:6px}
    .jh-table td:first-child::before{display:none}
    .jh-table td:first-child a{display:block;padding:5px 0;min-height:44px}
    .jh-table td:last-child{white-space:normal}
    .fi-panel-admin .fi-topbar>nav{gap:10px;padding-left:12px;padding-right:12px}
    .fi-panel-admin .fi-topbar .fi-icon-btn{min-width:44px;min-height:44px}
    .fi-panel-admin .fi-sidebar{max-width:calc(100vw - 48px);height:100dvh}
    .fi-panel-admin .fi-sidebar-header{height:96px;padding:16px}
    .fi-panel-admin .fi-sidebar-header .jh-brand{gap:10px}
    .fi-panel-admin .fi-sidebar-header .jh-brand>img{width:44px;height:44px}
    .fi-panel-admin .fi-sidebar-header .jh-brand-name{font-size:1.3rem}
    .jh-sidebar-footer{padding:16px}
    .fi-panel-admin .fi-input,.fi-panel-admin .fi-select-input{font-size:16px}
}
@media(max-width:480px){
    .jh-stat{flex-direction:column;align-items:flex-start;padding:16px;gap:10px}
    .jh-stat>div{width:100%}.jh-stat p{font-size:.8rem;min-height:2.4em}.jh-stat strong{font-size:1.8rem}
    .jh-event-content{padding:16px}.jh-calendar-heading{gap:4px}
    .jh-review-row{grid-template-columns:38px minmax(0,1fr)}
    .jh-review-row>a{grid-column:2;justify-self:start;min-height:44px;display:inline-flex;align-items:center}
    .fi-panel-admin .fi-simple-main{padding:24px 18px}
}
@media(max-width:360px){.jh-stats{gap:8px}.jh-stat{padding:12px}.jh-stat-icon{width:32px;height:32px}.jh-calendar-grid{gap:2px}.jh-calendar-day{min-height:34px}}
