/* CV v1.2: original premium identity. Financial and printed content stay unchanged. */
:root{--navy:#08263D;--ink:#152C3D;--muted:#788B9D;--bg:#F5F8FA;--green:#08785F;--line:#E7EDF1;--shadow:0 9px 35px rgba(18,47,66,.055)}
body{background:radial-gradient(circle at 76% -20%,#DDF6EA 0%,transparent 34%),#F5F8FA;letter-spacing:-.005em}
.brand-mark{width:48px;height:48px;border-radius:16px;box-shadow:0 8px 22px rgba(0,29,47,.2);flex-shrink:0;object-fit:cover}
.brand-mark.large{width:83px;height:83px;border-radius:23px;box-shadow:0 18px 52px rgba(0,15,30,.32)}
.sidebar{background:linear-gradient(155deg,#0B233C 0%,#072639 58%,#053D3B 100%);border-color:#FFFFFF16;padding:26px 15px 19px;color:#EBF9F8;scrollbar-width:thin;scrollbar-color:#45606d transparent}
.sidebar::after{content:'';position:absolute;pointer-events:none;bottom:-95px;left:-100px;width:310px;height:310px;border:1px solid #6BE5C333;border-radius:50%;box-shadow:0 0 0 45px #5FCAA20C,0 0 0 90px #5FCAA208}
.brand{margin:3px 8px 40px;position:relative;z-index:1}.brand strong{font-size:22px;letter-spacing:-.8px;color:#fff}.brand span{font-size:9px;color:#9AC0C4;letter-spacing:1.3px}
.side-label{color:#89AEBA;letter-spacing:2.2px}.nav-button{color:#C0D4DA;border:1px solid transparent;padding:12px 14px;position:relative;z-index:1;border-radius:13px;transition:background .22s,color .22s,transform .26s cubic-bezier(.2,.7,.2,1),border-color .22s}.nav-button:hover{background:#FFFFFF13;color:#FFFFFF;transform:translateX(3px)}.nav-button.active{background:linear-gradient(100deg,#17A87D38,#5AE4BD14);border-color:#7CF3C23A;color:#EBFFF7;box-shadow:inset 3px 0 0 #54E6B9}.nav-ico,.active .nav-ico{color:#9FEBD3}.nav-ico{font-weight:800}
.sidebar-bottom{position:relative;z-index:1}.security-note{background:#FFFFFF10;border-color:#FFFFFF19;color:#EDFFFC;border-radius:16px}.security-note small{color:#9CC1C2}.security-light{background:#75F1BF;box-shadow:0 0 0 4px #78EFC21F}.logout-button{color:#C6DADB}.logout-button:hover{color:white}
.main-wrap{background:transparent}.topbar{position:sticky;top:0;z-index:9;background:#FFFFFFDD;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #E3EAF0;padding:0 clamp(20px,3.3vw,50px);height:76px}.breadcrumb{color:#8094A5}.breadcrumb b{color:#153F4A}.security-chip{display:inline-flex;align-items:center;gap:8px;background:#F1FAF4;border:1px solid #D7EFE2;border-radius:50px;color:#287C60;font-size:10px;font-weight:800;padding:9px 12px;white-space:nowrap}.live-dot{width:7px;height:7px;background:#28BE89;border-radius:50%;box-shadow:0 0 0 3px #26B88922}.avatar{background:linear-gradient(140deg,#C8F2DA,#D9F3F2);color:#0B6650}
.page-content{padding:clamp(22px,3vw,42px);max-width:1530px}.page-header h1{letter-spacing:-2px;font-weight:820}.page-header p{max-width:640px}
.page-content .panel{border-color:#E8EEF2;box-shadow:0 8px 30px rgba(10,39,58,.035);border-radius:20px}.panel-title{font-size:15px;font-weight:850;color:#172D40}
.cv-hero{isolation:isolate;position:relative;overflow:hidden;min-height:264px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(255px,.75fr);gap:20px;border-radius:25px;background:radial-gradient(circle at 70% -30%,#27816B80,transparent 54%),linear-gradient(117deg,#081F38 3%,#0B3450 60%,#086253 130%);padding:30px clamp(24px,4.4vw,55px);color:#F7FFFC;box-shadow:0 22px 46px rgba(9,46,63,.16);margin-bottom:31px}
.cv-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(#FFFFFF13 .85px,transparent .85px);background-size:24px 24px;opacity:.3;z-index:-1;pointer-events:none}
.cv-hero-copy{position:relative;z-index:2;align-self:center}.cv-hero-kicker{font-size:10px;letter-spacing:2.3px;color:#ACEAD8;font-weight:850;display:flex;align-items:center;gap:10px}.hero-sparkle{font-size:18px;color:#ACFFD9}.hero-version{border:1px solid #FFFFFF2B;background:#FFFFFF15;padding:4px 8px;border-radius:6px;letter-spacing:1px;font-size:9px}
.cv-hero h1{font-size:clamp(32px,4.1vw,58px);line-height:1.07;letter-spacing:-2.2px;margin:13px 0 10px;max-width:560px;color:#F8FFFD}.cv-hero h1 em{font-style:normal;background:linear-gradient(110deg,#7FECCC,#DAFFD4);color:transparent;background-clip:text;-webkit-background-clip:text}.cv-hero p{color:#BDD6DC;max-width:410px;line-height:1.65;font-size:12px;margin:0 0 22px}.cv-hero-actions{display:flex;gap:9px;flex-wrap:wrap}.hero-main-btn,.hero-ghost-btn{padding:12px 16px;border-radius:10px;font-size:11px;font-weight:850;min-height:41px;display:flex;align-items:center;gap:20px;transition:transform .25s,box-shadow .25s}.hero-main-btn{background:#BDF5DA;border:0;color:#0C4438;box-shadow:0 10px 28px #020E1A2A}.hero-ghost-btn{background:#FFFFFF15;color:white;border:1px solid #BFE6E03A}.hero-main-btn:hover,.hero-ghost-btn:hover{transform:translateY(-3px)}
.hero-visual{position:relative;display:grid;place-items:center;min-height:210px}.hero-ring{position:absolute;border:1px solid #A8F2D63A;border-radius:50%;width:315px;height:315px;right:-20px;top:-56px;box-shadow:0 0 0 39px #FFFFFF05,0 0 0 80px #FFFFFF04}.hero-ring-two{width:180px;height:180px;top:70px;right:-50px;box-shadow:none;border-color:#80E3C92E}.hero-glass{position:relative;z-index:2;width:min(90%,280px);padding:19px 21px 16px;border:1px solid #FFFFFF48;border-radius:18px;background:linear-gradient(130deg,#FFFFFF31,#FFFFFF0F);backdrop-filter:blur(20px);box-shadow:0 26px 55px #00000033;transform:rotate(3deg);animation:cv-float 7s ease-in-out infinite}.hero-glass-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px;color:#DEFFF4;font-weight:900}.hero-glass-heading span{color:#A7F7DD}.hero-glass-money{font-size:clamp(25px,2.7vw,35px);font-weight:850;letter-spacing:-1.5px;margin:18px 0 1px}.hero-glass-caption{font-size:10px;color:#D0E8E7}.hero-mini-bars{display:flex;align-items:flex-end;gap:7px;height:45px;margin-top:20px}.hero-mini-bars i{flex:1;background:linear-gradient(#9FFDD5,#53C8B1);border-radius:5px 5px 2px 2px;opacity:.8}.hero-mini-bars i:nth-child(8n+1){height:30%}.hero-mini-bars i:nth-child(8n+2){height:42%}.hero-mini-bars i:nth-child(8n+3){height:35%}.hero-mini-bars i:nth-child(8n+4){height:61%}.hero-mini-bars i:nth-child(8n+5){height:51%}.hero-mini-bars i:nth-child(8n+6){height:72%}.hero-mini-bars i:nth-child(8n+7){height:80%}.hero-mini-bars i:nth-child(8n+8){height:93%}.hero-glass-bottom{border-top:1px solid #FFFFFF27;padding-top:11px;margin-top:12px;display:flex;justify-content:space-between;color:#C5EEDC;font-size:8px;font-weight:800;letter-spacing:1.4px}
.cv-section-bar{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.cv-section-bar .eyebrow{color:#28876A;letter-spacing:1.8px}.cv-section-bar h2{margin:9px 0 0;font-size:clamp(22px,2vw,29px);letter-spacing:-1px}.cv-subtitle-chip{font-size:10px;font-weight:700;letter-spacing:.1px;background:#EAF7F0;color:#288066;border-radius:8px;padding:6px 9px;vertical-align:middle;margin-left:8px}.cv-period-control{display:flex;gap:8px;align-items:center;font-size:10px;color:#7A91A2;font-weight:750}.cv-period-control input{background:white;border:1px solid #DFE8ED;border-radius:10px;min-width:155px;padding:9px}
.metrics{gap:13px;margin-bottom:18px}.metric-card{min-height:126px;border:1px solid rgba(58,125,144,.08);border-radius:18px;padding:19px 19px 17px;box-shadow:none}.metric-card.tone-blue{background:linear-gradient(135deg,#E9F3FF,#F4F9FF)}.metric-card.tone-mint{background:linear-gradient(135deg,#DDF9EB,#F2FCF7)}.metric-card.tone-peach{background:linear-gradient(135deg,#FFF0F0,#FFFAF5)}.metric-card.tone-purple{background:linear-gradient(135deg,#F0EDFF,#F8F5FF)}.metric-head{color:#43586D;font-size:11px}.metric-icon{background:#FFFFFFA8;border:1px solid #FFFFFFB0;box-shadow:0 4px 11px rgba(8,35,57,.045);width:35px;height:35px;border-radius:12px;font-size:17px;color:#195C73}.tone-mint .metric-icon{color:#047950}.tone-peach .metric-icon{color:#B25E5A}.tone-purple .metric-icon{color:#7656A5}.metric-number{font-size:clamp(24px,2vw,31px);color:#142D40;letter-spacing:-1.1px}.metric-foot{color:#738B9E;font-size:10px}
.dash-class-panel{margin:20px 0}.soft-count{font-size:10px;color:#277659;background:#E7F8EE;border-radius:50px;padding:6px 9px;vertical-align:middle;margin-left:4px}.dash-class-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.dash-class{border:1px solid #E8EDF3;background:linear-gradient(160deg,#FAFDFF,#F4F9FA);border-radius:13px;padding:14px 5px;min-height:93px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px;transition:transform .24s cubic-bezier(.2,.9,.2,1),background .24s,box-shadow .24s,border-color .24s}.dash-class:hover{transform:translateY(-4px);border-color:#B0E4D4;background:#EBF9F4;box-shadow:0 8px 20px rgba(23,77,75,.08)}.dash-class-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#DEF6EE;color:#127F66;font-size:12px;font-weight:850}.dash-class:nth-child(5n+2) .dash-class-icon{background:#FDE6EE;color:#AF5175}.dash-class:nth-child(5n+3) .dash-class-icon{background:#FFF1DA;color:#AB772B}.dash-class:nth-child(5n+4) .dash-class-icon{background:#E9E6FF;color:#745DC3}.dash-class b{color:#193D4C;font-size:10px;font-weight:850}.dash-class-count{color:#8AA0AB;font-size:9px}.cv-collection-panel{margin-top:18px}.welcome-panel{margin:0 0 18px;background:linear-gradient(110deg,#F1FCF7,#F4F8FA);border-radius:18px}
.auth-brand{background:radial-gradient(circle at 65% 5%,#16857455,transparent 44%),linear-gradient(148deg,#061D34,#103852 70%,#076357)}.auth-brand h1 em{color:#B5F7DC}.auth-caption{color:#C8E4E3}.auth-card{border:1px solid #E5ECEF;border-radius:26px;box-shadow:0 18px 76px rgba(14,48,62,.09)}.auth-card h2{letter-spacing:-1.4px}.auth-footer{border-color:#E5ECEF}.primary{background:linear-gradient(120deg,#0B374C,#0D6D65);box-shadow:0 8px 24px rgba(7,67,76,.13)}.primary:hover:not(:disabled){background:linear-gradient(120deg,#0B455D,#0F8B75)}
.class-card{border-radius:19px}.class-card:nth-child(5n+2) .class-symbol{background:#FCE9F1;color:#A94773}.class-card:nth-child(5n+3) .class-symbol{background:#FEF0DC;color:#B47A31}.class-card:nth-child(5n+4) .class-symbol{background:#EDEAFF;color:#785EC0}
.mobile-tabs{display:none}
@keyframes cv-float{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@media(max-width:1350px){.dash-class-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1060px){.dash-class-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cv-hero{grid-template-columns:1fr minmax(210px,.7fr)}.hero-ring{right:-90px}}
@media(max-width:900px){.sidebar{left:-270px;box-shadow:17px 0 40px rgba(4,24,40,.16)}.security-chip{display:none}.dash-class-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:13;justify-content:space-around;align-items:stretch;background:#FFFFFFF1;backdrop-filter:blur(16px);border-top:1px solid #E4EEF0;padding:6px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -5px 25px rgba(8,36,57,.07)}.mobile-tab{color:#758A9B;border:0;background:transparent;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:58px;padding:7px 5px}.mobile-tab>span{font-size:19px;line-height:1}.mobile-tab small{font-size:9px;font-weight:780}.mobile-tab.active{background:#E6F8EE;color:#0C8167}.page-content{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.main-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}}
@media(max-width:600px){.cv-hero{padding:25px 22px;grid-template-columns:1fr;gap:3px;min-height:auto;border-radius:20px}.cv-hero h1{font-size:36px}.cv-hero p{font-size:11px;max-width:310px}.hero-visual{display:none}.cv-section-bar{align-items:start}.cv-period-control{width:100%;justify-content:space-between}.cv-period-control input{width:176px}.metric-card{min-height:115px;padding:15px}.metric-number{font-size:clamp(21px,5.8vw,28px)}.metric-icon{width:30px;height:30px}.dash-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dash-class{min-height:93px}.sidebar{padding-top:24px}.brand-mark{width:44px;height:44px}.welcome-panel{padding:20px 17px}.page-content .panel{border-radius:16px}.topbar{height:62px}.page-content{padding-top:17px}}
@media(max-width:350px){.dash-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-tab{min-width:51px}.mobile-tab small{font-size:8px}.cv-hero h1{font-size:31px}.metric-card{padding:13px}.metric-head{font-size:9px}.cv-subtitle-chip{display:inline-block}}
@media(prefers-reduced-motion:reduce){.hero-glass{animation:none}.dash-class,.nav-button,.hero-main-btn,.hero-ghost-btn{transition:none}}
@media print{.cv-hero,.cv-section-bar,.dash-class-panel,.mobile-tabs{display:none!important}.sidebar{display:none!important}.topbar{display:none!important}.receipt-sheet{background:#fff!important;color:#24394d!important}}
