/* Maritime artwork stays decorative; every control and balance remains readable. */
.signed-in{background:#f2f3f2}
.sidebar{background:linear-gradient(160deg,#102733 0%,#08151e 72%);overflow-y:auto;border-right:1px solid #d8b56e25}
.sidebar nav{margin-top:32px}
.sidebar .brand img{box-shadow:0 0 0 1px #d8b56e50,0 4px 18px #0005}
.sidebar-crest{text-align:center;padding:19px 0 22px;flex-shrink:0}
.sidebar-crest img{display:block;width:112px;height:112px;object-fit:contain;margin:0 auto 5px;filter:drop-shadow(0 8px 12px #0008)}
.sidebar-crest span{color:#bb9c61;font-size:7px;letter-spacing:2px;font-weight:650}
.sidebar-bottom{padding-top:19px}
.sidebar-bottom p{margin-bottom:13px}
.topbar{border-top:3px solid #b21832;background:linear-gradient(90deg,#fff,#faf8f3)}
.voyage-banner{position:relative;isolation:isolate;overflow:hidden;min-height:270px;padding:33px 38px 60px;border-radius:15px;background:#0b1a24;color:#fff;box-shadow:0 12px 28px #0b1a2412;align-items:flex-start;border:1px solid #b9925350}
.voyage-banner:before{content:"";position:absolute;inset:0;z-index:-2;background:url('/viking-hero.webp') right center/auto 100% no-repeat}
.voyage-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1a24 0%,#0b1a24fa 25%,#0b1a24b8 48%,#0b1a2420 75%,#0b1a2408)}
.voyage-copy{max-width:62%;position:relative}
.voyage-banner .eyebrow{display:flex;align-items:center;gap:9px;color:#e5c788;font-size:8px;letter-spacing:1.45px;margin-bottom:15px}
.voyage-banner .eyebrow img{flex-shrink:0}
.voyage-banner h1{font-size:clamp(28px,3vw,41px);letter-spacing:-1.2px;line-height:1.1;text-shadow:0 2px 14px #0005}
.voyage-message{font-family:Georgia,serif;font-size:18px;line-height:1.5;color:#e4dfd3;margin:17px 0 0}
.voyage-banner .today{font-size:10px;position:absolute;right:20px;top:17px;color:#fff6e3;border:1px solid #ffffff35;background:#0b1a249c;border-radius:20px;padding:6px 12px;backdrop-filter:blur(6px)}
.voyage-standard{position:absolute;left:38px;bottom:14px;display:flex;gap:10px;align-items:center;font-size:7px;letter-spacing:1.8px;font-weight:650;color:#d6bd89}
.voyage-standard img{width:33px;height:33px;object-fit:contain;filter:drop-shadow(0 2px 4px #0007)}
.voyage-rule{position:absolute;bottom:0;left:0;width:41%;height:3px;background:linear-gradient(90deg,#ac132d 0%,#ac132d 60%,#d8b56e 60%,#d8b56e)}
.stat{position:relative;overflow:hidden;box-shadow:0 3px 14px #14232d04;transition:transform .2s ease,box-shadow .2s ease}
.stat:hover{transform:translateY(-3px);box-shadow:0 9px 22px #14232d0b}
.stat:after{content:"";position:absolute;right:10px;bottom:-12px;width:60px;height:75px;background:url('/portal/anchor-red.svg') center/contain no-repeat;opacity:.13;pointer-events:none}
.stat.featured{background:linear-gradient(125deg,#122b38,#0b1a24);border-color:#253d49;border-top-color:#d8b56e}
.stat.featured span{color:#becbd1}
.stat.featured strong{color:#edcd8c}
.stat.featured:after{opacity:.28}
.panel{background-color:#fff;background-image:linear-gradient(90deg,#fffffffF,#fffffff2),url('/sea-eagle-logo.jpeg');background-repeat:no-repeat;background-size:100% 100%,260px auto;background-position:center,right 25px center;box-shadow:0 3px 14px #14232d03}
.welcome-card{border:1px solid #d8b56e50;background:linear-gradient(120deg,#142d3b,#0a1b25);padding-top:31px;padding-bottom:31px}
.welcome-card:after{background:url('/portal/viking-emblem-red.png') center/contain no-repeat;width:140px;height:140px;border:0;right:20px;top:50%;transform:translateY(-50%);opacity:.17;z-index:0}
.welcome-card>*{position:relative;z-index:1}
.welcome-card .avatar{box-shadow:0 0 0 4px #ffffff0a,0 0 0 5px #d8b56e70}
.welcome-card .button{background:#122a38dc;border-color:#d8b56e65}
.profile-crest{display:block;width:76px;height:76px;object-fit:contain;margin:0 auto -3px}
.profile-summary .avatar.portrait{border:3px solid #d8b56e;box-shadow:0 0 0 7px #d8b56e15}
.action-banner{background:linear-gradient(100deg,#fcf5e6,#fffaf0);border-color:#e5d4ac}
.member-title .avatar{border:2px solid #d8b56e;box-shadow:0 0 0 5px #d8b56e15}
.month-card{transition:border-color .2s ease,background-color .2s ease}
.month-card:hover{border-color:#b99b60}
.portal-footer{align-items:center;border-top-color:#cdbd9d70;gap:15px}
.portal-footer img{opacity:.8}
.auth-story{border-right:4px solid #b21832}
.auth-form:before{content:"";display:block;width:65px;height:65px;background:url('/sea-eagle-logo.jpeg') center/contain no-repeat;margin-bottom:20px;border-radius:50%}
@media(max-width:1150px){.voyage-banner{padding:29px 27px 60px;min-height:270px}.voyage-copy{max-width:67%}.voyage-standard{left:27px}.voyage-banner h1{font-size:32px}.sidebar-crest img{width:97px;height:97px}}
@media(max-height:800px) and (min-width:761px){.sidebar-crest{padding:11px 0}.sidebar-crest img{width:73px;height:73px}.sidebar nav{margin-top:25px}.sidebar nav a{padding:10px 14px}.sidebar-bottom{padding-top:12px}.sidebar-bottom p{font-size:15px}}
@media(max-width:760px){.sidebar{overflow:visible}.sidebar-crest{display:none}.sidebar nav{margin-top:18px}.sidebar-bottom{padding:0}.voyage-banner{min-height:280px;padding:27px 22px 57px;border-radius:12px}.voyage-banner:before{background-position:right center;background-size:auto 100%;opacity:.85}.voyage-banner:after{background:linear-gradient(90deg,#0b1a24f5,#0b1a24c9 45%,#0b1a2465 100%)}.voyage-copy{max-width:100%}.voyage-banner h1{font-size:30px;max-width:270px}.voyage-banner .eyebrow{font-size:7px;letter-spacing:1.2px;max-width:265px;line-height:1.6}.voyage-message{font-size:17px;line-height:1.5;max-width:210px}.voyage-standard{left:22px;font-size:6px;letter-spacing:1.3px;bottom:15px;gap:7px}.voyage-standard img{width:32px;height:32px}.voyage-banner .today{display:none}.panel{background-size:100% 100%,220px auto;background-position:center,right -35px center}.stat:after{width:45px;height:61px;right:5px}.welcome-card:after{width:120px;height:120px;right:12px}.auth-story{border-right:0;border-bottom:3px solid #b21832}.auth-form:before{display:none}.profile-crest{width:76px;height:76px}}
@media(prefers-reduced-motion:reduce){.stat,.month-card{transition:none}.stat:hover{transform:none}}

.sidebar-crest img,.voyage-standard img,.profile-crest{border-radius:12px;background:#0b1a24}
.welcome-card:after{border-radius:16px}

.royal-portal .sidebar{background:linear-gradient(155deg,#27231b,#0b1a24 65%);border-right:1px solid #d6ad5f}
.royal-portal .topbar{border-top-color:#d6ad5f}
.royal-portal .voyage-banner{border-color:#b58c41}
.royal-portal .royal-crown{width:52px;height:37px;display:block;margin:0 0 6px}
.royal-portal .voyage-message{margin-top:10px}
.royal-portal .welcome-card{background:linear-gradient(115deg,#211c13,#514025);border:1px solid #d6ad5f}
.royal-portal .welcome-card:after{background-image:url('/portal/sail-keeper-helmet.png')}
.royal-portal .sidebar nav a.active{background:#c59c4526;color:#f1d491;border-left-color:#d6ad5f}
.royal-portal .sidebar-crest img{width:135px;height:135px}
.royal-portal .badge.good{background:#f3e6c6;color:#66501f}
.payment-instructions a{font-size:1.3rem;font-weight:750;color:#ac1630;overflow-wrap:anywhere}
.payment-instructions .two-col>div{padding:18px;background:#f5f1e9;border-radius:10px;border:1px solid #e1d4b7}
.payment-instructions .hint{margin-top:18px}

.publication-card{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:36px;align-items:center;margin-top:28px;padding:24px;border:1px solid #ddd7cb;border-radius:14px;background:#faf8f3}
.publication-preview{display:block;box-shadow:0 8px 20px #10233322;transition:transform .2s}.publication-preview:hover{transform:translateY(-3px)}
.publication-preview img{display:block;width:100%;height:auto}.publication-card h3{font-size:1.8rem;margin:16px 0 12px}.publication-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media(max-width:650px){.publication-card{grid-template-columns:1fr;padding:18px;gap:24px}.publication-preview{max-width:220px;margin:auto}.publication-card h3{font-size:1.5rem}}

.sidebar-crest .sk-welcome{display:block;max-width:195px;margin:14px auto 0;color:#ead095;font-size:11px;line-height:1.65;letter-spacing:1.1px;font-weight:750}.sidebar-crest .sk-blessing{max-width:195px;margin:10px auto 0;color:#e6dcc8;font-family:Georgia,serif;font-size:14px;line-height:1.5;font-style:italic}
.finance-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.finance-tabs a{padding:12px 18px;background:#fff;border:1px solid #cfb985;border-radius:8px;font-weight:700;color:#142731}.finance-tabs a:hover{background:#f5eddc}.member-due-summary{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0 24px}.member-due-summary>span{padding:14px 20px;border:1px solid #e1d4b7;background:#fffaf0;border-radius:10px}.member-due-summary b{display:block;font-size:1.3rem}.ledger-actions{align-items:end}.ledger-actions label{min-width:240px;margin:0}.contribution-entry{padding:22px 0;border-top:1px solid #ddd}.contribution-entry details{margin:12px 0}.contribution-entry form{max-width:480px;margin:14px 0}.contribution-entry h3{margin:0}

.ledger-actions{position:sticky;top:12px;z-index:3;padding:16px;background:#fffaf2;border:1px solid #dfcda7;border-radius:10px;margin:0 0 20px;box-shadow:0 5px 16px #10233312}
