/* One continuous allocation workspace, with a compact raised control surface. */
.allocation-workspace{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(340px,.87fr);gap:0;min-height:576px;padding:24px;border:1px solid #dce4f0;border-radius:28px;background:radial-gradient(ellipse at 27% 35%,#fff 0%,#eaf0fa 48%,#edf1f7 100%);overflow:hidden;box-shadow:0 24px 65px #15244506}
.allocation-stage{position:relative;padding:10px 25px 18px;min-width:0;display:flex;flex-direction:column}
.allocation-stage-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative;z-index:2}
.allocation-overline{font-size:var(--text-xs,.75rem);letter-spacing:.14em;font-weight:600;color:#7b8ba7}
.allocation-stage-heading .badge{font-size:var(--text-xs,.75rem);background:#ffffff7d;border-color:#d6e0f0;color:#7b8daa}
.allocation-model{position:relative;flex:1;min-height:365px;margin:0 -25px}
.allocation-canvas,.allocation-fallback{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.allocation-canvas{z-index:1}
.allocation-ready .allocation-fallback{display:none}
.allocation-ground{position:absolute;left:12%;right:12%;height:34%;top:46%;border-radius:50%;background:#4059841c;filter:blur(24px);transform:scaleY(.48);pointer-events:none}
.allocation-center{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;text-align:center;pointer-events:none}
.allocation-center>span{display:block;font:500 61px/1 var(--heading);letter-spacing:-.065em;color:#263b63;font-variant-numeric:tabular-nums}
.allocation-center small{display:block;font-size:var(--text-xs,.75rem);color:#8191ac;margin-top:10px}
.allocation-legend{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative;z-index:2;margin:0 17px;padding:4px 0 20px;border-bottom:1px solid #cad5e75c}
.allocation-legend>div>span{display:flex;gap:7px;align-items:center;color:#7d8da6;font-size:var(--text-xs,.75rem)}
.allocation-legend i{height:6px;width:6px;border-radius:50%;display:inline-block;background:#a8bbd8}
.allocation-legend>div:last-child i{background:#244fe8}
.allocation-legend strong{display:block;margin-top:8px;font:500 24px/1 var(--heading);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.allocation-legend>div:last-child strong{color:#244fe8}
.allocation-stage-note{font-size:var(--text-xs,.75rem);color:#8b9bb4;margin:16px 17px 0}
.allocation-ticket{position:relative;z-index:3;border:1px solid #ffffffbd;background:#ffffffda;border-radius:20px;padding:29px 32px 23px;box-shadow:0 14px 50px #283f6612;align-self:center}
.allocation-ticket-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}
.allocation-ticket-top>.icon{width:20px;height:20px;color:#8ca1c4}
.allocation-ticket h3{font-size:33px;line-height:1.08;letter-spacing:-.05em}
.allocation-ticket>p{font-size:var(--text-xs,.75rem);margin-top:12px;color:#8190a9;line-height:1.7}
.allocation-value{margin:26px 0 20px}
.allocation-value>small{display:block;font-size:var(--text-xs,.75rem);color:#7b8ba6}
.allocation-value>strong{display:block;font:500 45px/1.15 var(--heading);letter-spacing:-.055em;font-variant-numeric:tabular-nums;margin:7px 0;color:#244fe8}
.allocation-value>span{font-size:var(--text-xs,.75rem);color:#8391a8}
.allocation-value b{font-weight:500;color:#526b9a}
.allocation-ticket input[type=range]{display:block;appearance:none;-webkit-appearance:none;height:5px;width:100%;padding:0;margin:0;background:linear-gradient(to right,#244fe8 var(--range-fill,26.666%),#dce4f1 var(--range-fill,26.666%));border:0;border-radius:10px;outline-offset:10px}
.allocation-ticket input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:19px;height:19px;border-radius:50%;background:#244fe8;border:4px solid #fff;box-shadow:0 0 0 1px #b8c9f3,0 3px 7px #244fe828;cursor:grab}
.allocation-ticket input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#244fe8;border:4px solid #fff;box-shadow:0 0 0 1px #b8c9f3;cursor:grab}
.allocation-scale{display:flex;justify-content:space-between;font-size:var(--text-xs,.75rem);color:#97a3b8;margin-top:11px}
.allocation-presets{display:flex;gap:7px;margin-top:13px}
.allocation-presets button{flex:1;border:1px solid #e0e6f0;border-radius:8px;padding:6px;font-size:var(--text-xs,.75rem);color:#8492aa;transition:background .15s,color .15s}
.allocation-presets button:hover{border-color:#aec2ef;color:#244fe8}
.allocation-presets button[aria-pressed=true]{color:#244fe8;background:#edf2ff;border-color:#cbd9fb}
.allocation-breakdown{margin-top:23px;padding-top:15px;border-top:1px solid #e5eaf2;display:grid;gap:10px}
.allocation-breakdown>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:var(--text-xs,.75rem)}
.allocation-breakdown span{color:#8593aa}
.allocation-breakdown strong{font-size:var(--text-xs,.75rem);font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.allocation-breakdown>div:last-child{font-size:var(--text-xs,.75rem);padding-top:7px;margin-top:3px;border-top:1px solid #eef1f6}
.allocation-breakdown>div:last-child strong{font-size:var(--text-xs,.75rem);color:#8392ad}
.allocation-ticket>.btn{width:100%;margin-top:22px;justify-content:space-between;font-size:var(--text-xs,.75rem);min-height:43px;border-radius:12px;padding:12px 17px}
.allocation-caption{display:block;text-align:center;font-size:var(--text-xs,.75rem);color:#9aa6ba;margin-top:11px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:root[data-theme=dark] .allocation-workspace{background:radial-gradient(ellipse at 27% 35%,#203753,#14243c 54%,#101e32);border-color:#2c405e;box-shadow:0 24px 65px #0002}
:root[data-theme=dark] .allocation-ticket{background:#17273be8;border-color:#3a506d75;box-shadow:0 14px 45px #0002}
:root[data-theme=dark] .allocation-center>span{color:#edf3ff}
:root[data-theme=dark] .allocation-center small,:root[data-theme=dark] .allocation-overline,:root[data-theme=dark] .allocation-legend>div>span,:root[data-theme=dark] .allocation-ticket>p,:root[data-theme=dark] .allocation-value>small,:root[data-theme=dark] .allocation-value>span,:root[data-theme=dark] .allocation-breakdown span{color:#92a7c4}
:root[data-theme=dark] .allocation-value>strong,:root[data-theme=dark] .allocation-legend>div:last-child strong{color:#a7c0ff}
:root[data-theme=dark] .allocation-value b{color:#bdd0ee}
:root[data-theme=dark] .allocation-ground{background:#0008}
:root[data-theme=dark] .allocation-stage-heading .badge{background:#213956;border-color:#3a506f;color:#9bb3d7}
:root[data-theme=dark] .allocation-legend,:root[data-theme=dark] .allocation-breakdown,:root[data-theme=dark] .allocation-breakdown>div:last-child{border-color:#40567455}
:root[data-theme=dark] .allocation-presets button{border-color:#344a67;color:#9cb1ce}
:root[data-theme=dark] .allocation-presets button[aria-pressed=true]{background:#2b4270;border-color:#5579bd;color:#d2e0ff}
:root[data-theme=dark] .allocation-ticket input[type=range]{background:linear-gradient(to right,#7297ff var(--range-fill,26.666%),#354a67 var(--range-fill,26.666%))}
:root[data-theme=dark] .allocation-ticket input[type=range]::-webkit-slider-thumb{background:#94b1ff;border-color:#1e314c;box-shadow:0 0 0 1px #5274ab}
:root[data-theme=dark] .allocation-ticket input[type=range]::-moz-range-thumb{background:#94b1ff;border-color:#1e314c;box-shadow:0 0 0 1px #5274ab}
@media(max-width:1100px){.allocation-workspace{padding:19px;grid-template-columns:1.1fr 1fr}.allocation-stage{padding:10px 10px 16px}.allocation-model{margin:0 -10px;min-height:350px}.allocation-ticket{padding:25px}.allocation-ticket h3{font-size:29px}.allocation-value>strong{font-size:40px}.allocation-legend{margin:0 8px}.allocation-legend strong{font-size:21px}.allocation-stage-note{margin-left:8px;font-size:var(--text-xs,.75rem)}.allocation-overline{font-size:var(--text-xs,.75rem)}}
@media(max-width:800px){.allocation-workspace{grid-template-columns:1fr;gap:20px;padding:20px;border-radius:23px}.allocation-stage{padding:7px 10px 0}.allocation-model{height:350px;min-height:350px;flex:none}.allocation-legend{max-width:500px;width:100%;margin:0 auto}.allocation-stage-note{text-align:center;margin:13px 0 0}.allocation-ticket{width:100%;max-width:600px;margin:auto;padding:28px 32px}.allocation-ticket h3 br{display:none}.allocation-ticket h3{font-size:31px}.allocation-ticket-top{margin-bottom:17px}.allocation-value{margin-top:22px}.allocation-value>strong{font-size:43px}.allocation-ticket .allocation-overline{font-size:var(--text-xs,.75rem)}}
@media(max-width:600px){.allocation-workspace{padding:13px;gap:19px;border-radius:21px;margin:0 -3px}.allocation-stage{padding:9px 7px 0}.allocation-model{height:280px;min-height:280px;margin:0 -10px}.allocation-center{width:150px}.allocation-center>span{font-size:48px}.allocation-center small{font-size:var(--text-xs,.75rem);margin-top:8px}.allocation-legend{gap:15px;padding:3px 7px 17px}.allocation-legend>div>span{font-size:var(--text-xs,.75rem)}.allocation-legend strong{font-size:22px}.allocation-stage-note{font-size:var(--text-xs,.75rem)}.allocation-ticket{padding:24px 21px 20px;border-radius:16px}.allocation-ticket h3{font-size:29px;max-width:230px}.allocation-ticket>p{font-size:var(--text-xs,.75rem);max-width:250px}.allocation-ticket-top{margin-bottom:18px}.allocation-value>strong{font-size:42px}.allocation-caption{font-size:var(--text-xs,.75rem)}.allocation-workspace .allocation-overline{font-size:var(--text-xs,.75rem)}}
.no-motion .allocation-presets button{transition:none}
/* Keep supporting information readable beside the larger figures. */
.allocation-overline{font-size:var(--text-xs,.75rem)}
.allocation-stage-heading .badge{font-size:var(--text-xs,.75rem)}
.allocation-legend>div>span{font-size:var(--text-xs,.75rem)}
.allocation-stage-note{font-size:var(--text-xs,.75rem)}
.allocation-ticket>p{font-size:var(--text-xs,.75rem)}
.allocation-value>small,.allocation-value>span{font-size:var(--text-xs,.75rem)}
.allocation-presets button{font-size:var(--text-xs,.75rem)}
.allocation-breakdown>div{font-size:var(--text-xs,.75rem)}
.allocation-breakdown strong{font-size:var(--text-xs,.75rem)}
.allocation-ticket>.btn{font-size:12px}
.allocation-caption{font-size:var(--text-xs,.75rem)}
@media(max-width:600px){.allocation-workspace .allocation-overline{font-size:var(--text-xs,.75rem)}.allocation-legend>div>span{font-size:var(--text-xs,.75rem)}.allocation-stage-note{font-size:var(--text-xs,.75rem)}.allocation-caption{font-size:var(--text-xs,.75rem)}}
