/* Packages and team competitions: shared operational workspace. */
.programs-page{background:#f3f5f8;color:#202b38}
.program-header{max-width:1230px;margin:16px auto 8px;padding:17px 25px;display:flex;gap:18px;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe5ec}
.program-header>a{display:flex;align-items:center;gap:8px;font-size:14px}
.program-header>.landing-brand{font-size:31px}
.program-header>span{font-size:12px;color:#566577}
.program-main{max-width:1160px;margin:auto;padding:10px 26px 50px}
.program-nav{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:3px 0 20px;border-bottom:1px solid #e0e6ec;padding-bottom:10px}
.program-nav button,.program-nav a{font:inherit;font-size:13px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#4d6074;cursor:pointer;text-decoration:none;min-height:44px}
.program-nav button:hover,.program-nav a:hover{background:#e8eef5;color:#245dcc}
.program-nav button[aria-pressed=true]{background:#fff;color:#245dcc;box-shadow:0 2px 6px -4px #24476970}
.program-nav .program-reset{margin-inline-start:auto;font-size:12px}
.program-notice{color:#236145;background:#edf7f0;border:1px solid #d2e8d9;border-radius:9px;font-size:14px;line-height:1.75;margin:0 0 22px;padding:12px 16px}
.program-notice:empty{display:none}
.program-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:20px 0 22px}
.program-heading h1{font-size:32px;line-height:1.25;margin:0 0 11px}
.program-heading p{max-width:610px;margin:0;font-size:14px;line-height:1.75;color:#566577}
.program-heading>.program-actions{flex:none;max-width:365px}
.program-kicker{display:block;font-size:13px;color:#566577;margin:0 0 10px}
.program-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.program-actions .btn{white-space:normal;font-size:14px;border-radius:10px;min-height:44px;padding:10px 13px}
.program-note{font-size:12px;line-height:1.8;color:#566577;margin:15px 0 21px;max-width:68ch}
.program-workspace{border:1px solid #dce3eb;border-radius:20px;background:#fff;overflow:clip}
.program-workspace-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 25px;border-bottom:1px solid #e0e6ec}
.program-workspace-head h2{display:flex;align-items:center;gap:10px;font-size:18px;margin:0}
.program-workspace-head h2>span{font-size:12px;font-weight:400;min-width:24px;height:24px;display:grid;place-items:center;border:1px solid #dde5ed;border-radius:7px;color:#566577}
.program-workspace-head>span{display:flex;align-items:center;gap:6px;font-size:12px;color:#566577}
.program-workspace-head .icon{width:13px;height:13px}
.program-layout{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,1fr);gap:0;margin:0;align-items:stretch}
.program-records{padding:0 25px 25px;min-width:0}
.program-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #e0e6ec;padding-bottom:14px;margin:24px 0 0}
.program-section-title h2{font-size:17px;margin:0}
.program-section-title span{font-size:12px;color:#566577}
.program-package-list{max-height:290px;overflow:auto;border-bottom:1px solid #e0e6ec;padding-block:12px}
.program-package-row{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;text-align:start;font:inherit;background:transparent;border:0;padding:15px 12px;cursor:pointer;color:#202b38;border-radius:9px;transition:background .18s}
.program-package-row:hover{background:#f5f8fc}
.program-package-row[aria-pressed=true]{background:#edf3fb;color:#254774}
.program-package-row strong{display:block;font-size:14px}
.program-package-row small{display:block;color:#566577;margin-top:5px;font-size:12px;line-height:1.6}
.program-package-row b{font-size:18px;white-space:nowrap;font-variant-numeric:tabular-nums}
.program-operations{margin:27px 0 22px;scroll-margin-top:35px}
.program-operation-title{display:flex;align-items:center;gap:8px}
.program-operation-title>.icon{width:20px;height:20px;color:#536779}
.program-operations h2{font-size:20px;margin:0}
.program-operations>p:first-of-type{font-size:14px;color:#566577;margin:12px 0 0}
.program-operation-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-block:18px 21px;margin:0}
.program-operation-facts dt{font-size:12px;color:#566577;margin-bottom:7px}
.program-operation-facts dd{font-size:16px;color:#2e4258;margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.program-preview{width:100%;max-width:none;justify-self:stretch;padding:22px 25px;background:#eff3f5;border-inline-start:1px solid #dfe5ec;min-width:0;scroll-margin-top:28px}
.program-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#566577;margin:0 auto 23px;max-width:390px}
.program-preview-head>span:first-child{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#344554}
.program-preview-head .icon{width:17px;height:17px}
.program-preview>.program-note{max-width:390px;margin:18px auto 0;font-size:12px}
.program-pass{background:#214f43;color:#f5fbf7;border:1px solid #ffffff33;border-radius:23px;padding:26px;max-width:390px;width:100%;margin-inline:auto;box-shadow:0 19px 29px -21px #1b403f77,inset 0 1px 0 #ffffff26}
.program-pass-top{display:flex;justify-content:space-between;gap:15px;font-size:16px;align-items:center}
.program-pass-top strong{overflow-wrap:anywhere}
.program-pass-top>.icon{width:23px;height:23px;flex:none;color:#d8ece2}
.program-pass-owner{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-top:22px;font-size:13px;color:#d8ece2}
.program-pass-owner>span:last-child{text-align:end}
.program-balance{margin:27px 0 24px;display:flex;align-items:center;gap:19px}
.program-balance strong{font-size:72px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}
.program-balance>span{font-size:17px;line-height:1.4}
.program-balance small{font-size:12px;display:block;margin-top:4px;color:#d8ece2}
.program-pass-progress{display:block;appearance:none;border:0;border-radius:3px;overflow:hidden;background:#54796c;color:#d6eedc;width:100%;height:5px;margin:0}
.program-pass-progress::-webkit-progress-bar{background:#54796c}
.program-pass-progress::-webkit-progress-value{background:#d6eedc}
.program-pass-progress::-moz-progress-bar{background:#d6eedc}
.program-pass-state{display:flex;justify-content:space-between;gap:12px;margin-top:12px;color:#d8ece2;font-size:12px}
.program-pass-meta{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;border-top:1px solid #638477;padding-top:18px;margin-top:24px;font-size:12px;color:#d8ece2}
.program-pass-meta strong{font-weight:400;color:#f5fbf7;font-variant-numeric:tabular-nums}
.program-entitlement{padding:25px 0 19px;border-bottom:1px solid #d7e0e7;max-width:390px;margin-inline:auto}
.program-entitlement-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#4c6173;font-size:12px}
.program-entitlement-heading>span:first-child{display:flex;align-items:center;gap:7px}
.program-entitlement-heading .icon{width:16px;height:16px}
.program-benefit-status{font-size:12px}
.program-entitlement h3{font-size:20px;line-height:1.4;margin:11px 0 9px;color:#263e4b}
.program-entitlement p{font-size:12px;line-height:1.8;color:#566577;margin:0}
.program-card-link{display:flex;gap:8px;align-items:center;margin:18px 0;font-size:14px}
.program-history{list-style:none;padding:0;margin:0}
.program-history li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #e4e9ef}
.program-history li:last-child{border-bottom:0}
.program-history strong{font-size:14px}
.program-history small{display:block;font-size:12px;color:#566577;margin-top:6px;line-height:1.65;font-variant-numeric:tabular-nums}
.program-history .btn{font-size:12px;padding:8px 10px;min-height:44px;border-radius:9px}
.program-plans{margin-top:26px;border-top:1px solid #dfe5ec;padding-top:7px}
.program-plans summary{cursor:pointer;min-height:44px;font-size:14px;align-content:center;color:#425970}
.program-plan{padding:17px 0;border-bottom:1px solid #e2e8ee}
.program-plan strong{font-size:14px}
.program-plan p{font-size:13px;margin:9px 0}
.program-plan small{font-size:12px;line-height:1.7;color:#566577}
.program-empty{padding:28px 0;font-size:14px;line-height:1.8;color:#566577}
.program-footer{font-size:12px;color:#566577;line-height:1.8;border-top:1px solid #dfe5ec;margin-top:30px;padding-top:19px}
.program-selector{display:block;max-width:440px;font-size:13px;color:#566577}
.program-selector select{display:block;width:100%;margin-top:8px;min-height:46px;border:1px solid #d4dee8;border-radius:10px;background:white;font-size:14px}
.program-contest-intro{display:flex;gap:35px;justify-content:space-between;align-items:center;padding:28px 0 23px;margin-top:7px;border-bottom:1px solid #dfe5ec}
.program-contest-intro h2{font-size:25px;line-height:1.3;margin:0 0 12px}
.program-contest-intro h3{font-size:20px;line-height:1.4;margin:0 0 6px}
.program-contest-intro p{color:#566577;font-size:13px;line-height:1.65;margin:0}
.program-prize-detail{display:flex;align-items:start;gap:12px;min-width:240px}
.program-prize-detail>.icon{width:28px;height:28px;color:#425e71;flex:none;margin-top:2px}
.program-table-wrap{overflow:auto;margin-top:22px;border:1px solid #dce3eb;border-radius:14px;background:#fff}
.program-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.program-table th,.program-table td{padding:17px 18px;border-bottom:1px solid #e2e8ef;text-align:start}
.program-table th{font-size:12px;color:#566577;font-weight:400;background:#f5f7fa;white-space:nowrap}
.program-table td{white-space:nowrap}
.program-table tbody tr:last-child td{border-bottom:0}
.program-table tbody tr:hover{background:#f8fafd}
.program-table .btn{font-size:12px;border-radius:9px;min-height:44px}
.program-dialog{border:1px solid #d7e0e9;border-radius:20px;max-width:560px;width:calc(100% - 28px);max-height:90dvh;padding:27px;color:#202b38;background:white;box-shadow:0 25px 80px #00000025}
.program-dialog::backdrop{background:#202c3b66;backdrop-filter:blur(4px)}
.program-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.program-dialog-head h2{font-size:25px;line-height:1.3;margin:3px 0 25px}
.program-dialog-head>button{background:#f2f5f8;border:0;border-radius:10px;font:inherit;font-size:24px;width:40px;min-height:40px;flex:none;cursor:pointer;color:#3c5065}
.program-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.program-fields label{font-size:13px;display:flex;flex-direction:column;gap:8px;color:#4c6073}
.program-fields input,.program-fields select{min-width:0;width:100%;font-size:15px;min-height:46px;border-radius:9px;border:1px solid #d1dce6;background:#fff;color:#202b38}
.program-fields>p,.program-fields>.program-check{grid-column:1/-1}
.program-fields p{font-size:14px;line-height:1.75;margin:0 0 5px}
.program-fields .program-check{display:flex;flex-direction:row;align-items:center;gap:12px;font-size:14px;line-height:1.75;color:#344a60}
.program-check input{width:20px;min-height:20px;flex-shrink:0;accent-color:#245dcc}
.program-dialog #dialog-error{font-size:14px;color:#a1322c;line-height:1.7}
.program-dialog form>.btn{width:100%;margin-top:12px;border-radius:10px;min-height:46px;font-size:15px}
.programs-page :focus-visible{outline:3px solid #245dcc;outline-offset:4px}
.program-guide{margin:0 0 22px;padding:0;border:0;font-size:13px}
.program-guide details{margin:0}
.program-guide summary{min-height:44px;align-content:center;color:#49627e}
.program-guide h2{font-size:18px;margin:13px 0 17px}
.program-guide ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-inline-start:22px;margin:0}
.program-guide li{padding-inline-start:5px;font-size:13px;line-height:1.8;color:#566577}
.program-guide li strong{display:block;font-weight:700;color:#2d455a}
.program-guide a{color:#245dcc;text-decoration:underline;text-underline-offset:3px}
.program-guide p{font-size:12px;line-height:1.8;color:#566577;margin:15px 0 0}
@media(max-width:1050px){.program-heading{align-items:flex-start}.program-heading>.program-actions{flex:1;max-width:210px;min-width:180px}.program-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.program-records{padding-inline:20px}.program-preview{padding-inline:20px}.program-actions .btn{font-size:13px}.program-pass{padding:22px}.program-pass-top{font-size:14px}.program-balance strong{font-size:66px}.program-balance>span{font-size:15px}.program-pass-owner{font-size:12px}}
@media(max-width:760px){
.program-header{margin:5px 12px;padding:12px 7px;flex-wrap:wrap;gap:12px}
.program-header>span{order:3;width:100%;font-size:12px}
.program-header>a{font-size:12px}
.program-main{padding:12px 20px 35px}
.program-nav{gap:2px;margin-bottom:18px}
.program-nav button,.program-nav a{font-size:12px;padding:9px}
.program-heading{display:block;margin:18px 0 20px}
.program-heading h1{font-size:28px}
.program-heading p{font-size:14px}
.program-heading>.program-actions,.program-heading>.btn{margin-top:18px;max-width:none}
.program-heading .btn{font-size:13px}
.program-workspace{border-radius:16px}
.program-workspace-head{padding:17px 19px;flex-wrap:wrap;gap:10px}
.program-workspace-head h2{font-size:17px}
.program-workspace-head>span{font-size:12px}
.program-layout{display:flex;flex-direction:column;gap:0}
.program-records{padding:0 19px 22px}
.program-package-row{padding:14px 10px}
.program-package-row strong{font-size:13px}
.program-package-row small{font-size:12px}
.program-package-row b{font-size:17px}
.program-operations{margin-top:23px}
.program-operations h2{font-size:18px}
.program-operation-facts{gap:12px}
.program-operation-facts dd{font-size:14px}
.program-actions .btn{font-size:13px;flex-grow:1}
.program-preview{grid-row:auto;max-width:none;padding:22px 20px;border-inline-start:0;border-top:1px solid #dfe5ec}
.program-pass{padding:24px;max-width:380px}
.program-pass-top{font-size:15px}
.program-pass-owner{font-size:12px}
.program-balance strong{font-size:68px}
.program-balance>span{font-size:16px}
.program-entitlement h3{font-size:20px}
.program-contest-intro{display:block;padding-block:25px 20px}
.program-contest-intro h2{font-size:24px}
.program-contest-intro>div+div{margin-top:25px}
.program-prize-detail{min-width:0}
.program-prize-detail h3{font-size:20px}
.program-table th,.program-table td{padding:15px 13px}
.program-table{font-size:13px}
.program-fields{grid-template-columns:1fr;gap:17px}
.program-dialog{padding:23px}
.program-dialog-head h2{font-size:23px}
.program-guide ol{grid-template-columns:1fr;gap:12px}
.program-guide h2{font-size:18px}
.program-header .landing-brand{font-size:28px}
.program-history small{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.programs-page *{animation:none!important;transition:none!important}}
@media(prefers-reduced-transparency:reduce){.program-dialog::backdrop{backdrop-filter:none;background:#202c3b99}}
@media(prefers-contrast:more){.program-note,.program-heading p,.program-footer,.program-history small,.program-table th{color:#344353}.program-pass,.program-workspace,.program-table-wrap{border-color:#8998a7}}

.program-layout>.program-records{border:0;border-radius:0}
@media(max-width:760px){.program-header{padding-block:8px;gap:6px}.program-main{padding-top:6px}.program-nav{margin-bottom:10px;padding-bottom:4px}.program-nav button,.program-nav a{padding-block:7px}.program-heading{margin:10px 0 14px}.program-heading h1{margin-bottom:7px}.program-heading>.program-actions{margin-top:12px}.program-guide{margin-bottom:14px}.program-guide summary{padding-block:9px;min-height:44px}.program-workspace-head{padding-block:13px}.program-operations{margin-top:16px}.program-operation-facts{margin-block:12px}.program-layout>.program-records{padding-inline:18px}}
