
/* Old Warriors Premium Portal — dark fantasy reskin
   Phase A: dashboard, sidebar and topbar. All functional selectors stay unchanged. */
:root{
  --ow-bg:#05080c;--ow-bg2:#090d12;--ow-panel:#0c1218;--ow-panel2:#111923;
  --ow-line:#35424e;--ow-line-soft:#222c35;--ow-text:#edf1f4;--ow-muted:#9ba9b5;
  --ow-blue:#188bd3;--ow-blue-dark:#0c4169;--ow-blue-glow:rgba(27,153,232,.38);
  --ow-red:#a62b32;--ow-red-bright:#e14a51;--ow-gold:#c89a53;--ow-orange:#d36a32;
  --ow-green:#36c886;--ow-shadow:0 22px 65px rgba(0,0,0,.62);--ow-serif:Georgia,"Times New Roman",serif;
}
html{background:var(--ow-bg)}
body{background:#05080c;color:var(--ow-text)}
body.portal-app{overflow-x:hidden;background:
  radial-gradient(circle at 78% 9%,rgba(27,75,108,.18),transparent 28%),
  radial-gradient(circle at 84% 75%,rgba(123,27,23,.11),transparent 35%),
  linear-gradient(180deg,#060a0f 0,#04070a 100%)}
body.portal-app:before{content:"";position:fixed;z-index:-2;right:0;top:70px;width:min(760px,48vw);height:calc(100vh - 70px);background:url('/portal/assets/portal-hero-castle.webp') center/cover no-repeat;opacity:.23;filter:saturate(.8) contrast(1.08);mask-image:linear-gradient(90deg,transparent 0,#000 35%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 35%,#000 100%);pointer-events:none}
body.portal-app:after{content:"";position:fixed;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.009) 1px,transparent 1px);background-size:38px 38px;opacity:.28;pointer-events:none}

.portal-header{position:fixed;top:0;right:0;left:286px;height:76px;z-index:40;padding:0 24px 0 34px;border:1px solid #26323c;border-top:0;background:linear-gradient(180deg,rgba(7,12,17,.98),rgba(5,9,13,.96));box-shadow:0 14px 34px rgba(0,0,0,.45);backdrop-filter:blur(14px)}
.portal-header:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,rgba(49,135,191,.55),rgba(197,137,65,.3),transparent)}
.portal-header-rune{position:absolute;left:50%;top:0;transform:translate(-50%,-1px);width:54px;height:68px;display:grid;place-items:center;color:#43adf0;background:radial-gradient(circle,rgba(33,151,225,.26),transparent 70%);filter:drop-shadow(0 0 14px var(--ow-blue-glow));pointer-events:none}
.portal-header-rune svg{width:34px;height:58px;fill:rgba(31,120,191,.2);stroke:currentColor;stroke-width:1.25}
.portal-top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.portal-top-icon{position:relative;width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid #2b3742;background:linear-gradient(180deg,#111923,#090e14);color:#aebbc6;border-radius:3px}
.portal-top-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portal-top-icon i{position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:#c43138;box-shadow:0 0 0 2px #101820}
button.portal-top-icon{cursor:pointer}.portal-top-icon:hover{color:#fff;border-color:#4b6173}
.portal-user-chip{height:50px;min-width:205px;padding:5px 12px 5px 6px;display:flex;align-items:center;gap:10px;border:1px solid #2d3944;background:linear-gradient(180deg,#111820,#090d12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.portal-user-chip img{width:39px;height:39px;object-fit:contain;border-radius:50%;background:#141b22;border:1px solid #42515e}
.portal-user-chip span{display:grid;min-width:0}.portal-user-chip strong{font:700 1rem var(--ow-serif);color:#f1f2f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-user-chip small{color:var(--ow-muted);font-size:.72rem;margin-top:2px}.portal-user-chip b{margin-left:auto;color:#7f8d98;font-size:.9rem}
.portal-mobile-toggle{display:none;width:44px;height:44px;padding:0;border:1px solid #2b3742;background:#0e151d;color:#fff;border-radius:3px}.portal-mobile-toggle svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.portal-mobile-overlay{position:fixed;inset:0;z-index:48;background:rgba(0,0,0,.72);opacity:0;visibility:hidden;transition:.25s}

.portal-shell{display:block;min-height:100vh}
.portal-sidebar{position:fixed;display:flex!important;flex-direction:column;left:0;top:0;bottom:0;width:286px;z-index:50;padding:0 12px 18px;border-right:1px solid #34414b;background:
  linear-gradient(180deg,rgba(9,14,19,.98),rgba(5,9,13,.99)),
  url('/portal/assets/portal-sidebar-art.webp') center bottom/cover no-repeat;box-shadow:18px 0 52px rgba(0,0,0,.45);overflow:auto}
.portal-sidebar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.018),transparent 18%,transparent 82%,rgba(25,118,178,.04));pointer-events:none}
.portal-brand{position:relative;z-index:1;height:128px;padding:15px 12px 13px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #29343e;text-decoration:none}
.portal-brand:after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--ow-blue),transparent);opacity:.42}
.portal-brand img{width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 7px 14px rgba(0,0,0,.8))}
.portal-brand span{display:block}.portal-brand strong{display:block;font:700 1.26rem var(--ow-serif);letter-spacing:.085em;color:#f0eee9;text-shadow:0 2px 10px #000}.portal-brand small{display:block;margin-top:5px;color:var(--ow-gold);font-size:.67rem;letter-spacing:.18em;font-weight:800}
.portal-nav{position:relative;z-index:1;display:grid;gap:4px;padding:12px 0}
.portal-nav a{position:relative;min-height:50px;padding:0 13px;display:grid;grid-template-columns:30px 1fr 14px;align-items:center;gap:10px;border:1px solid transparent;border-radius:1px;color:#b6c0c8;text-decoration:none;font:700 .92rem var(--ow-serif);letter-spacing:.015em;transition:.18s}
.portal-nav a:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:2px;background:transparent}
.portal-nav a:hover{color:#fff;background:linear-gradient(90deg,rgba(18,73,108,.28),rgba(20,28,36,.55));border-color:#273a48;transform:translateX(2px)}
.portal-nav a.active{color:#fff;background:linear-gradient(90deg,rgba(18,100,156,.74),rgba(10,42,67,.62) 70%,rgba(7,20,29,.35));border-color:#236c9e;box-shadow:inset 0 0 20px rgba(12,97,152,.22),0 0 22px rgba(20,112,173,.13)}
.portal-nav a.active:before{background:#27a3ee;box-shadow:0 0 12px #2da8ef}
.portal-nav a.admin-link{border-color:rgba(122,42,47,.42)}.portal-nav a.admin-link:hover,.portal-nav a.admin-link.active{border-color:#7f2d34}
.portal-nav a[aria-disabled="true"]{opacity:.74}.portal-nav a[aria-disabled="true"] .nav-chevron{color:#66727c}
.nav-icon{width:28px;height:28px;display:grid;place-items:center;color:#8d9ba6}.portal-nav a.active .nav-icon{color:#e3f4ff;filter:drop-shadow(0 0 6px rgba(39,163,238,.55))}.nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.nav-chevron{color:#60707c;font:400 1.15rem Arial;text-align:right}
.portal-sidebar-art{position:relative;z-index:1;margin-top:auto;min-height:170px;padding:18px 12px 12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden;border:1px solid #313d46;background:linear-gradient(180deg,rgba(7,12,16,.22),rgba(5,8,11,.92)),url('/portal/assets/portal-sidebar-art.webp') center/cover no-repeat;box-shadow:inset 0 0 34px #000}
.portal-sidebar-art:before{content:"";position:absolute;inset:0;border:1px solid rgba(178,128,61,.24);pointer-events:none}
.sidebar-art-crest{width:82px;height:82px;display:grid;place-items:center;border-radius:50%;background:rgba(6,10,14,.66);border:1px solid rgba(195,146,74,.38);box-shadow:0 0 24px rgba(184,51,39,.2)}.sidebar-art-crest img{width:76px;height:76px;object-fit:contain}.portal-sidebar-art p{margin:10px 0 0;color:#c7a56d;font:700 .68rem var(--ow-serif);letter-spacing:.13em;text-align:center;text-shadow:0 2px 7px #000}
.portal-admin-panel{position:relative;z-index:1;margin-top:10px;min-height:43px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #2f3b45;background:#091016;color:#aeb9c2;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}.portal-admin-panel:hover{border-color:#526574;color:#fff}.portal-admin-panel svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}

.portal-main{position:relative;width:auto;max-width:none;min-height:100vh;margin:0 0 0 286px;padding:112px clamp(24px,3vw,50px) 62px;isolation:isolate}
.portal-main:before{content:"";position:absolute;z-index:-1;top:76px;right:0;width:min(920px,68%);height:360px;background:linear-gradient(90deg,#060a0f 0,rgba(6,10,15,.28) 32%,rgba(5,9,13,.05)),url('/portal/assets/portal-hero-castle.webp') center/cover no-repeat;opacity:.38;mask-image:linear-gradient(180deg,#000 0,#000 48%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0,#000 48%,transparent 100%);pointer-events:none}
.portal-main>*{position:relative;z-index:1}
.eyebrow{color:#c8a05f;font:800 .68rem/1.2 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 8px #000}
.portal-title{font-family:var(--ow-serif);font-weight:500;letter-spacing:.01em;color:#eef0f1;text-shadow:0 3px 17px rgba(0,0,0,.95)}
.portal-lead{color:#a8b3bd}
.portal-dashboard-hero{min-height:122px;display:flex;align-items:flex-end;padding:0 0 15px;border-bottom:1px solid rgba(70,88,102,.42)}
.portal-dashboard-copy{max-width:840px}.portal-dashboard-copy .portal-title{font-size:clamp(2.45rem,4.2vw,4.35rem);margin-bottom:8px}.portal-dashboard-copy .portal-lead{margin:0;max-width:780px}

.portal-card,.table-panel,.calendar-panel,.auth-card,.modal-panel{border-radius:2px;background:
  linear-gradient(135deg,rgba(75,96,111,.34) 0 1px,transparent 1px) top left/17px 17px no-repeat,
  linear-gradient(225deg,rgba(75,96,111,.34) 0 1px,transparent 1px) top right/17px 17px no-repeat,
  linear-gradient(45deg,rgba(75,96,111,.24) 0 1px,transparent 1px) bottom left/17px 17px no-repeat,
  linear-gradient(315deg,rgba(75,96,111,.24) 0 1px,transparent 1px) bottom right/17px 17px no-repeat,
  linear-gradient(145deg,rgba(15,23,31,.97),rgba(7,12,17,.98));border:1px solid var(--ow-line);box-shadow:inset 0 0 0 1px rgba(0,0,0,.72),var(--ow-shadow)}
.portal-card{padding:22px}.portal-card h2,.portal-card h3{font-family:var(--ow-serif);font-weight:600;letter-spacing:.02em;color:#eef0ee}.portal-card p{color:#9eabb5}.portal-card a:not(.button){color:#55ace4;text-underline-offset:3px}.portal-card a:not(.button):hover{color:#8bd2ff}
.button{border-radius:2px;text-transform:none;box-shadow:inset 0 1px rgba(255,255,255,.04)}.button-primary{background:linear-gradient(180deg,#0f6093,#0b3e63);border:1px solid #187dba;color:#fff;box-shadow:0 0 16px rgba(17,117,177,.17)}.button-primary:hover{background:linear-gradient(180deg,#177ab8,#0d4d78)}.button-secondary{background:linear-gradient(180deg,#151e27,#0b1117);border:1px solid #35424d;color:#e8ecef}.button-secondary:hover{border-color:#587080;background:#17232d}

.premium-stat-grid{margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-stat-card{min-height:128px;display:grid;grid-template-columns:74px 1fr;gap:17px;align-items:center;padding:18px 21px}.portal-stat-card p{margin:0 0 6px;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:800}.portal-stat-card .metric{font-family:var(--ow-serif);font-size:2.35rem;font-weight:500;line-height:1}.portal-stat-card a{display:inline-block;margin-top:10px;font-size:.8rem}.portal-card-icon{position:relative;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.09),rgba(255,255,255,.01) 55%),#0c131a;border:1px solid currentColor;box-shadow:inset 0 0 0 5px rgba(0,0,0,.42),0 0 24px rgba(0,0,0,.45)}.portal-card-icon:after{content:"";position:absolute;inset:7px;border:1px solid currentColor;opacity:.32;transform:rotate(45deg)}.portal-card-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.stat-red .portal-card-icon{color:#ef515c}.stat-blue .portal-card-icon{color:#49aef1}.stat-orange .portal-card-icon{color:#e68a47}.stat-red{border-color:#4c2e34}.stat-blue{border-color:#2b4759}.stat-orange{border-color:#51402e}

.premium-dashboard-split{grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);margin-top:16px}.portal-agenda-card{min-height:205px}.portal-profile-card{min-height:205px}.section-heading h2{font-size:1.42rem}.profile-row{align-items:center}.avatar-placeholder{width:74px;height:74px;border-radius:50%;font-family:var(--ow-serif);background:radial-gradient(circle,#513019,#17120f 62%,#090b0e);border:1px solid #8f6733;color:#e3b96f;box-shadow:inset 0 0 0 6px rgba(0,0,0,.42),0 0 20px rgba(153,90,34,.16)}
.event-list-item{border-radius:2px;background:linear-gradient(90deg,rgba(11,18,24,.98),rgba(8,13,18,.9));border-color:#34414c}.event-list-item:hover{border-color:#49667b;box-shadow:0 0 18px rgba(32,112,166,.1)}.event-list-date{border-right-color:#33404a}.event-arrow{color:#6cb8ea}

.premium-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.premium-feature-card{min-height:160px;display:grid;grid-template-columns:74px 1fr;gap:18px;align-items:start}.premium-feature-card .portal-card-icon{width:64px;height:64px}.premium-feature-card h2{font-size:1.42rem}.premium-feature-card p{min-height:48px;margin:6px 0 15px}.feature-calendar .portal-card-icon{color:#40a9ef}.feature-raids .portal-card-icon{color:#e14e56}.feature-mythic .portal-card-icon{color:#b45df1}.feature-tactics .portal-card-icon{color:#64c780}.feature-members .portal-card-icon{color:#c39759}.premium-feature-card.placeholder{opacity:.88}.premium-feature-card.placeholder:after{content:'EM DESENVOLVIMENTO';right:-45px;top:17px;background:linear-gradient(180deg,#8e272d,#5d171d);padding:5px 50px;font-size:.56rem}

/* Other pages inherit the new shell and premium surfaces without functional changes. */
.page-heading-row{padding-bottom:18px;border-bottom:1px solid rgba(62,78,91,.45)}.page-heading-row .portal-title{font-size:clamp(2.1rem,3vw,3.4rem)}
.table-panel,.calendar-panel{border-color:#34414b}.toolbar,.calendar-weekdays{background:#0d141b;border-color:#303c46}th{color:#9fb0bd}th,td{border-color:#25313b}input,select,textarea{border-radius:2px;background:#070c11;border-color:#36434e}input:focus,select:focus,textarea:focus{border-color:#2787c1;box-shadow:0 0 0 3px rgba(27,135,199,.13)}
.modal:before{background:rgba(0,3,6,.82);backdrop-filter:blur(4px)}.icon-close{border-radius:2px;background:#101820}.notice{border-radius:2px;background:#0d151c}

@media(max-width:1180px){
  .portal-sidebar{width:250px}.portal-header{left:250px}.portal-main{margin-left:250px}.portal-brand img{width:64px;height:64px}.portal-brand strong{font-size:1.05rem}.premium-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-feature-card:last-child{grid-column:1/-1}
}
@media(max-width:900px){
  .portal-header{left:0;height:68px;padding:0 13px}.portal-header-rune{display:none}.portal-mobile-toggle{display:grid;place-items:center}.portal-sidebar{width:286px;transform:translateX(-105%);transition:transform .25s ease;box-shadow:25px 0 65px rgba(0,0,0,.8)}.portal-main{margin-left:0;padding:92px 18px 48px}.portal-main:before{top:68px;width:100%;opacity:.25}.portal-menu-open .portal-sidebar{transform:translateX(0)}.portal-menu-open .portal-mobile-overlay{opacity:1;visibility:visible}.portal-menu-open{overflow:hidden}.portal-user-chip{min-width:0}.portal-user-chip span{display:none}.premium-stat-grid{grid-template-columns:1fr 1fr}.premium-stat-grid .portal-stat-card:last-child{grid-column:1/-1}.premium-dashboard-split{grid-template-columns:1fr}.portal-top-icon[aria-hidden="true"]{display:none}
}
@media(max-width:620px){
  .portal-header{height:62px}.portal-main{padding:80px 12px 34px}.portal-main:before{top:62px;height:260px}.portal-dashboard-hero{min-height:110px}.portal-dashboard-copy .portal-title{font-size:2.25rem}.premium-stat-grid,.premium-feature-grid{grid-template-columns:1fr}.premium-stat-grid .portal-stat-card:last-child,.premium-feature-card:last-child{grid-column:auto}.portal-stat-card{grid-template-columns:58px 1fr;min-height:108px}.portal-card-icon,.premium-feature-card .portal-card-icon{width:54px;height:54px}.portal-card-icon svg{width:27px;height:27px}.premium-feature-card{grid-template-columns:58px 1fr}.portal-card{padding:18px}.portal-user-chip img{width:36px;height:36px}.portal-top-actions{gap:7px}.portal-top-icon{width:40px;height:40px}.portal-brand{height:112px}.portal-sidebar-art{min-height:145px}
}
