.auth-page{min-height:100vh;background:#fcfdfc;position:relative;overflow:hidden;display:flex;flex-direction:column}.auth-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:28px 45px}.auth-brand-group{display:flex;align-items:center;gap:35px}.auth-top .brand-caption{letter-spacing:1.1px}.auth-main{flex:1;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;max-width:1320px;width:100%;margin:0 auto;padding:10px 65px 30px;gap:90px}.auth-story{align-self:center;position:relative}.auth-story .eyebrow{color:#4d9a91;font-size:calc(10px + var(--font-increase));letter-spacing:3.4px;margin-bottom:23px}.auth-story h1{font-size:calc(48px + var(--font-increase));line-height:1.45;letter-spacing:-2px;white-space:pre-line;font-weight:650;margin-bottom:21px}.auth-story>p{font-size:calc(13px + var(--font-increase));line-height:2.1;color:#8699a4;white-space:pre-line}.auth-illustration{height:280px;position:relative;margin:20px -40px 0 -25px;opacity:.87}.auth-illustration svg{width:100%;height:100%;overflow:visible}.auth-story-foot{display:flex;align-items:center;gap:10px;font-size:calc(10px + var(--font-increase));color:#86a0aa;margin-top:0}.auth-story-foot:before{content:'';width:28px;height:1px;background:#9ab7bc}.auth-card{position:relative;background:#ffffffed;border:1px solid #e3ebec;box-shadow:0 15px 60px #18384b07;border-radius:18px;padding:35px 36px;max-width:438px;width:100%;margin-left:auto}.auth-card .mini-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#ecf6f2;color:#208e83;margin-bottom:20px}.auth-card h2{font-size:calc(23px + var(--font-increase));letter-spacing:-.7px;margin-bottom:9px}.auth-card>p{font-size:calc(11px + var(--font-increase));color:#94a1aa;line-height:1.8;margin-bottom:24px}.role-tabs{display:flex;background:#f1f4f5;border-radius:7px;padding:4px;margin-bottom:25px}.role-tabs button{flex:1;border:0;background:transparent;padding:10px 5px;border-radius:5px;font-size:calc(11px + var(--font-increase));color:#8d9ca7}.role-tabs button.active{background:white;color:#244b60;box-shadow:0 1px 5px #20495909}.auth-card .input,.auth-card .select{padding:12px 13px;font-size:calc(12px + var(--font-increase));height:43px}.auth-card .form-field{margin-bottom:19px;gap:9px}.password-wrap{position:relative}.password-wrap .input{padding-right:45px}.password-wrap .icon-button{position:absolute;right:5px;top:5px}.auth-submit{width:100%;margin-top:4px;padding:12px}.auth-demo{border-top:1px solid #edf1f2;margin-top:24px;padding-top:18px;text-align:center}.auth-demo>span{font-size:calc(10px + var(--font-increase));color:#a0aeb6}.demo-buttons{display:flex;gap:10px;margin:12px 0}.demo-buttons .btn{flex:1;font-size:calc(10px + var(--font-increase));padding:8px}.auth-demo p{font-size:calc(8px + var(--font-increase));color:#a7b3b9;margin:0}.auth-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;padding:22px 45px;border-top:1px solid #eaf0f0;font-size:calc(10px + var(--font-increase));color:#9eacb5}.auth-bottom .btn{font-size:calc(11px + var(--font-increase));margin-left:10px}.auth-page:before{content:'';position:absolute;width:850px;height:850px;border-radius:50%;background:radial-gradient(circle,#d7edea70,transparent 65%);left:-320px;bottom:-310px}.auth-page:after{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,#e6f1e740,transparent 65%);right:-300px;top:-250px;pointer-events:none}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:22px}.dashboard-grid .network-card{padding-bottom:17px}.network-card .card-head{margin-bottom:0}.network-toplabel{background:#f8fafb;border-radius:6px;padding:7px 10px;font-size:calc(9px + var(--font-increase));color:#8a9ca8}.market-news-card{display:flex;flex-direction:column}.market-news-card .news-list{flex:1}.news-row{padding:17px 0;border-bottom:1px solid #edf1f3;display:flex;gap:13px}.news-row:last-child{border-bottom:0}.news-icon{width:33px;height:33px;border-radius:9px;display:grid;place-items:center;background:#f9f0e4;color:#c69b5a;flex-shrink:0}.news-icon.solar{background:#e8f6f1;color:#4aa58e}.news-icon.line{background:#fbeee9;color:#d18b72}.news-text{flex:1}.news-text h3{font-size:calc(12px + var(--font-increase));margin:7px 0 4px;line-height:1.65;font-weight:550}.news-text p{font-size:calc(10px + var(--font-increase));color:#8d9ca7;line-height:1.8;margin:0}.news-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:calc(9px + var(--font-increase));color:#a1aeb7}.news-type{font-size:calc(8px + var(--font-increase));letter-spacing:.5px;color:#b29b78}.dashboard-bottom{display:grid;grid-template-columns:1.85fr 1fr;gap:22px;margin-top:22px}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.guide-step{position:relative}.step-number{display:flex;align-items:center;gap:10px;color:#8c9da8;font-size:calc(10px + var(--font-increase));margin-bottom:13px}.step-number:after{content:'';height:1px;background:#e7edef;flex:1}.step-number b{width:25px;height:25px;border-radius:50%;background:#edf5f3;color:#5d9b90;display:grid;place-items:center;font-weight:500}.guide-step h3{font-size:calc(12px + var(--font-increase));margin-bottom:7px}.guide-step p{font-size:calc(10px + var(--font-increase));color:#97a6ae;margin-bottom:0}.unit-card{background:#eaf3f0;border-color:#dbe9e3;position:relative;overflow:hidden}.unit-card>svg{position:absolute;right:25px;top:45px;color:#b3d2c7;transform:rotate(-8deg);width:85px;height:85px}.unit-card h2{font-size:calc(21px + var(--font-increase));margin:16px 0 10px;color:#2b695d}.unit-card p{font-size:calc(11px + var(--font-increase));color:#7ca094;margin:0}.bidding-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px}.bid-point{display:grid;grid-template-columns:34px 1fr 1fr;gap:13px;align-items:start;padding:12px 0;border-bottom:1px solid #edf1f3}.bid-point:last-child{border-bottom:0}.point-index{width:25px;height:25px;background:#edf4f2;color:#619a91;border-radius:7px;display:grid;place-items:center;font-size:calc(11px + var(--font-increase));margin-top:9px}.bid-input-head{display:grid;grid-template-columns:34px 1fr 1fr;gap:13px;font-size:calc(10px + var(--font-increase));color:#8c9faa;margin:23px 0 2px}.bid-point .form-field{margin:0}.bid-inputs{margin-bottom:18px}.bid-validation{font-size:calc(11px + var(--font-increase));line-height:1.7;min-height:20px;color:#4e9a87}.bid-validation.invalid{color:#bd6c5d}.bid-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}.curve-card{display:flex;flex-direction:column}.curve-card .curve-container{margin:auto 0}.curve-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.curve-stats span{font-size:calc(10px + var(--font-increase));color:#8ea0aa}.curve-stats strong{display:block;font-size:calc(23px + var(--font-increase));margin-top:6px;font-weight:550}.bid-summary-row{display:flex;justify-content:space-between;font-size:calc(11px + var(--font-increase));color:#92a2ad;border-top:1px solid #e8eef1;padding:16px 0 0;margin-top:20px}.learning-card{margin-top:22px}.learning-card p{margin:0;font-size:calc(11px + var(--font-increase));color:#8b9ba7}.learning-card h3{display:flex;align-items:center;gap:10px;color:#668b89;font-size:calc(12px + var(--font-increase))}.revenue-input{font-size:calc(24px + var(--font-increase))!important;padding:16px!important;background:#f8faf9!important;letter-spacing:1px}.locked-answer{background:repeating-linear-gradient(135deg,#f5f7f8 0,#f5f7f8 7px,#f7f9fa 7px,#f7f9fa 14px);border:1px dashed #d8e2e7;border-radius:12px;padding:30px;text-align:center;margin-top:20px;color:#8199a7}.locked-answer h3{font-size:calc(13px + var(--font-increase));margin:10px 0}.locked-answer p{font-size:calc(11px + var(--font-increase));margin:0}.formula-box{background:#f1f7f5;border-left:3px solid var(--teal);padding:18px;margin:16px 0;border-radius:0 9px 9px 0;font-size:calc(12px + var(--font-increase));line-height:2;overflow-wrap:anywhere}.formula-box strong{display:block;font-size:calc(20px + var(--font-increase));color:var(--teal);margin-top:13px}.revenue-period{padding:17px;background:#f6f8fa;border-radius:10px}.revenue-period .metric-row{display:flex;justify-content:space-between;font-size:calc(11px + var(--font-increase));padding:8px 0}.history-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-bottom:22px}.round-timeline{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.round-timeline button{border:1px solid #dae6e5;background:white;border-radius:9px;padding:14px 18px;color:#699087;font-size:calc(12px + var(--font-increase))}.round-timeline button.active{background:#e7f3ee;border-color:#92c5b8}.history-detail{margin-top:20px}.profit-total{font-size:calc(37px + var(--font-increase));font-weight:600;letter-spacing:-1px;margin:20px 0 7px}
@media(min-width:1600px){.auth-main{max-width:1500px;gap:120px}.auth-story h1{font-size:calc(58px + var(--font-increase))}.auth-illustration{height:340px}.auth-card{max-width:465px;padding:40px}}
@media(max-width:1100px){.auth-main{gap:35px;padding:15px 40px 30px}.auth-story h1{font-size:calc(38px + var(--font-increase))}.auth-illustration{height:230px}.auth-card{padding:27px}.dashboard-grid,.dashboard-bottom{grid-template-columns:1.6fr 1fr;gap:16px}.news-row{padding:12px 0}.news-icon{display:none}.bidding-layout{grid-template-columns:1fr 1fr}.guide-steps{gap:10px}}
@media(max-width:900px){.dashboard-grid,.dashboard-bottom{grid-template-columns:1fr}.news-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.news-row{border:0}.bidding-layout{grid-template-columns:1fr}.history-grid{grid-template-columns:1fr}.auth-main{padding:15px 25px 30px;gap:25px}.auth-story h1{font-size:calc(33px + var(--font-increase))}.auth-top{padding:25px}.auth-top .badge{display:none}}
@media(max-width:760px){.auth-top{padding:19px}.auth-brand-group{gap:15px;justify-content:space-between;width:100%;flex-direction:row-reverse}.auth-top .brand-caption{display:none}.auth-top .brand-name{font-size:calc(16px + var(--font-increase))}.auth-main{display:flex;flex-direction:column;gap:15px;padding:20px}.auth-story{width:100%;text-align:center}.auth-story .eyebrow{font-size:calc(9px + var(--font-increase));margin-bottom:10px}.auth-story h1{font-size:calc(31px + var(--font-increase));white-space:normal;margin-bottom:12px}.auth-story>p{font-size:calc(11px + var(--font-increase));white-space:normal;max-width:400px;margin:0 auto}.auth-illustration,.auth-story-foot{display:none}.auth-card{margin:0 auto;padding:25px;max-width:430px}.auth-card .mini-icon{display:none}.auth-card h2{font-size:calc(21px + var(--font-increase))}.auth-card>p{margin-bottom:18px}.auth-bottom{padding:16px 20px;gap:10px;flex-wrap:wrap;justify-content:center}.auth-bottom>span{display:none}.guide-steps{gap:15px}.news-list{display:block}.news-row{border-bottom:1px solid #edf1f3}.news-icon{display:grid}.guide-step p{font-size:calc(9px + var(--font-increase))}.bidding-layout{gap:15px}.bid-point{gap:10px}.bid-input-head{gap:10px}.revenue-input{font-size:calc(20px + var(--font-increase))!important}}
.mobile-menu.icon-button{display:none}.market-news-card .news-list{max-height:430px;overflow:auto}
@media(max-width:760px){.mobile-menu.icon-button{display:inline-flex}.market-news-card .news-list{max-height:none}.auth-brand-group{flex-direction:row}.auth-story h1{font-size:calc(28px + var(--font-increase));white-space:pre-line}.auth-bottom{justify-content:flex-end}}
.mobile-language{display:none}.search-field{position:relative;min-width:160px;flex:1;max-width:320px}.search-field>svg{position:absolute;left:12px;top:12px;color:#94a5af}.search-field .input{width:100%;padding-left:37px}.spinner{display:inline-block;width:30px;height:30px;border:3px solid #dfede9;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:18px}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.mobile-language{display:block}.mobile-language .language-switch{padding:3px}.mobile-language .language-switch button{padding:5px 7px;font-size:calc(10px + var(--font-increase))}.topbar-right .user-name{max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-field{max-width:none}}
.shell-language{position:fixed;top:22px;left:18px;z-index:40}.language-spacer{height:56px;flex-shrink:0}
@media(max-width:1100px){.shell-language{top:18px;left:12px}}
@media(max-width:760px){.shell-language{top:17px;left:57px}.shell-language .language-switch{padding:3px}.shell-language .language-switch button{padding:5px 7px;font-size:calc(10px + var(--font-increase))}.mobile-language{width:108px}.sidebar .language-spacer{height:46px}}
/* Space for the globally enlarged typography, including narrow screens. */
.app-shell{grid-template-columns:260px minmax(0,1fr)}
.sidebar{width:260px;overflow-y:auto}
.sidebar .brand{flex-shrink:0}
.sidebar-bottom{flex-shrink:0}
.auth-card .input,.auth-card .select{height:49px}
.network-svg{max-height:470px}
.market-news-card .news-list{max-height:640px}
.network-source{font-size:calc(10px + var(--font-increase));color:var(--muted);line-height:1.65;margin:8px 0 16px}
.branch-label{paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round}
.outage-marker{fill:#d73333;font-size:calc(24px + var(--font-increase));font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round;pointer-events:none}
.registration-assignment{font-size:calc(11px + var(--font-increase));line-height:1.7;color:var(--muted);background:#f0f7f4;padding:12px;border-radius:8px}
.auth-demo .demo-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.auth-demo .demo-buttons .btn{white-space:normal;justify-content:center;padding:10px 7px}
.solar-night-notice{margin:16px 0 0}
.network-source a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.network-card .card-head{flex-wrap:wrap}
.page-heading .toolbar{margin-bottom:0}
.chart-svg text{font-variant-numeric:tabular-nums}
@media(max-width:1100px){.app-shell{grid-template-columns:235px minmax(0,1fr)}.sidebar{width:235px}.page-heading{flex-wrap:wrap}}
@media(max-width:760px){.app-shell{display:block}.sidebar{width:260px}.mobile-language{width:132px}.topbar{gap:6px}.user-menu{gap:8px}.topbar-right .user-name{max-width:68px}.card-head{flex-wrap:wrap}.history-detail>.stats-grid{grid-template-columns:1fr!important}.guide-steps{grid-template-columns:1fr}.guide-step p{font-size:calc(9px + var(--font-increase))}.news-meta{flex-wrap:wrap}.bid-actions{flex-wrap:wrap}}
.sidebar-close.icon-button{display:none}
@media(max-width:760px){.sidebar-close.icon-button{display:inline-flex;position:absolute;top:15px;left:16px;background:#edf3f5}}

/* Both periods stay visible: each bid table is paired with its own live curve. */
.bid-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.bid-period-panel{min-width:0;border-top:3px solid #148b86}
.bid-period-night{border-top-color:#6e72b8}
.bid-period-panel>.card-head{flex-wrap:wrap;gap:12px;margin-bottom:16px}
.bid-period-heading{display:flex;gap:12px;align-items:center}
.bid-period-heading h2{margin:0}
.bid-period-heading p{margin:6px 0 0}
.bid-period-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:12px;background:#eaf6f2;color:#148b86}
.bid-period-night .bid-period-icon{background:#f0eff9;color:#6e72b8}
.bid-table{width:100%;border-collapse:collapse;table-layout:fixed}
.bid-table th{font-size:calc(10px + var(--font-increase));color:#7a909e;text-align:left;font-weight:500;line-height:1.6;padding:8px 6px 10px}
.bid-table th:first-child,.bid-table td:first-child{width:36px;padding-left:0}
.bid-table td{padding:10px 6px;border-bottom:1px solid #edf1f3}
.bid-table th:last-child,.bid-table td:last-child{padding-right:0}
.bid-table .point-index{margin:0}
.bid-table .input{width:100%;min-width:0}
.bid-period-panel .bid-validation{margin:14px 0;min-height:26px;overflow-wrap:anywhere}
.bid-curve-section{border-top:1px solid var(--border);padding-top:18px}
.bid-curve-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px}
.bid-curve-heading h3{font-size:calc(12px + var(--font-increase));margin:0}
.bid-curve-heading span{font-size:calc(9px + var(--font-increase));color:#8295a1;line-height:1.6}
.bid-curve-note{font-size:calc(10px + var(--font-increase));line-height:1.8;color:#718997;margin:4px 0 12px}
.bid-period-limit{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:calc(11px + var(--font-increase));color:#8295a1;padding-top:10px}
.bid-period-limit strong{color:var(--text);font-weight:550}
.bid-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-top:22px;padding:19px 22px;border:1px solid #dce8e4;border-radius:12px;background:#f2f8f5}
.bid-submit-bar>p{flex:1;min-width:220px;margin:0;color:#56796e;font-size:calc(11px + var(--font-increase));line-height:1.8}
.bid-submit-bar .bid-actions{margin:0;flex-wrap:wrap}
.bid-submit-bar .btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1100px){.bid-periods{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.shell-language{position:absolute}}
@media(max-width:760px){.bid-period-panel{padding:20px 16px}.bid-table th:first-child,.bid-table td:first-child{width:27px}.bid-table td{padding:9px 4px}.bid-table .input{padding:12px 8px}.bid-submit-bar{padding:16px;gap:14px}.bid-submit-bar>p{min-width:0;flex-basis:100%}.bid-submit-bar .bid-actions{width:100%;flex-direction:column}.bid-submit-bar .btn{width:100%;white-space:normal}}
