:root{--rail: 15.5rem;--topbar: 4.5rem;--app-gutter: clamp(1.25rem, 3vw, 2.75rem);--positive: #4F6B4A;--positive-bg: #E7EDE3;--attention: #8A6A3F;--attention-bg: #F1E9DC;--danger: #8C3A2B;--danger-bg: #F3E4DF;--lift-1: 0 1px 2px rgba(23, 21, 15, .04);--lift-2: 0 2px 6px rgba(23, 21, 15, .06), 0 12px 32px -12px rgba(23, 21, 15, .18);--lift-3: 0 4px 12px rgba(23, 21, 15, .08), 0 24px 64px -20px rgba(23, 21, 15, .28)}.app{min-height:100svh;background:#f3ede3}.app-main{min-height:100svh}@media(min-width:1024px){.app-main{margin-left:var(--rail)}}.rail{position:fixed;inset:0 auto 0 0;z-index:60;width:var(--rail);display:flex;flex-direction:column;background:#0f2137;color:#f3ede3;border-right:1px solid rgba(244,241,234,.08)}.rail-brand{display:flex;align-items:center;height:var(--topbar);padding-inline:1.5rem;flex:none;border-bottom:1px solid rgba(244,241,234,.08)}.rail-brand img{display:block;width:auto;height:1.35rem}.rail-scroll{flex:1;overflow-y:auto;padding:1.5rem 0 1rem}.rail-group+.rail-group{margin-top:1.75rem}.rail-group-label{padding:0 1.5rem .7rem;font-size:.58rem;font-weight:500;text-transform:uppercase;letter-spacing:.24em;color:#f4f1ea52}.rail-link{position:relative;display:flex;align-items:center;gap:.85rem;padding:.6rem 1.5rem;font-size:.82rem;letter-spacing:.01em;color:#f4f1ea9e;transition:color .35s var(--ease),background-color .35s var(--ease)}.rail-link svg{flex:none;opacity:.75;transition:opacity .35s var(--ease)}.rail-link:before{content:"";position:absolute;left:0;top:.35rem;bottom:.35rem;width:2px;background:#8f5231;transform:scaleY(0);transform-origin:center;transition:transform .45s var(--ease)}.rail-link:hover{color:#f3ede3;background:#f4f1ea0a}.rail-link:hover svg{opacity:1}.rail-link.is-active{color:#f3ede3;background:#f4f1ea0d}.rail-link.is-active:before{transform:scaleY(1)}.rail-link.is-active svg{opacity:1;color:#8f5231}.rail-count{margin-left:auto;font-size:.68rem;font-variant-numeric:tabular-nums;color:#f4f1ea73}.rail-foot{flex:none;border-top:1px solid rgba(244,241,234,.08);padding:1rem 1.25rem}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1.25rem;height:var(--topbar);padding-inline:var(--app-gutter);background:#f4f1ead1;backdrop-filter:blur(20px);border-bottom:1px solid #D2C5AF}.topbar-title{font-family:Newsreader,Georgia,serif;font-size:1.3rem;letter-spacing:-.02em;line-height:1.1}.topbar-crumb{font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:#5a6d7d}.app-body{padding:clamp(1.75rem,3.5vw,3rem) var(--app-gutter) 5rem}.app-section+.app-section{margin-top:clamp(2rem,4vw,3.5rem)}.app main>:first-child:not([data-hero]){padding-top:0}.panel{background:#faf7f1;border:1px solid #D2C5AF;border-radius:2px;box-shadow:var(--lift-1)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.5rem;border-bottom:1px solid #D2C5AF}.panel-title{font-family:Newsreader,Georgia,serif;font-size:1.05rem;letter-spacing:-.01em}.panel-body{padding:1.5rem}.panel-foot{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #D2C5AF;background:#ede8dd59}.app-label{display:block;font-size:.6rem;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:#5a6d7d}.stat{padding:1.15rem 1.35rem 1.35rem;background:#faf7f1;border-top:2px solid #0F2137}.stat-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;color:#4c6072}.stat-value{margin-top:.55rem;font-family:Newsreader,Georgia,serif;font-weight:500;font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat-note{margin-top:.5rem;font-size:.74rem;color:#5a6d7d}.stat--quiet{border-top-color:#d2c5af}.badge{display:inline-flex;align-items:center;gap:.4em;padding:.3rem .55rem;border-radius:1px;font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;border:1px solid transparent;white-space:nowrap}.badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.badge--neutral{background:#e7ddcd;color:#2c4257;border-color:#d2c5af}.badge--muted{background:transparent;color:#5a6d7d;border-color:#d2c5af}.badge--positive{background:var(--positive-bg);color:var(--positive);border-color:#4f6b4a38}.badge--accent{background:var(--attention-bg);color:var(--attention);border-color:#8a6a3f3d}.badge--danger{background:var(--danger-bg);color:var(--danger);border-color:#8c3a2b33}.b{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.62rem 1.05rem;border:1px solid transparent;border-radius:2px;font-size:.76rem;font-weight:500;letter-spacing:.06em;cursor:pointer;white-space:nowrap;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease),opacity .2s}.b svg{flex:none}.b:disabled,.b[aria-disabled=true]{opacity:.45;pointer-events:none}.b--primary{background:#0f2137;color:#f3ede3}.b--primary:hover{background:#2a2620;box-shadow:var(--lift-2)}.b--ghost{border-color:#d2c5af;color:#0f2137;background:#faf7f1}.b--ghost:hover{border-color:#2c4257;box-shadow:var(--lift-1)}.b--quiet{color:#4c6072}.b--quiet:hover{color:#0f2137;background:#e7ddcd}.b--danger{border-color:#8c3a2b4d;color:var(--danger);background:#faf7f1}.b--danger:hover{background:var(--danger);color:#f3ede3;border-color:var(--danger)}.b--light{border-color:#f4f1ea47;color:#f3ede3}.b--light:hover{background:#f3ede3;color:#0f2137}.b--sm{padding:.42rem .7rem;font-size:.7rem}.b--block{width:100%}.f{display:flex;flex-direction:column;gap:.45rem}.f-label{font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:#4c6072}.f-hint{font-size:.74rem;color:#5a6d7d}.f-error{font-size:.74rem;color:var(--danger)}.i{width:100%;padding:.62rem .8rem;border-radius:2px;background:#fff;color:#0f2137;border:1px solid #D2C5AF;font:inherit;font-size:.88rem;transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background-color .25s}.i::-moz-placeholder{color:#5a6d7d}.i::placeholder{color:#5a6d7d}.i:hover:not(:focus){border-color:#cfc7b7}.i:focus{outline:none;border-color:#2c4257;box-shadow:0 0 0 3px #17150f12}.i[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px #8c3a2b1a}textarea.i{resize:vertical;min-height:5rem;line-height:1.6}select.i{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.2rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236E6A60' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center}.i-group{display:flex;align-items:stretch}.i-group .i{border-radius:2px 0 0 2px}.i-suffix{display:inline-flex;align-items:center;padding:0 .75rem;border:1px solid #D2C5AF;border-left:0;border-radius:0 2px 2px 0;background:#e7ddcd;color:#4c6072;font-size:.78rem}.chip{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem .8rem;border:1px solid #D2C5AF;border-radius:2px;background:#faf7f1;font-size:.8rem;color:#2c4257;transition:border-color .25s var(--ease),background-color .25s var(--ease),color .25s}.chip input{position:absolute;opacity:0;width:0;height:0}.chip-dot{width:14px;height:14px;flex:none;border:1px solid #D2C5AF;border-radius:1px;background:#fff;position:relative;transition:border-color .25s,background-color .25s}.chip-dot:after{content:"";position:absolute;inset:3px;background:#f3ede3;transform:scale(0);transition:transform .25s var(--ease)}.chip:hover{border-color:#cfc7b7}.chip:has(input:checked){border-color:#0f2137;background:#fff;color:#0f2137}.chip:has(input:checked) .chip-dot{background:#0f2137;border-color:#0f2137}.chip:has(input:checked) .chip-dot:after{transform:scale(1)}.chip:has(input:focus-visible){outline:2px solid #8F5231;outline-offset:2px}.chip--radio .chip-dot{border-radius:50%}.chip--radio .chip-dot:after{border-radius:50%}.switch{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{width:2.2rem;height:1.2rem;flex:none;border-radius:999px;position:relative;background:#d2c5af;transition:background-color .3s var(--ease)}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.2rem - 4px);height:calc(1.2rem - 4px);border-radius:50%;background:#fff;box-shadow:var(--lift-1);transition:transform .3s var(--ease)}.switch input:checked+.switch-track{background:#0f2137}.switch input:checked+.switch-track:after{transform:translate(1rem)}.switch input:focus-visible+.switch-track{outline:2px solid #8F5231;outline-offset:2px}.t-wrap{overflow-x:auto}.t{width:100%;border-collapse:collapse;font-size:.84rem}.t thead th{padding:.7rem 1rem;text-align:left;white-space:nowrap;font-size:.6rem;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:#4c6072;border-bottom:1px solid #D2C5AF;background:#faf7f1}.t tbody td{padding:.85rem 1rem;border-bottom:1px solid #D2C5AF;vertical-align:middle}.t tbody tr{transition:background-color .2s ease}.t tbody tr:hover{background:#ede8dd73}.t tbody tr:last-child td{border-bottom:0}.t .t-num{font-variant-numeric:tabular-nums;white-space:nowrap}.t .t-right{text-align:right}.empty{display:grid;place-items:center;gap:.85rem;padding:clamp(3rem,8vw,5.5rem) 1.5rem;text-align:center}.empty-mark{width:2.5rem;height:2.5rem;display:grid;place-items:center;border:1px solid #D2C5AF;color:#8f5231;border-radius:50%}.empty-title{font-family:Newsreader,Georgia,serif;font-size:1.15rem}.empty-text{max-width:38ch;font-size:.86rem;color:#4c6072;line-height:1.6}.skl{position:relative;overflow:hidden;border-radius:2px;background:#e7ddcd}.skl:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translate(-100%);animation:skl 1.6s var(--ease) infinite}@keyframes skl{to{transform:translate(100%)}}.pager{display:flex;align-items:center;gap:.35rem}.pager a,.pager span{min-width:2rem;height:2rem;display:grid;place-items:center;padding-inline:.5rem;border:1px solid transparent;border-radius:2px;font-size:.78rem;font-variant-numeric:tabular-nums;color:#4c6072;transition:border-color .25s,color .25s,background-color .25s}.pager a:hover{color:#0f2137;border-color:#d2c5af;background:#faf7f1}.pager [aria-current=page]{color:#0f2137;border-color:#0f2137}.pager .is-gap{color:#5a6d7d}.auth-card{display:block}.auth-card--staff{margin-inline:-1.5rem;padding:1.75rem 1.5rem 1.5rem;background:#0f2137;color:#f3ede3;border:1px solid rgba(244,241,234,.1);border-radius:2px;box-shadow:var(--lift-2)}.auth-card--staff .f-label{color:#f4f1ea8c}.auth-card--staff .i{background:#f4f1ea0a;color:#f3ede3;border-color:#f4f1ea29}.auth-card--staff .i::-moz-placeholder{color:#f4f1ea4d}.auth-card--staff .i::placeholder{color:#f4f1ea4d}.auth-card--staff .i:hover:not(:focus){border-color:#f4f1ea4d}.auth-card--staff .i:focus{border-color:#8f5231;box-shadow:0 0 0 3px #8a6a3f33}.auth-card--staff .b--primary{background:#8f5231;color:#0f2137}.auth-card--staff .b--primary:hover{background:#a07f4f}.auth-card--staff .b--ghost{background:transparent;color:#f3ede3;border-color:#f4f1ea38}.auth-card--staff .b--ghost:hover{border-color:#f3ede3;background:#f4f1ea0f}.auth-card--staff .switch{color:#f4f1eab3}.auth-card--staff .switch-track{background:#f4f1ea29}.auth-card--staff .switch input:checked+.switch-track{background:#8f5231}.auth-card--staff .auth-sep{color:#f4f1ea59}.auth-card--staff .auth-sep:before,.auth-card--staff .auth-sep:after{background:#f4f1ea24}.auth-card--staff .pw-eye{color:#f4f1ea73}.auth-card--staff .pw-eye:hover{color:#f3ede3}.auth-alert{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1.5rem;padding:.8rem .9rem;border-radius:2px;border:1px solid transparent;font-size:.82rem;line-height:1.55}.auth-alert svg{flex:none;margin-top:.15rem}.auth-alert code{font-size:.78em;padding:.1em .35em;background:#17150f12;border-radius:1px}.auth-alert--err{background:var(--danger-bg);color:var(--danger);border-color:#8c3a2b33}.auth-alert--ok{background:var(--positive-bg);color:var(--positive);border-color:#4f6b4a38}.auth-alert--info{background:var(--attention-bg);color:var(--attention);border-color:#8a6a3f3d}.auth-sep{display:flex;align-items:center;gap:1rem;margin:1.75rem 0 1.15rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:#5a6d7d}.auth-sep:before,.auth-sep:after{content:"";flex:1;height:1px;background:#d2c5af}.pw{position:relative}.pw .i{padding-right:2.75rem}.pw-eye{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2rem;height:2rem;border-radius:2px;color:#5a6d7d;transition:color .25s var(--ease)}.pw-eye:hover{color:#0f2137}.pw-eye.is-on{color:#8f5231}.pw-meter{display:flex;gap:.25rem;margin-top:.5rem}.pw-meter i{flex:1;height:2px;background:#d2c5af;transition:background-color .35s var(--ease)}.pw-meter[data-level="1"] i:nth-child(-n+1){background:var(--danger)}.pw-meter[data-level="2"] i:nth-child(-n+2){background:var(--attention)}.pw-meter[data-level="3"] i:nth-child(-n+3){background:var(--attention)}.pw-meter[data-level="4"] i{background:var(--positive)}.sheet{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1.25rem}.sheet[hidden]{display:none}.sheet-veil{position:absolute;inset:0;background:#17150f6b;backdrop-filter:blur(2px);opacity:0;transition:opacity .3s var(--ease)}.sheet-card{position:relative;width:min(34rem,100%);background:#faf7f1;border:1px solid #D2C5AF;border-radius:2px;box-shadow:var(--lift-3);opacity:0;transform:translateY(10px) scale(.985);transition:opacity .35s var(--ease),transform .35s var(--ease)}.sheet.is-open .sheet-veil{opacity:1}.sheet.is-open .sheet-card{opacity:1;transform:none}.toasts{position:fixed;z-index:95;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);display:flex;flex-direction:column;gap:.6rem;width:min(23rem,calc(100vw - 2rem));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;background:#0f2137;color:#f3ede3;border-radius:2px;box-shadow:var(--lift-3);pointer-events:auto;opacity:0;transform:translateY(12px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.toast.is-in{opacity:1;transform:none}.toast-mark{flex:none;margin-top:.15rem;color:#8f5231}.toast--ok .toast-mark{color:#9bbf93}.toast--err .toast-mark{color:#d89584}.toast-title{font-size:.84rem;font-weight:500}.toast-text{margin-top:.15rem;font-size:.78rem;color:#f4f1eaa6;line-height:1.5}.drop{position:relative;display:grid;place-items:center;gap:.6rem;padding:2.25rem 1.25rem;text-align:center;cursor:pointer;border:1px dashed #D2C5AF;border-radius:2px;background:#faf7f1;color:#4c6072;transition:border-color .3s var(--ease),background-color .3s var(--ease),color .3s}.drop:hover,.drop.is-over{border-color:#8f5231;background:#f1e9dc80;color:#0f2137}.drop:focus-within{border-color:#8f5231;outline:2px solid #8F5231;outline-offset:2px}.drop--slim{padding:1.5rem 1.25rem}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem}.gal-item{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:2px;background:#e7ddcd;border:1px solid #D2C5AF;cursor:grab}.gal-item.is-dragging{opacity:.4}.gal-alt{position:absolute;inset:0 0 auto;padding:.35rem .5rem;background:linear-gradient(to bottom,rgba(23,21,15,.72),transparent);color:#f4f1eae6;font-size:.66rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gal-item.is-over{border-color:#8f5231}.gal-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.gal-bar{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.35rem .45rem;background:linear-gradient(to top,rgba(23,21,15,.82),transparent);opacity:0;transition:opacity .3s var(--ease)}.gal-item:hover .gal-bar,.gal-item:focus-within .gal-bar{opacity:1}.gal-act{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:1px;color:#f4f1eacc;background:#17150f73;transition:color .2s,background-color .2s}.gal-act:hover{color:#f3ede3;background:#17150fcc}.gal-cover{position:absolute;top:.45rem;left:.45rem;padding:.2rem .45rem;border-radius:1px;background:#f3ede3;color:#0f2137;font-size:.55rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em}@media(max-width:1023px){.rail{transform:translate(-100%);visibility:hidden;transition:transform .45s var(--ease),visibility 0s linear .45s;box-shadow:var(--lift-3)}.rail.is-open{transform:none;visibility:visible;transition-delay:0s,0s}.rail-veil{position:fixed;inset:0;z-index:55;background:#17150f66;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s linear .35s}.rail-veil.is-open{opacity:1;visibility:visible;transition-delay:0s,0s}}@media(prefers-reduced-motion:reduce){.skl:after{animation:none}}
