/* ALIVE brand: supplied logo, electric lime, charcoal and restrained gold. */
:root{--bg:#0b1114;--panel:#131c21;--line:#2b363c;--muted:#b0bac4;--ink:#f7f8fa;--accent:#c5f64a;--radius:18px;--gold:#e8d58c}
body{background:radial-gradient(ellipse at 90% 0,#26342755,transparent 45%),#0b1114;font-family:'Noto Sans TC','Microsoft JhengHei',sans-serif}
.brand-filters{position:absolute;pointer-events:none}.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}.company-logo{filter:url(#logo-white-key);background:transparent;border-radius:0;object-fit:contain;width:160px;height:auto}.brand{gap:22px}.badge{border-color:#90af43;color:#d0ef68;padding:6px 12px;border-radius:9px;font-weight:600;white-space:nowrap}.btn{border-radius:11px;transition:background .15s,box-shadow .15s,transform .15s}.btn:not(.secondary):not(.ghost){background:linear-gradient(110deg,#d7ff62,#a9e42f);box-shadow:0 4px 22px #a5e62d15;color:#111800}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.secondary{background:#20292f;border-color:#37434a}.btn.ghost{color:#e2e7ec}.btn.danger{background:#302322}.card{background:linear-gradient(125deg,#172127,#10181d);border-color:#303b41;box-shadow:0 10px 30px #00000012}.stat{position:relative;overflow:hidden;min-height:140px}.stat strong{font-size:40px;line-height:1.25;margin-top:14px;font-weight:800}.stat span{font-size:16px;color:#edf1f3}.stat.accent{background:linear-gradient(120deg,#d8ff69,#a8e43b);border-color:#b6e965;box-shadow:0 8px 34px #a3ed3212;color:#121d08}.stat.accent span{color:#162007}.avatar{border-radius:50%;background:linear-gradient(140deg,#486634,#314b2d);color:#f0f5e9;box-shadow:inset 0 0 18px #c6fb4910}.avatar.purple{background:linear-gradient(135deg,#713da4,#523577);color:#fff}.avatar.orange{background:linear-gradient(135deg,#916454,#604334);color:#fff}.label{font-size:15px;color:#e2e5e8}input,select,textarea{background:linear-gradient(130deg,#20262c,#171e24);border-color:#475159;border-radius:11px}input::placeholder,textarea::placeholder{color:#8b969e}.tab.active{background:#c5f64a}.source-tag{background:#2c3b2a}.notice{background:#2d281ee8}.muscle{background:linear-gradient(130deg,#202c29,#172124)}.topbar{padding-bottom:20px;border-bottom:1px solid #ffffff12}.topbar .muted{color:#b6c1cc;letter-spacing:.5px}
/* Entry page */
.login{grid-template-columns:1fr 1fr;min-height:100svh}.login-art{position:relative;isolation:isolate;gap:24px;padding:clamp(32px,4vw,64px);background:linear-gradient(125deg,#d9ff6c 0%,#b9f141 48%,#9dda29 100%);color:#101805;justify-content:flex-start}.login-art:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(131deg,transparent 27%,#2b460726 27.2%,transparent 43%),linear-gradient(132deg,transparent 68%,#28430935 68.15%,transparent 79%);pointer-events:none}.login-art:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(132deg,transparent 35%,#efffb6b0 35.1%,transparent 35.4%,transparent 82%,#eeffabc9 82.15%,transparent 82.4%);pointer-events:none}.studio-title{font-size:19px;font-weight:800;line-height:1.4;border-left:2px solid #233809;padding-left:16px;letter-spacing:.3px}.brand-stage{display:grid;place-items:center;min-height:190px;flex:1;position:relative;margin:0 -15px;background:radial-gradient(ellipse at center,#314817dd 0%,#47641c88 30%,transparent 67%)}.company-logo.hero-logo{width:min(100%,460px);height:auto;filter:url(#logo-white-key) drop-shadow(0 12px 14px #17280044)}.brand-kicker{letter-spacing:3px;font-size:13px;font-weight:600;margin-bottom:20px}.login-art h1{font-size:clamp(38px,4.25vw,72px);line-height:1.35;letter-spacing:-2px;font-weight:900}.brand-manifesto{font-size:12px;letter-spacing:4px;line-height:1.9;margin-top:28px}.brand-manifesto:before{content:"";display:block;width:28px;height:2px;background:#34450e;margin-bottom:20px}.login-art .big{font-size:clamp(90px,11vw,184px);letter-spacing:-8px;line-height:.9;opacity:.2;margin-top:10px;white-space:nowrap}.brand-footer{font-size:13px;font-weight:700;letter-spacing:1px;margin-top:10px}.login-form{position:relative;isolation:isolate;padding:44px clamp(26px,4.5vw,76px);background:radial-gradient(ellipse at 100% 85%,#1d282a70,transparent 60%),linear-gradient(135deg,#15191c,#0a0d10 70%)}.login-form:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(133deg,transparent 12%,#ffffff03 12.2%,transparent 29%),linear-gradient(131deg,transparent 70%,#b8f13b28 70.07%,transparent 70.2%)}.login-form form{max-width:460px}.login-brand{justify-content:space-between;align-items:center;margin-bottom:36px}.login-brand .company-logo{width:210px;max-width:58%}.login-form h1{font-size:clamp(36px,3.4vw,54px);font-weight:800;letter-spacing:-1px;margin:0}.title-stroke{display:block;width:34px;height:4px;background:var(--accent);margin:16px 0}.login-intro{color:#e4e7e9;font-size:18px;margin-bottom:30px}.login-form .label{margin-top:22px}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon>.icon{position:absolute;left:16px;color:#b1b6b9;pointer-events:none}.input-with-icon input{padding:16px 52px;min-height:60px;font-size:17px}.input-with-icon button{position:absolute;right:8px;background:transparent;color:#bdc3c9;border-radius:8px;width:44px;height:44px;display:grid;place-items:center}.login-form .login-submit{min-height:62px;font-size:20px;margin-top:22px;box-shadow:0 0 28px #aeed321a}.auth-links{justify-content:space-between;gap:10px;margin:24px 0 30px;font-size:15px}.auth-links a{font-weight:600;min-height:44px;display:flex;align-items:center}.auth-links .text-button{color:#e2e5e8;font-size:15px}.demo-accounts{border-top:1px solid #ffffff20;padding-top:24px;margin-top:0}.demo-accounts>p{color:#edf0f2;font-size:15px}.demo-accounts small{color:#b3bec7;display:block;margin-top:4px}.demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.demo-accounts .demo-grid button{margin:0;padding:12px 7px;min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#1e2428,#151b20);font-size:13px;border-color:#343d44;white-space:nowrap}.demo-grid .icon{color:var(--accent);width:20px;height:20px}.demo-grid button:hover{border-color:#a0c74d;background:#243024}.prototype-note{font-size:12px;line-height:1.8;color:#9da7af;border-top:1px solid #ffffff20;padding-top:22px;margin-top:24px}
/* Authenticated layout */
.shell{grid-template-columns:252px minmax(0,1fr);gap:0}.sidebar{margin:18px 0 18px 18px;padding:20px 12px 14px;border:1px solid #354148;border-radius:24px;height:calc(100svh - 36px);top:18px;background:linear-gradient(145deg,#10181ded,#091114);gap:22px;overflow:hidden;isolation:isolate}.sidebar:before{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(131deg,transparent 38%,#b6e44115 38.2%,transparent 38.6%,transparent 41%,#ffffff05 41.1%,transparent 68%);z-index:-1;pointer-events:none}.sidebar>.brand{justify-content:center;min-height:126px}.sidebar .company-logo{width:194px;max-width:100%}.navlink{align-items:center;gap:14px;min-height:60px;font-size:16px;font-weight:600;padding:15px;border:1px solid transparent;color:#d7dee4}.navlink.active{background:linear-gradient(120deg,#47611e75,#25382470);border-color:#96bd40;box-shadow:inset 0 0 18px #adf23713;color:#d4fa6f}.navlink:hover:not(.active){background:#202a30}.navlink .icon{width:23px}.sidefoot{border:1px solid #ffffff0c;border-radius:16px;padding:16px 12px;background:#0c1419ba}.sidefoot .badge{font-size:10px;padding:5px 8px}.sidefoot p{font-size:14px;font-weight:600}.sidefoot small{font-size:12px}.sidefoot .btn{padding:14px 0 0;font-size:13px;justify-content:flex-start;border-top:1px solid #ffffff15;border-radius:0;margin-top:15px;width:100%}.sidefoot .icon{width:18px}.main{max-width:1480px;padding:28px 34px 72px;margin:0 auto;position:relative;isolation:isolate}.main:before{content:"";position:absolute;inset:0 0 auto 0;height:360px;z-index:-1;pointer-events:none;background:linear-gradient(130deg,transparent 69%,#b2e43c12 69.15%,transparent 69.45%),radial-gradient(ellipse at 90% 8%,#56703222,transparent 44%)}.heading h1{font-size:clamp(28px,2.5vw,40px);font-weight:800;letter-spacing:-.7px}.heading p{font-size:16px}.heading{margin-bottom:26px}.topbar{margin-bottom:32px}.stat-heading{display:flex;align-items:center;gap:12px;font-weight:600}.stat-heading .icon{width:25px}.stat-watermark{position:absolute;right:18px;bottom:18px;width:60px;height:60px;opacity:.1;pointer-events:none}.stat strong{padding-left:37px}.coach-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px}.student-panel{padding:23px}.student-panel .section-title{margin:0 0 24px}.section-title h2,.dashboard-side h2{font-size:23px;font-weight:800}.student-panel .student{border:1px solid #2b373f;border-radius:16px;background:linear-gradient(125deg,#19242b,#151e24);padding:22px 18px;margin-top:10px;min-height:112px}.student-panel .student h3{font-size:21px}.student-panel .student small{font-size:15px}.student-panel .avatar{width:60px;height:60px;font-size:28px}.student-panel .arrow{margin-left:auto}.dashboard-side .card{padding:22px 18px}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.panel-heading>.icon{color:var(--accent);width:26px;height:26px}.plan-row{border:1px solid #ffffff07!important;background:#202b31a6;border-radius:13px;padding:15px 12px;margin-top:10px;gap:12px}.plan-row .info{flex:1}.plan-row h3{font-size:15px;margin-bottom:4px}.plan-row small{font-size:12px}.plan-symbol{display:grid;place-items:center;flex-shrink:0;width:43px;height:48px;border-radius:12px;background:#3d572d99;color:#d6fa8b}.incomplete-list .student{padding:14px 0;gap:12px}.incomplete-list .avatar{width:44px;height:44px;font-size:20px}.incomplete-list h3{font-size:17px}.incomplete-list small{font-size:12px}.dashboard-side .stack{align-content:start}.quick-links .card:hover,.student-panel .student:hover{border-color:#8cb743;box-shadow:0 0 20px #afe03608}.bottomnav{background:#0c151cf5;backdrop-filter:blur(12px)}.bottomnav .icon{width:22px;height:22px;margin:0 auto}.bottomnav a{gap:6px}.series-summary .stat strong{padding-left:0}
@media(min-width:1600px){.login-art{padding:60px 90px}.login-form{padding:60px}.brand-stage{min-height:260px}}
@media(max-width:1150px){.shell{grid-template-columns:215px minmax(0,1fr)}.sidebar{margin-left:12px;padding:16px 10px}.sidebar .company-logo{width:165px}.main{padding:26px 24px 70px}.coach-layout{grid-template-columns:1fr}.student-panel .student{min-height:94px}.dashboard-side{grid-template-columns:1fr 1fr;align-items:start}.stat strong{font-size:34px}.stat-heading{gap:8px}.stat span{font-size:14px}.stat strong{padding-left:0}.login-art{padding:35px}.login-form{padding:35px 28px}.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-brand .company-logo{width:170px}.brand-kicker{letter-spacing:2px;font-size:12px}.login-art h1{font-size:45px}}
@media(max-width:760px){.login{grid-template-columns:1fr}.login-art{display:none}.login-form{min-height:100svh;padding:32px 24px}.login-form form{max-width:480px}.login-brand{margin-bottom:28px}.login-brand .company-logo{width:180px}.login-form h1{font-size:40px}.login-intro{font-size:17px}.demo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.demo-accounts .demo-grid button{font-size:12px;gap:5px}.demo-grid .icon{width:18px}.brand{gap:12px}}
@media(max-width:650px){.shell{display:block}.sidebar{display:none}.main{padding:16px 18px 110px}.main:before{height:220px}.topbar{padding-bottom:13px;margin-bottom:24px;gap:12px}.mobile-brand .company-logo{width:104px;height:65px}.topbar .badge{font-size:10px;padding:5px 8px}.topbar .row{gap:6px}.topbar .btn{padding:10px;min-height:44px;font-size:13px}.heading h1{font-size:27px}.heading p{font-size:14px}.card{border-radius:16px}.stats{gap:10px}.stat{min-height:116px}.stat.card{padding:14px 10px}.stat-heading{display:block}.stat-heading .icon{display:none}.stat span{font-size:12px}.stat strong{font-size:29px;margin-top:13px;padding-left:0}.stat-watermark{width:36px;height:36px;right:7px;bottom:10px;opacity:.06}.student-panel{padding:18px 14px}.section-title h2,.dashboard-side h2{font-size:21px}.student-panel .section-title{margin-bottom:18px}.student-panel .student{padding:17px 12px;gap:13px;min-height:94px}.student-panel .student h3{font-size:19px}.student-panel .student small{font-size:13px}.student-panel .avatar{width:50px;height:50px;font-size:24px}.dashboard-side{grid-template-columns:1fr}.dashboard-side .card{padding:20px 16px}.coach-layout{gap:16px}.series-summary .metrics{gap:16px}.auth-page{padding-top:25px}.auth-page .company-logo{width:150px}.bottomnav a{min-width:0;flex:1}}
@media(max-width:380px){.login-form{padding:26px 20px}.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-links{gap:7px;font-size:13px}.auth-links .text-button{font-size:13px}.login-brand .badge{font-size:10px;padding:5px 7px}.login-brand .company-logo{width:150px}.stats{grid-template-columns:1fr}.stat-heading{display:flex}.stat-heading .icon{display:block}.stat.card{padding:18px}.stat strong{font-size:34px}.stat{min-height:110px}}
.sidebar{overflow-x:hidden;overflow-y:auto}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

.sidebar .sidebar-watermark{position:absolute;top:42%;left:0;width:100%;opacity:.075;pointer-events:none;z-index:-1;transform:rotate(-6deg)}.dashboard-brand{position:absolute;right:35px;top:105px;z-index:-1;opacity:.09;pointer-events:none}.dashboard-brand img{width:210px}@media(max-width:650px){.dashboard-brand{top:105px;right:15px;opacity:.04}.dashboard-brand img{width:140px}}
