@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--bg:#0b1015;--panel:#111820;--line:#26313c;--text:#f4f0e9;--muted:#9aa6b2;--wine:#7b1834;--gold:#d7b56d}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px}a{color:inherit;text-decoration:none}.login-page{min-height:100vh;background:radial-gradient(ellipse at 75% 20%,#3a2024 0%,#10151b 45%,#090d11 100%);display:grid;place-items:center;padding:28px}.login-shell{width:min(1120px,100%);min-height:650px;display:grid;grid-template-columns:430px 1fr;border:1px solid #30333a;border-radius:24px;overflow:hidden;background:#0e1318;box-shadow:0 28px 90px #0009}.login-panel{padding:46px 42px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(155deg,#151a20,#0c1014 80%)}.brand{display:flex;align-items:center;gap:13px;margin-bottom:54px}.brand-mark{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#9b2848,#4c1025);color:#f0cf85;font-size:24px;border:1px solid #b05268}.brand strong{display:block;font-family:'Playfair Display',serif;font-size:25px}.brand small{display:block;color:#9ba2aa;font-size:8px;letter-spacing:2.4px;margin-top:4px}.eyebrow{font-size:10px;letter-spacing:2.1px;color:var(--gold);font-weight:700}.login-copy h1{font-size:34px;margin:12px 0 7px}.login-copy p,.welcome-card p{color:var(--muted);line-height:1.7}.login-copy{margin-bottom:26px}form label{display:block;color:#c5cbd1;font-size:12px;margin:17px 0 8px}input{width:100%;border:1px solid #303b46;background:#111820;color:#f4f0e9;padding:13px 14px;border-radius:10px;font:inherit;outline:none}input:focus{border-color:#a44760;box-shadow:0 0 0 3px #7b183426}.btn{border:0;border-radius:10px;padding:14px 17px;font:600 14px 'DM Sans',sans-serif;cursor:pointer}.btn-primary{margin-top:24px;width:100%;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(100deg,#7b1834,#9b2345);color:#fff}.alert{padding:11px 13px;background:#4a1723;border:1px solid #8a3448;border-radius:9px;color:#ffdbe2}.login-foot{color:#77818c;font-size:11px;margin-top:28px}.hero-panel{position:relative;min-height:650px;overflow:hidden;background:linear-gradient(130deg,#211c1d,#5a2b2c 42%,#17171a)}.hero-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 72% 22%,#e4b66c70,transparent 20%),linear-gradient(120deg,transparent 35%,#100d0c9c),repeating-linear-gradient(110deg,transparent 0 60px,#ffffff05 61px 63px)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#090d12 0%,transparent 55%)}.hero-content{position:absolute;left:10%;top:22%;max-width:390px}.hero-content h2{font:600 clamp(42px,5vw,66px)/1.03 'Playfair Display',serif;margin:22px 0}.hero-content p{color:#d6d1cd;line-height:1.8;max-width:340px}.feature-row{display:flex;gap:25px;margin-top:52px;padding-top:22px;border-top:1px solid #ffffff36;color:var(--gold);font-size:11px}.feature-row b{display:block;color:#eee7df;margin-top:8px;font-size:12px}.hero-footer{position:absolute;bottom:30px;left:10%;font:600 11px 'DM Sans';letter-spacing:2px;color:#e7d1a0}.hero-footer span{display:block;font-size:8px;color:#92939a;margin-top:6px;letter-spacing:2.4px}
.app-page{min-height:100vh;background:#0a0f14}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#0d1319;border-right:1px solid #202a33;padding:24px 16px;display:flex;flex-direction:column;z-index:2}.brand-side{padding:0 7px 28px;border-bottom:1px solid #202a33;margin-bottom:26px}.brand-side strong{font-size:20px}.brand-side .brand-mark{width:38px;height:38px}.nav-label{color:#64717d;font-size:9px;font-weight:700;letter-spacing:2px;padding:0 12px 12px}.sidebar nav{display:grid;gap:5px}.nav-item{padding:12px 13px;border-radius:9px;color:#aab4be;display:flex;gap:12px;align-items:center;font-size:13px}.nav-item>span{width:18px;text-align:center;font-size:17px;color:#9da8b4}.nav-item.active{background:linear-gradient(90deg,#68172e,#4b1527);color:#fff;box-shadow:inset 3px 0 #d8a66a}.nav-item.active>span{color:#e5bd7a}.sidebar-bottom{margin-top:auto;border-top:1px solid #202a33;padding:18px 8px 0;display:flex;align-items:center;gap:8px;color:#8995a0;font-size:11px}.status-dot,.live-chip i{width:7px;height:7px;border-radius:50%;background:#52c39a;display:inline-block}.main-area{margin-left:248px;padding:0 30px;max-width:1700px}.topbar{height:94px;border-bottom:1px solid #202a33;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar h1{font-size:24px;margin:6px 0 0}.top-actions{display:flex;align-items:center;gap:22px}.top-date{font-size:11px;color:#8d99a5}.user-pill{display:flex;align-items:center;gap:10px;border-left:1px solid #26313c;padding-left:20px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#38232b;border:1px solid #764050;color:#f0cb87;font-weight:700}.user-pill b,.user-pill small{display:block}.user-pill b{font-size:12px}.user-pill small{font-size:10px;color:#8d99a5;margin-top:4px}.btn-quiet{background:transparent;color:#d1b0b7;border:1px solid #3a2930;padding:9px 12px;border-radius:8px;cursor:pointer}.welcome-card{position:relative;overflow:hidden;margin-top:27px;padding:32px 36px;border:1px solid #4a2934;border-radius:17px;min-height:228px;background:linear-gradient(110deg,#28151d,#21171e 42%,#111920)}.welcome-card h2{font:600 37px/1.15 'Playfair Display',serif;margin:14px 0 10px}.welcome-card h2 span{color:#d9b779}.welcome-card p{max-width:470px;margin:0;font-size:12px}.welcome-orbit{position:absolute;right:15%;top:35px;width:160px;height:160px;display:grid;place-items:center}.orbit-ring{position:absolute;border:1px solid #c49c6240;border-radius:50%}.ring-one{inset:0}.ring-two{inset:20px;transform:rotate(42deg);border-color:#9c4b634d}.orbit-core{width:74px;height:74px;display:grid;place-items:center;border-radius:50%;border:1px solid #b88858;background:radial-gradient(circle,#6c243a,#24141b);color:#e7c57d;font:600 25px 'Playfair Display'}.welcome-tag{position:absolute;bottom:18px;right:24px;color:#8c8584;font-size:9px;letter-spacing:1.5px}.welcome-tag b{color:#d4b779;margin-left:10px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:29px 0 16px}.section-heading h2{font-size:17px;margin:0 0 5px}.section-heading p,.content-card .card-heading p{color:#85919d;font-size:11px;margin:0}.live-chip{font-size:10px;color:#7dbda8;display:flex;align-items:center;gap:8px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat-card{background:linear-gradient(145deg,#131c24,#10171e);border:1px solid #26313b;border-radius:13px;padding:17px 18px;min-height:157px}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;font-size:19px}.burgundy{background:#541b30;color:#e28ba3}.gold{background:#45351b;color:#e3c276}.green{background:#15372f;color:#74d2b5}.blue{background:#172c45;color:#8ab6f0}.stat-label{font-size:9px;letter-spacing:1.3px;color:#87939f}.stat-card>strong{display:block;font-size:26px;margin-top:13px}.stat-card>strong small{font-size:12px;color:#a6b0ba}.stat-card p{font-size:11px;color:#9ca7b1;margin:4px 0 14px}.stat-bottom{border-top:1px solid #27313a;padding-top:10px;font-size:10px;color:#6f7e8a}.lower-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-top:17px}.content-card{border:1px solid #25303a;background:#111820;border-radius:14px;padding:21px}.card-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.card-heading h3,.next-card h3{margin:0 0 6px;font-size:15px}.pill{font-size:9px;letter-spacing:1px;color:#d9b779;border:1px solid #604c2d;background:#2d261a;padding:6px 8px;border-radius:6px}.roadmap-item{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #25303a}.roadmap-number{width:31px;height:31px;border-radius:9px;border:1px solid #33404c;display:grid;place-items:center;color:#9aa6b2;font-size:11px}.roadmap-number.done{border-color:#8e354f;background:#471b2b;color:#edb4c3}.roadmap-item b,.roadmap-item small{display:block}.roadmap-item b{font-size:12px}.roadmap-item small{font-size:10px;color:#7f8b96;margin-top:5px}.roadmap-status{margin-left:auto;font-size:10px;color:#d8b46c}.roadmap-status.muted{color:#71808c}.next-card{background:linear-gradient(155deg,#19191c,#111820)}.next-card .eyebrow{font-size:9px}.next-icon{margin:21px 0 15px;width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#481b2c;color:#e4b2c0;font-size:24px}.next-card p{font-size:11px;line-height:1.7;color:#98a3ad}.mini-tags{display:flex;gap:6px;flex-wrap:wrap;margin:17px 0 22px}.mini-tags span{font-size:9px;padding:6px 8px;border:1px solid #303b45;border-radius:6px;color:#aeb8c0}.progress-label{display:flex;justify-content:space-between;color:#8c98a3;font-size:10px}.progress-label b{color:#d7b56d}.progress-track{height:5px;background:#27303a;border-radius:99px;margin-top:9px;overflow:hidden}.progress-track span{display:block;width:15%;height:100%;background:linear-gradient(90deg,#781a35,#d4ad6b);border-radius:99px}.app-footer{display:flex;align-items:center;gap:10px;color:#d1b16f;font-size:9px;letter-spacing:1.6px;padding:25px 0 30px;margin-top:8px}.app-footer>span:nth-child(2){color:#6f7d89;font-size:8px}.footer-right{margin-left:auto;color:#697782;font-size:9px;letter-spacing:0}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid{grid-template-columns:1fr}.top-date{display:none}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.hero-panel{display:none}.login-panel{padding:35px 27px}.brand{margin-bottom:38px}.sidebar{width:70px;padding:20px 9px}.brand-side{justify-content:center;padding:0 0 22px}.brand-side>span:last-child,.nav-label,.nav-item:not(.active){display:none}.brand-side .brand-mark{width:42px}.nav-item.active{font-size:0;justify-content:center;padding:13px 0}.nav-item.active>span{font-size:20px}.sidebar-bottom{justify-content:center}.sidebar-bottom span,.sidebar-bottom small{display:none}.main-area{margin-left:70px;padding:0 15px}.topbar{height:82px}.top-actions{gap:9px}.user-pill{padding-left:9px}.user-pill>span:last-child{display:none}.btn-quiet{font-size:10px;padding:8px}.welcome-card{padding:25px 23px;min-height:220px}.welcome-card h2{font-size:31px}.welcome-orbit{right:-42px;opacity:.45}.stat-grid{gap:9px}.stat-card{padding:13px;min-height:145px}.stat-card>strong{font-size:22px}.content-card{padding:16px}.footer-right{display:none}}@media(max-width:420px){.stat-grid{grid-template-columns:1fr}.section-heading .live-chip{display:none}.topbar h1{font-size:21px}}

/* Shared full-width layout for dashboard and every module page */
.main-area{width:auto;max-width:none;min-width:0;margin-left:248px;padding:0 30px 0 30px;box-sizing:border-box}
.main-area>*{min-width:0}
.sidebar{overflow-y:auto;overflow-x:hidden}
.sidebar-nav{display:flex;flex-direction:column;gap:5px;min-height:0}
.nav-group{border-radius:9px;overflow:hidden;margin:0 0 2px}
.nav-group-title{display:flex;align-items:center;gap:11px;padding:12px 13px;color:#aab4be;font-size:13px;font-weight:600;line-height:1.35}
.nav-group-title>span{flex:1;min-width:0}
.nav-subitem{display:block;padding:8px 12px 8px 42px;margin:1px 0;color:#8996a2;font-size:12px;line-height:1.4;overflow-wrap:anywhere;border-left:2px solid #26313b}
.nav-subitem:hover,.nav-subitem:focus{color:#f3d7a0;background:#151e26;border-left-color:#d7b56d}
.module-welcome{width:100%;max-width:none;min-height:260px}
.module-welcome p{max-width:700px}
@media(max-width:760px){.sidebar{width:248px;transform:translateX(-100%)}.main-area{margin-left:0;padding:0 15px}.sidebar:focus-within{transform:translateX(0)}}


/* Hide the sidebar scrollbar while preserving scroll functionality */
.sidebar {
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;       /* Firefox */
  -ms-overflow-style: none;    /* Legacy Edge / Internet Explorer */
}
.sidebar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;               /* Chrome, Safari, Opera */
}

/* AlkoVintages navigation repair: preserve submenu visibility and active states */
.sidebar { overflow-y: auto; overflow-x: hidden; scrollbar-width: none; -ms-overflow-style: none; }
.sidebar::-webkit-scrollbar { width: 0; height: 0; display: none; }
.sidebar nav, .sidebar-nav { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.nav-group { display: block; margin: 0; padding: 0; border-radius: 9px; overflow: hidden; }
.nav-group > summary { list-style: none; cursor: pointer; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary.nav-item { width: 100%; box-sizing: border-box; }
.nav-group[open] > summary.nav-item { color: #f4d9a2; background: #151d25; }
.nav-group[open] > summary.nav-item > span { color: #e5bd7a; }
.nav-group > summary > i { margin-left: auto; font-style: normal; font-size: 11px; }
.submenu { display: flex; flex-direction: column; gap: 3px; padding: 5px 0 8px 0; width: 100%; box-sizing: border-box; }
.submenu-link { display: block; box-sizing: border-box; width: 100%; padding: 8px 10px 8px 42px; margin: 0; color: #8996a2; font-size: 12px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; text-decoration: none; border-left: 2px solid #26313b; border-radius: 0 6px 6px 0; }
.submenu-link:hover, .submenu-link:focus { color: #f3d7a0; background: #151e26; border-left-color: #d7b56d; }
.submenu-link.active { color: #fff; background: linear-gradient(90deg, #68172e, #4b1527); border-left: 3px solid #d8a66a; font-weight: 700; }
.nav-group:has(.submenu-link.active) > summary.nav-item { color: #fff; background: #21151b; box-shadow: inset 3px 0 #d8a66a; }
.nav-group:has(.submenu-link.active) > summary.nav-item > span { color: #e5bd7a; }
.main-area { width: auto; max-width: none; min-width: 0; box-sizing: border-box; }


/* Final sidebar behavior: scrollable without visible scrollbar */
.sidebar {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  box-sizing: border-box;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  overscroll-behavior: contain;
}
.sidebar::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; }
.sidebar-nav {
  flex: 1 0 auto;
  min-height: min-content;
  overflow: visible;
}
.sidebar > .sidebar-bottom { flex-shrink: 0; }
