/* Transfer experience [oa]. Shared chrome, with a small original crown and shield crest. */
.ks-header{display:flex;align-items:center;gap:1rem;min-height:88px;padding:1rem clamp(1.1rem,4vw,2.4rem);max-width:1180px;margin:auto;color:#edf0f5}
.ks-brand{display:flex;align-items:center;gap:.8rem;color:inherit;text-decoration:none;width:fit-content}
.ks-crest{width:48px;height:58px;flex:none;filter:drop-shadow(0 3px 6px #0005)}
.ks-brand strong{display:block;font-family:"Saira Condensed",sans-serif;font-size:1.5rem;line-height:1.1;letter-spacing:.06em}
.ks-brand small{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#c6ccd8;margin-top:.2rem}
.ks-header .brand-text{padding-right:130px}
.transfer-hero{padding:2.7rem 0 2rem;background:radial-gradient(ellipse at 95% 0%,#596b813b,transparent 65%),linear-gradient(140deg,#242d3d,#151a24);color:#edf0f5;border-bottom:1px solid #a3844b55}
.transfer-hero:after{display:none}
.transfer-hero h1.head{font-size:clamp(2.8rem,7vw,4.8rem);max-width:14ch;color:#f4f3ed;text-transform:none;line-height:1.02;letter-spacing:-.015em}
.transfer-hero .sub{color:#c7d0df;font-style:normal;font-size:1.05rem;max-width:54ch;line-height:1.65;margin-top:1.1rem}
.transfer-hero .kingdom-note{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.75rem;max-width:62ch;margin-top:1.5rem;padding:1rem;background:#2b3a4b;border:1px solid #53677c;border-radius:12px}
.kingdom-note-icon{width:20px;height:20px;margin-top:.2rem;color:#a7d4f6}
.transfer-hero .kingdom-note .sub{margin:0;font-size:1rem;color:#e1eaf5}
.transfer-hero .kingdom-note .sub + .sub{margin-top:.85rem}
.hero-kicker{color:#e6c486;font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.9rem}
.hero-intro{max-width:780px}
.hero-window{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:1.35rem 0;color:#e1e6ee;font-size:.85rem}
.hero-window strong{color:#e6c486;font-weight:600}
.transfer-hero .steps{border-color:#69718170;color:#c7d0df;max-width:780px;margin-top:2rem}
.transfer-hero .steps li[aria-current]{color:#fff}
.transfer-hero .cfg{max-width:680px;margin-top:1.3rem;background:#edf0f5;color:#222c3d;border:0;box-shadow:0 14px 35px #0003}
.transfer-hero .cfg label{color:#394557}
.transfer-hero .cfg input{background:#fff;color:#202a39;border-color:#7c8697}
.transfer-hero .errbank,.transfer-hero .msg{color:#ffc0b6}
.transfer-hero.compact{padding:.3rem 0 1.2rem}
.transfer-hero.compact .hero-intro{display:none}
.transfer-hero.compact .steps{margin-top:.4rem}
body .tk.primary,body #find,body .btn-go{background:#963728;color:#fff;border-color:#963728;box-shadow:0 4px 10px #0001}
body .tk.primary:hover,body #find:hover,body .btn-go:hover{background:#7d2d22;color:#fff;border-color:#7d2d22}
body .tk,body .btn{min-height:44px;padding:.65rem 1rem;font-family:"Archivo",sans-serif;font-size:.9rem;letter-spacing:0;text-transform:none;line-height:1.35}
body .cfg label{font-family:"Archivo",sans-serif;font-size:.95rem;letter-spacing:0;text-transform:none;line-height:1.5}
body .hint{font-size:.85rem;line-height:1.55}
#step2,#step3,#step4,#step5,#stat,#needcode{padding:2.5rem 0}
#step3 .wrap,#step2 .wrap,#step4 .wrap,#stat .wrap,#needcode .wrap{max-width:900px}
#step3 h2.head,#step2 h2.head,#stat h2.head,#needcode h2.head{font-size:clamp(2rem,5vw,3rem);text-transform:none}
#step3 .cfg{padding:1.4rem;gap:.65rem}
#step3 .cfg input,#step3 .cfg select,#step3 .cfg textarea{width:100%;max-width:100%;font-family:"Archivo",sans-serif;line-height:1.5;padding:.75rem}
.form-section{font-family:"Saira Condensed",sans-serif;font-size:1.4rem;font-weight:600;text-transform:none;letter-spacing:0;border-top:1px solid var(--bone-edge);padding-top:1.25rem;margin-top:.75rem;width:100%}
.form-section:first-child{border:0;margin-top:0;padding-top:0}
.zone-choice{font-size:.9rem;display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;width:100%}
.zone-choice strong{font-weight:600}
.zone-choice select{min-height:44px}
#q4-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.65rem}
#q4-blocks .chip{padding:1rem;text-align:left;border-radius:10px;font:600 1rem "Archivo",sans-serif;min-height:92px;white-space:normal}
#q4-blocks .chip>span{display:block}
#q4-blocks .chip .notranslate{font-size:.75rem;font-weight:400;margin-top:.45rem;line-height:1.6}
#q4-blocks .chip[aria-pressed=true]{box-shadow:inset 0 0 0 2px currentColor}
#bank[aria-hidden],#trbank[aria-hidden]{pointer-events:none}
/* Manager queue */
.review-app{padding-block:1.5rem!important;min-height:calc(100vh - 88px)}
.review-title{font-size:2.5rem;text-transform:none;margin:.3rem 0}
#winbox{margin-top:1rem}
#winbox>summary{font:600 1rem "Archivo",sans-serif;cursor:pointer;min-height:44px;align-content:center}
#winbox .facts{margin-top:1rem}
#dash .dlab{font-family:"Archivo",sans-serif;letter-spacing:0;text-transform:none;font-size:.8rem}
#dash .dcard{padding:1rem;border-radius:12px;border-left-width:1px;border-top:3px solid var(--steel)}
#dash .attn{border-top-color:var(--crimson)}
#dash .good{border-top-color:#458963}
#dash .dnum{font-size:1.9rem}
#rows tr:hover{background:#6278990d}
#tablepane table{min-width:0;table-layout:fixed}
#tablepane th,#tablepane td{padding:.9rem .65rem;overflow-wrap:anywhere}
#tablepane th{font-family:"Archivo",sans-serif;text-transform:none;letter-spacing:0;font-size:.8rem}
#tablepane th:first-child{width:24%}
#tablepane th:last-child{width:7.5rem}
#rows td:last-child .tk{white-space:nowrap;overflow-wrap:normal;word-break:normal;justify-content:center;min-width:5rem}
#rows td:last-child .hint{overflow-wrap:normal;word-break:normal}
#tablepane .rname{font-size:1rem;font-weight:600}
#tablepane td .secondary{display:block;font-size:.75rem;font-weight:400;opacity:.8;margin-top:.25rem}
#tablepane .badge{display:inline-block;font:500 .68rem "Archivo",sans-serif;text-transform:none;letter-spacing:0;white-space:normal;margin-top:.25rem}
.queue-filters input,.queue-filters select{min-height:44px;padding:.6rem;border:1px solid var(--bone-edge);border-radius:8px;font:inherit;color:var(--ink);background:var(--bone)}
.queue-filters input{min-width:0;flex:1 1 190px}
#drawer{position:fixed;inset:0 0 0 auto;width:min(640px,100%);height:100dvh;margin:0;padding:1.3rem 1.5rem;overflow-y:auto;border-radius:0;z-index:500;background:var(--bone);color:var(--ink);box-shadow:-20px 0 70px #0006;border:0;border-left:1px solid var(--bone-edge)}
#drawer .answers{max-height:none;overflow:visible;margin:1.5rem 0}
#drawer .answers dt{font-family:"Archivo",sans-serif;text-transform:none;letter-spacing:0;font-size:.85rem;font-weight:600;margin-top:1.1rem}
#drawer .answers dd{font-size:1rem;line-height:1.6;margin-top:.35rem}
#drawer .cfg{padding:0;border:0;background:transparent}
#drawer .cfg input,#drawer .cfg select,#drawer .cfg textarea{width:100%;font:inherit;min-height:44px}
#drawer .drawer-actions{position:sticky;bottom:-1.3rem;background:var(--bone);padding:.8rem 0;border-top:1px solid var(--bone-edge);z-index:2;width:100%}
#d-close{margin-left:auto}
#d-unsaved{padding:.8rem;border:1px solid var(--crimson);border-radius:8px;margin:.8rem 0}
#drawer h2{font-size:1.5rem;text-transform:none}
@media(max-width:640px){
 .ks-header{min-height:80px}.ks-crest{width:38px;height:48px}.ks-brand strong{font-size:1.2rem}.ks-brand small{font-size:.6rem}
 .ks-header .brand-text{padding-right:100px}.transfer-hero{padding-top:1.8rem}.transfer-hero h1.head{font-size:3rem}
 #step3 .cfg{padding:1rem}#dash{grid-template-columns:repeat(2,minmax(0,1fr))}
 #tablepane thead{display:none}#tablepane table,#rows,#rows tr,#rows td{display:block;width:100%}
 #rows tr{position:relative;padding:1rem;border-bottom:1px solid var(--bone-edge);display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
 #rows td{border:0;padding:0!important;font-size:.9rem}#rows .rname{grid-column:1/-1;font-size:1.1rem}
 #rows td[data-label]:before{content:attr(data-label);display:block;font-size:.7rem;opacity:.8;margin-bottom:.15rem}
 #rows td:last-child{grid-column:1/-1}#rows td:last-child button{width:100%}
 #drawer{padding:1rem}#drawer .drawer-actions{bottom:-1rem}
}
html[data-theme] .transfer-hero .cfg{background:#edf0f5;color:#222c3d}
html[data-theme] .transfer-hero .cfg label{color:#394557}
html[data-theme] .transfer-hero .cfg input{background:#fff;color:#202a39;border-color:#7c8697}
html[data-theme] .transfer-hero{background:radial-gradient(ellipse at 95% 0%,#596b813b,transparent 65%),linear-gradient(140deg,#242d3d,#151a24)}
.transfer-hero .idhelp{color:#c7d0df;margin-top:.4rem}
.transfer-hero.compact .idhelp{display:none}
@media(min-width:860px){
 .transfer-hero:not(.compact)>.wrap{display:grid;grid-template-columns:1.1fr .9fr;column-gap:3rem;align-content:start;align-items:start}
 .transfer-hero .hero-intro{grid-column:1;grid-row:1/7}
 .transfer-hero .steps,.transfer-hero #step1,.transfer-hero #msg1,.transfer-hero #err1,.transfer-hero .idhelp{grid-column:2}
 .transfer-hero:not(.compact) .steps{margin-top:.5rem;margin-bottom:0;gap:.3rem}
 .transfer-hero:not(.compact) #step1{width:100%;margin-top:1rem;padding:1.5rem;gap:1rem;align-items:stretch}
 .transfer-hero #step1 input{width:100%}.transfer-hero .steps li{font-size:.72rem}
}
html[data-theme="dark"] #drawer,html[data-theme="dark"] #drawer .drawer-actions{background:#202936;color:#e1e7ef}
html[data-theme="dark"] #tablepane .badge{color:#f0c87e;border-color:#927747;background:#f0c87e10}
html[data-theme="dark"] #dash .dcard.attn .dnum{color:#ffb3a8}
#drawer .facts dt{font:500 .8rem "Archivo",sans-serif;letter-spacing:0;text-transform:none}
.ks-header{max-width:none;background:#171d26;padding-inline:max(clamp(1.1rem,4vw,2.4rem),calc((100vw - 1100px)/2))}
html[data-theme] .tk.primary,html[data-theme] .btn-go{background:#963728;color:#fff;border-color:#963728}
html[data-theme] .tk.primary:hover,html[data-theme] .btn-go:hover{background:#7d2d22;color:#fff;border-color:#7d2d22}
.transfer-hero .steps li{color:#d5dcea}
.transfer-hero .steps li[aria-current="step"]{color:#fff}
.transfer-hero .steps li{background:#303c4e;border-color:#58677c}
.review-state{font-weight:500}

/* Compact queue controls share a type scale, independent of the page body size. */
.actions.queue-filters{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(210px,1fr) minmax(150px,.65fr);gap:.85rem;align-items:end;margin:1.2rem 0}
.queue-filters .filter-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.queue-filters label{font:600 .8rem/1.4 "Archivo",sans-serif;color:var(--ink-soft)}
.queue-filters input,.queue-filters select{width:100%;max-width:100%;min-width:0;height:46px;font:400 1rem/1.4 "Archivo",sans-serif;padding:.6rem .75rem}
.queue-filters input{flex:none}
.queue-filters #gfilter{grid-column:1/-1}
@media(max-width:720px){.actions.queue-filters{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.queue-filters .filter-search{grid-column:1/-1}}
/* First-visit language help belongs to the header, with the same quiet treatment in both themes. */
html[data-theme] #langHint{background:#171d26;border-top:1px solid #ffffff0a}
#langHint .langhint-in{justify-content:flex-end;gap:.1rem;padding:.15rem max(clamp(1.1rem,4vw,2.4rem),calc((100vw - 1100px)/2));padding-right:max(88px,calc((100vw - 1100px)/2))}
html[data-theme] #langHintGo{font:500 .8rem/1.4 "Archivo",sans-serif;text-transform:none;letter-spacing:0;color:#d4c29f;border:0;background:transparent;box-shadow:none;padding:.4rem .5rem;min-height:44px}
html[data-theme] #langHintGo:hover{color:#f4e1b8;background:#ffffff08}
html[data-theme] #langHintClose{color:#b9c3d0}
html[data-theme] #langHintClose:hover{color:#f4e1b8;background:#ffffff08}

/* Destructive actions get a separate, named confirmation in the browser top layer. */
:is(#delete-dialog,#cycle-warning){margin:auto;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:1.5rem;border:1px solid var(--bone-edge);border-radius:14px;background:var(--bone);color:var(--ink);box-shadow:0 20px 80px #0007}
:is(#delete-dialog,#cycle-warning)::backdrop{background:#080e18b3}
:is(#delete-dialog,#cycle-warning) h2{text-transform:none;letter-spacing:0;font:700 1.35rem "Archivo",sans-serif;margin:0 0 1rem}
:is(#delete-dialog,#cycle-warning) p{line-height:1.5;overflow-wrap:anywhere}
:is(#delete-dialog,#cycle-warning) .row{justify-content:flex-end}
:is(#delete-dialog,#cycle-warning) .tk{white-space:nowrap}

/* Approval destinations use readable counts as well as proportional bars. */
#alliance-dialog{margin:auto;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:1.5rem;border:1px solid var(--bone-edge);border-radius:14px;background:var(--bone);color:var(--ink);box-shadow:0 20px 80px #0007}
#alliance-dialog::backdrop{background:#080e18b3}
#alliance-dialog>.row{justify-content:space-between;align-items:center;gap:.75rem}
#alliance-dialog h2{text-transform:none;letter-spacing:0;font:700 1.35rem "Archivo",sans-serif;margin:0}
#alliance-dialog .tk{white-space:nowrap}
#alliance-dialog p{line-height:1.5}
.alliance-total{display:flex;align-items:baseline;gap:.65rem;margin:1rem 0}
.alliance-total strong{font:700 2.5rem "Archivo",sans-serif}
.alliance-count{margin-bottom:1rem}
.alliance-count-heading{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.35rem;font-size:1rem}
.alliance-track{height:10px;border-radius:5px;background:var(--bone-edge);overflow:hidden}
.alliance-bar{height:100%;border-radius:5px;background:var(--steel)}
#d-alliance-field select,#g-alliance-field select{font:inherit;min-height:44px}

.group-decisions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem}
.group-decision{display:inline-flex;align-items:baseline;gap:.35rem;padding:.4rem .65rem;border:1px solid var(--bone-edge);border-radius:6px;font-size:.9rem;color:var(--ink);background:var(--bone)}
.group-decision strong{font-size:1.1rem}
html[data-theme="dark"] :is(#alliance-dialog,#delete-dialog,#cycle-warning,.group-decision){background:oklch(.27 .02 255)}

/* Native buttons keep sortable headers keyboard accessible without changing the initial queue order. */
.queue-sort{display:flex;align-items:center;justify-content:space-between;gap:.35rem;min-height:44px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.queue-sort svg{width:14px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.queue-sort:focus-visible{outline:2px solid var(--steel);outline-offset:4px;border-radius:3px}
.queue-sort:hover{text-decoration:underline;text-underline-offset:.2em}
th[aria-sort="ascending"] .sort-down,th[aria-sort="descending"] .sort-up{visibility:hidden}

#capacity-panel{margin:1.25rem 0;padding:1rem;border-radius:12px}
#capacity-heading{font:700 1.2rem "Archivo",sans-serif;letter-spacing:0;text-transform:none;margin:0 0 .35rem}
.capacity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.capacity-card{padding:.85rem;border:1px solid var(--bone-edge);border-top:3px solid var(--steel);border-radius:9px;background:var(--bone);min-width:0}
.capacity-card h3{font:600 .8rem/1.4 "Archivo",sans-serif;text-transform:none;letter-spacing:0;margin:0}
.capacity-card .capacity-number{font:700 1.8rem/1.3 "Saira Condensed",sans-serif;margin:.4rem 0}
.capacity-card .hint{font-size:.75rem;line-height:1.5}
html[data-theme="dark"] .capacity-card{background:oklch(.27 .02 255)}
@media(max-width:850px){.capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* One control size across report, planning and review filters, including native selects. */
:root{--ks-filter-height:46px}
html[data-theme] :is(.report-filters,.roster-filters,.queue-filters) :is(input,select){box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;height:var(--ks-filter-height);min-height:var(--ks-filter-height);padding:10px 12px;font:400 1rem/1.3 "Archivo",sans-serif}
html[data-theme] :is(.report-filters,.roster-filters,.queue-filters) select{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%238593a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
html[data-theme] :is(.report-tools,.queue-filters) button{box-sizing:border-box;height:var(--ks-filter-height);min-height:var(--ks-filter-height);padding:10px 14px;font:600 .9rem/1.3 "Archivo",sans-serif;white-space:nowrap}
