:root{--shell-green:#173b30;--shell-green-2:#205141;--shell-gold:#c6a667;--shell-bg:#f3f5f2;--shell-border:#e2e8e3;--shell-text:#183128;--shell-muted:#718078;--shell-top:78px;--shell-side:278px}
*{box-sizing:border-box}
body.is-authenticated{background:var(--shell-bg);color:var(--shell-text);min-height:100vh}
.app-topbar{position:sticky;top:0;z-index:90;height:var(--shell-top);padding:0 clamp(20px,3vw,48px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(23,59,48,.09);box-shadow:0 8px 32px rgba(22,48,39,.05);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.app-brand{display:inline-flex;align-items:center;gap:10px;flex:none;color:var(--shell-green);text-decoration:none}
.app-brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,var(--shell-green-2),var(--shell-green));color:#fff;font-family:Georgia,serif;font-size:22px;box-shadow:0 8px 18px rgba(23,59,48,.2)}
.app-brand>b{font-family:Georgia,serif;font-size:20px;letter-spacing:-.02em}
.app-brand>small{margin-left:1px;padding:4px 7px;border-radius:6px;background:#f0eadf;color:#8c713e;font-size:8px;font-weight:800;letter-spacing:.13em}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:8px}
.desktop-nav a{color:#42554d;text-decoration:none}
.top-link{padding:10px 13px;border-radius:10px;font-size:14px;font-weight:700}
.top-link:hover,.top-link.active{background:#edf3ef;color:var(--shell-green)}
.event-switch{display:flex;align-items:center;gap:10px;min-width:185px;padding:8px 11px 8px 13px;border:1px solid var(--shell-border);border-radius:13px;background:#fafbf9}
.event-switch span,.profile-link small{display:block;color:var(--shell-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.event-switch b{display:block;max-width:160px;color:var(--shell-text);font-size:12px}
.event-switch i{margin-left:auto;font-style:normal;color:#8c9a92}
.profile-link{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:13px}
.profile-link:hover{background:#f4f6f3}
.profile-link>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e2ece6;color:var(--shell-green);font-size:13px;font-weight:850}
.profile-link b{display:block;color:var(--shell-text);font-size:12px}
.admin-shortcut{display:flex;align-items:center;gap:6px;padding:10px 12px!important;border-radius:10px;background:linear-gradient(135deg,#223f34,#152d25)!important;color:#fff!important;font-size:12px;font-weight:800;box-shadow:0 7px 16px rgba(22,48,39,.16)}
.admin-shortcut span{color:#ddc48e}
.desktop-nav form{display:block;margin:0}
.logout-link{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:11px;background:#f5f6f4;color:#65756d;font-size:17px;cursor:pointer}
.logout-link:hover{background:#f7e9e7;color:#a5493c}
.mobile-account-menu{display:none;position:relative}
.client-sidebar{position:fixed!important;z-index:70;top:var(--shell-top);bottom:0;left:0;width:var(--shell-side)!important;display:flex!important;flex-direction:column;padding:22px 16px 18px;background:linear-gradient(168deg,#183e32 0%,#102d25 68%,#0d271f 100%);color:#fff;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.17) transparent;box-shadow:12px 0 34px rgba(18,45,36,.09)}
.sidebar-event{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.055)}
.sidebar-event p,.sidebar-nav>p{margin:0;color:#9db3aa;font-size:9px;font-weight:850;letter-spacing:.14em}
.sidebar-event h3{margin:7px 0 5px;color:#fff;font-family:Georgia,serif;font-size:17px;line-height:1.25}
.sidebar-event span{display:block;color:#afc0b9;font-size:11px;line-height:1.45}
.sidebar-event a{display:inline-block;margin-top:11px;color:#d8c391;font-size:11px;font-weight:750;text-decoration:none}
.sidebar-search{display:flex!important;align-items:center;gap:8px;margin:13px 2px 7px!important;padding:0 11px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(0,0,0,.12)}
.sidebar-search span{color:#a9bbb4;font-size:13px}
.sidebar-search input{width:100%;height:38px;padding:0;border:0;outline:0;background:transparent;color:#fff;font-size:12px}
.sidebar-search input::placeholder{color:#8da29a}
.sidebar-nav{display:grid!important;gap:7px;margin-top:4px;padding-bottom:10px}
.sidebar-nav-group{display:grid;gap:2px;min-width:0;padding:7px;border:1px solid rgba(255,255,255,.045);border-radius:13px;background:rgba(255,255,255,.022)}
.sidebar-nav-group>p{margin:1px 7px 5px;color:#8fa79d;font-size:7px;font-weight:900;letter-spacing:.17em}
.sidebar-nav a{position:relative;display:flex;align-items:center;gap:10px;min-height:38px;margin:0;padding:6px 9px;border:1px solid transparent;border-radius:9px;color:#bed0c8;text-decoration:none;font-size:11px;font-weight:700;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.sidebar-nav a i{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:rgba(255,255,255,.035);color:#92aa9f;font-style:normal;transition:inherit}
.sidebar-nav a i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar-nav a span{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}
.sidebar-nav a:hover{transform:translateX(1px);border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.065);color:#fff}
.sidebar-nav a:hover i{border-color:rgba(216,189,126,.2);background:rgba(216,189,126,.08);color:#d8c48f}
.sidebar-nav a.active{border-color:rgba(216,189,126,.18);background:linear-gradient(100deg,rgba(210,188,137,.17),rgba(255,255,255,.055));color:#fff;box-shadow:inset 2px 0 #d8bd7e,0 5px 14px rgba(5,25,18,.1)}
.sidebar-nav a.active i{border-color:rgba(224,201,143,.24);background:rgba(224,201,143,.13);color:#e4ce96}
.sidebar-help{display:flex;align-items:center;gap:10px;margin-top:auto;padding:13px;border:1px solid rgba(214,191,137,.18);border-radius:13px;background:rgba(214,191,137,.08)}
.sidebar-help>i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d4bc85;color:#19372e;font-style:normal;font-weight:900}
.sidebar-help b{display:block;font-size:11px}
.sidebar-help a{color:#c5d2cd;font-size:10px;text-decoration:none}
main.with-sidebar{width:auto!important;max-width:none!important;margin:0 0 0 var(--shell-side)!important;padding:clamp(26px,3vw,44px) clamp(22px,4vw,62px) 64px!important;min-height:calc(100vh - var(--shell-top))}
.has-event-shell .site-footer{display:none}
.mobile-bottom-nav{display:none}
.toast{position:fixed;z-index:120;top:94px;right:24px;display:flex;align-items:center;gap:10px;max-width:min(390px,calc(100vw - 32px));padding:13px 17px;border:1px solid #cce1d4;border-radius:14px;background:rgba(248,255,250,.96);color:#1d5738;box-shadow:0 14px 42px rgba(26,63,49,.17);font-size:13px;font-weight:700;backdrop-filter:blur(12px);animation:shellToast .35s ease both}
.toast i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dceee3;font-style:normal}
@keyframes shellToast{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.is-authenticated main:not(.with-sidebar){min-height:calc(100vh - var(--shell-top));padding-top:36px}
.app-topbar a:focus-visible,.client-sidebar a:focus-visible,.mobile-bottom-nav a:focus-visible,.mobile-account-menu summary:focus-visible{outline:3px solid rgba(198,166,103,.55);outline-offset:2px}
@media(max-width:1100px){.event-switch{display:none}.profile-link div{display:none}.top-link{display:none}}
@media(max-width:900px){:root{--shell-top:68px}.app-topbar{position:sticky;height:var(--shell-top);padding:0 16px}.app-brand>span{width:35px;height:35px;border-radius:11px}.app-brand>b{font-size:18px}.app-brand>small{display:none}.desktop-nav{display:none!important}.client-sidebar{display:none!important}main.with-sidebar{margin:0!important;padding:24px 16px calc(96px + env(safe-area-inset-bottom))!important;min-height:calc(100vh - var(--shell-top))}.mobile-account-menu{display:block}.mobile-account-menu summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer}.mobile-account-menu summary::-webkit-details-marker{display:none}.mobile-account-menu summary>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e2ece6;color:var(--shell-green);font-size:13px;font-weight:850}.mobile-account-menu summary>i{font-style:normal;color:#63756d;font-size:18px}.mobile-account-menu>div{position:absolute;top:48px;right:0;width:min(290px,calc(100vw - 32px));padding:10px;border:1px solid var(--shell-border);border-radius:15px;background:#fff;box-shadow:0 20px 55px rgba(21,51,41,.18)}.mobile-account-menu>div>b{display:block;padding:10px 11px;color:var(--shell-green);font-family:Georgia,serif;font-size:15px}.mobile-account-menu a,.mobile-account-menu button{display:block;width:100%;padding:10px 11px;border:0;border-radius:9px;background:transparent;color:#40544b;text-align:left;text-decoration:none;font:600 12px/1.3 inherit}.mobile-account-menu a:hover,.mobile-account-menu button:hover{background:#f0f4f1}.mobile-account-menu form{display:block;margin:0}.mobile-account-menu hr{margin:6px 8px;border:0;border-top:1px solid #e9edea}.mobile-bottom-nav{position:fixed;z-index:85;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));left:10px;display:grid;grid-template-columns:repeat(5,1fr);padding:7px;border:1px solid rgba(23,59,48,.1);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 40px rgba(17,46,36,.2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:11px;color:#7a8881;text-decoration:none;font-size:9px;font-weight:750}.mobile-bottom-nav a i{font-style:normal;font-size:17px;line-height:1}.mobile-bottom-nav a.active{background:#eaf1ed;color:var(--shell-green)}.toast{top:80px;right:16px}.has-event-shell .maintenance-admin-banner+header{top:0}}
@media(max-width:480px){.app-brand>b{font-size:16px}.mobile-bottom-nav{right:7px;left:7px}.mobile-bottom-nav a{font-size:8px}.is-authenticated main:not(.with-sidebar){padding-right:14px;padding-left:14px}}
@media(prefers-reduced-motion:reduce){.sidebar-nav a,.toast{transition:none;animation:none}}
