:root{color-scheme:light;--pkuba-red: #c91f26;--pkuba-red-dark: #9f151b;--pkuba-ink: #171614;--pkuba-muted: #6f6b65;--pkuba-warm-white: #faf9f6;--pkuba-canvas: #f2f0eb;--pkuba-line: #dedbd4;--pkuba-success: #24754d;--pkuba-warning: #a05a10;--pkuba-radius-sm: 6px;--pkuba-radius-md: 10px;--pkuba-radius-lg: 16px;--pkuba-content: 1180px}.advanced-data{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:660px;background:#fff;border:1px solid var(--pkuba-line)}.advanced-models{overflow:hidden;border-right:1px solid var(--pkuba-line);background:#f7f5f1}.advanced-models>header{display:grid;gap:5px;padding:18px 16px;border-bottom:1px solid var(--pkuba-line)}.advanced-models header span,.advanced-heading>div>span,.advanced-detail header span,.advanced-mutation-dialog header span{color:var(--pkuba-red);font-size:10px;font-weight:850;letter-spacing:.12em}.advanced-models nav{max-height:620px;overflow-y:auto}.advanced-models nav button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:10px 14px;color:#5f5a54;background:transparent;border:0;border-bottom:1px solid #ebe7e1;text-align:left}.advanced-models nav button:hover,.advanced-models nav button.active{color:var(--pkuba-ink);background:#fff}.advanced-models nav button.active{box-shadow:inset 3px 0 var(--pkuba-red)}.advanced-models nav span{font-size:12px;font-weight:700}.advanced-models nav small{color:var(--pkuba-muted);font-size:9px}.advanced-records{min-width:0}.advanced-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid var(--pkuba-line)}.advanced-heading h2{margin:3px 0}.advanced-heading p{margin:0;color:var(--pkuba-muted);font-size:12px}.advanced-heading>form{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.advanced-heading input{width:220px;padding:8px 10px;border:1px solid var(--pkuba-line);border-radius:4px}.advanced-heading select{min-width:110px;padding:8px 28px 8px 10px;border:1px solid var(--pkuba-line);border-radius:4px;background:#fff}.advanced-table-wrap{max-width:100%;overflow:auto}.advanced-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.advanced-table th,.advanced-table td{overflow:hidden;padding:10px 9px;border-bottom:1px solid #ebe7e1;text-align:left;text-overflow:ellipsis;white-space:nowrap}.advanced-table th{position:sticky;z-index:2;top:0;color:var(--pkuba-muted);background:#faf9f6;font-size:10px}.advanced-table tbody tr{cursor:pointer}.advanced-table tbody tr:hover,.advanced-table tbody tr.selected{background:#fff4f4}.advanced-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;color:var(--pkuba-muted);font-size:12px}.advanced-pagination>div{display:flex;gap:8px}.advanced-table .sensitive{color:#8d2025;background:#fff9f9}.advanced-state{padding:34px;color:var(--pkuba-muted)}.advanced-error{margin:0;padding:12px 18px;color:#8d2025;background:#fff1f1;border-bottom:1px solid #e6bfc1;font:inherit;font-size:12px;white-space:pre-wrap}.advanced-detail{position:fixed;z-index:30;top:0;right:0;bottom:0;width:min(520px,92vw);overflow-y:auto;background:#fff;border-left:1px solid var(--pkuba-line);box-shadow:-16px 0 40px #17161424}.advanced-detail header,.advanced-mutation-dialog header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--pkuba-line)}.advanced-detail header>div{display:grid;gap:4px}.advanced-detail header button,.advanced-mutation-dialog header button{color:var(--pkuba-muted);background:transparent;border:0;font-size:24px}.advanced-detail dl{margin:0}.advanced-detail dl>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;padding:10px 20px;border-bottom:1px solid #eeeae4}.advanced-detail dt{color:var(--pkuba-muted);font-size:11px}.advanced-detail dt b{margin-left:7px;padding:2px 4px;color:#8d2025;background:#fee9ea;font-size:8px}.advanced-detail dd{overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.advanced-detail dl>div.sensitive{background:#fff9f9}.advanced-detail footer{display:flex;justify-content:flex-end;gap:8px;padding:18px 20px}.advanced-mutation-dialog{width:min(680px,calc(100vw - 40px));padding-bottom:18px;background:#fff;border-radius:7px;box-shadow:0 28px 90px #1716143d}.advanced-mutation-dialog h2{margin:3px 0 0}.advanced-mutation-dialog>p{margin:16px 20px;color:var(--pkuba-muted);font-size:12px;line-height:1.6}.advanced-mutation-dialog textarea{display:block;width:calc(100% - 40px);min-height:260px;margin:0 20px;padding:12px;box-sizing:border-box;border:1px solid var(--pkuba-line);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55;resize:vertical}.advanced-mutation-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px 0}.advanced-preview{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin:14px 20px 0;padding:12px;border-left:3px solid;font-size:12px}.advanced-preview.ready{color:#23623b;background:#edf7f0;border-color:#39865a}.advanced-preview.blocked{color:#8d2025;background:#fff1f1;border-color:var(--pkuba-red)}.advanced-preview p{grid-column:1 / -1;margin:0}@media(max-width:900px){.advanced-data{grid-template-columns:160px minmax(0,1fr)}.advanced-heading{align-items:stretch;flex-direction:column}.advanced-heading>form{justify-content:flex-start}.advanced-heading input{width:min(100%,260px)}}.archive-page{display:grid;gap:22px}.archive-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--pkuba-line)}.archive-heading h2{margin:2px 0 8px;font-size:28px}.archive-heading p{max-width:720px;margin:0;color:var(--pkuba-muted)}.archive-heading label{display:grid;min-width:210px;gap:7px;color:var(--pkuba-muted);font-size:12px;font-weight:700}.archive-heading select,.archive-action-card input{min-height:42px;border:1px solid var(--pkuba-line);border-radius:8px;background:#fff;padding:0 12px;color:var(--pkuba-ink)}.archive-notice{padding:12px 16px;border-left:3px solid var(--pkuba-red);background:#fff5f3;color:var(--pkuba-ink)}.archive-notice.error{border-color:#a52424;background:#fff0f0;color:#8d1f1f}.archive-storage{display:grid;grid-template-columns:minmax(320px,1.4fr) minmax(360px,1fr);gap:18px 28px;padding:22px;border:1px solid var(--pkuba-line);border-radius:14px;background:#fff}.storage-gauge>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:18px}.storage-gauge span,.archive-metric span{color:var(--pkuba-muted);font-size:12px;font-weight:700}.storage-gauge strong{font-size:22px}.storage-track{height:10px;margin:12px 0 9px;overflow:hidden;border-radius:99px;background:#eeeae5}.storage-track i{display:block;width:var(--used);height:100%;background:var(--pkuba-red)}.storage-gauge small{color:var(--pkuba-muted)}.storage-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--pkuba-line);border-radius:10px;background:var(--pkuba-line)}.archive-metric{display:grid;gap:5px;padding:12px 14px;background:#faf9f6}.archive-metric strong{font-size:16px}.storage-breakdown{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 22px;padding-top:14px;border-top:1px solid var(--pkuba-line);color:var(--pkuba-muted);font-size:12px}.archive-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.archive-action-card{display:flex;flex-direction:column;min-height:245px;padding:20px;border:1px solid var(--pkuba-line);border-radius:12px;background:#fff}.archive-action-card.sensitive{border-color:#e7c3bd;background:#fff9f7}.archive-action-card h3,.purge-panel h3,.archive-history h3{margin:5px 0 8px;font-size:19px}.archive-action-card p:not(.eyebrow){flex:1;margin:0 0 18px;color:var(--pkuba-muted);line-height:1.65}.archive-action-card input{margin-bottom:10px}.danger-action{min-height:42px;border:0;border-radius:8px;background:#982a22;color:#fff;font-weight:800;cursor:pointer}.danger-action:disabled{opacity:.45;cursor:not-allowed}.archive-history{padding:18px 20px;border:1px solid var(--pkuba-line);border-radius:12px;background:#fff}.archive-history .section-heading{display:flex;align-items:baseline;justify-content:space-between}.archive-history .section-heading span{color:var(--pkuba-muted);font-size:12px}.archive-empty{margin:18px 0 4px;color:var(--pkuba-muted)}.archive-table-wrap{overflow-x:auto}.archive-history table{width:100%;border-collapse:collapse}.archive-history th{padding:10px 8px;border-bottom:1px solid var(--pkuba-line);color:var(--pkuba-muted);font-size:11px;text-align:left}.archive-history td{padding:13px 8px;border-bottom:1px solid #f0ede9;vertical-align:top}.archive-history td>span,.archive-history td>small,.archive-history td>code{display:block;margin-top:4px}.archive-history td>span,.archive-history td>small{color:var(--pkuba-muted);font-size:11px}.archive-history td>em{display:inline-block;margin-top:6px;padding:2px 6px;border-radius:99px;background:#f5e8e5;color:var(--pkuba-red);font-size:10px;font-style:normal;font-weight:800}.archive-history code{max-width:170px;overflow:hidden;color:#6b625b;font-size:11px;text-overflow:ellipsis}.archive-status{display:inline-block!important;padding:4px 8px;border-radius:99px;background:#ece9e5;color:#5b5550!important;font-weight:800}.archive-status.ready,.archive-status.completed{background:#e4f3e9;color:#22633b!important}.archive-status.completed_with_warnings{background:#fff0cf;color:#7d5b12!important}.archive-status.failed{background:#ffe7e4;color:#922d25!important}.archive-status.building,.archive-status.queued{background:#fff0cf;color:#7d5b12!important}.archive-row-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.archive-row-actions button{min-height:32px;border:1px solid var(--pkuba-line);border-radius:7px;background:#fff;color:var(--pkuba-ink);cursor:pointer}.archive-row-actions small{width:100%;color:var(--pkuba-muted)}.archive-retry{min-height:34px;border:1px solid #d4cbc3;border-radius:7px;background:#fff;color:var(--pkuba-ink);font-weight:700;cursor:pointer}.archive-retry:disabled{opacity:.45;cursor:not-allowed}.purge-panel{display:grid;gap:14px;padding:22px;border:1px solid #ddb1ab;border-left:5px solid #982a22;border-radius:12px;background:#fff7f5}.purge-panel p{margin:0;color:var(--pkuba-muted);line-height:1.6}.purge-panel ul{margin:0;padding-left:20px;color:#8d3129}.archive-confirm-check{display:flex;align-items:flex-start;gap:9px;color:var(--pkuba-ink);font-weight:700}.archive-confirm-check input{margin-top:3px}.purge-panel .danger-action{justify-self:start;padding:0 18px}@media(max-width:980px){.archive-actions-grid{grid-template-columns:1fr}.archive-action-card{min-height:auto}.archive-storage{grid-template-columns:1fr}}@media(max-width:680px){.archive-heading{align-items:stretch;flex-direction:column}.archive-heading label{min-width:0}.storage-metrics{grid-template-columns:1fr}.archive-history{padding:14px}}.capacity-calendar{min-width:0}.capacity-calendar-panel{margin-bottom:28px;padding:24px;background:var(--pkuba-warm-white);border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-lg)}.capacity-calendar-embedded{padding:0 24px 24px}.capacity-calendar-heading,.capacity-calendar-summary,.capacity-calendar-block>header,.capacity-calendar-legend{display:flex;align-items:center}.capacity-calendar-heading{justify-content:space-between;gap:24px;margin-bottom:18px}.capacity-calendar-heading h2,.capacity-calendar-block h3,.capacity-calendar-block p{margin:0}.capacity-calendar-range{color:var(--pkuba-muted);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.capacity-calendar-summary{min-height:38px;gap:16px;margin-bottom:18px;padding:9px 12px;color:#615c55;background:#f4f1eb;border-left:3px solid #b8b0a5;font-size:12px}.capacity-calendar-summary strong{color:var(--pkuba-ink);font-size:14px}.capacity-calendar-summary b{padding:3px 7px;color:#356348;background:#dfece2;border-radius:999px;font-size:11px}.capacity-calendar-summary .capacity-over-label{color:var(--pkuba-red-dark);background:#f4d9d6}.capacity-calendar-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.capacity-calendar-block{min-width:0;padding:17px 18px 14px;background:#fbfaf7;border-top:3px solid}.capacity-calendar-games{border-top-color:var(--pkuba-red)}.capacity-calendar-remaining{border-top-color:#4f7c60}.capacity-calendar-block>header{justify-content:space-between;gap:14px;margin-bottom:12px}.capacity-calendar-block h3{font-size:16px}.capacity-calendar-block p{color:var(--pkuba-muted);font-size:11px}.capacity-calendar-scroll{overflow-x:auto;scrollbar-width:thin}.capacity-calendar table{width:100%;min-width:390px;table-layout:fixed;border-collapse:separate;border-spacing:4px}.capacity-calendar th{height:24px;color:#777168;font-size:11px;font-weight:700;text-align:left}.capacity-day,.capacity-day-outside{height:58px}.capacity-day{position:relative;padding:7px 8px;outline:0;vertical-align:top;transition:box-shadow .12s ease,transform .12s ease}.capacity-day span,.capacity-day strong{display:block;font-variant-numeric:tabular-nums}.capacity-day span{font-size:10px;font-weight:700;opacity:.78}.capacity-day strong{margin-top:4px;font-size:20px;line-height:1}.capacity-day i{position:absolute;right:6px;top:7px;width:5px;height:5px;background:currentColor;border-radius:50%}.capacity-day em{position:absolute;right:6px;top:6px;display:grid;width:18px;height:18px;place-items:center;color:#fff;background:#272421;border-radius:50%;font-size:9px;font-style:normal;font-weight:850}.capacity-day.is-today{box-shadow:inset 0 0 0 2px #272421}.capacity-day.is-today.is-active{box-shadow:inset 0 0 0 2px #272421,0 0 0 2px #272421}.capacity-day.is-today i{top:29px}.capacity-day.is-active{z-index:1;box-shadow:0 0 0 2px #272421;transform:translateY(-1px)}.capacity-day.is-over:after{position:absolute;right:6px;bottom:5px;content:"!";font-size:10px;font-weight:900}.capacity-calendar-games .capacity-day.level-0{color:#7a746c;background:#efede8}.capacity-calendar-games .capacity-day.level-1{color:#723d38;background:#f6dcd8}.capacity-calendar-games .capacity-day.level-2{color:#63302d;background:#eeb4ae}.capacity-calendar-games .capacity-day.level-3{color:#fff;background:#d8756c}.capacity-calendar-games .capacity-day.level-4{color:#fff;background:#9e3732}.capacity-calendar-remaining .capacity-day.level-0{color:#817a71;background:#ece9e3}.capacity-calendar-remaining .capacity-day.level-1{color:#345342;background:#dce9df}.capacity-calendar-remaining .capacity-day.level-2{color:#294637;background:#afd0b8}.capacity-calendar-remaining .capacity-day.level-3{color:#fff;background:#75a486}.capacity-calendar-remaining .capacity-day.level-4{color:#fff;background:#426f53}.capacity-calendar-legend{justify-content:flex-end;gap:4px;margin-top:8px;color:var(--pkuba-muted);font-size:10px}.capacity-calendar-legend i{width:14px;height:7px}.capacity-calendar-games .capacity-calendar-legend .level-1{background:#f6dcd8}.capacity-calendar-games .capacity-calendar-legend .level-2{background:#eeb4ae}.capacity-calendar-games .capacity-calendar-legend .level-3{background:#d8756c}.capacity-calendar-games .capacity-calendar-legend .level-4{background:#9e3732}.capacity-calendar-remaining .capacity-calendar-legend .level-1{background:#dce9df}.capacity-calendar-remaining .capacity-calendar-legend .level-2{background:#afd0b8}.capacity-calendar-remaining .capacity-calendar-legend .level-3{background:#75a486}.capacity-calendar-remaining .capacity-calendar-legend .level-4{background:#426f53}.capacity-calendar-empty{margin:0;padding:26px 0 4px;color:var(--pkuba-muted)}@media(max-width:1180px){.capacity-calendar-pair{grid-template-columns:1fr}}@media(max-width:680px){.capacity-calendar-panel,.capacity-calendar-embedded{padding:18px 16px}.capacity-calendar-heading,.capacity-calendar-block>header{align-items:flex-start;flex-direction:column;gap:5px}.capacity-calendar-summary{align-items:flex-start;flex-wrap:wrap;gap:7px 12px}.capacity-calendar-block{padding-inline:12px}}.draw-workspace{display:grid;gap:14px;min-width:0}.draw-toolbar{display:flex;min-height:58px;align-items:end;gap:14px;padding:10px 14px;background:#fff;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-md)}.draw-toolbar label{display:grid;gap:5px;color:var(--pkuba-muted);font-size:11px;font-weight:700}.draw-toolbar select,.draw-slot-row select,.draw-game select{min-height:38px;padding:0 34px 0 10px;color:var(--pkuba-text);background:#fff;border:1px solid var(--pkuba-line-strong);border-radius:var(--pkuba-radius-sm)}.draw-toolbar select{min-width:210px}.draw-toolbar select:focus,.draw-slot-row select:focus,.draw-game select:focus{border-color:var(--pkuba-red);outline:2px solid rgb(160 32 44 / 12%)}.draw-toolbar-status{display:flex;align-items:center;gap:10px;margin-left:auto;padding-bottom:8px;color:var(--pkuba-muted);font-size:11px}.draw-season-status{padding:4px 8px;color:#665722;background:#f7f1d9;border-radius:999px;font-weight:800}.draw-season-status.published{color:#17643a;background:#e6f4eb}.draw-season-status.archived{color:#686868;background:#ecebea}.draw-message,.draw-readonly,.draw-mismatch{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border-radius:var(--pkuba-radius-sm);font-size:12px}.draw-message{color:#17643a;background:#eef8f1;border:1px solid #c7e3d0}.draw-message.error,.draw-mismatch{color:#7b321c;background:#fff4ea;border:1px solid #efc9b5}.draw-readonly{color:var(--pkuba-muted);background:#f4f3f1;border:1px solid var(--pkuba-line)}.draw-readonly strong,.draw-mismatch strong{color:var(--pkuba-text)}.draw-mismatch>div{display:grid;gap:3px}.draw-mismatch>div:last-child{display:flex;grid-auto-flow:column;gap:8px}.draw-operation-layout{display:grid;grid-template-columns:166px minmax(460px,1fr) 286px;align-items:start;gap:14px;min-width:0}.draw-stage-nav{position:sticky;top:18px;display:grid;gap:4px;padding:8px;background:#fff;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-md)}.draw-stage-nav>p{margin:4px 8px 7px;color:var(--pkuba-muted);font-size:10px;font-weight:800;letter-spacing:.12em}.draw-stage-nav button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;min-height:42px;padding:8px 9px;color:var(--pkuba-muted);background:transparent;border:1px solid transparent;border-radius:7px;text-align:left}.draw-stage-nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draw-stage-nav button small{font-size:10px}.draw-stage-nav button:hover,.draw-stage-nav button.active{color:var(--pkuba-red-dark);background:#faf2f2}.draw-stage-nav button.active{border-color:#e4c6c8;font-weight:800}.draw-stage-nav button.needs-review:after{grid-column:1 / -1;color:#9b5a10;content:"待复核";font-size:9px;font-weight:800}.draw-editor,.draw-validation-panel{min-width:0}.draw-group-editor,.draw-phase-editor{display:grid;gap:12px}.draw-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:0 2px 4px}.draw-section-heading p,.draw-section-heading h2{margin:0}.draw-section-heading p{color:var(--pkuba-red);font-size:10px;font-weight:850;letter-spacing:.08em}.draw-section-heading h2{margin-top:3px;font-size:19px}.draw-section-heading>span{color:var(--pkuba-muted);font-size:11px}.draw-group-block,.draw-game{overflow:hidden;background:#fff;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-md)}.draw-group-block>header{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:#faf9f7;border-bottom:1px solid var(--pkuba-line)}.draw-group-block>header span{color:var(--pkuba-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.draw-slot-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(210px,1fr);align-items:center;gap:16px;min-height:58px;padding:9px 13px;border-bottom:1px solid #eeece8}.draw-slot-row:last-child{border-bottom:0}.draw-slot-row>span{display:grid;gap:2px;min-width:0}.draw-slot-row>span strong{font-size:13px}.draw-slot-row>span small{overflow:hidden;color:var(--pkuba-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.draw-slot-row select:disabled,.draw-game select:disabled{color:var(--pkuba-muted);background:#f4f3f1}.draw-group-save,.draw-game-save{position:sticky;z-index:2;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:var(--pkuba-muted);background:#fffffff5;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-md);box-shadow:0 9px 24px #18151414;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px}.draw-group-save>div{display:flex;gap:8px}.draw-game{cursor:default;transition:border-color .12s ease,box-shadow .12s ease}.draw-game.focused{border-color:#cfa6aa;box-shadow:0 0 0 3px #a0202c12}.draw-game.needs-review{border-color:#ddad70}.draw-game>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 13px;background:#faf9f7;border-bottom:1px solid var(--pkuba-line)}.draw-game>header>div{display:flex;align-items:center;gap:9px}.draw-game>header span{color:var(--pkuba-muted);font-size:10px}.draw-game>header b{padding:3px 6px;color:#8b4e0e;background:#fff0d9;border-radius:999px;font-size:9px}.draw-game-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.draw-game-sides>label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:13px}.draw-game-sides>label+label{border-left:1px solid var(--pkuba-line)}.draw-game-sides label>span{display:grid;gap:2px}.draw-game-sides label small{color:var(--pkuba-muted);font-size:9px}.draw-game-sides select{grid-column:1 / -1;width:100%}.validation-badge{align-self:center;justify-self:end;padding:3px 6px;border-radius:999px;font-size:9px;font-weight:800}.validation-badge.valid{color:#17643a;background:#e6f4eb}.validation-badge.warning,.validation-badge.pending{color:#8b4e0e;background:#fff0d9}.validation-badge.override{color:#7b321c;background:#fce5e1}.validation-badge.neutral{color:var(--pkuba-muted);background:#efeeeb}.draw-game-save{border-width:1px 0 0;border-radius:0;box-shadow:none}.draw-validation-panel{position:sticky;top:18px;display:grid;gap:0;overflow:hidden;background:#fff;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-md)}.draw-validation-panel>header,.draw-validation-panel>section{padding:13px 14px;border-bottom:1px solid var(--pkuba-line)}.draw-validation-panel>section:last-child{border-bottom:0}.draw-validation-panel header p,.draw-validation-panel header h3,.draw-validation-panel section p{margin:0}.draw-validation-panel header p,.inspector-label{color:var(--pkuba-muted);font-size:9px;font-weight:800;letter-spacing:.08em}.draw-validation-panel header h3{margin-top:3px;font-size:16px;overflow-wrap:anywhere}.inspector-number{display:block;margin:3px 0 8px;color:var(--pkuba-red-dark);font-size:24px}.draw-validation-panel ul{display:flex;flex-wrap:wrap;gap:5px;max-height:145px;margin:8px 0 0;padding:0;overflow:auto;list-style:none}.draw-validation-panel li{padding:4px 6px;background:#f3f2ef;border-radius:5px;font-size:10px}.draw-validation-panel section>p{margin-top:7px;color:var(--pkuba-muted);font-size:11px;line-height:1.55}.draw-validation-panel .inspector-alert{color:#7b321c;background:#fff7ef}.draw-validation-panel .inspector-success{color:#17643a;background:#f2f8f4}.draw-validation-panel section>button{width:100%;margin-top:12px}.override-confirm{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:12px;padding:9px;color:#71341e;background:#fff;border:1px solid #e4bc9f;border-radius:7px;font-size:10px;line-height:1.45}.draw-state,.draw-empty{display:grid;min-height:220px;place-items:center;padding:32px;color:var(--pkuba-muted);background:#fff;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-md);text-align:center}.draw-state-error{color:var(--pkuba-red-dark)}.draw-empty-action{grid-template-columns:1fr auto;place-items:center start;gap:18px;text-align:left}.draw-empty-action>div{display:grid;gap:5px}.draw-empty-action span{color:var(--pkuba-muted);font-size:12px}@media(max-width:1120px){.draw-operation-layout{grid-template-columns:145px minmax(420px,1fr) 250px}}@media(max-width:960px){.draw-operation-layout{grid-template-columns:1fr}.draw-stage-nav,.draw-validation-panel{position:static}.draw-stage-nav{display:flex;overflow-x:auto}.draw-stage-nav>p{display:none}.draw-stage-nav button{flex:0 0 auto;min-width:138px}.draw-validation-panel ul{max-height:none}}@media(max-width:640px){.draw-toolbar{align-items:stretch;flex-direction:column}.draw-toolbar select{width:100%}.draw-toolbar-status{justify-content:space-between;margin-left:0;padding-bottom:0}.draw-message,.draw-readonly,.draw-mismatch,.draw-group-save{align-items:stretch;flex-direction:column}.draw-slot-row,.draw-game-sides{grid-template-columns:1fr}.draw-game-sides>label+label{border-top:1px solid var(--pkuba-line);border-left:0}.draw-game>header{align-items:flex-start;flex-direction:column}.draw-game-save .primary-action,.draw-group-save .primary-action{flex:1}.draw-empty-action{grid-template-columns:1fr}}.competition-media-workbench{--media-line: #dedbd5;--media-soft-line: #ebe8e2;--media-surface: #fbfaf7;display:grid;gap:0;color:var(--pkuba-ink);border-top:1px solid var(--media-line)}.media-workbench-toolbar{padding:18px 0 15px;border-bottom:1px solid var(--media-line)}.media-filter-grid{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(260px,1.45fr) minmax(135px,.55fr) minmax(160px,.65fr);gap:14px}.media-filter-grid label{display:grid;gap:6px;min-width:0;color:var(--pkuba-muted);font-size:11px;font-weight:750;letter-spacing:.04em}.media-filter-grid select,.media-filter-grid input{width:100%;height:39px;min-width:0;padding:0 10px;color:var(--pkuba-ink);background:#fff;border:1px solid #cbc7c0;border-radius:5px;font:inherit;font-size:13px;font-weight:500;letter-spacing:0}.media-search-field>div{display:flex;position:relative;align-items:center}.media-search-field svg{position:absolute;left:10px;color:#8d8880;pointer-events:none}.media-search-field input{padding-left:32px}.media-summary-line{display:flex;align-items:center;gap:0;margin-top:15px;color:#77726b;font-size:12px}.media-summary-line>span{padding:0 16px;border-right:1px solid var(--media-line);white-space:nowrap}.media-summary-line>span:first-child{padding-left:0}.media-summary-line strong{color:var(--pkuba-ink);font-size:14px}.media-summary-line button{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:5px 0 5px 14px;color:var(--pkuba-red-dark);background:transparent;border:0;font-size:12px;font-weight:700}.media-summary-line button:disabled{opacity:.45}.media-archive-notice{display:flex;align-items:center;gap:9px;padding:11px 0;color:#685d4f;border-bottom:1px solid #e6d8c5;font-size:12px}.media-archive-notice svg{color:#9b6b2f}.media-workbench-layout{display:grid;grid-template-columns:minmax(300px,34%) minmax(0,1fr);min-height:700px}.media-game-index{min-width:0;padding:24px 22px 0 0;border-right:1px solid var(--media-line)}.media-index-heading,.media-section-heading,.photo-status-line{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.media-index-heading{padding:0 2px 15px}.media-index-heading h2{margin:0;font-size:18px}.media-index-heading p{margin:4px 0 0;color:var(--pkuba-muted);font-size:12px}.media-index-heading>strong{color:var(--pkuba-red-dark);font-size:13px}.media-game-list{max-height:800px;overflow-y:auto;border-top:1px solid var(--media-line);scrollbar-width:thin}.media-index-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 2px;border-top:1px solid var(--media-line)}.media-index-pagination button{min-height:36px;border:1px solid var(--media-line);border-radius:5px;background:#fff;color:var(--pkuba-ink);font-size:12px}.media-index-pagination button:disabled{opacity:.45}.media-index-pagination span{color:var(--pkuba-muted);font-size:11px;font-variant-numeric:tabular-nums;text-align:center}.media-game-row{display:grid;gap:9px;width:100%;padding:15px 13px 15px 15px;color:var(--pkuba-ink);background:transparent;border:0;border-bottom:1px solid var(--media-soft-line);border-left:3px solid transparent;text-align:left;transition:background-color .14s ease,border-color .14s ease}.media-game-row:hover{background:#f8f5f1}.media-game-row.active{background:#f8efed;border-left-color:var(--pkuba-red)}.media-game-when{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.media-game-when strong{font-size:13px}.media-game-when small{color:var(--pkuba-muted);font-size:11px}.media-game-matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:baseline;gap:7px;font-size:14px}.media-game-matchup strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-game-matchup strong:last-child{text-align:right}.media-game-matchup em{color:#a19b92;font-size:10px;font-style:normal;text-transform:uppercase}.media-game-meta{display:flex;align-items:center;gap:11px;color:var(--pkuba-muted);font-size:11px}.media-game-meta>span{display:inline-flex;align-items:center;gap:4px}.media-game-meta b{margin-left:auto;color:var(--pkuba-red-dark);font-weight:750}.scoresheet-state{color:#6e6962;font-weight:700}.scoresheet-state.state-published,.scoresheet-state.state-ready{color:#26704b}.scoresheet-state.state-recognition_failed{color:var(--pkuba-red-dark)}.media-game-detail{min-width:0;padding:24px 0 64px 34px}.media-game-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:0 0 22px;border-bottom:1px solid var(--media-line)}.media-game-header p{margin:0 0 6px;color:var(--pkuba-red-dark);font-size:11px;font-weight:750;letter-spacing:.08em}.media-game-header h2{display:flex;align-items:baseline;gap:12px;margin:0;font-size:clamp(19px,2vw,27px);letter-spacing:-.025em}.media-game-header h2 em{color:#aaa49b;font-size:11px;font-style:normal;font-weight:500;text-transform:uppercase}.media-game-header dl{display:grid;grid-template-columns:repeat(2,auto);gap:26px;margin:0}.media-game-header dl div{display:grid;gap:4px}.media-game-header dt{display:flex;align-items:center;gap:5px;color:var(--pkuba-muted);font-size:10px}.media-game-header dd{margin:0;font-size:12px;font-weight:650}.media-detail-section{padding:26px 0 28px;border-bottom:1px solid var(--media-line)}.media-section-heading>div{display:flex;align-items:flex-start;gap:11px}.media-section-heading>div>span{padding-top:2px;color:var(--pkuba-red);font-family:ui-monospace,Consolas,monospace;font-size:11px;font-weight:800}.media-section-heading h3{margin:0;font-size:18px}.media-section-heading p{margin:4px 0 0;color:var(--pkuba-muted);font-size:12px;line-height:1.55}.media-section-heading>strong{color:var(--pkuba-red-dark);font-size:12px}.scoresheet-progress{display:grid;grid-template-columns:repeat(5,1fr);margin:24px 0 0;padding:0;list-style:none}.scoresheet-progress li{position:relative;padding-top:13px;color:#aaa49c;border-top:2px solid #ddd9d2;font-size:11px;font-weight:700}.scoresheet-progress li:before{position:absolute;top:-5px;left:0;width:8px;height:8px;background:#ddd9d2;border-radius:50%;content:""}.scoresheet-progress li.done{color:#716d66;border-top-color:#b9b3aa}.scoresheet-progress li.done:before{background:#8f8980}.scoresheet-progress li.current{color:var(--pkuba-red-dark);border-top-color:var(--pkuba-red)}.scoresheet-progress li.current:before{top:-6px;width:10px;height:10px;background:var(--pkuba-red)}.scoresheet-recognition-copy{margin:15px 0 0;color:#7a746d;font-size:12px}.scoresheet-primary-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:17px 0 0;border-top:1px solid var(--media-soft-line)}.scoresheet-primary-row>div{display:grid;gap:5px}.scoresheet-primary-row>div>strong{font-size:14px}.scoresheet-primary-row>div>span{max-width:600px;color:var(--pkuba-muted);font-size:12px;line-height:1.55}.media-archived-scoresheet-actions{grid-auto-flow:column;grid-auto-columns:max-content;gap:8px}.media-primary-action,.media-secondary-action{display:inline-flex;min-height:40px;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;padding:0 15px;border-radius:5px;font-size:12px;font-weight:750}.media-primary-action{color:#fff;background:var(--pkuba-red-dark);border:1px solid var(--pkuba-red-dark)}.media-primary-action:hover{background:var(--pkuba-red);border-color:var(--pkuba-red)}.media-secondary-action{color:var(--pkuba-red-dark);background:#fff;border:1px solid #c9a4a2}.photo-strip-group{margin-top:21px}.photo-strip-group+.photo-strip-group{margin-top:17px}.photo-strip-group h4{display:flex;align-items:baseline;gap:7px;margin:0;font-size:12px}.photo-category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.photo-add-button{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border:1px solid rgba(145,26,35,.28);border-radius:7px;color:var(--pkuba-red);background:#fff;font-size:12px;font-weight:700;cursor:pointer}.photo-add-button:hover{border-color:var(--pkuba-red);background:#911a230a}.photo-add-button.disabled{color:var(--pkuba-muted);border-color:var(--pkuba-line);cursor:not-allowed}.photo-add-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.photo-category-empty{margin:0;padding:15px 16px;border:1px dashed var(--pkuba-line);border-radius:9px;color:var(--pkuba-muted);font-size:12px;text-align:center;background:#fbfaf8}.photo-thumbnail-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.photo-thumbnail-strip button{display:grid;position:relative;min-width:0;height:76px;padding:0;overflow:hidden;color:var(--pkuba-muted);background:var(--media-surface);border:1px solid var(--media-line);border-radius:4px}.photo-thumbnail-strip button.active{border-color:var(--pkuba-red);box-shadow:inset 0 0 0 1px var(--pkuba-red)}.photo-thumbnail-strip img{width:100%;height:100%;object-fit:cover}.photo-thumbnail-strip button>span{display:flex;align-items:center;justify-content:center;gap:5px;height:100%;font-size:10px}.photo-inspector{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(220px,.8fr);gap:24px;margin-top:23px;padding-top:23px;border-top:1px solid var(--media-soft-line)}.photo-preview-panel{display:grid;min-height:270px;place-items:center;overflow:hidden;background:#f0eee9;border:1px solid var(--media-line)}.photo-preview-panel a{display:grid;width:100%;height:100%;place-items:center}.photo-preview-panel img{display:block;max-width:100%;max-height:520px;object-fit:contain}.photo-offline-state{display:grid;justify-items:center;gap:6px;padding:30px;color:#746c62;text-align:center}.photo-offline-state span{font-size:11px}.photo-inspector-panel{min-width:0}.photo-status-line{align-items:center;padding-bottom:13px;border-bottom:1px solid var(--media-soft-line)}.photo-status-line>strong{font-size:14px}.photo-metadata{display:grid;grid-template-columns:1fr 1fr;margin:0}.photo-metadata div{padding:12px 0;border-bottom:1px solid var(--media-soft-line)}.photo-metadata div:nth-child(2n){padding-left:12px}.photo-metadata dt{color:var(--pkuba-muted);font-size:10px}.photo-metadata dd{margin:4px 0 0;font-size:12px;font-weight:650}.photo-replacement-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:16px}.photo-replacement-control label{display:grid;gap:6px;color:var(--pkuba-muted);font-size:11px;font-weight:700}.photo-replacement-control input{width:100%;min-width:0;font-size:10px}.photo-replacement-control button{min-height:34px;padding:0 10px;color:var(--pkuba-red-dark);background:#fff;border:1px solid #c9a4a2;border-radius:4px;font-size:11px;font-weight:750}.photo-replacement-control button:disabled{opacity:.45}.photo-delete-actions{display:flex;justify-content:flex-end;margin-top:12px}.photo-delete-actions .delete{min-height:34px;padding:0 12px;color:var(--pkuba-red-dark);background:transparent;border:1px solid #c79e9b;border-radius:4px;font-size:11px;font-weight:750}.media-operation-message{margin:12px 0 0;color:var(--pkuba-red-dark);font-size:11px;line-height:1.5}.media-inline-error{display:flex;align-items:flex-start;gap:8px;padding:13px 0;color:var(--pkuba-red-dark);font-size:12px;line-height:1.5}.media-inline-error svg{flex:0 0 auto}.media-empty-state{display:grid;justify-items:center;gap:6px;padding:36px 16px;color:var(--pkuba-muted);text-align:center}.media-empty-state strong{color:var(--pkuba-ink);font-size:13px}.media-empty-state span{font-size:11px}.media-empty-state.detail{min-height:360px;align-content:center}.media-empty-state.compact{margin-top:18px;padding:26px;background:var(--media-surface);border-block:1px solid var(--media-soft-line)}@media(max-width:1120px){.media-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-workbench-layout{grid-template-columns:minmax(270px,35%) minmax(0,1fr)}.media-game-header{grid-template-columns:1fr;align-items:start;gap:14px}.media-game-header dl{justify-content:start}.photo-inspector{grid-template-columns:1fr}}@media(max-width:760px){.media-summary-line{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 0}.media-summary-line>span{padding-inline:0 10px;border-right:0}.media-summary-line button{grid-column:1 / -1;justify-self:end;margin-left:0}.media-workbench-layout{grid-template-columns:1fr;min-height:0}.media-game-index{padding:22px 0 0;border-right:0;border-bottom:1px solid var(--media-line)}.media-game-list{max-height:460px}.media-game-detail{padding:25px 0 48px}}@media(max-width:480px){.media-filter-grid{grid-template-columns:1fr;gap:10px}.media-summary-line{grid-template-columns:1fr}.media-game-header dl{grid-template-columns:1fr;gap:9px}.media-game-header h2{flex-wrap:wrap;gap:7px}.media-section-heading{gap:10px}.media-section-heading>div>span{display:none}.scoresheet-primary-row{align-items:stretch;flex-direction:column}.media-archived-scoresheet-actions{grid-auto-flow:row;grid-auto-columns:1fr}.media-primary-action,.media-secondary-action{width:100%}.photo-thumbnail-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-preview-panel{min-height:220px}.photo-metadata{grid-template-columns:1fr}.photo-metadata div:nth-child(2n){padding-left:0}.photo-replacement-control{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.media-game-row{transition:none}}.reschedule-workspace{border-top:1px solid var(--pkuba-line)}.reschedule-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--pkuba-line)}.reschedule-summary div{display:flex;align-items:baseline;gap:9px;padding:18px 20px;border-right:1px solid var(--pkuba-line)}.reschedule-summary div:last-child{border-right:0}.reschedule-summary strong{color:var(--pkuba-red-dark);font-size:24px;line-height:1}.reschedule-summary span{color:var(--pkuba-muted);font-size:12px;font-weight:650}.reschedule-layout{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(520px,1.28fr);min-height:670px}.reschedule-queue{padding:24px 24px 0 0;border-right:1px solid var(--pkuba-line)}.reschedule-detail{min-width:0;padding:28px 0 0 34px}.reschedule-tabs{display:flex;gap:18px;margin-bottom:16px;border-bottom:1px solid var(--pkuba-line)}.reschedule-tabs button{padding:0 2px 10px;color:var(--pkuba-muted);background:transparent;border:0;border-bottom:2px solid transparent}.reschedule-tabs button.active{color:var(--pkuba-red-dark);border-bottom-color:var(--pkuba-red);font-weight:750}.reschedule-search{display:grid;grid-template-columns:1fr auto;margin-bottom:10px}.reschedule-search input,.reschedule-filters select{width:100%;min-width:0;min-height:40px;padding:8px 10px;color:var(--pkuba-ink);background:#fff;border:1px solid var(--pkuba-line);font:inherit}.reschedule-search input{border-radius:6px 0 0 6px}.reschedule-search button{padding:0 14px;color:#fff;background:var(--pkuba-red-dark);border:0;border-radius:0 6px 6px 0;font-weight:700}.reschedule-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reschedule-filters select{border-radius:6px}.reschedule-queue-heading{display:flex;justify-content:space-between;margin-top:18px;padding:10px 4px;color:var(--pkuba-muted);font-size:12px}.reschedule-queue-heading strong{color:var(--pkuba-ink)}.reschedule-list{max-height:590px;overflow-y:auto;border-top:1px solid var(--pkuba-line)}.reschedule-row{--row-accent: #155b73;display:grid;gap:7px;width:100%;padding:15px 13px 15px 16px;color:var(--pkuba-ink);background:#fff;border:0;border-bottom:1px solid var(--pkuba-line);border-left:3px solid var(--row-accent);text-align:left}.reschedule-row.women{--row-accent: #a5344a}.reschedule-row:hover,.reschedule-row.active{background:#f7f3ef;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--row-accent) 65%,transparent)}.reschedule-row-meta{display:flex;align-items:center;gap:7px;color:var(--pkuba-muted);font-size:11px}.reschedule-row-meta strong{color:var(--row-accent);font-size:12px}.reschedule-row-meta .reschedule-state{margin-left:auto}.reschedule-row>b{display:flex;align-items:baseline;gap:8px;overflow:hidden;font-size:15px}.reschedule-row>b em{color:var(--pkuba-muted);font-size:10px;font-style:normal;font-weight:500}.reschedule-row-route{color:var(--pkuba-ink);font-size:12px}.reschedule-row-route i{margin:0 4px;color:var(--pkuba-red);font-style:normal}.reschedule-row small{color:var(--pkuba-muted);font-size:11px}.reschedule-state{display:inline-block;padding:4px 7px;border-radius:4px;font-size:11px;font-style:normal;font-weight:750;white-space:nowrap}.reschedule-state.waiting{color:#70531c;background:#f5ecd8}.reschedule-state.decision{color:#8d351f;background:#f8e5de}.reschedule-state.final{color:#70417b;background:#f1e7f3}.reschedule-state.success{color:#176141;background:#e5f2e9}.reschedule-state.ended{color:#625d56;background:#ece9e4}.reschedule-empty,.reschedule-detail-empty{padding:64px 18px;color:var(--pkuba-muted);text-align:center}.reschedule-detail-empty h2{color:var(--pkuba-ink)}.reschedule-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:12px}.reschedule-pagination button{padding:6px 10px;color:var(--pkuba-red-dark);background:transparent;border:1px solid var(--pkuba-line);border-radius:5px}.reschedule-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.reschedule-detail-heading h2{font-size:24px}.reschedule-detail-heading span{display:block;margin-top:7px;color:var(--pkuba-muted);font-size:12px}.reschedule-overdue{margin-bottom:18px;padding:11px 13px;color:#7b321d;background:#f8e8df;border-left:3px solid #b85b36;font-size:12px;line-height:1.5}.reschedule-classification-panel{margin-bottom:18px;border-top:1px solid var(--pkuba-line);border-bottom:1px solid var(--pkuba-line)}.reschedule-classification-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.reschedule-classification-panel dl div{padding:12px 14px;border-right:1px solid var(--pkuba-line)}.reschedule-classification-panel dl div:last-child{border-right:0}.reschedule-classification-panel dt{color:var(--pkuba-muted);font-size:11px}.reschedule-classification-panel dd{margin:4px 0 0;font-size:13px;font-weight:750}.reschedule-route-detail{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:19px 0;border-top:1px solid var(--pkuba-line);border-bottom:1px solid var(--pkuba-line)}.reschedule-route-detail>span{color:var(--pkuba-red);font-size:22px}.reschedule-route-detail div{display:grid;gap:5px}.reschedule-route-detail div:last-child{padding-left:16px;border-left:3px solid var(--pkuba-red)}.reschedule-route-detail span,.reschedule-route-detail small{color:var(--pkuba-muted);font-size:11px}.reschedule-route-detail strong{font-size:15px}.reschedule-resource-panel,.reschedule-confirmations,.reschedule-voters{margin-top:24px}.reschedule-resource-panel h3,.reschedule-confirmations h3,.reschedule-voters h3{margin:0;font-size:14px}.reschedule-resource-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 0;background:#f7f4ef}.reschedule-resource-panel dl div{padding:13px 15px;border-right:1px solid #e4ded5;border-bottom:1px solid #e4ded5}.reschedule-resource-panel dt{color:var(--pkuba-muted);font-size:11px}.reschedule-resource-panel dd{margin:5px 0 0;font-size:13px;font-weight:700}.reschedule-resource-panel ul{margin:10px 0 0;padding:10px 14px 10px 30px;color:#8c2b26;background:#f8e5e2;font-size:12px}.reschedule-confirmations>div:first-child{display:flex;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid var(--pkuba-line)}.reschedule-confirmations>div:first-child span{color:var(--pkuba-muted);font-size:11px}.confirmation-line{display:grid;grid-template-columns:72px 1fr auto;align-items:center;min-height:39px;border-bottom:1px solid var(--pkuba-line);font-size:12px}.confirmation-line>span{color:var(--pkuba-muted)}.confirmation-line i{font-style:normal;font-weight:700}.confirmation-line i.accepted{color:#176141}.confirmation-line i.rejected{color:#922c2c}.confirmation-line i.pending{color:#7d5b1c}.reschedule-voters{display:grid;gap:9px;padding:16px;background:#f7f4ef;border-left:3px solid var(--pkuba-red)}.reschedule-voters label{display:flex;align-items:center;gap:8px;font-size:13px}.reschedule-voters label span{margin-left:auto;color:var(--pkuba-muted);font-size:11px}.reschedule-voters p{margin:0;color:var(--pkuba-muted);font-size:12px}.reschedule-voters .primary-action{justify-self:start;margin-top:5px}.reschedule-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:9px;margin-top:26px;padding:16px 0;background:color-mix(in srgb,var(--pkuba-canvas) 94%,transparent);border-top:1px solid var(--pkuba-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reschedule-actions button{min-height:39px;padding:0 14px;border-radius:6px;font-weight:700}.reschedule-actions .approve-action{color:#fff;background:#276c46;border:1px solid #276c46}.reschedule-actions .cancel-action{margin-left:auto;color:#8e2929;background:transparent;border:1px solid #d7aaa6}.reschedule-actions button:disabled{opacity:.5}.reschedule-notice,.reschedule-error{padding:10px 12px;font-size:12px}.reschedule-notice{color:#176141;background:#e5f2e9}.reschedule-error{color:#8e2929;background:#f8e5e2}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1060px){.reschedule-layout{grid-template-columns:1fr}.reschedule-queue{padding-right:0;border-right:0}.reschedule-detail{padding-left:0;border-top:1px solid var(--pkuba-line)}}@media(max-width:660px){.reschedule-filters{grid-template-columns:1fr}.reschedule-summary{grid-template-columns:repeat(2,1fr)}.reschedule-summary div:nth-child(2){border-right:0}.reschedule-layout{min-height:0}.reschedule-resource-panel dl,.reschedule-classification-panel dl{grid-template-columns:1fr}.reschedule-classification-panel dl div{border-right:0;border-bottom:1px solid var(--pkuba-line)}.reschedule-classification-panel dl div:last-child{border-bottom:0}.reschedule-route-detail{gap:8px}.reschedule-route-detail div:last-child{padding-left:10px}.reschedule-actions .cancel-action{margin-left:0}}.schedule-editor-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(440px,1.25fr);width:100%;min-width:0;max-width:100%;min-height:640px;border-top:1px solid var(--pkuba-line)}.schedule-browser{min-width:0;padding:28px 28px 0 0;border-right:1px solid var(--pkuba-line)}.schedule-editor-detail{min-width:0;padding:28px 0 0 34px}.schedule-editor-readonly-fields{min-inline-size:0;margin:0;padding:0;border:0}.operation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.operation-heading h2{margin:0;font-size:22px}.operation-heading p{margin:6px 0 0;color:var(--pkuba-muted);font-size:13px}.operation-heading>strong,.version-mark{color:var(--pkuba-red-dark);font-size:13px}.schedule-editor-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.schedule-editor-filters input{grid-column:1 / -1}.editor-season-select{display:grid;gap:7px;margin-bottom:12px;color:var(--pkuba-muted);font-size:12px;font-weight:650}.editor-season-select select,.schedule-editor-filters select,.schedule-editor-filters input,.schedule-form-grid select,.schedule-form-grid input{width:100%;min-height:40px;padding:8px 10px;color:var(--pkuba-ink);background:#fff;border:1px solid var(--pkuba-line);border-radius:6px;font:inherit}.schedule-editor-list{max-height:650px;overflow:auto;border-top:1px solid var(--pkuba-line)}.schedule-color-legend{display:flex;flex-wrap:wrap;gap:7px;margin:-4px 0 14px;color:var(--pkuba-muted);font-size:11px}.schedule-color-legend span{padding:3px 7px;border:1px solid transparent;border-radius:999px;font-weight:750}.schedule-color-legend .game-men{color:#155b73;background:#e5f2f7;border-color:#badbe7}.schedule-color-legend .game-women{color:#a5344a;background:#fce8ec;border-color:#efc4ce}.schedule-color-legend .game-locked{color:#755018;background:#fff1d8;border-color:#e7c98f}.schedule-editor-game{--game-accent: #155b73;--game-surface: #f5fafc;display:grid;gap:6px;width:100%;padding:16px 12px 16px 15px;color:var(--pkuba-ink);background:var(--game-surface);border:0;border-left:3px solid var(--game-accent);border-bottom:1px solid var(--pkuba-line);text-align:left}.schedule-editor-game.game-men{--game-accent: #155b73;--game-surface: #f5fafc}.schedule-editor-game.game-women{--game-accent: #a5344a;--game-surface: #fff8f9}.schedule-editor-game.game-locked{--game-surface: #fff4df;border-left-color:#b87819}.schedule-editor-game:hover,.schedule-editor-game.active{background:color-mix(in srgb,var(--game-surface) 78%,var(--game-accent) 22%);box-shadow:inset 0 0 0 1px var(--game-accent)}.schedule-editor-game.game-locked:hover,.schedule-editor-game.game-locked.active{background:#fbe8c7;box-shadow:inset 0 0 0 1px #b87819}.schedule-editor-game span:first-child{color:var(--pkuba-muted);font-size:12px}.schedule-editor-game span:first-child strong{margin-right:10px;color:var(--game-accent)}.schedule-editor-game span:nth-child(2){font-size:15px;font-weight:650}.schedule-editor-game b{margin:0 7px;color:var(--pkuba-red-dark)}.schedule-editor-game small{color:var(--pkuba-muted)}.adjustable-state{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:3px;font-size:11px;font-style:normal;font-weight:750}.adjustable-state.yes{color:#176141;background:#e7f4ec}.adjustable-state.no{color:#755018;background:#fff1d8}.operation-warning{margin-bottom:20px;padding:12px 14px;color:#7c251f;background:#f8e9e5;border-left:3px solid var(--pkuba-red);font-size:13px;line-height:1.5}.adjustability-banner{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;border-left:3px solid;font-size:13px}.adjustability-banner span{color:var(--pkuba-muted)}.adjustability-banner.adjustable{color:#176141;background:#edf7f1;border-color:#1f7a55}.adjustability-banner.locked{color:#755018;background:#fff4df;border-color:#b87819}.schedule-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.draw-managed-participants{display:grid;grid-column:1 / -1;gap:5px;padding:12px 14px;background:#f4f8f5;border:1px solid #cfe3d5;border-radius:var(--pkuba-radius-sm)}.draw-managed-participants span,.draw-managed-participants small{color:var(--pkuba-muted);font-size:11px}.draw-managed-participants strong{color:var(--pkuba-text);font-size:14px}.schedule-form-grid label{display:grid;gap:7px;color:var(--pkuba-muted);font-size:12px;font-weight:650}.schedule-checks{display:grid;gap:11px;margin:24px 0;padding:18px 0;border-top:1px solid var(--pkuba-line);border-bottom:1px solid var(--pkuba-line)}.schedule-checks label{display:flex;align-items:center;gap:9px;font-size:13px}.schedule-checks .critical-check{color:var(--pkuba-red-dark);font-weight:700}.operation-empty{padding:70px 0}.operation-empty.compact{padding:28px 12px;text-align:center}.operation-empty h2{margin:0 0 8px}.operation-empty p,.operation-empty-copy,.operation-message{color:var(--pkuba-muted);font-size:13px;line-height:1.55}.operation-message{margin-top:18px;color:var(--pkuba-red-dark)}.approve-action{color:#fff;background:#276c46;border:1px solid #276c46}.reject-action{color:var(--pkuba-red-dark);background:#fff;border:1px solid var(--pkuba-red)}.delete-action{margin-left:auto;color:var(--pkuba-muted);background:transparent;border:1px solid var(--pkuba-line)}@media(max-width:980px){.schedule-editor-layout{grid-template-columns:1fr}.schedule-browser{padding-right:0;border-right:0}.schedule-editor-detail{padding-left:0;border-top:1px solid var(--pkuba-line)}}@media(max-width:560px){.schedule-editor-layout,.schedule-browser,.schedule-editor-detail,.schedule-editor-detail form{min-width:0;max-width:100%}.schedule-form-grid{grid-template-columns:minmax(0,1fr)}.draw-managed-participants{grid-column:1}.operation-heading,.adjustability-banner{align-items:stretch;flex-direction:column;gap:8px}.schedule-editor-filters{grid-template-columns:minmax(0,1fr)}.schedule-editor-filters input{grid-column:1}.schedule-editor-game span,.schedule-editor-game small{overflow-wrap:anywhere}}.schedule-grid-editor{min-width:0;border:1px solid #cfdad4;background:#fff}.grid-commandbar{min-height:46px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:6px 10px;border-bottom:1px solid #d8e1dc;background:#f8faf9;position:sticky;left:0;z-index:8}.grid-command-group{display:flex;align-items:center;gap:2px}.grid-commandbar button,.grid-column-actions button,.grid-add-column-head button{min-height:30px;border:1px solid transparent;border-radius:5px;background:transparent;color:#263b31;font:inherit;font-size:13px;cursor:pointer}.grid-commandbar button{padding:4px 9px}.grid-commandbar button:hover:not(:disabled),.grid-column-actions button:hover:not(:disabled),.grid-add-column-head button:hover:not(:disabled){border-color:#bfd1c7;background:#eaf3ee}.grid-commandbar button:disabled,.grid-column-actions button:disabled,.grid-add-column-head button:disabled{color:#9aa7a0;cursor:default}.grid-commandbar button:disabled{opacity:.46;background:#f2f5f3}.grid-command-separator{align-self:stretch;width:1px;background:#d8e1dc}.grid-selection-status{margin-left:auto;color:#66766e;font-size:12px;white-space:nowrap}.grid-zoom-control{display:flex;align-items:center;gap:3px;padding-left:9px;border-left:1px solid #d8e1dc;color:#53665d;font-size:12px;white-space:nowrap}.grid-zoom-control>span{margin-right:2px}.grid-zoom-control button{min-width:28px;padding-inline:5px;font-size:15px}.grid-zoom-control .grid-zoom-reset{padding-inline:7px;font-size:12px}.grid-zoom-control input[type=range]{width:86px;margin:0 2px;accent-color:#07a855;cursor:pointer}.grid-zoom-control output{width:38px;color:#31463c;font-variant-numeric:tabular-nums;text-align:center}.schedule-grid-scroll{max-width:100%;max-height:min(68vh,760px);overflow:auto;outline:none;scrollbar-color:#b8c7bf #f1f5f3}.schedule-grid-scroll:focus-visible{box-shadow:inset 0 0 0 2px #07a855}.schedule-grid-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:12px;zoom:var(--schedule-grid-zoom, 1)}.schedule-grid-table th,.schedule-grid-table td{box-sizing:border-box;border-right:1px solid #cbd6d0;border-bottom:1px solid #cbd6d0}.schedule-grid-table thead th{position:sticky;z-index:6;color:#fff;background:#274b3a}.schedule-grid-table thead tr:first-child th{top:0;height:42px}.schedule-grid-table thead tr:nth-child(2) th{top:42px;height:70px}.grid-date-head,.grid-date-cell{left:0;width:72px;min-width:72px}.grid-weekday-head,.grid-weekday-cell{left:72px;width:52px;min-width:52px}.grid-date-head,.grid-weekday-head{z-index:9!important;text-align:center}.grid-date-cell,.grid-weekday-cell{position:sticky;z-index:3;height:35px;text-align:center;color:#40534a;background:#f5f8f6;font-weight:500}.grid-weekday-cell.weekend{color:#087a45;background:#eaf4ee;font-weight:650}.grid-column-head{width:132px;min-width:132px;padding:5px 7px;text-align:left}.grid-column-head select,.grid-column-head>input{width:100%;min-height:29px;box-sizing:border-box;border:1px solid #6f8c7d;border-radius:4px;background:#fff;color:#243b30;font:inherit;font-size:12px;padding:4px 6px}.grid-column-head.final-only{color:#5f4308;background:#eedaa9}.grid-column-head.final-only select,.grid-column-head.final-only>input{border-color:#ba9345;background:#fffaf0}.grid-column-actions{display:flex;align-items:center;gap:1px;margin-top:4px}.grid-column-actions label{display:inline-flex;align-items:center;gap:3px;margin-right:auto;font-size:10px;white-space:nowrap}.grid-column-actions input{margin:0}.grid-column-actions button{min-width:22px;min-height:22px;padding:0;color:inherit}.grid-add-column-head,.grid-add-column-body{width:38px;min-width:38px;background:#eef3f0}.grid-add-column-head{right:0;z-index:8!important}.grid-add-column-head button{width:30px;color:#087a45;font-size:20px}.grid-game-cell{position:relative;width:132px;min-width:132px;height:35px;padding:0 6px;text-align:center;color:#27362f;background:#fff;cursor:cell;-webkit-user-select:none;user-select:none}.schedule-grid-editor.mouse-selecting .grid-game-cell{cursor:crosshair}.grid-game-cell.final-column:not(.men):not(.women):not(.locked){background:#fffbf2}.grid-game-cell.men{color:#155b73;background:#e5f2f7}.grid-game-cell.women{color:#a5344a;background:#fce8ec;font-weight:650}.grid-game-cell.locked{color:#755018;background:#fff1d8;box-shadow:inset 3px 0 #b87819}.grid-game-cell.selected{box-shadow:inset 0 0 0 2px #07a855;z-index:2}.grid-game-cell.locked.selected{box-shadow:inset 3px 0 #b87819,inset 0 0 0 2px #07a855}.grid-matchup-label{display:block;overflow:hidden;padding-inline:13px;text-overflow:ellipsis;white-space:nowrap}.grid-move-handle{position:absolute;left:2px;top:50%;width:18px;height:25px;display:grid;place-items:center;padding:0;border:0;border-radius:3px;color:currentColor;background:#ffffffb8;cursor:grab;font:inherit;font-size:13px;line-height:1;opacity:0;transform:translateY(-50%);transition:opacity .12s ease,background-color .12s ease}.grid-game-cell:hover .grid-move-handle,.grid-move-handle:focus-visible{opacity:.82}.grid-move-handle:hover:not(:disabled){background:#fff;opacity:1}.grid-move-handle:active:not(:disabled){cursor:grabbing}.grid-move-handle:disabled{display:none}.grid-game-cell small{position:absolute;right:3px;top:2px;color:#8d641f;font-size:9px}.grid-game-cell>input{width:calc(100% + 8px);height:29px;margin-left:-4px;box-sizing:border-box;border:1px solid #07a855;border-radius:2px;outline:none;background:#fff;color:#20352a;font:inherit;text-align:center}.grid-shortcuts{margin:0;padding:7px 10px;border-top:1px solid #d8e1dc;color:#66766e;background:#fafcfb;font-size:11px}@media(max-width:760px){.grid-command-group{min-width:0;flex-wrap:wrap}.grid-commandbar{align-items:flex-start}.grid-command-separator{display:none}.grid-selection-status{width:100%;margin-left:0;white-space:normal}.grid-zoom-control{max-width:100%;flex-wrap:wrap;padding-left:0;border-left:0}}.schedule-planner-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.schedule-planner-workspace>*{min-width:0}.schedule-planner-state{padding:36px;border:1px solid #d8e1dc;color:#617168;background:#fff}.planner-contextbar{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(420px,1.5fr) minmax(150px,.55fr);align-items:center;gap:20px;min-height:56px;padding:0 14px;border:1px solid #d8e1dc;background:#fff}.planner-contextbar>div:first-child{display:flex;min-width:0;align-items:center;gap:8px}.planner-contextbar label{color:#66766e;font-size:12px;white-space:nowrap}.planner-contextbar select,.matchup-pool input,.matchup-pool select,.planner-danger-zone input{min-height:32px;box-sizing:border-box;border:1px solid #c4d1ca;border-radius:5px;background:#fff;color:#22382d;font:inherit;padding:5px 8px}.planner-contextbar select{width:100%;min-width:0;flex:1}.planner-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;list-style:none}.planner-steps li{display:flex;align-items:center;gap:7px;min-width:0;color:#8a9891;font-size:12px;white-space:nowrap}.planner-steps li:after{content:"";height:1px;flex:1;margin-left:4px;background:#d5dfda}.planner-steps li:last-child:after{display:none}.planner-steps li span{width:22px;height:22px;display:grid;place-items:center;border:1px solid #c7d2cc;border-radius:50%;background:#fff;font-size:11px}.planner-steps li.active{color:#176b42;font-weight:650}.planner-steps li.active span{border-color:#18a15b;color:#fff;background:#18a15b}.draft-save-state{justify-self:end;display:flex;align-items:center;gap:7px;color:#617168;font-size:12px;white-space:nowrap}.draft-save-state>span{width:7px;height:7px;border-radius:50%;background:#9aa8a0}.draft-save-state.dirty>span,.draft-save-state.saving>span{background:#c68a19}.draft-save-state.saved>span{background:#07a855}.draft-save-state.conflict{color:#a33b3b}.draft-save-state.conflict>span{background:#c44545}.planner-alert{display:flex;align-items:center;gap:12px;min-height:38px;padding:6px 10px 6px 12px;border:1px solid #bcdac9;color:#24613f;background:#edf8f1;font-size:13px}.planner-alert span{flex:1}.planner-alert.error{border-color:#e2b9b9;color:#933d3d;background:#fff2f2}.planner-alert.warning{border-color:#e6d09d;color:#795814;background:#fff9e9}.planner-alert button{border:0;background:transparent;color:inherit;cursor:pointer}.planner-sourcebar{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px;border:1px solid #d8e1dc;background:#f8faf9}.planner-file-drop{display:flex;align-items:center;gap:10px;min-width:0}.planner-file-drop.active{outline:2px solid #18a15b;outline-offset:4px}.planner-file-drop input{display:none}.planner-file-drop span{overflow:hidden;color:#718078;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.planner-source-actions{display:flex;align-items:center;gap:7px;flex:none}.planner-sourcebar button,.verification-panel button,.planner-danger-zone button{min-height:34px;border:1px solid #bccbc3;border-radius:5px;padding:6px 11px;color:#294035;background:#fff;font:inherit;font-size:13px;cursor:pointer}.planner-sourcebar button:hover:not(:disabled),.verification-panel button:hover:not(:disabled){border-color:#78aa8f;background:#f1f8f4}.planner-sourcebar button.primary,.verification-panel button.primary,.confirm-schedule{border-color:#087a45;color:#fff;background:#087a45}.planner-sourcebar button:disabled,.verification-panel button:disabled,.planner-danger-zone button:disabled{opacity:.48;cursor:default}.planner-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start;min-width:0}.planner-main.inspector-hidden{grid-template-columns:minmax(0,1fr)}.planner-grid-pane{min-width:0}.planner-grid-heading{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px}.planner-grid-heading h2,.planner-grid-heading p{margin:0}.planner-grid-heading h2{color:#21382d;font-size:17px}.planner-grid-heading p{margin-top:3px;color:#74827b;font-size:12px}.planner-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.planner-grid-tools{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.planner-view-actions{display:flex;align-items:center;gap:6px}.planner-view-actions button{min-height:30px;border:1px solid #becdc5;border-radius:5px;padding:4px 9px;color:#365045;background:#fff;font:inherit;font-size:11px}.planner-view-actions button:hover{border-color:#78aa8f;background:#f1f8f4}.planner-view-actions .focus-mode-toggle{border-color:#167548;color:#fff;background:#167548}.planner-view-actions .focus-mode-toggle:hover{border-color:#0c6038;background:#0c6038}.planner-legend span{padding:3px 7px;border:1px solid transparent;border-radius:4px;font-size:10px}.planner-legend .men{border-color:#b9d5df;color:#155b73;background:#e5f2f7}.planner-legend .women{border-color:#edc0c9;color:#a5344a;background:#fce8ec}.planner-legend .locked{border-color:#e1c384;color:#755018;background:#fff1d8}.planner-legend .final{border-color:#d4b66f;color:#674909;background:#f6e6bd}.planner-inspector{position:sticky;top:12px;min-height:480px;max-height:calc(100vh - 150px);display:flex;flex-direction:column;border:1px solid #d6e0db;background:#fff;overflow:hidden}.inspector-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #d8e1dc;background:#f7f9f8}.inspector-tabs button{min-height:43px;border:0;border-bottom:2px solid transparent;color:#68776f;background:transparent;font:inherit;font-size:13px;cursor:pointer}.inspector-tabs button.active{border-bottom-color:#07a855;color:#1f4935;background:#fff;font-weight:650}.inspector-tabs button span{display:inline-grid;min-width:18px;height:18px;place-items:center;margin-left:3px;border-radius:9px;color:#607068;background:#e8eeeb;font-size:10px}.matchup-pool,.verification-panel{min-height:0;display:flex;flex:1;flex-direction:column;padding:12px;overflow:auto}.matchup-pool>p{margin:0 0 10px;color:#66766e;font-size:12px;line-height:1.55}.matchup-pool>input{width:100%}.pool-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.pool-filters select{min-width:0;width:100%}.pool-list{display:grid;gap:5px;margin-top:10px;overflow:auto}.pool-matchup{position:relative;display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 9px;border:1px solid #cfdbd5;border-left-width:3px;border-radius:5px;background:#fff;cursor:grab}.pool-matchup.men{border-left-color:#4b879c}.pool-matchup.women{border-left-color:#bf6375}.pool-matchup strong{color:#233a2f;font-size:13px}.pool-matchup>span{grid-column:1 / -1;color:#74827b;font-size:10px}.pool-matchup small{grid-column:2;grid-row:1;color:#708078;font-size:9px}.pool-matchup.scheduled{opacity:.48;cursor:default}.verification-empty,.verification-success{margin:auto 0;text-align:center}.verification-empty h3,.verification-success h3{margin:8px 0 4px;color:#294035;font-size:15px}.verification-empty p,.verification-success p{margin:0 0 14px;color:#718078;font-size:12px;line-height:1.55}.verification-success>span{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:50%;color:#fff;background:#07a855;font-size:20px}.verification-summary{display:flex;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #e0e7e3}.verification-summary strong{color:#294035;font-size:13px}.verification-summary span{color:#718078;font-size:10px;text-align:right}.verification-checks{display:grid;gap:8px;margin-top:11px}.verification-check{display:grid;grid-template-columns:22px 1fr;gap:7px}.verification-check>span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:700}.verification-check.passed>span{color:#fff;background:#18a15b}.verification-check.failed>span{color:#fff;background:#c55252}.verification-check strong{display:block;color:#2d4137;font-size:12px}.verification-check p{margin:2px 0 0;color:#74827b;font-size:10px;line-height:1.4}.verification-issues,.verification-preview{margin-top:12px;border-top:1px solid #e0e7e3;padding-top:9px}.verification-issues summary,.verification-preview summary{color:#3d5147;font-size:12px;cursor:pointer}.verification-issues ul{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}.verification-issues li{display:grid;gap:2px;padding:6px 7px;border-left:2px solid #d0a13e;background:#fffaef;font-size:10px}.verification-issues li.error{border-left-color:#c55252;background:#fff3f3}.verification-issues li strong{color:#4b5c53}.verification-issues li span{color:#6c7972}.verification-preview>div{max-height:220px;margin-top:7px;overflow:auto}.verification-preview p{display:grid;gap:2px;margin:0;padding:5px 0;border-bottom:1px solid #edf1ef;font-size:10px}.verification-preview p strong{color:#33483d}.verification-preview p span{color:#74827b}.verification-acknowledgement{display:flex;align-items:flex-start;gap:7px;margin-top:14px;color:#4f6057;font-size:11px;line-height:1.45}.verification-acknowledgement input{margin-top:2px}.confirm-schedule{width:100%;margin-top:9px}.planner-danger-zone{border:1px solid #ead1cf;color:#713d39;background:snow}.planner-danger-zone summary{padding:11px 13px;font-size:12px;cursor:pointer}.planner-danger-zone>div{display:grid;gap:9px;padding:0 13px 13px;border-top:1px solid #f0dfdd}.planner-danger-zone p{margin:10px 0 0;color:#765551;font-size:11px}.planner-danger-zone label{display:flex;align-items:center;gap:7px;font-size:11px}.planner-danger-zone .danger-blocker{margin:0;color:#a14a44}.planner-danger-zone button{width:max-content;border-color:#c65a50;color:#fff;background:#b84d45}.schedule-planner-workspace.focus-mode{position:fixed;inset:0;z-index:1000;min-width:0;min-height:100dvh;display:flex;flex-direction:column;gap:8px;padding:10px;overflow:hidden;background:#f3f6f4}.schedule-planner-workspace.focus-mode .planner-contextbar{flex:none;min-height:48px}.schedule-planner-workspace.focus-mode .planner-sourcebar,.schedule-planner-workspace.focus-mode .planner-danger-zone{display:none}.schedule-planner-workspace.focus-mode .planner-main{min-height:0;flex:1;align-items:stretch}.schedule-planner-workspace.focus-mode .planner-grid-pane{min-height:0;display:flex;flex-direction:column}.schedule-planner-workspace.focus-mode .planner-grid-heading{min-height:46px;flex:none}.schedule-planner-workspace.focus-mode .schedule-grid-editor{min-height:0;display:flex;flex:1;flex-direction:column}.schedule-planner-workspace.focus-mode .schedule-grid-scroll{min-height:0;max-height:none;flex:1}.schedule-planner-workspace.focus-mode .planner-inspector{position:static;min-height:0;max-height:none;height:100%}@media(max-width:1180px){.planner-contextbar{grid-template-columns:1fr 1.5fr}.draft-save-state{grid-column:1 / -1;justify-self:start;padding-bottom:8px}.planner-main{grid-template-columns:minmax(0,1fr) 270px}}@media(max-width:900px){.planner-contextbar{grid-template-columns:minmax(0,1fr);padding:10px}.draft-save-state{grid-column:auto}.planner-sourcebar,.planner-file-drop{align-items:stretch;flex-direction:column}.planner-source-actions{flex-wrap:wrap}.planner-main{grid-template-columns:minmax(0,1fr)}.planner-inspector{position:static;max-height:none;min-height:420px}.schedule-planner-workspace.focus-mode .planner-main{grid-template-columns:minmax(0,1fr)}.schedule-planner-workspace.focus-mode .planner-inspector{display:none}}@media(max-width:560px){.planner-steps{grid-template-columns:1fr;gap:5px}.planner-steps li:after{display:none}.planner-grid-heading{align-items:flex-start;flex-direction:column;padding:7px 2px}.planner-grid-tools{width:100%;align-items:flex-start;justify-content:flex-start;flex-direction:column}.planner-legend{justify-content:flex-start}}.season-management{display:grid;gap:24px}.season-management-toolbar,.season-management-toolbar>div,.season-section-heading,.season-save-bar,.season-lock-notice{display:flex;align-items:center}.season-management-toolbar{justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--pkuba-line)}.season-management-toolbar>label{display:grid;width:min(100%,430px);gap:7px;color:var(--pkuba-muted);font-size:12px;font-weight:700}.season-management-toolbar>div{gap:10px}.season-management select,.season-management input,.season-create-form select,.season-create-form input{min-height:40px;padding:8px 10px;color:var(--pkuba-ink);background:#fff;border:1px solid var(--pkuba-line);border-radius:5px;font:inherit}.season-management select:focus,.season-management input:focus,.season-create-form select:focus,.season-create-form input:focus{border-color:var(--pkuba-red);outline:2px solid rgb(181 35 40 / 12%);outline-offset:1px}.season-management select:disabled,.season-management input:disabled{color:#5f5a54;background:#f6f4f0;border-color:#e4e0da;opacity:1}.season-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));border-block:1px solid var(--pkuba-line)}.season-facts>div{display:grid;gap:6px;padding:17px 20px;border-right:1px solid var(--pkuba-line)}.season-facts>div:first-child{padding-left:0}.season-facts>div:last-child{border-right:0}.season-facts span{color:var(--pkuba-muted);font-size:12px}.season-facts strong{font-size:20px;font-variant-numeric:tabular-nums}.season-lock-notice{gap:14px;padding:13px 16px;color:#6f4d12;background:#fbf3e3;border-left:3px solid #bd8425;font-size:13px}.season-lock-notice span{color:#765f3c}.season-config-section{overflow:hidden;background:#fff;border:1px solid var(--pkuba-line);border-radius:8px}.season-lifecycle{overflow:hidden;background:#fff;border:1px solid var(--pkuba-line);border-left:4px solid var(--pkuba-red);border-radius:8px}.lifecycle-warning,.lifecycle-notice{margin:0;padding:12px 22px;border-bottom:1px solid var(--pkuba-line);font:inherit;font-size:13px;white-space:pre-wrap}.lifecycle-warning{color:#765f3c;background:#fbf3e3}.lifecycle-notice.success{color:#23623b;background:#edf7f0}.lifecycle-notice.error{color:#8d2025;background:#fff1f1}.lifecycle-overview{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,2fr);min-height:150px}.lifecycle-season-state{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:22px;background:#f8f6f2;border-right:1px solid var(--pkuba-line)}.lifecycle-season-state>span:first-child,.lifecycle-division-list article>div>span{color:var(--pkuba-muted);font-size:11px;font-weight:800;letter-spacing:.08em}.lifecycle-status{display:inline-flex;width:fit-content;padding:5px 8px;color:#514d47;background:#eeeae4;border-radius:3px;font-size:12px;font-weight:800;white-space:nowrap}.lifecycle-status.status-setup{color:#5d4a22;background:#f4e8c8}.lifecycle-status.status-published{color:#fff;background:var(--pkuba-red)}.lifecycle-status.status-archived{color:#fff;background:#34312e}.lifecycle-division-list{display:grid}.lifecycle-division-list article{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:18px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--pkuba-line)}.lifecycle-division-list article:last-child{border-bottom:0}.lifecycle-division-list article>div{display:grid;gap:3px}.lifecycle-division-list article>div strong{font-size:15px}.lifecycle-division-list article>div small{color:var(--pkuba-muted)}.lifecycle-division-list button{justify-self:end}.lifecycle-derived-state{padding:5px 8px;color:#376653;background:#e8f3ed;border:1px solid #c9e1d5;border-radius:3px;font-size:12px;font-weight:750;white-space:nowrap}.danger-action{min-height:38px;padding:8px 13px;color:#a61f25;background:transparent;border:1px solid #d7a5a7;border-radius:5px;font-weight:750}.danger-action:disabled{cursor:not-allowed;opacity:.45}@media(max-width:820px){.lifecycle-overview{grid-template-columns:1fr}.lifecycle-season-state{border-right:0;border-bottom:1px solid var(--pkuba-line)}.lifecycle-division-list article{grid-template-columns:minmax(0,1fr) auto}.lifecycle-division-list article button{grid-column:1 / -1;justify-self:stretch}}.season-section-heading{align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 22px;border-bottom:1px solid var(--pkuba-line)}.season-section-heading h2{margin:0}.season-section-heading p:last-child{margin:7px 0 0;color:var(--pkuba-muted);font-size:13px;line-height:1.5}.season-section-heading>span{color:var(--pkuba-muted);font-size:12px;font-weight:700;white-space:nowrap}.text-action{padding:6px 0;color:var(--pkuba-red-dark);background:transparent;border:0;font-weight:750;white-space:nowrap}.text-action:hover:not(:disabled){color:var(--pkuba-red)}.season-core-grid{display:grid;grid-template-columns:1.6fr repeat(2,minmax(150px,.7fr));gap:18px;padding:22px}.season-core-grid label,.season-create-form label{display:grid;gap:7px;color:var(--pkuba-muted);font-size:12px;font-weight:700}.season-core-grid>label{min-width:0;align-content:start}.season-timezone-field input{width:100%;min-width:0;min-height:40px;box-sizing:border-box}.season-create-form label>small{color:var(--pkuba-muted);font-size:12px;font-weight:500;line-height:1.5}.division-config-table,.venue-config-table,.period-config-table,.slot-family-table,.grid-column-table,.capacity-matrix-wrap{overflow-x:auto}.division-config-row,.venue-config-row,.period-config-row,.slot-family-row,.grid-column-row{display:grid;min-width:880px;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #ebe7e1}.division-config-row:last-child,.venue-config-row:last-child,.period-config-row:last-child,.slot-family-row:last-child,.grid-column-row:last-child{border-bottom:0}.division-config-row{grid-template-columns:64px minmax(220px,1fr) 108px 190px 32px}.venue-config-row{grid-template-columns:64px 150px minmax(180px,1fr) 108px 190px 32px}.period-config-row{grid-template-columns:64px minmax(220px,1fr) 130px 210px}.slot-family-row{min-width:1010px;grid-template-columns:64px minmax(190px,1fr) 140px 70px 64px 92px 120px 32px}.grid-column-row{min-width:860px;grid-template-columns:64px minmax(210px,1fr) minmax(180px,1fr) 120px 88px 32px}.venue-config-table.simplified .venue-config-row{grid-template-columns:64px minmax(220px,1fr) 120px 210px 32px}.division-config-row.is-dragging,.venue-config-row.is-dragging,.period-config-row.is-dragging,.slot-family-row.is-dragging{opacity:.55;background:#fff5f4}.row-drag-handle{display:inline-grid;width:44px;height:44px;padding:0;align-items:center;justify-items:center;color:#8f8679;background:transparent;border:1px solid transparent;border-radius:8px;font-size:26px;line-height:1;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none}.row-drag-handle:hover:not(:disabled),.row-drag-handle:focus-visible{color:var(--pkuba-red-dark);border-color:var(--pkuba-red);outline:0}.row-drag-handle:active:not(:disabled){cursor:grabbing}.row-drag-handle:disabled{opacity:.25;cursor:default}.division-config-head,.venue-config-head,.period-config-head,.slot-family-head,.grid-column-head{min-height:38px;padding-block:7px;color:var(--pkuba-muted);background:#faf9f7;font-size:11px;font-weight:750;letter-spacing:.04em}.division-config-row input,.division-config-row select,.venue-config-row input,.period-config-row input,.slot-family-row input,.slot-family-row select,.grid-column-row input,.grid-column-row select{width:100%;min-width:0}.slot-prefix-input{text-align:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:17px!important;font-weight:850!important}.slot-family-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-bottom:1px solid var(--pkuba-line);background:#fcfbf8}.slot-family-overview article{min-width:0;padding:17px 20px 16px;border-right:1px solid var(--pkuba-line)}.slot-family-overview article:last-child{border-right:0}.slot-family-overview header{display:grid;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:14px}.slot-family-overview header>span{align-self:stretch;min-height:20px;background:#4e565d;border-radius:3px}.slot-family-overview article.women header>span{background:var(--pkuba-red)}.slot-family-overview header strong{font-size:15px}.slot-family-overview header b{padding:3px 0 3px 8px;color:#427056;font-size:11px}.slot-family-overview article.mismatch header b{color:#956314}.slot-family-overview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.slot-family-overview dl div{display:grid;gap:4px}.slot-family-overview dt{color:var(--pkuba-muted);font-size:10px;white-space:nowrap}.slot-family-overview dd{margin:0;color:var(--pkuba-ink);font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}.grid-column-row.final-only{background:#fff7df;box-shadow:inset 3px 0 #d7a83f}.grid-order-actions{display:flex;gap:5px}.grid-order-actions button{width:34px;height:34px;padding:0;color:#5e5548;background:#fff;border:1px solid var(--pkuba-line);border-radius:4px}.grid-order-actions button:hover:not(:disabled){color:var(--pkuba-red-dark);border-color:var(--pkuba-red)}.grid-order-actions button:disabled{opacity:.28}.resource-usage{color:var(--pkuba-muted);font-size:12px;white-space:nowrap}.row-remove{width:30px;height:30px;padding:0;color:var(--pkuba-muted);background:transparent;border:0;border-radius:50%;font-size:20px;line-height:1}.row-remove:hover:not(:disabled){color:#fff;background:var(--pkuba-red)}.row-remove:disabled{opacity:.25}.venue-active-toggle{display:flex;align-items:center;gap:8px;color:var(--pkuba-ink);font-size:13px;font-weight:700}.venue-active-toggle input{width:16px;min-height:16px;accent-color:var(--pkuba-red)}.capacity-section{overflow:hidden}.capacity-matrix-wrap{background:#fff;border:1px solid var(--pkuba-line);border-radius:0 0 8px 8px}.capacity-matrix{width:max-content;min-width:100%}.capacity-grid-row{display:grid;width:max-content;min-width:100%;grid-template-columns:96px repeat(var(--period-count),minmax(112px,1fr));border-bottom:1px solid #e8e4de}.capacity-grid-row:last-child{border-bottom:0}.capacity-corner,.capacity-row-label,.capacity-period-head,.capacity-cell{min-width:0;border-right:1px solid #e8e4de}.capacity-grid-row>:last-child{border-right:0}.capacity-corner,.capacity-row-label{display:grid;min-height:54px;place-items:center;position:sticky;left:0;z-index:1;background:#faf9f7;color:var(--pkuba-muted);font-size:12px;font-weight:800}.capacity-header-row{position:sticky;top:0;z-index:2;background:#faf9f7}.capacity-corner{z-index:3}.capacity-row-label.weekend{color:var(--pkuba-red-dark);background:#fff5f4}.capacity-period-head{display:grid;min-height:58px;place-items:center;align-content:center;gap:2px;background:#faf9f7}.capacity-period-head strong{font-size:14px;font-variant-numeric:tabular-nums}.capacity-period-head span{color:var(--pkuba-muted);font-size:11px}.capacity-cell{display:flex;min-height:54px;align-items:center;justify-content:center;gap:5px;transition:background-color .12s ease}.capacity-cell.zero{background:#f7f6f3}.capacity-cell.open{background:#fffaf4}.capacity-cell.full{background:#fff0ee}.capacity-cell:hover{background:#fbe7e5}.capacity-cell input{width:56px;min-height:34px;padding:5px 7px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.capacity-cell span{color:var(--pkuba-muted);font-size:11px}.capacity-default-table,.capacity-override-table,.capacity-ledger-wrap{overflow-x:auto}.capacity-default-row,.capacity-override-row,.capacity-ledger-row{display:grid;min-width:720px;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid #ebe7e1;font-variant-numeric:tabular-nums}.capacity-default-row:last-child,.capacity-override-row:last-child,.capacity-ledger-row:last-child{border-bottom:0}.capacity-default-row{grid-template-columns:minmax(220px,1fr) 120px 150px 150px}.capacity-override-row{grid-template-columns:150px 170px 120px minmax(220px,1fr) 32px}.capacity-ledger-row{grid-template-columns:minmax(130px,1.2fr) 100px repeat(4,90px) 96px}.capacity-default-head,.capacity-override-head,.capacity-ledger-head{min-height:38px;padding-block:8px;color:var(--pkuba-muted);background:#faf9f7;font-size:11px;font-weight:750;letter-spacing:.03em}.capacity-number{display:flex;align-items:center;width:fit-content;gap:7px;padding:3px 8px 3px 3px;background:#fff9f4;border-radius:6px}.capacity-number.zero{background:#f5f3ef}.capacity-number input{width:68px!important;min-height:34px;text-align:center;font-weight:800}.capacity-number span{color:var(--pkuba-muted);font-size:12px}.capacity-empty{margin:0;padding:24px 22px;color:var(--pkuba-muted);font-size:13px}.capacity-alert{padding:12px 18px;color:#7e2927;background:#fff1ef;border-bottom:1px solid #efcbc7;font-size:13px;font-weight:700}.capacity-ledger-row>span{display:grid;gap:2px}.capacity-ledger-row small{color:var(--pkuba-muted);font-size:11px}.capacity-ledger-row.over{background:#fff3f1}.capacity-ledger-row.over .ledger-status{color:var(--pkuba-red-dark);font-weight:800}.ledger-status{color:#356348;font-size:12px;font-weight:700}.season-save-bar{position:sticky;bottom:18px;z-index:4;gap:16px;padding:14px 16px;background:#fffffff5;border:1px solid var(--pkuba-line);border-radius:8px;box-shadow:0 9px 24px #2b221d1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.season-save-bar.dirty{border-color:#d3a09d}.season-save-bar>div{display:grid;gap:3px;margin-right:auto}.season-save-bar>div span{color:var(--pkuba-muted);font-size:12px}.season-management-message{margin:-10px 0 0;padding:12px 14px;border-left:3px solid;font-size:13px}.season-management-message.success{color:#315f48;background:#f1f8f4;border-left-color:#4d8264}.season-management-message.error{color:var(--pkuba-red-dark);background:#fff4f3;border-left-color:var(--pkuba-red)}.season-management-state{padding:70px 24px;color:var(--pkuba-muted);text-align:center}.season-create-dialog{width:min(100%,650px);max-height:min(820px,calc(100vh - 48px));overflow-y:auto;padding:30px;background:#fff;border:1px solid var(--pkuba-line);border-radius:10px;box-shadow:0 28px 70px #1c151238}.season-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.season-create-form .wide{grid-column:1 / -1}.season-create-note{margin:-2px 0 0;padding:12px 14px;color:var(--pkuba-muted);background:#f7f5f1;font-size:12px;line-height:1.55}.dialog-actions{display:flex!important;align-items:center;justify-content:flex-end;flex-direction:row!important;gap:10px!important;margin-top:4px}.dialog-error{margin:0;color:var(--pkuba-red-dark);font-size:13px}@media(max-width:1000px){.season-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.season-facts>div:nth-child(3){border-right:0}.season-facts>div:nth-child(n+4){border-top:1px solid var(--pkuba-line)}.season-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-name-field{grid-column:1 / -1}}@media(max-width:720px){.season-management-toolbar,.season-section-heading,.season-save-bar,.season-lock-notice{align-items:stretch;flex-direction:column}.season-management-toolbar>label{width:100%}.season-management-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.season-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.season-facts>div{padding:14px;border-top:1px solid var(--pkuba-line)}.season-facts>div:first-child{padding-left:14px}.season-facts>div:nth-child(-n+2){border-top:0}.season-facts>div:nth-child(2n){border-right:0}.season-core-grid,.season-create-form{grid-template-columns:1fr}.season-core-grid,.season-section-heading{padding-inline:16px}.season-name-field,.season-create-form .wide{grid-column:auto}.season-save-bar{bottom:8px}.season-save-bar .primary-action{width:100%}.season-create-dialog{padding:24px 18px}.slot-family-overview{grid-template-columns:1fr}.slot-family-overview article{border-right:0;border-bottom:1px solid var(--pkuba-line)}.slot-family-overview article:last-child{border-bottom:0}}.team-roster-workspace,.roster-audit{display:grid;gap:22px}.roster-toolbar,.roster-toolbar-actions,.roster-index-heading,.roster-editor-heading,.roster-table-heading,.roster-save-bar,.roster-audit-heading,.roster-section-title,.roster-final-change,.roster-confirm-actions,.roster-maintenance-preview,.roster-maintenance-preview>div:last-child{display:flex;align-items:center}.roster-toolbar,.roster-editor-heading,.roster-table-heading,.roster-save-bar,.roster-audit-heading,.roster-section-title,.roster-final-change,.roster-maintenance-preview{justify-content:space-between}.roster-toolbar{gap:24px;padding-bottom:18px;border-bottom:1px solid var(--pkuba-line)}.roster-toolbar>label,.roster-team-fields label,.roster-resolution-list label{display:grid;gap:7px}.roster-toolbar>label{width:min(100%,420px)}.roster-toolbar label>span,.roster-team-fields label>span,.roster-resolution-list label>span{color:var(--pkuba-muted);font-size:12px;font-weight:700}.roster-toolbar select,.roster-index-controls input,.roster-index-controls select,.roster-team-fields input,.roster-team-fields select,.roster-resolution-list input,.roster-player-row input{min-height:40px;padding:8px 10px;color:var(--pkuba-ink);background:#fff;border:1px solid var(--pkuba-line);border-radius:5px;font:inherit}.roster-toolbar select:focus,.roster-index-controls input:focus,.roster-index-controls select:focus,.roster-team-fields input:focus,.roster-team-fields select:focus,.roster-resolution-list input:focus,.roster-player-row input:focus{border-color:var(--pkuba-red);outline:2px solid rgb(181 35 40 / 12%);outline-offset:1px}.roster-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px}.roster-season-status{padding:7px 10px;color:var(--pkuba-muted);background:#f3f0eb;border-radius:999px;font-size:12px;font-weight:750}.roster-season-status.setup{color:#7a571d;background:#fbf1de}.roster-season-status.active,.roster-season-status.pre_draw_public{color:#1f6745;background:#e8f4ed}.roster-season-status.archived{color:#6f6b65;background:#ece9e5}.roster-facts,.roster-audit-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--pkuba-line)}.roster-facts>div,.roster-audit-facts>div{display:grid;gap:5px;min-width:0;padding:16px 20px;border-right:1px solid var(--pkuba-line)}.roster-facts>div:first-child,.roster-audit-facts>div:first-child{padding-left:0}.roster-facts>div:last-child,.roster-audit-facts>div:last-child{border-right:0}.roster-facts span,.roster-audit-facts span{color:var(--pkuba-muted);font-size:12px}.roster-facts strong,.roster-audit-facts strong{font-size:22px;font-variant-numeric:tabular-nums}.roster-facts small{color:#8d877f;font-size:11px}.roster-audit-facts .danger strong{color:#a6262b}.roster-audit-facts .warning strong{color:#9a6717}.roster-message,.roster-import-lock,.roster-resume-audit{padding:12px 15px;border-left:3px solid var(--pkuba-red)}.roster-message{color:#5e3e3c;background:#f8edeb}.roster-message.error{color:#7b2024;background:#fbe8e8;border-left-color:#a6262b}.roster-import-lock{display:flex;align-items:baseline;gap:12px;color:#675b4c;background:#f5f2ed;border-left-color:#a39a8d;font-size:13px}.roster-import-lock span{color:var(--pkuba-muted)}.roster-resume-audit{width:100%;color:var(--pkuba-red-dark);background:#fff;border-block:1px solid var(--pkuba-line);border-right:1px solid var(--pkuba-line);text-align:left}.roster-master-detail{display:grid;min-height:610px;grid-template-columns:minmax(250px,29%) minmax(0,1fr);border:1px solid var(--pkuba-line);background:#fff}.roster-team-index{min-width:0;background:var(--pkuba-warm-white);border-right:1px solid var(--pkuba-line)}.roster-index-controls{display:grid;gap:8px;padding:18px;border-bottom:1px solid var(--pkuba-line)}.roster-index-heading{gap:12px;padding:13px 18px;color:var(--pkuba-muted);border-bottom:1px solid var(--pkuba-line);font-size:12px;font-weight:700}.roster-index-heading button,.roster-table-heading button,.roster-player-row button,.text-action{padding:0;color:var(--pkuba-red-dark);background:transparent;border:0;font-weight:750}.roster-team-list{display:grid;align-content:start;max-height:590px;overflow-y:auto}.roster-team-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:11px 18px;color:var(--pkuba-ink);background:transparent;border:0;border-bottom:1px solid #e8e3dc;text-align:left}.roster-team-list>button:hover{background:#faf7f3}.roster-team-list>button.selected{background:#f6e9e7;box-shadow:inset 3px 0 var(--pkuba-red)}.roster-team-list>button>span:first-child{display:grid;min-width:0;gap:4px}.roster-team-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-team-list small{color:var(--pkuba-muted);font-size:11px}.roster-team-list>button>span:last-child{color:var(--pkuba-muted);font-size:12px;white-space:nowrap}.roster-team-list>button>span.unassigned{color:#9a6717}.roster-editor{min-width:0;padding:26px 28px 22px}.roster-editor-empty{display:grid;place-content:center;height:100%;gap:6px;color:var(--pkuba-muted);text-align:center}.roster-editor-empty strong{color:var(--pkuba-ink);font-size:20px}.roster-kicker{margin:0 0 5px;color:var(--pkuba-red);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.roster-editor-heading{padding-bottom:18px;border-bottom:1px solid var(--pkuba-line)}.roster-editor-heading h2{font-size:18px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.roster-active-toggle,.roster-player-status,.roster-warning-check{display:flex;align-items:center;gap:8px}.roster-active-toggle span,.roster-player-status span{color:var(--pkuba-muted);font-size:12px;font-weight:700}.roster-team-fields{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(150px,.8fr);gap:16px;padding:20px 0}.roster-team-fields input:disabled,.roster-team-fields select:disabled,.roster-player-row input:disabled{color:#5f5a54;background:#f5f2ed;opacity:1}.roster-table-heading{align-items:flex-end;gap:24px;margin-top:4px;padding:16px 0 11px;border-top:1px solid var(--pkuba-line)}.roster-table-heading h3,.roster-audit h3{margin:0;font-size:17px}.roster-table-heading p,.roster-audit-heading p,.roster-final-change p{margin:5px 0 0;color:var(--pkuba-muted);font-size:12px;line-height:1.55}.roster-player-table{border-block:1px solid var(--pkuba-line)}.roster-player-row{display:grid;grid-template-columns:38px minmax(150px,1.5fr) minmax(104px,.7fr) 88px 46px;align-items:center;gap:10px;min-height:54px;padding:7px 6px;border-bottom:1px solid #ebe6df}.roster-player-row:last-child{border-bottom:0}.roster-player-row.header{min-height:37px;color:var(--pkuba-muted);background:#f7f4ef;font-size:11px;font-weight:750}.roster-player-row>span:first-child{color:#999187;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.roster-player-row input{width:100%;min-height:36px}.roster-player-row.inactive{opacity:.63}.roster-player-row>label.jersey-warning{display:grid;gap:2px}.jersey-warning input{border-color:#bd8425}.jersey-warning small{color:#8c5c11;font-size:10px}.roster-save-bar{gap:20px;padding-top:18px}.roster-save-bar>span{color:var(--pkuba-muted);font-size:12px}.roster-maintenance-preview{align-items:flex-end;gap:24px;margin-top:18px;padding:16px;color:#64461d;background:#fbf2df;border-left:3px solid #bd8425}.roster-maintenance-preview p{margin:5px 0;font-size:13px}.roster-maintenance-preview span{color:#7c6645;font-size:11px}.roster-maintenance-preview>div:last-child{gap:8px}.roster-audit-heading{align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--pkuba-line)}.roster-audit-heading h2{margin:0;font-size:24px}.roster-audit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:18px;align-items:start}.roster-audit-section{min-width:0;background:#fff;border:1px solid var(--pkuba-line)}.roster-section-title{align-items:flex-start;gap:18px;padding:17px 19px;border-bottom:1px solid var(--pkuba-line)}.roster-section-title>span{color:var(--pkuba-muted);font-size:11px;font-weight:750}.roster-issues{display:grid;max-height:410px;overflow-y:auto}.roster-issue{padding:13px 17px;border-bottom:1px solid #ebe6df}.roster-issue:last-child{border-bottom:0}.roster-issue>div{display:flex;align-items:center;gap:8px}.roster-issue strong{color:#8c5c11;font-size:11px}.roster-issue.error strong{color:#9e2429}.roster-issue code{color:#91897f;font-size:10px}.roster-issue p{margin:5px 0 3px;font-size:13px;line-height:1.5}.roster-issue>span{color:var(--pkuba-muted);font-size:10px}.roster-resolution-list{display:grid;max-height:410px;overflow-y:auto}.roster-resolution-list label{padding:11px 17px;border-bottom:1px solid #ebe6df}.roster-resolution-list label:last-child{border-bottom:0}.roster-resolution-list input{min-height:36px}.roster-division-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.roster-division-stats>div{display:grid;gap:5px;padding:16px 18px;border-right:1px solid var(--pkuba-line)}.roster-division-stats>div:last-child{border-right:0}.roster-division-stats span{color:var(--pkuba-muted);font-size:12px}.roster-division-stats small{color:#8c877f;font-size:11px}.roster-division-stats .mismatch{background:#fbf2df}.roster-division-stats .mismatch small{color:#8c5c11}.roster-final-change{align-items:flex-end;gap:28px;padding:20px 22px;background:#f5f2ed;border-left:3px solid var(--pkuba-red)}.roster-confirm-actions{align-items:flex-end;flex-direction:column;gap:12px}.roster-warning-check{max-width:520px;color:#705329;font-size:12px;line-height:1.45}.roster-empty{margin:0;padding:24px 18px;color:var(--pkuba-muted);font-size:13px;text-align:center}.roster-state{padding:40px 0;color:var(--pkuba-muted)}.roster-state-error{color:#9e2429}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){.roster-toolbar{align-items:flex-start;flex-direction:column}.roster-toolbar-actions{justify-content:flex-start}.roster-master-detail{grid-template-columns:minmax(220px,34%) minmax(0,1fr)}.roster-player-row{grid-template-columns:32px minmax(130px,1.4fr) 96px 76px 42px;gap:7px}.roster-audit-grid{grid-template-columns:1fr}}@media(max-width:760px){.roster-facts,.roster-audit-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-facts>div:nth-child(2),.roster-audit-facts>div:nth-child(2){border-right:0}.roster-master-detail{grid-template-columns:1fr}.roster-team-index{border-right:0;border-bottom:1px solid var(--pkuba-line)}.roster-team-list{max-height:250px}.roster-editor{padding:22px 16px}.roster-team-fields{grid-template-columns:1fr}.roster-player-table{overflow-x:auto}.roster-player-row{min-width:620px}.roster-final-change,.roster-maintenance-preview{align-items:stretch;flex-direction:column}.roster-confirm-actions{align-items:stretch}.roster-import-lock{align-items:flex-start;flex-direction:column;gap:4px}}*{box-sizing:border-box}html{background:var(--pkuba-canvas);color:var(--pkuba-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}button:not(:disabled){cursor:pointer}.app-shell{display:grid;min-height:100vh;grid-template-columns:236px minmax(0,1fr)}.sidebar{display:flex;position:sticky;top:0;height:100vh;min-height:0;flex-direction:column;padding:26px 18px 20px;background:var(--pkuba-warm-white);border-right:1px solid var(--pkuba-line)}.brand{flex:0 0 auto;width:142px;height:102px;object-fit:contain;object-position:left center;margin:0 10px 24px}.sidebar nav{display:grid;flex:1 1 auto;min-height:0;gap:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:0 12px;color:var(--pkuba-muted);background:transparent;border:0;border-radius:var(--pkuba-radius-sm);cursor:default;text-align:left}.nav-item.active{color:var(--pkuba-red-dark);background:#f5e8e7;font-weight:700}.nav-item small{font-size:10px;color:#aaa49b}.nav-item:disabled{opacity:.68}.sidebar-account{display:grid;gap:4px;margin-top:auto;padding:14px 12px 0;border-top:1px solid var(--pkuba-line);flex:0 0 auto}.sidebar-account span{color:var(--pkuba-muted);font-size:12px}.sidebar-account button{width:fit-content;padding:6px 0;color:var(--pkuba-red-dark);background:transparent;border:0;font-size:12px}.site-footer{display:grid;min-width:0;flex:0 0 auto;justify-items:center;gap:4px;margin-top:auto;padding-top:22px;color:var(--pkuba-muted);font-size:11px;line-height:1.5;text-align:center}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--pkuba-red-dark);text-decoration:underline}.site-footer-police{display:inline-flex;max-width:100%;align-items:center;justify-content:center;gap:4px}.site-footer-police img{width:16px;height:auto;flex:0 0 auto}.site-footer-police span{min-width:0;overflow-wrap:anywhere}.site-footer-compact{justify-items:start;margin-top:12px;padding:12px 6px 0;border-top:1px solid var(--pkuba-line);font-size:9px;text-align:left}.workspace{width:min(100%,var(--pkuba-content));min-width:0;margin:0 auto;padding:36px 42px 72px}.workspace.workspace-schedule-planner{width:100%;max-width:none;padding-inline:24px}.topbar,.panel-heading,.topbar-actions{display:flex;align-items:center}.topbar,.panel-heading{justify-content:space-between}.topbar{margin-bottom:28px}.eyebrow{margin:0 0 5px;color:var(--pkuba-red);font-size:12px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(28px,3vw,42px);letter-spacing:-.04em}h2{margin-bottom:0;font-size:20px}.topbar-actions{gap:12px}.status{border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.account-role{color:var(--pkuba-muted);font-size:13px}.primary-action{height:38px;padding:0 16px;border:0;border-radius:var(--pkuba-radius-sm);color:#fff;background:var(--pkuba-red)}.primary-action:disabled{opacity:.45}.secondary-action,.danger-action{min-height:40px;padding:0 16px;border-radius:var(--pkuba-radius-sm);font-weight:700;white-space:nowrap}.secondary-action{color:var(--pkuba-red-dark);background:#fff;border:1px solid var(--pkuba-red)}.danger-action{color:#fff;background:var(--pkuba-red-dark);border:0}.secondary-action:disabled,.danger-action:disabled{opacity:.45}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--pkuba-line);margin-bottom:28px}.metric{padding:20px 18px;border-right:1px solid var(--pkuba-line)}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric span{display:block;margin-bottom:7px;color:var(--pkuba-muted);font-size:12px}.metric strong{font-size:21px}.panel,.state-panel{background:var(--pkuba-warm-white);border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-lg)}.panel-heading{padding:22px 24px;border-bottom:1px solid var(--pkuba-line)}.subtle,.state-panel p{color:var(--pkuba-muted);font-size:13px}.admin-schedule-timeline{padding:0 24px 26px}.admin-timeline-day{padding-top:24px}.admin-timeline-day+.admin-timeline-day{margin-top:12px;border-top:1px solid var(--pkuba-line)}.admin-timeline-day-heading,.admin-timeline-time-heading,.admin-timeline-game-topline,.admin-timeline-team-row,.admin-timeline-game-footline,.admin-timeline-footnote{display:flex;align-items:center;justify-content:space-between}.admin-timeline-day-heading{margin-bottom:18px}.admin-timeline-day-heading h3{margin:0;font-size:20px;letter-spacing:-.02em}.admin-timeline-day-heading span,.admin-timeline-time-heading span{color:var(--pkuba-muted);font-size:12px;font-weight:700}.admin-timeline-time-block+.admin-timeline-time-block{margin-top:22px}.admin-timeline-time-heading{margin-bottom:10px;padding-bottom:9px;border-bottom:2px solid #272421}.admin-timeline-time-heading time{font-size:23px;font-weight:850;font-variant-numeric:tabular-nums}.admin-timeline-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-timeline-game{min-width:0;padding:17px 21px 15px;border-left:4px solid;border-bottom:1px solid #ded9d1;transition:background-color .12s ease}.admin-timeline-men{border-left-color:#272421;background:#f9f8f5}.admin-timeline-women{border-left-color:var(--pkuba-red);background:#fff3f3}.admin-timeline-men:hover{background:#f2f0ec}.admin-timeline-women:hover{background:#fdeaea}.admin-timeline-game-topline{gap:16px;margin-bottom:10px}.admin-timeline-division{padding:5px 9px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.admin-timeline-men .admin-timeline-division{background:#272421}.admin-timeline-women .admin-timeline-division{background:var(--pkuba-red)}.admin-timeline-venue{overflow:hidden;color:var(--pkuba-muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-timeline-team-row{justify-content:center;width:84%;min-height:38px;margin-inline:auto;gap:14px}.admin-timeline-team-row strong{flex:1 1 auto;overflow:hidden;font-size:18px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.admin-timeline-score{flex:0 0 48px;text-align:center}.admin-timeline-score.has-score{font-size:27px;font-weight:900;font-variant-numeric:tabular-nums}.admin-timeline-score.no-score{color:#97918a;font-size:12px;font-weight:700;text-transform:uppercase}.admin-timeline-game-footline{min-height:22px;gap:14px;margin-top:7px;color:#817b74;font-size:12px}.admin-timeline-footnote{justify-content:flex-end;gap:9px}.admin-timeline-footnote b{color:#706a64}.admin-timeline-footnote small{font-size:10px}.admin-forfeit-label{color:#a13a3e!important}.status{padding:4px 7px;text-align:center}.status.ready{color:var(--pkuba-success);background:#e7f1ea}.status.waiting{color:var(--pkuba-warning);background:#f8ede1}.empty-state,.state-panel{padding:42px 24px;text-align:center}.state-panel.error{border-color:#e1b8b6;background:#fff8f7}.login-shell{display:grid;min-height:100vh;place-items:center;padding:32px;background:var(--pkuba-canvas)}body:has(.login-shell){min-width:0}.login-layout{display:grid;width:min(100%,1040px);min-height:610px;grid-template-columns:minmax(380px,.92fr) minmax(430px,1.08fr);overflow:hidden;background:var(--pkuba-warm-white);border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-lg);animation:login-enter .32s ease-out both}.login-context{display:flex;position:relative;flex-direction:column;justify-content:space-between;padding:42px 38px 34px;background:#ece8e0;border-top:5px solid var(--pkuba-red)}.login-context:after{position:absolute;right:0;top:34px;bottom:34px;width:1px;background:#d5cfc5;content:""}.login-context h1,.login-heading h2{margin:0;letter-spacing:-.035em}.login-context h1{max-width:none;font-size:clamp(32px,4vw,45px);line-height:1.08;white-space:nowrap}.login-context p:not(.eyebrow){max-width:18em;margin:18px 0 0;color:var(--pkuba-muted);font-size:14px;line-height:1.7}.login-context-mark{max-width:25em;color:#8f8981;font-size:9px;font-weight:750;letter-spacing:.18em;line-height:1.6}.login-panel{display:flex;width:100%;flex-direction:column;padding:48px 54px 42px;background:var(--pkuba-warm-white)}.login-panel>.site-footer{margin-top:auto}.login-brand{width:158px;height:106px;object-fit:contain;object-position:left center}.login-heading h2{font-size:30px;line-height:1.2}.login-tabs{display:grid;grid-template-columns:repeat(2,1fr);margin-top:28px;border-bottom:1px solid var(--pkuba-line)}.login-tabs button{position:relative;height:42px;padding:0;color:var(--pkuba-muted);background:transparent;border:0;font-size:14px;font-weight:700;transition:color .16s ease}.login-tabs button:after{position:absolute;right:50%;bottom:-1px;left:50%;height:2px;background:var(--pkuba-red);content:"";transition:inset .18s ease}.login-tabs button.active{color:var(--pkuba-ink)}.login-tabs button.active:after{right:18%;left:18%}.qr-login{display:grid;justify-items:center;padding-top:26px;text-align:center}.qr-frame{display:grid;position:relative;width:218px;height:218px;place-items:center;overflow:hidden;background:#fff;border:1px solid var(--pkuba-line);border-radius:14px}.qr-frame img{display:block;width:100%;height:100%}.qr-placeholder{width:28px;height:28px;border:2px solid #d7d1c7;border-top-color:var(--pkuba-red);border-radius:50%;animation:qr-spin .8s linear infinite}.qr-overlay{display:grid;position:absolute;inset:0;place-items:center;color:var(--pkuba-ink);background:#faf9f6eb;font-size:14px;font-weight:800;animation:qr-overlay-enter .16s ease-out both}.qr-instruction{max-width:31em;margin:19px 0 0;color:var(--pkuba-muted);font-size:13px;line-height:1.65}.qr-status{margin:11px 0 0;color:var(--pkuba-ink);font-size:12px;font-weight:700}.qr-login .form-error{width:100%;margin-top:14px;text-align:left}.qr-refresh{margin-top:14px}.login-intro,.login-footnote{color:var(--pkuba-muted);line-height:1.6}.login-intro{margin:0 0 4px}.password-login{display:grid;gap:16px;padding-top:26px}.login-panel label{display:grid;gap:7px;color:var(--pkuba-muted);font-size:13px;font-weight:650}.login-panel input:not([type=checkbox]){width:100%;height:44px;padding:0 12px;color:var(--pkuba-ink);background:#fff;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-sm);outline:none}.login-panel input:focus{border-color:var(--pkuba-red);box-shadow:0 0 0 3px #f5e8e7}.login-submit{height:44px}.login-footnote{margin:2px 0 0;font-size:12px}@keyframes login-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes qr-spin{to{transform:rotate(360deg)}}@keyframes qr-overlay-enter{0%{opacity:0}to{opacity:1}}@media(max-width:900px){.login-shell{place-items:start center;padding:18px}.login-layout{min-height:auto;grid-template-columns:1fr}.login-context{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:22px 24px}.login-context:after,.login-context-mark,.login-context p:not(.eyebrow){display:none}.login-context .eyebrow{margin-bottom:4px}.login-context h1{max-width:none;font-size:24px}.login-brand{width:108px;height:72px}.login-panel{padding:32px 28px 30px}}@media(max-width:360px){.login-shell{padding:12px}.login-context{gap:12px;padding:18px}.login-context h1{font-size:21px}.login-brand{width:84px;height:56px}.login-panel{padding:28px 20px 26px}}@media(prefers-reduced-motion:reduce){.login-layout,.qr-placeholder,.qr-overlay{animation:none}}.form-error,.form-success{padding:12px 14px;border-radius:var(--pkuba-radius-sm);font-size:13px;line-height:1.5}.form-error{color:var(--pkuba-red-dark);background:#fff0ef;border:1px solid #e1b8b6}.form-success{color:var(--pkuba-success);background:#e7f1ea;border:1px solid #b9d6c2}.import-workflow{display:grid;gap:18px}.import-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px}.import-intro p:last-child{max-width:760px;margin:10px 0 0;color:var(--pkuba-muted);line-height:1.6}.upload-panel{padding-bottom:20px}.upload-row{display:flex;align-items:center;gap:14px;padding:20px 24px 12px}.upload-panel>.subtle{margin:0;padding:0 24px}.validation-panel{overflow:hidden}.error-badge{color:var(--pkuba-red-dark);background:#fff0ef}.import-summary{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--pkuba-line)}.import-summary>div{padding:18px 24px;border-right:1px solid var(--pkuba-line)}.import-summary>div:last-child{border-right:0}.import-summary span{display:block;margin-bottom:5px;color:var(--pkuba-muted);font-size:12px}.import-summary strong{font-size:20px}.issue-list{display:grid;gap:8px;padding:18px 24px;border-bottom:1px solid var(--pkuba-line)}.issue{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:9px 11px;border-radius:var(--pkuba-radius-sm);font-size:13px}.issue.error{color:var(--pkuba-red-dark);background:#fff0ef}.issue.warning{color:var(--pkuba-warning);background:#f8ede1}.issue code{color:inherit}.policy-table{overflow-x:auto}.policy-row{display:grid;grid-template-columns:150px minmax(300px,1fr) 180px;gap:16px;align-items:center;min-width:720px;padding:13px 24px;border-bottom:1px solid #ebe8e2;font-size:13px}.policy-head{color:var(--pkuba-muted);background:var(--pkuba-canvas);font-size:12px;font-weight:700}.policy-toggle{display:flex;align-items:center;gap:8px;font-weight:650}.confirmation-check{display:flex;gap:10px;align-items:flex-start;margin:20px 24px 14px;font-size:13px;line-height:1.5}.validation-panel>.danger-action{margin:0 24px 24px}.account-workflow{display:grid;gap:18px}.account-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px}.account-intro p:last-child{max-width:760px;margin:10px 0 0;color:var(--pkuba-muted);line-height:1.6}.invite-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:32px;padding:24px}.invite-copy p{max-width:680px;margin:10px 0;color:var(--pkuba-muted);line-height:1.6}.invite-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.invite-form label{min-width:0;display:grid;gap:6px;color:var(--pkuba-muted);font-size:12px;font-weight:700}.invite-form input{width:100%;min-width:0;height:40px;padding:0 12px;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-sm);background:#fff}.invite-form .primary-action{grid-column:1 / -1;justify-self:end}.account-panel{overflow:hidden}.account-table{overflow-x:auto}.account-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(110px,.7fr) 90px minmax(150px,.8fr);gap:16px;align-items:center;min-width:620px;padding:14px 24px;border-bottom:1px solid #ebe8e2;font-size:13px}.account-row:last-child{border-bottom:0}.account-head{color:var(--pkuba-muted);background:var(--pkuba-canvas);font-size:12px;font-weight:700}.account-identity{display:grid;gap:4px}.account-identity span{color:var(--pkuba-muted);font-size:12px}.status.inactive{color:var(--pkuba-muted);background:#eeece8}.account-actions{display:flex;gap:14px}.text-action{padding:3px 0;color:var(--pkuba-red-dark);background:transparent;border:0;font-weight:700}.text-action.destructive{color:#a13b36}.confirmation-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;background:#fff8f7;border:1px solid #e1b8b6;border-radius:var(--pkuba-radius-lg)}.confirmation-panel p:last-child{margin:9px 0 0;color:var(--pkuba-muted);line-height:1.55}.confirmation-actions{display:flex;flex:0 0 auto;gap:10px}.account-security-action{min-height:36px;padding:0 14px;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-sm);color:var(--pkuba-ink);background:#fff;font-weight:750}.workspace-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;padding:12px 16px;border-left:4px solid #2f6b48;background:#eef7f1;color:#234e35;font-size:13px;font-weight:700}.workspace-notice button,.dialog-close{padding:0;border:0;color:inherit;background:transparent;font-size:22px;line-height:1}.dialog-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:24px;background:#17161475}.password-dialog{width:min(100%,480px);padding:28px;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-lg);background:#fff;box-shadow:0 24px 70px #17161438}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-heading h2{margin:5px 0 0;font-size:24px}.dialog-close{color:var(--pkuba-muted)}.dialog-detail{margin:18px 0 20px;color:var(--pkuba-muted);font-size:13px;line-height:1.65}.password-form,.password-form label{display:grid}.password-form{gap:15px}.password-form label{gap:7px;color:var(--pkuba-muted);font-size:12px;font-weight:750}.password-form input{height:42px;padding:0 12px;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-sm);color:var(--pkuba-ink);background:#fff;font:inherit}.password-form input:focus{border-color:var(--pkuba-red);outline:2px solid rgb(201 31 38 / 10%)}.form-error{margin:0;color:#a13b36;font-size:13px;font-weight:700}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.dialog-secondary{padding:0 16px;border:1px solid var(--pkuba-line);border-radius:var(--pkuba-radius-sm);color:var(--pkuba-ink);background:#fff;font-weight:700}@media(max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.invite-panel{grid-template-columns:minmax(0,1fr);gap:20px}.workspace.workspace-schedule-planner{padding-inline:20px}.sidebar{display:grid;position:static;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;height:auto;padding:14px 20px;border-right:0;border-bottom:1px solid var(--pkuba-line)}.brand{width:92px;height:58px;margin:0}.sidebar nav{display:flex;flex:initial;min-width:0;min-height:auto;gap:5px;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain;scrollbar-width:thin}.sidebar nav .nav-item{width:auto;min-height:38px;flex:0 0 auto;padding-inline:11px}.sidebar nav .nav-item:disabled{display:none}.sidebar-account{display:flex;align-items:center;margin:0;padding:0;border-top:0}.sidebar-account strong,.sidebar-account span{display:none}.sidebar-account button{padding:8px;white-space:nowrap}.sidebar>.site-footer-compact{grid-column:1 / -1;width:100%;justify-items:center;margin-top:0;padding:8px 0 0;text-align:center}.workspace{padding:24px 18px 48px}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--pkuba-line)}.admin-timeline-games{grid-template-columns:1fr}.admin-timeline-team-row{width:100%}.import-intro,.account-intro,.upload-row{align-items:stretch;flex-direction:column}.import-summary{grid-template-columns:repeat(2,1fr)}.import-summary>div:nth-child(2){border-right:0}.confirmation-panel{align-items:stretch;flex-direction:column}}@media(max-width:560px){.invite-form{grid-template-columns:minmax(0,1fr)}.sidebar{grid-template-columns:1fr auto;gap:8px 14px}.sidebar nav{grid-column:1 / -1;grid-row:2}.topbar{align-items:flex-start;gap:12px}.topbar-actions{gap:7px;flex-direction:column;align-items:stretch}.primary-action{padding-inline:12px;white-space:nowrap}.admin-schedule-timeline{padding-inline:14px}.admin-timeline-day-heading h3{font-size:18px}.admin-timeline-game{padding-inline:14px}.login-panel{padding:28px 22px}}.schedule-import-workspace{--import-green: #1f7a55;--import-green-dark: #135f40;--import-green-soft: #edf7f1;--import-line: #dfe7e2;display:grid;gap:22px}.schedule-import-workspace .primary-action{background:var(--import-green)}.schedule-import-workspace .primary-action:hover:not(:disabled){background:var(--import-green-dark)}.import-steps{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;border-block:1px solid var(--import-line)}.import-steps li{display:flex;align-items:center;gap:9px;min-height:52px;padding:0 16px;color:var(--pkuba-muted);border-right:1px solid var(--import-line)}.import-steps li:last-child{border-right:0}.import-steps li>span{display:grid;width:24px;height:24px;place-items:center;border:1px solid #aebbb4;border-radius:50%;font-size:12px}.import-steps li.done,.import-steps li.current{color:var(--pkuba-ink)}.import-steps li.done>span{color:#fff;background:var(--import-green);border-color:var(--import-green)}.import-steps li.current{box-shadow:inset 0 -3px var(--import-green)}.import-steps li.error{color:var(--pkuba-red-dark);box-shadow:inset 0 -3px var(--pkuba-red)}.import-section,.import-danger-zone{overflow:hidden;background:#fff;border:1px solid var(--import-line);border-radius:8px}.import-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px;border-bottom:1px solid var(--import-line)}.import-section-heading.compact{align-items:center}.import-section-heading h2,.import-section-heading h3{margin:2px 0 0}.import-section-heading p:last-child{max-width:760px;margin:8px 0 0;color:var(--pkuba-muted);line-height:1.55}.season-actions{display:flex;align-items:flex-end;gap:10px}.season-actions .quiet-action,.season-actions .primary-action{flex:0 0 auto;white-space:nowrap}.season-actions label{display:grid;gap:6px;min-width:250px;color:var(--pkuba-muted);font-size:12px}.season-actions select,.preview-toolbar select,.preview-toolbar input,.reset-confirmation input{min-height:40px;padding:8px 10px;color:var(--pkuba-ink);background:#fff;border:1px solid var(--pkuba-line);border-radius:6px;font:inherit}.import-grid-configuration{margin:20px 24px 0;overflow:hidden;background:#fbfcfa;border:1px solid #d8e1db;border-radius:7px}.import-grid-configuration>header,.import-grid-configuration>footer,.import-grid-heading-actions,.import-grid-order-actions,.import-grid-final-toggle{display:flex;align-items:center}.import-grid-configuration>header{justify-content:space-between;gap:24px;padding:18px 20px;border-bottom:1px solid #d8e1db}.import-grid-configuration h3{margin:2px 0 0;font-size:18px}.import-grid-configuration header p:last-child{margin:6px 0 0;color:var(--pkuba-muted);font-size:12px}.import-grid-heading-actions{gap:12px}.import-grid-heading-actions>strong{color:var(--import-green-dark);font-size:13px;white-space:nowrap}.import-grid-column-table{overflow-x:auto}.import-grid-column-row{display:grid;grid-template-columns:54px minmax(210px,1fr) minmax(180px,1fr) 112px 88px 32px;min-width:800px;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #e4e9e5}.import-grid-column-row:last-child{border-bottom:0}.import-grid-column-head{min-height:36px;padding-block:6px;color:var(--pkuba-muted);background:#f2f6f3;font-size:11px;font-weight:750;letter-spacing:.04em}.import-grid-column-row.final-only{box-shadow:inset 3px 0 #c3943d}.import-grid-position{color:#8c958f;font-size:12px;font-variant-numeric:tabular-nums}.import-grid-column-row select{width:100%;min-width:0;min-height:38px;padding:7px 9px;color:var(--pkuba-ink);background:#fff;border:1px solid var(--pkuba-line);border-radius:5px;font:inherit}.import-grid-final-toggle{gap:7px;font-size:12px;font-weight:700}.import-grid-final-toggle input{width:16px;height:16px;accent-color:#b47c24}.import-grid-order-actions{gap:5px}.import-grid-order-actions button,.import-grid-remove{display:grid;width:30px;min-height:30px;place-items:center;padding:0;color:var(--pkuba-muted);background:#fff;border:1px solid var(--pkuba-line);border-radius:4px}.import-grid-order-actions button:hover:not(:disabled){color:var(--import-green-dark);border-color:#7ba58e}.import-grid-remove:hover:not(:disabled){color:#fff;background:var(--pkuba-red);border-color:var(--pkuba-red)}.import-grid-order-actions button:disabled,.import-grid-remove:disabled{opacity:.3}.import-grid-empty{margin:0;padding:24px 20px;color:var(--pkuba-muted)}.import-grid-configuration>footer{justify-content:flex-end;gap:16px;padding:13px 16px;color:var(--pkuba-muted);background:#f2f6f3;border-top:1px solid #d8e1db;font-size:12px}.readiness-strip,.creation-summary,.reset-counts{display:flex;align-items:stretch;overflow-x:auto;border-bottom:1px solid var(--import-line)}.readiness-strip>span,.creation-summary>span,.reset-counts>span{display:grid;min-width:110px;gap:3px;padding:14px 18px;border-right:1px solid var(--import-line)}.readiness-strip small,.creation-summary small{color:var(--pkuba-muted)}.readiness-strip strong,.creation-summary strong{font-size:20px}.readiness-strip .readiness-ready,.readiness-strip .readiness-blocked{min-width:120px;place-items:center;margin-left:auto;font-weight:750}.readiness-strip .readiness-ready{color:var(--import-green-dark);background:var(--import-green-soft)}.readiness-strip .readiness-blocked{color:var(--pkuba-red-dark);background:#fff2f1}.creation-summary .featured{color:#fff;background:var(--import-green)}.creation-summary .featured small{color:#d8eee2}.grid-template-status{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 24px;border-bottom:1px solid var(--import-line)}.grid-template-status>div{display:grid;gap:3px}.grid-template-status small{color:var(--pkuba-muted)}.grid-template-status .readiness-ready,.grid-template-status .readiness-blocked{padding:7px 10px;border-radius:4px;font-size:12px;font-weight:750}.grid-template-status .readiness-ready{color:var(--import-green-dark);background:var(--import-green-soft)}.grid-template-status .readiness-blocked{color:var(--pkuba-red-dark);background:#fff2f1}.grid-layout-guide{overflow-x:auto;padding:20px 24px 0}.grid-layout-row{display:grid;grid-template-columns:130px 80px minmax(190px,1fr) minmax(190px,1fr);min-width:650px}.grid-layout-row>*{min-height:44px;padding:11px 12px;border-right:1px solid #c8d5cd;border-bottom:1px solid #c8d5cd}.grid-layout-row>*:first-child{border-left:1px solid #c8d5cd}.grid-layout-head>*{color:#fff;background:#21543c;border-top:1px solid #c8d5cd;font-size:12px;font-weight:750}.grid-layout-row:not(.grid-layout-head)>*{background:#f8fbf9}.grid-layout-row:not(.grid-layout-head)>*:nth-child(-n+2){background:#f2f5f3}.grid-layout-row .final-grid-cell{color:#755018;background:#fff2d8;font-weight:700}.sheet-spec-table,.game-preview-table{overflow-x:auto}.sheet-spec-row{display:grid;grid-template-columns:130px minmax(420px,1.6fr) minmax(260px,1fr);min-width:920px;border-bottom:1px solid var(--import-line)}.sheet-spec-row>*{padding:14px 16px;line-height:1.45;border-right:1px solid var(--import-line)}.sheet-spec-row>*:last-child{border-right:0}.sheet-spec-head{color:var(--pkuba-muted);background:#f8faf8;font-size:12px;font-weight:750}.field-tags{display:flex;flex-wrap:wrap;gap:5px}.field-tags code{padding:2px 6px;color:var(--import-green-dark);background:var(--import-green-soft);border-radius:3px;font-family:inherit;font-size:12px}.format-note{margin:0;padding:16px 24px;color:var(--pkuba-muted);background:#fbfcfb;font-size:13px;line-height:1.6}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}.file-dropzone{display:flex;align-items:center;gap:16px;margin:20px 24px 14px;padding:24px;color:var(--pkuba-muted);background:#fbfcfb;border:1px dashed #a9b9af;border-radius:7px;cursor:pointer}.file-dropzone:hover,.file-dropzone:focus-visible,.file-dropzone.active{background:var(--import-green-soft);border-color:var(--import-green);outline:2px solid rgb(31 122 85 / 18%);outline-offset:2px}.file-dropzone.has-file{color:var(--pkuba-ink);border-style:solid}.file-dropzone>div{display:grid;gap:5px}.file-dropzone>div span{color:var(--pkuba-muted);font-size:13px}.file-mark{display:grid;width:58px;height:44px;flex:0 0 auto;place-items:center;color:#fff;background:var(--import-green);border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.08em}.file-actions{display:flex;align-items:center;gap:10px;padding:0 24px 22px}.file-actions .primary-action{margin-left:auto}.quiet-action{min-height:40px;padding:0 10px;color:var(--pkuba-muted);background:transparent;border:0;font-weight:700}.quiet-action:hover{color:var(--pkuba-ink)}.validation-state{padding:7px 10px;border-radius:4px;font-size:13px;font-weight:750;white-space:nowrap}.validation-state.valid{color:var(--import-green-dark);background:var(--import-green-soft)}.validation-state.invalid{color:var(--pkuba-red-dark);background:#fff0ef}.import-issue-group{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:16px 24px;border-bottom:1px solid var(--import-line)}.import-issue-group>strong{padding-top:7px}.import-issue-group>div{display:grid;gap:6px}.import-issue-group p{display:grid;grid-template-columns:minmax(170px,.35fr) minmax(280px,1fr) auto;gap:10px;margin:0;padding:7px 9px;border-radius:4px;line-height:1.45}.import-issue-group.error p{color:#81251f;background:#fff2f1}.import-issue-group.warning p{color:#735315;background:#fff8e8}.import-issue-group code{color:inherit;font-size:12px;font-weight:750}.import-issue-group small{white-space:nowrap}.preview-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 140px 140px 160px auto;gap:8px;align-items:center;padding:16px 24px;border-bottom:1px solid var(--import-line)}.preview-toolbar>span{color:var(--pkuba-muted);font-size:12px;text-align:right;white-space:nowrap}.game-preview-row{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(140px,1fr) minmax(220px,1.4fr) minmax(150px,1fr) minmax(130px,.8fr);min-width:860px;border-bottom:1px solid var(--import-line)}.game-preview-row>span{display:grid;align-content:center;gap:3px;min-height:60px;padding:10px 14px;border-right:1px solid var(--import-line)}.game-preview-row>span:last-child{border-right:0}.game-preview-row small{color:var(--pkuba-muted)}.game-preview-head{color:var(--pkuba-muted);background:#f8faf8;font-size:12px;font-weight:750}.game-preview-head>span{min-height:38px}.table-empty{margin:0;padding:28px;color:var(--pkuba-muted);text-align:center}.confirm-create{display:grid;padding:0;background:var(--import-green-soft)}.confirm-create-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--import-line)}.confirm-create h3,.confirm-create p{margin:3px 0 0}.confirm-create p:last-child{color:var(--pkuba-muted);font-size:13px;line-height:1.5}.audit-total{flex:0 0 auto;padding:6px 10px;border:1px solid currentColor;border-radius:999px;font-size:12px}.audit-total.passed{color:var(--import-green-dark)}.audit-total.failed{color:#9a3434}.confirmation-audit{margin:0;padding:0 24px;list-style:none}.confirmation-audit li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:11px;align-items:center;min-height:56px;border-bottom:1px solid var(--import-line);transition:background-color .16s ease,color .16s ease}.confirmation-audit li>span:nth-child(2){display:grid;gap:3px}.confirmation-audit small{color:var(--pkuba-muted);line-height:1.4}.confirmation-audit b{font-size:12px}.confirmation-audit .audit-mark{display:grid;width:20px;height:20px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:12px;font-weight:800}.confirmation-audit li.passed{color:var(--import-green-dark)}.confirmation-audit li.failed{color:#9a3434}.confirm-create-action{display:grid;grid-template-columns:minmax(340px,1fr) auto;gap:20px;align-items:center;padding:18px 24px 20px}.confirm-create .confirmation-check{margin:0}.import-success-actions{display:flex;align-items:center;gap:14px;padding:18px 24px;color:var(--import-green-dark);background:var(--import-green-soft)}.import-success-actions>span{margin-right:auto;color:var(--pkuba-muted)}.import-danger-zone{border-color:#e3c5c2}.import-danger-zone .import-section-heading{background:snow;border-bottom-color:#ecd5d2}.reset-counts{background:#fffdfd;border-bottom-color:#ecd5d2}.reset-counts>span{color:var(--pkuba-muted);border-right-color:#ecd5d2}.reset-confirmation{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(340px,1.3fr) auto;gap:20px;align-items:end;padding:20px 24px}.reset-confirmation>label:first-child{display:grid;gap:7px;color:var(--pkuba-muted);font-size:13px}.reset-confirmation .confirmation-check{margin:0 0 10px}@media(max-width:1050px){.import-section-heading,.season-actions{align-items:stretch;flex-direction:column}.season-actions label{min-width:0}.preview-toolbar{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(120px,.5fr))}.preview-toolbar>span{grid-column:1 / -1}.confirm-create,.reset-confirmation{grid-template-columns:1fr}.confirm-create-heading{align-items:flex-start}.confirm-create-action{grid-template-columns:1fr}.readiness-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible}.readiness-strip>span{min-width:0}.readiness-strip .readiness-ready,.readiness-strip .readiness-blocked{grid-column:span 2;min-width:0;margin-left:0}.sheet-spec-row{grid-template-columns:110px minmax(340px,1.4fr) minmax(220px,1fr);min-width:700px}}@media(max-width:1320px){.format-section .import-section-heading{align-items:stretch;flex-direction:column}.format-section .season-actions{justify-content:flex-start}}@media(max-width:720px){.import-steps{grid-template-columns:1fr}.import-steps li{border-right:0;border-bottom:1px solid var(--import-line)}.import-steps li:last-child{border-bottom:0}.import-section-heading,.file-actions,.format-note,.import-issue-group,.reset-confirmation{padding-inline:16px}.file-dropzone{margin-inline:16px;padding:18px}.file-actions{flex-wrap:wrap}.file-actions .primary-action{width:100%;margin-left:0}.preview-toolbar{grid-template-columns:1fr 1fr;padding-inline:16px}.preview-toolbar>input:first-child,.preview-toolbar>span{grid-column:1 / -1}.import-issue-group,.import-issue-group p{grid-template-columns:1fr}.import-success-actions{align-items:stretch;flex-direction:column}.confirm-create-heading{align-items:stretch;flex-direction:column;padding-inline:16px}.confirmation-audit{padding-inline:16px}.confirmation-audit li{grid-template-columns:24px minmax(0,1fr);padding-block:10px}.confirmation-audit li>b{grid-column:2}.confirm-create-action{padding-inline:16px}.import-success-actions>span{margin-right:0}.grid-template-status{align-items:flex-start;flex-direction:column;padding-inline:16px}.grid-layout-guide{padding-inline:16px}.import-grid-configuration{margin-inline:16px}.import-grid-configuration>header,.import-grid-configuration>footer{align-items:stretch;flex-direction:column}.import-grid-heading-actions{justify-content:space-between}.import-grid-configuration>footer .primary-action{width:100%}.readiness-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.readiness-strip .readiness-ready,.readiness-strip .readiness-blocked{grid-column:1 / -1}.sheet-spec-row{grid-template-columns:105px minmax(0,1fr);min-width:0}.sheet-spec-head{display:none}.sheet-spec-row>strong{grid-row:1 / span 2;background:#f8faf8}.sheet-spec-row>span:last-child{border-top:1px dashed var(--import-line)}}
