/* Shared layout-shell owns width and horizontal spacing, just like item_list.php. */
.sp-app{--sp-ink:#30343b;--sp-muted:#898e96;--sp-line:#e7e8eb;--sp-soft:#f5f5f6;--sp-accent:#464b55;min-width:0;padding-top:24px;padding-bottom:40px;color:var(--sp-ink);font-size:13px;line-height:1.65}
.sp-app *,.sp-dialog *{box-sizing:border-box}.sp-app h1,.sp-app h2,.sp-app h3,.sp-app p{margin:0}.sp-app h1{font-size:25px;font-weight:750;letter-spacing:-.6px}.sp-app h2{font-size:16px;font-weight:700}.sp-app h3{font-size:13px;font-weight:650}.sp-app small,.sp-muted{font-size:11px;color:var(--sp-muted,#898e96)}
.sp-app button,.sp-dialog button{font:inherit;cursor:pointer;color:#51555e;background:white;border:1px solid #dedfe3;border-radius:5px;padding:7px 11px;transition:background .15s,border-color .15s}.sp-app button:hover,.sp-dialog button:hover{background:#f0f1f3;border-color:#c4c7cd}.sp-app button:disabled,.sp-dialog button:disabled{opacity:.4;cursor:not-allowed}.sp-app .sp-primary,.sp-dialog .sp-primary{background:#474c56;border-color:#474c56;color:white}.sp-app .sp-primary:hover,.sp-dialog .sp-primary:hover{background:#343942}
.sp-app button:focus-visible,.sp-app a:focus-visible,.sp-app input:focus-visible,.sp-app textarea:focus-visible,.sp-dialog button:focus-visible,.sp-dialog input:focus-visible{outline:2px solid #9198a5;outline-offset:3px}.sp-app input,.sp-app textarea,.sp-dialog input,.sp-dialog textarea{font:inherit;color:#444952;max-width:100%}.sp-app input[type=number],.sp-app input[type=search],.sp-dialog input{border:1px solid #dedfe3;border-radius:4px;padding:7px 9px;background:white}.sp-app input[type=range]{accent-color:#656b78}.sp-app [hidden],.sp-dialog [hidden]{display:none!important}
.sp-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.sp-brand{display:flex;gap:13px;align-items:center}.sp-logo{display:grid;place-items:center;width:43px;height:43px;border-radius:6px;background:#e9eaed;color:#606672;font-size:25px}.sp-eyebrow{font-size:10px;letter-spacing:1.8px;color:#9398a0;margin-bottom:4px}.sp-version{font-size:10px;letter-spacing:.4px;color:#838995;background:#eceef1;border-radius:3px;padding:3px 5px;margin-left:8px;vertical-align:middle;font-weight:500}.sp-top-actions,.sp-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sp-top-actions button{font-size:12px}
.sp-sheet{background:white;border-radius:6px}.sp-meta{display:flex;gap:22px;padding:21px 22px 17px;background:#f7f7f8;border-radius:6px 6px 0 0;align-items:flex-start}.sp-meta-copy{flex:1;min-width:0}.sp-title{width:100%;padding:0;border:0;background:transparent;font-size:20px!important;font-weight:650}.sp-meta textarea{display:block;width:100%;resize:vertical;background:transparent;border:0;padding:0;min-height:36px;max-height:140px;margin:6px 0;font-size:12px;line-height:1.8;color:#7b8088}.sp-meta textarea::placeholder{color:#a0a4ab}.sp-settings{display:flex;align-items:center;gap:18px;padding:17px 22px;flex-wrap:wrap}.sp-settings label,.sp-setting{display:flex;align-items:center;gap:8px;font-size:11px;color:#8a8e96}.sp-settings input[type=number]{width:66px}.sp-settings-hint{margin-left:auto;color:#a0a4ab;font-size:10px}.sp-stagebar{display:flex;gap:9px;padding:0 22px 20px}.sp-stagebar button{display:flex;gap:10px;align-items:center;flex:1;text-align:left;padding:10px 13px;border:1px solid transparent;background:#f5f5f6}.sp-stagebar button.is-active{background:#e9eaed;border-color:#dadde2}.sp-stage-number{width:26px;height:26px;display:grid;place-items:center;background:white;border-radius:4px;color:#8f949d;font-size:11px}.sp-stagebar b{font-size:12px;display:block}.sp-stagebar small{font-size:10px;display:block}.sp-stage-arrow{align-self:center;color:#bec1c7}
.sp-workspace{display:grid;grid-template-columns:154px minmax(0,1fr) 302px;align-items:start;padding:0 22px 22px}.sp-rail{background:#f5f5f6;border-radius:5px;position:sticky;top:82px;min-width:0}.sp-rail-head{padding:13px 12px}.sp-current{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:3px}.sp-current strong{flex-basis:100%;font-size:27px;font-weight:750;letter-spacing:-.8px;color:#434852}.sp-current input[type=number]{width:78px;padding:4px 6px;font-size:11px}.sp-current button{padding:4px 8px;font-size:10px}.sp-rail input[type=range]{display:block;width:100%;margin:13px 0 9px}.sp-rail .sp-actions{justify-content:space-between}.sp-rail .sp-actions button{padding:3px 12px}.sp-levels{max-height:430px;overflow:auto;padding:0 7px 9px;scrollbar-width:thin}.sp-levels button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:7px;border:0;background:transparent;margin:2px 0;font-size:11px;gap:5px;white-space:nowrap}.sp-levels small{font-size:10px}.sp-levels button.is-active{background:#515762;color:white}.sp-levels button.is-active small{color:#e3e5e9}.sp-milestone{font-weight:650}
.sp-center{min-width:0}.sp-panel-head{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-bottom:12px}.sp-panel-head input{width:142px;font-size:11px!important}.sp-budget{display:flex;gap:15px;margin-bottom:14px;font-size:11px;color:#969ba3}.sp-budget b{font-size:15px;color:#535966;margin-left:3px;font-variant-numeric:tabular-nums}.sp-skills{display:flex;flex-direction:column;gap:8px}.sp-skill{border-radius:5px;background:#f6f6f7;border:1px solid transparent;min-width:0;overflow:hidden}.sp-skill.is-selected{border-color:#cdd1d8;background:#f1f2f4}.sp-skill-row{display:flex;align-items:center;gap:6px;padding-right:11px}.sp-app .sp-skill-toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;padding:12px 10px;border:0;background:transparent;border-radius:0}.sp-app .sp-skill-toggle:hover{background:#ededef}.sp-skill-icon{width:34px;height:34px;flex-shrink:0;object-fit:contain;image-rendering:pixelated}.sp-skill-name{min-width:0;flex:1}.sp-skill-name b{font-size:12px;font-weight:650;color:#4a505a}.sp-skill-name small{display:block;line-height:1.5;font-size:10px;margin-top:2px}.sp-skill-progress{width:62px;flex-shrink:0;font-size:12px;text-align:right}.sp-skill-progress b{font-size:14px;font-variant-numeric:tabular-nums}.sp-skill-meter{display:block;height:3px;border-radius:2px;margin-top:5px;overflow:hidden;background:#dfe1e5}.sp-skill-meter i{display:block;height:100%;background:#848c9a}.sp-chevron{display:block;width:16px;height:16px;flex-shrink:0;color:#64748b;transition:transform .15s ease}.sp-skill-toggle[aria-expanded="true"]>.sp-chevron,.sp-dropdown-trigger[aria-expanded="true"]>.sp-chevron{transform:rotate(180deg)}.sp-app .sp-add-point{width:29px;height:29px;flex-shrink:0;padding:0;font-size:17px;background:white}.sp-detail{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;padding:16px;background:#fbfbfc;border-top:1px solid #e3e5e9}.sp-detail-title{display:flex;align-items:center;gap:8px;margin:6px 0 10px}.sp-detail-title img{width:29px;height:29px}.sp-detail h2{font-size:13px}.sp-detail h3{font-size:12px}.sp-detail p{font-size:11px;line-height:1.8;color:#80858e;white-space:pre-line;overflow-wrap:anywhere}.sp-detail input[type=range]{width:100%;margin:9px 0}.sp-detail table{width:100%;font-size:11px;border-collapse:collapse;margin:8px 0}.sp-detail td{padding:3px 0;color:#969ba3}.sp-detail td:last-child{text-align:right;color:#606774}.sp-next-effect{background:#eff0f3;border-radius:4px;padding:8px;margin-bottom:10px!important}.sp-detail .sp-actions{margin-top:10px}.sp-detail .sp-actions button{font-size:10px;padding:6px 8px}.sp-detail a{display:inline-block;color:#788292;font-size:10px;margin-top:10px}.sp-allocation-target{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;color:#878e99;margin-top:12px}.sp-allocation-target input{width:53px;padding:4px!important}.sp-current-events{margin-top:20px;padding:14px;background:#f8f8f9;border-radius:5px;color:#7c838f;font-size:11px}.sp-current-events>div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:8px}.sp-current-events h3{margin-bottom:5px}.sp-current-events button{font-size:10px;padding:2px 6px}.sp-note{margin-top:18px}.sp-note textarea{display:block;width:100%;min-height:85px;resize:vertical;border:1px solid #e1e3e7;border-radius:5px;padding:10px;margin-top:8px;font-size:12px;background:white}.sp-note textarea::placeholder{color:#a4a8b0}.sp-note footer{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:10px;color:#a0a5ae}.sp-center>.sp-actions button{font-size:11px;padding:6px 9px}.sp-advance-notice{padding:10px;background:#f1f2f4;border-radius:4px;margin-bottom:12px;color:#848b96;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sp-advance-notice button{font-size:10px;white-space:nowrap;padding:4px 7px}
.sp-route-host{position:sticky;top:82px;background:#f7f7f8;border-radius:5px;min-width:0}.sp-roadmap{padding:16px 14px}.sp-roadmap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:13px}.sp-roadmap h2{font-size:15px}.sp-roadmap-head small{display:block;font-size:10px;margin-top:2px}.sp-roadmap-head button{border:0;background:transparent;padding:2px 0;font-size:10px;white-space:nowrap}.sp-road-scroll{overflow:auto;max-height:calc(100vh - 290px);min-height:260px;scrollbar-width:thin;padding-right:3px}.sp-target-summary{border-radius:4px;background:#ededef;padding:9px 10px;margin-bottom:8px}.sp-target-summary summary{cursor:pointer;font-size:11px;color:#7e8590}.sp-target-summary summary span{float:right;font-size:10px;color:#a0a4ab}.sp-target-summary .sp-road-chips{margin-top:10px}.sp-target-summary a{color:#626c7a}.sp-road-row{display:grid;grid-template-columns:49px minmax(0,1fr);gap:10px;padding:14px 3px;position:relative}.sp-road-row+.sp-road-row{border-top:1px solid #e9eaed}.sp-road-row.is-current{background:#eceef1;border-radius:4px}.sp-road-level{position:relative}.sp-road-level button{padding:2px 3px;font-weight:650;background:transparent;border:0;font-size:11px}.sp-road-level small{display:block;font-size:9px;margin-top:3px}.sp-road-row p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;color:#868e99;margin:6px 0}.sp-road-row>div>small{font-size:9px;display:block;margin-top:6px;color:#a0a7b0}.sp-road-chips{display:flex;flex-wrap:wrap;gap:5px}.sp-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border-radius:3px;background:white;font-size:10px;color:#737e8c}.sp-chip img{width:19px;height:19px;object-fit:contain;image-rendering:pixelated}.sp-chip b{color:#596573;font-weight:650;white-space:nowrap}.sp-rule{font-size:10px;color:#a3a7af;padding:12px 22px;background:#fafafa;border-radius:0 0 6px 6px}
/* Searchable, keyboard-operable dropdowns. No native select surfaces. */
.sp-dropdown{position:relative;min-width:125px}.sp-app .sp-dropdown-trigger{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;text-align:left;font-size:12px;font-weight:500;background:#fff;min-height:34px}.sp-dropdown-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}.sp-dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:80;width:max-content;min-width:100%;max-width:min(340px,calc(100vw - 40px));background:white;border:1px solid #e0e3e8;border-radius:6px;padding:6px;box-shadow:0 10px 30px #252e401a}.sp-meta .sp-dropdown-panel{left:auto;right:0}.sp-dropdown-list{max-height:290px;overflow:auto;scrollbar-width:thin}.sp-app .sp-dropdown-search{width:100%;font-size:11px;border:0;background:#f4f5f7;margin-bottom:5px;outline-offset:-2px}.sp-dropdown-group{font-size:10px;color:#a0a6b1;padding:9px 9px 4px}.sp-app .sp-dropdown-list button{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;text-align:left;border:0;background:white;padding:8px 10px;border-radius:4px}.sp-dropdown-list b{font-size:12px;font-weight:500}.sp-dropdown-list small{display:block;font-size:10px}.sp-app .sp-dropdown-list button[aria-selected=true]{background:#eff0f3;color:#4d5563}.sp-app .sp-dropdown-list button:hover,.sp-app .sp-dropdown-list button:focus{background:#f2f3f5;outline:none}.sp-dropdown-empty{font-size:11px;color:#9a9fa9;padding:15px}
.sp-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);background:#454b57;color:white;padding:12px 20px;border-radius:5px;font-size:12px;z-index:99999;box-shadow:0 4px 20px #25304325}.sp-dialog{border:0;border-radius:7px;padding:24px;width:640px;max-width:calc(100vw - 28px);max-height:85vh;overflow:auto;color:#414957;font-size:13px;box-shadow:0 15px 60px #27314322}.sp-dialog::backdrop{background:#232b3959}.sp-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.sp-dialog-head h2{font-size:18px;font-weight:650;margin:0}.sp-dialog-head button{padding:3px 10px;font-size:20px}.sp-dialog p{line-height:1.85;color:#8c95a2;font-size:12px}.sp-dialog label{display:block;font-size:12px;color:#7a8392;margin:12px 0}.sp-dialog label input{display:block;margin-top:5px}.sp-dialog input{width:100%}.sp-dialog .sp-actions{margin-top:14px}.sp-dialog-wide{width:850px}.sp-dialog-wide .sp-roadmap{padding:0}.sp-dialog-wide .sp-road-scroll{max-height:none;overflow:visible}.sp-dialog-wide .sp-road-row{grid-template-columns:70px minmax(0,1fr);padding:15px 7px}.sp-dialog-wide .sp-chip{background:#f2f3f5;font-size:12px}.sp-dialog-wide .sp-road-row p{font-size:12px}.sp-dialog-wide .sp-target-summary{background:#f5f6f8}.sp-library{display:grid;gap:9px;margin-top:15px}.sp-library-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;background:#f3f4f6;border-radius:5px}.sp-library-item b{display:block;font-size:13px}.sp-library-item small{font-size:10px;color:#9199a5}.sp-empty,.sp-loading{padding:42px 15px;text-align:center;color:#959ca8}
@media(max-width:1100px){.sp-workspace{grid-template-columns:134px minmax(0,1fr) 262px;padding:0 16px 18px}.sp-top{flex-wrap:wrap;gap:12px}.sp-top-actions{margin-left:auto}.sp-meta,.sp-settings{padding-left:16px;padding-right:16px}.sp-stagebar{padding-left:16px;padding-right:16px}.sp-detail{grid-template-columns:1fr;gap:14px}.sp-detail-title{display:none}.sp-detail-content>.sp-eyebrow{display:none}.sp-budget{gap:9px}.sp-skill-progress{width:49px}.sp-skill-toggle{gap:7px!important}.sp-roadmap{padding:13px 10px}.sp-settings-hint{display:none}}
@media(max-width:850px){.sp-workspace{grid-template-columns:134px minmax(0,1fr)}.sp-route-host{grid-column:2;position:static}.sp-road-scroll{max-height:none;min-height:0}.sp-rail{grid-row:1 / 3}.sp-roadmap{padding:16px}.sp-detail{grid-template-columns:.8fr 1.2fr}.sp-skill-progress{width:75px}.sp-road-row{grid-template-columns:64px minmax(0,1fr)}}
@media(max-width:600px){.sp-app{padding-top:17px;padding-bottom:25px}.sp-app h1{font-size:22px}.sp-brand{gap:10px}.sp-logo{width:37px;height:37px}.sp-top-actions{margin:0;gap:5px}.sp-top-actions button{font-size:11px;padding:6px 8px}.sp-meta{padding:16px 13px;display:block}.sp-title{font-size:17px!important}.sp-meta .sp-actions{margin-top:10px}.sp-meta .sp-dropdown{min-width:140px}.sp-meta .sp-dropdown-panel{left:0;right:auto}.sp-settings{padding:13px;gap:10px}.sp-setting{flex-wrap:wrap;gap:5px}.sp-settings .sp-setting:first-child{flex-basis:100%}.sp-settings .sp-setting:first-child .sp-dropdown{flex:1}.sp-dropdown-trigger>span:first-child{max-width:180px}.sp-setting>.sp-dropdown{min-width:124px}.sp-stagebar{padding:0 13px 14px;gap:5px}.sp-stagebar button{padding:8px;gap:4px}.sp-stage-number,.sp-stage-arrow{display:none}.sp-stagebar small{font-size:9px}.sp-workspace{display:flex;flex-direction:column;padding:0 13px 16px;}.sp-rail,.sp-center,.sp-route-host{width:100%;position:static}.sp-rail-head{padding:10px 12px}.sp-current{display:inline-flex;gap:7px;margin-left:9px;margin-top:0}.sp-current strong{flex-basis:auto;font-size:22px}.sp-current input[type=number]{width:49px}.sp-current button{font-size:10px;padding:3px 6px}.sp-rail .sp-actions{display:none}.sp-rail input[type=range]{margin:8px 0 3px}.sp-levels{display:flex;overflow:auto;max-height:none;padding:0 7px 8px;gap:2px}.sp-levels button{width:auto;min-width:57px;display:block;text-align:center;font-size:10px;padding:5px}.sp-levels small{display:block;font-size:9px}.sp-panel-head{margin-bottom:9px}.sp-panel-head input{width:125px}.sp-skill-name b{font-size:12px}.sp-skill-progress{width:45px}.sp-skill-icon{width:31px;height:31px}.sp-app .sp-skill-toggle{padding:11px 8px;gap:7px}.sp-skill-row{padding-right:9px;gap:3px}.sp-skill-toggle>.sp-chevron{display:none}.sp-app .sp-add-point{width:31px;height:33px}.sp-detail{grid-template-columns:1fr;padding:13px;gap:13px}.sp-detail-title{display:none}.sp-detail-content>.sp-eyebrow{display:none}.sp-detail h3{font-size:12px}.sp-detail p{font-size:12px}.sp-detail .sp-actions button{font-size:11px;padding:7px 9px}.sp-note footer span:first-child{max-width:80%}.sp-roadmap{padding:15px}.sp-road-row{grid-template-columns:55px minmax(0,1fr)}.sp-roadmap-head button{font-size:11px}.sp-rule{padding:11px 13px}.sp-dialog{padding:18px}.sp-dialog-head h2{font-size:17px}}
@media print{body>*{display:none!important}body:has(.sp-dialog-wide[open])>.sp-app{display:none!important}body>.sp-app{display:block!important;max-width:none!important;width:100%!important;padding:0!important}.sp-top,.sp-meta,.sp-settings,.sp-stagebar,.sp-rail,.sp-center,.sp-rule{display:none!important}.sp-workspace{display:block;padding:0}.sp-route-host{position:static;background:white}.sp-road-scroll{max-height:none;overflow:visible}.sp-road-row{break-inside:avoid}.sp-roadmap-head .sp-actions{display:none}.sp-dialog-wide[open]{display:block!important;position:static;max-width:none;max-height:none;overflow:visible;width:100%;box-shadow:none}.sp-dialog-wide .sp-dialog-head{display:none}.sp-dialog-wide::backdrop{display:none}}

.sp-dropdown[data-dropdown="spCharacter"] .sp-dropdown-panel{left:auto;right:0}
/* Workbench visual language shared with scroll-simulator: white panels, slate text, blue actions. */
.sp-app{--sp-ink:#151515;--sp-muted:#64748b;--sp-line:#edf0f4;--sp-soft:#f8fafc;--sp-accent:#2563eb;padding-top:20px;font-size:14px;color:#151515}
.sp-app button,.sp-dialog button{color:#475569;border-color:#dfe4ea}.sp-app button:hover,.sp-dialog button:hover{background:#f8fafc;border-color:#b8c8db}.sp-app .sp-primary,.sp-dialog .sp-primary{background:#2563eb;border-color:#2563eb;color:white}.sp-app .sp-primary:hover,.sp-dialog .sp-primary:hover{background:#1d4ed8;border-color:#1d4ed8}.sp-app input[type=range]{accent-color:#2563eb}.sp-app button:focus-visible,.sp-app input:focus-visible,.sp-app textarea:focus-visible,.sp-dialog button:focus-visible{outline-color:#93b4df}
.sp-top{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:center;background:white;border:1px solid #edf0f4;border-radius:6px;padding:20px;margin-bottom:12px}.sp-brand{display:block}.sp-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.sp-logo{width:32px;height:32px;background:#eff6ff;color:#2563eb;border-radius:5px}.sp-logo svg{width:23px;height:23px}.sp-app h1{font-size:30px;font-weight:650;letter-spacing:-.8px;line-height:1.25}.sp-version{background:#f5f3ff;color:#8b5cf6;font-size:11px;font-weight:400;letter-spacing:0;margin:0;padding:4px 7px}.sp-brand>p{font-size:12px;color:#64748b;line-height:1.7;margin-top:10px}.sp-hero-summary{display:grid;grid-template-columns:1.2fr 1fr 1fr;border:1px solid #edf0f4;border-radius:5px;background:white;overflow:hidden}.sp-hero-summary>div{padding:10px 12px;min-width:0;border-right:1px solid #edf0f4}.sp-hero-summary>div:last-child{border:0}.sp-hero-summary span{display:block;font-size:11px;color:#64748b}.sp-hero-summary b{display:block;font-size:18px;font-weight:500;margin-top:3px;color:#263547}.sp-hero-summary small{font-size:11px;font-weight:400;color:#64748b}
.sp-workbench-notice{display:flex;gap:10px;padding:11px 14px;background:#eff6ff;border:1px solid #c8dcf5;border-radius:5px;color:#42639e;margin-bottom:14px}.sp-workbench-notice>span{font-size:18px;line-height:1.35}.sp-workbench-notice strong{font-weight:500;font-size:12px;color:#365885}.sp-workbench-notice p{font-size:11px;line-height:1.7;color:#647c9e;margin-top:2px}.sp-plan-toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;background:white;border:1px solid #edf0f4;border-bottom:0;border-radius:6px 6px 0 0;padding:14px 18px}.sp-plan-toolbar>div>span{display:block;font-size:11px;color:#94a3b8;margin-bottom:2px}.sp-plan-toolbar h2{font-size:17px;font-weight:600}.sp-top-actions button{font-size:12px;padding:8px 12px}.sp-top-actions .sp-primary{min-width:84px}
.sp-sheet{background:transparent}.sp-meta{background:white;padding:0 18px 12px;border:1px solid #edf0f4;border-top:0;border-bottom:0;border-radius:0;align-items:center}.sp-meta-label{display:block;font-size:11px;color:#94a3b8;margin-bottom:5px}.sp-title{font-size:17px!important;font-weight:500!important;color:#263547!important}.sp-meta-copy{background:#f8fafc;border-radius:5px;padding:11px 13px}.sp-meta textarea{font-size:12px;color:#64748b;min-height:22px;height:27px;margin:5px 0 3px;max-height:140px}.sp-meta textarea::placeholder{color:#94a3b8}.sp-meta small{color:#94a3b8;font-size:10px}.sp-settings{background:white;border:1px solid #edf0f4;border-top:0;padding:0 18px 14px;border-radius:0 0 6px 6px;gap:18px}.sp-settings label,.sp-setting{color:#64748b;font-size:12px}.sp-settings-hint{color:#94a3b8;font-size:11px}
.sp-stagebar{padding:5px;background:#e9eef4;border-radius:5px;margin:14px 0;gap:5px}.sp-stagebar button{background:transparent;border:0;padding:9px 14px}.sp-stagebar button:hover{background:#f8fafc}.sp-stagebar button.is-active{background:#2563eb;border:0;color:white}.sp-stagebar button.is-active b{color:white}.sp-stagebar button.is-active small{color:#dbeafe}.sp-stage-number{color:#64748b;background:#fff;font-size:11px}.sp-stagebar button.is-active .sp-stage-number{background:#ffffff26;color:white}.sp-stagebar b{font-size:13px;font-weight:500}.sp-stagebar small{font-size:11px;color:#64748b}.sp-stage-arrow{display:none}
.sp-workspace{padding:0;grid-template-columns:180px minmax(0,1fr) 400px;}.sp-rail,.sp-center,.sp-route-host{background:white;border:1px solid #edf0f4;border-radius:6px}.sp-rail-head{padding:14px}.sp-rail-head>small{color:#64748b;font-size:12px}.sp-current strong{font-size:30px;font-weight:500;color:#263547;letter-spacing:-.5px}.sp-current input[type=number]{width:90px;padding:5px 7px;font-size:12px}.sp-current button{font-size:11px;padding:5px 9px}.sp-levels{padding:0 9px 10px}.sp-levels button{font-size:12px;padding:8px}.sp-levels small{font-size:10px;color:#94a3b8}.sp-levels button.is-active{background:#eff6ff;color:#1d4ed8;box-shadow:inset 2px 0 #2563eb}.sp-levels button.is-active small{color:#5c7cab}
.sp-center{padding:16px;border-top:2px solid #93b4df}.sp-panel-head h2{font-size:17px;font-weight:600;color:#151515}.sp-panel-head input{font-size:12px!important;width:150px}.sp-budget{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.sp-budget>span{display:block;padding:9px 10px;border:1px solid #edf0f4;border-radius:5px;color:#64748b;font-size:11px}.sp-budget b{display:inline-block;color:#263547;font-size:19px;font-weight:500;margin-left:5px}.sp-skill{background:#f8fafc;border-color:#edf0f4}.sp-skill.is-selected{border-color:#93b4df;background:#eff6ff}.sp-app .sp-skill-toggle:hover{background:#eff6ff}.sp-app .sp-skill-toggle{padding:12px 10px}.sp-skill-icon{width:36px;height:36px;background:white;border:1px solid #edf0f4;border-radius:5px;padding:2px}.sp-skill-name b{font-size:13px;font-weight:500;color:#1e293b}.sp-skill-name small{font-size:11px;color:#64748b;line-height:1.6;margin-top:3px}.sp-skill-progress b{font-size:16px;font-weight:500;color:#263547}.sp-skill-progress small{color:#94a3b8}.sp-skill-meter{height:4px;background:#e2e8f0}.sp-skill-meter i{background:#93b4df}.sp-app .sp-add-point{width:32px;height:32px;color:#2563eb;border-color:#bfdbfe}.sp-app .sp-add-point:hover{background:#2563eb;color:white}.sp-app .sp-add-point:disabled{border-color:#e2e8f0;color:#94a3b8}
.sp-detail{background:white;border-top-color:#dbeafe;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.sp-detail .sp-eyebrow{letter-spacing:0;font-size:11px;color:#94a3b8}.sp-detail h2{font-size:14px;font-weight:500;color:#263547}.sp-detail p{font-size:12px;color:#64748b}.sp-detail h3{font-size:13px;font-weight:500;color:#263547}.sp-detail table{font-size:12px}.sp-detail td{color:#64748b}.sp-detail td:last-child{color:#263547}.sp-next-effect{background:#f1f5f9;padding:10px}.sp-detail .sp-actions button{font-size:11px}.sp-detail .sp-actions button:last-child{background:#2563eb;color:white;border-color:#2563eb}.sp-detail a{font-size:11px;color:#2563eb}.sp-allocation-target{font-size:11px;color:#64748b}.sp-detail-controls>small{color:#94a3b8;font-size:10px}
.sp-current-events{background:#f8fafc;padding:13px;font-size:12px;color:#64748b}.sp-current-events h3,.sp-note h3{font-size:14px;font-weight:500;color:#263547}.sp-current-events button{font-size:11px;padding:3px 7px}.sp-note textarea{font-size:13px;min-height:85px;border-color:#dfe4ea}.sp-note footer{color:#94a3b8}.sp-center>.sp-actions button{font-size:12px;padding:7px 10px}.sp-advance-notice{background:#eff6ff;color:#42639e;font-size:12px}
.sp-roadmap{padding:16px}.sp-roadmap>.sp-eyebrow{font-size:11px;color:#94a3b8;letter-spacing:0}.sp-roadmap h2{font-size:17px;font-weight:600;color:#151515}.sp-roadmap-head small{color:#64748b;font-size:11px}.sp-roadmap-head button{color:#2563eb;font-size:11px}.sp-target-summary{background:#f1f5f9}.sp-target-summary summary{font-size:12px;color:#475569}.sp-road-row{padding:14px 2px;grid-template-columns:49px minmax(0,1fr)}.sp-road-row.is-current{background:#eff6ff}.sp-road-level button{font-size:12px;font-weight:500;color:#263547}.sp-road-level small{color:#94a3b8;font-size:10px}.sp-chip{font-size:11px;color:#475569;background:#f1f5f9}.sp-chip b{color:#2563eb;font-weight:500}.sp-road-row p{font-size:12px;color:#64748b}.sp-road-row>div>small{color:#94a3b8;font-size:10px}.sp-road-row+.sp-road-row{border-color:#edf0f4}.sp-rule{margin-top:14px;padding:13px 16px;background:white;border:1px solid #edf0f4;border-radius:6px;color:#94a3b8;font-size:11px}
.sp-app .sp-dropdown-trigger{color:#475569;border-color:#dfe4ea}.sp-app .sp-dropdown-list button[aria-selected=true]{background:#eff6ff;color:#1d4ed8}.sp-app .sp-dropdown-list button:hover,.sp-app .sp-dropdown-list button:focus{background:#f1f5f9}.sp-dropdown-list small{color:#64748b}.sp-dialog{color:#151515;box-shadow:0 20px 60px #0003}.sp-dialog p{color:#64748b}.sp-dialog-head{border-bottom:1px solid #edf0f4;padding-bottom:14px}.sp-dialog-head h2{font-size:18px;font-weight:500}.sp-library-item{background:#f8fafc}.sp-toast{background:#263547}
@media(max-width:1100px){.sp-top{grid-template-columns:1fr 320px;gap:18px;padding:18px}.sp-app h1{font-size:27px}.sp-hero-summary>div{padding:9px}.sp-plan-toolbar{flex-wrap:wrap;gap:10px}.sp-top-actions{margin:0}.sp-workspace{grid-template-columns:148px minmax(0,1fr) 260px;}.sp-center{padding:12px}.sp-budget{gap:5px}.sp-budget>span{padding:7px;font-size:10px}.sp-budget b{font-size:17px;margin-left:3px}.sp-detail{grid-template-columns:1fr}.sp-roadmap{padding:12px}.sp-skill-name small{font-size:10px}}
@media(max-width:850px){.sp-top{grid-template-columns:1fr}.sp-hero-summary{max-width:none}.sp-workspace{grid-template-columns:148px minmax(0,1fr)}.sp-route-host{grid-column:2}.sp-center{padding:16px}.sp-budget>span{font-size:11px}.sp-skill-name small{font-size:11px}.sp-detail{grid-template-columns:1fr 1.2fr}.sp-roadmap{padding:16px}}
@media(max-width:600px){.sp-app{padding-top:15px}.sp-top{padding:15px;gap:14px}.sp-title-line{gap:7px}.sp-app h1{font-size:25px}.sp-logo{width:28px;height:28px}.sp-version{font-size:10px}.sp-brand>p{font-size:12px;line-height:1.7;margin-top:8px}.sp-hero-summary>div{padding:8px 10px}.sp-hero-summary b{font-size:17px}.sp-workbench-notice{padding:10px;gap:7px}.sp-workbench-notice p{font-size:11px}.sp-plan-toolbar{padding:13px}.sp-plan-toolbar h2{font-size:16px}.sp-top-actions{gap:5px}.sp-top-actions button{font-size:11px;padding:6px 9px}.sp-top-actions .sp-primary{min-width:0}.sp-meta{padding:0 13px 12px}.sp-meta-copy{padding:10px}.sp-title{font-size:16px!important}.sp-meta textarea{height:42px;min-height:36px}.sp-meta .sp-actions{margin-top:9px}.sp-settings{padding:0 13px 13px;gap:10px}.sp-setting,.sp-settings label{font-size:11px}.sp-stagebar{margin:12px 0;padding:4px;gap:3px}.sp-stagebar button{padding:8px}.sp-stagebar b{font-size:12px}.sp-stagebar small{font-size:9px}.sp-workspace{display:flex;padding:0}.sp-rail-head{padding:11px}.sp-current strong{font-size:24px}.sp-current input[type=number]{width:48px;font-size:11px}.sp-current button{font-size:10px;padding:4px 7px}.sp-rail-head>small{font-size:11px}.sp-levels button{padding:6px;min-width:59px;font-size:11px}.sp-levels small{font-size:9px}.sp-center{padding:13px}.sp-budget{gap:6px}.sp-budget>span{font-size:10px;padding:8px}.sp-budget b{display:block;margin:0;font-size:20px}.sp-skill-name b{font-size:13px}.sp-skill-name small{font-size:10px}.sp-skill-icon{width:33px;height:33px}.sp-app .sp-skill-toggle{padding:11px 8px}.sp-skill-progress b{font-size:14px}.sp-detail{grid-template-columns:1fr;padding:13px}.sp-roadmap{padding:14px}.sp-rule{font-size:10px;padding:12px}.sp-current-events button{font-size:10px}.sp-center>.sp-actions button{font-size:11px}}
@media print{.sp-top,.sp-workbench-notice,.sp-plan-toolbar{display:none!important}.sp-route-host{border:0}.sp-workspace{display:block}.sp-dialog-wide .sp-roadmap{padding:0}}
/* Keep the active skills close to the top, with the same compact header rhythm as the reference. */
.sp-top{padding:16px 18px;gap:20px}.sp-workbench-notice{padding:10px 13px}.sp-workbench-notice>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sp-workbench-notice p{margin:0}.sp-plan-toolbar{padding:12px 16px}.sp-plan-toolbar small{display:block;font-size:10px;color:#94a3b8;margin-top:3px}.sp-meta{padding:0 16px 10px}.sp-meta-copy{padding:9px 12px}.sp-meta textarea{height:23px;min-height:23px;margin:3px 0 0}.sp-settings{padding:0 16px 12px}.sp-stagebar{margin:12px 0}.sp-stagebar button{padding:8px 13px}
@media(max-width:600px){.sp-top{padding:14px}.sp-workbench-notice>div{display:block}.sp-workbench-notice p{margin-top:3px}.sp-meta{padding:0 13px 10px}.sp-meta textarea{height:42px}.sp-settings{padding:0 13px 12px}.sp-stagebar button{padding:8px}.sp-plan-toolbar{padding:12px 13px}}

.sp-center>.sp-rule{margin:16px 0 0;padding:12px 0 0;border:0;border-top:1px solid #edf0f4;background:transparent;border-radius:0;line-height:1.8}

.sp-detail:has(.sp-all-levels){display:block}.sp-all-levels{min-width:0}.sp-all-levels>h3{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px}.sp-all-levels>h3 small{font-weight:400;color:#64748b;font-size:11px}.sp-detail .sp-level-table{width:100%;margin:0;table-layout:fixed}.sp-level-table th,.sp-detail .sp-level-table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #edf0f4;overflow-wrap:anywhere}.sp-level-table thead th{background:#f1f5f9;color:#64748b;font-weight:500}.sp-level-table th:first-child{width:94px;white-space:nowrap}.sp-level-table tbody th{font-weight:500;color:#475569}.sp-level-table th small{display:inline-block;margin-left:6px;color:#2563eb;font-size:10px;font-weight:400}.sp-level-table .is-current{background:#eff6ff}.sp-detail .sp-level-table p{margin:0;color:#334155;line-height:1.7}.sp-level-properties{display:flex;flex-wrap:wrap;gap:3px 14px;color:#64748b;line-height:1.7}.sp-level-table p+.sp-level-properties{margin-top:4px}

@media screen{
  html:has(#spDialog){scrollbar-gutter:stable}
  html:has(#spDialog[open]),body:has(#spDialog[open]){overflow:hidden;overscroll-behavior:none}
  #spDialog{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
}

.sp-plan-controls{position:sticky;top:72px;z-index:40;background:#fff;border:1px solid #edf0f4;border-radius:6px;box-shadow:0 3px 10px #26354706}.sp-plan-controls .sp-plan-toolbar{padding:12px 16px;border:0}.sp-plan-controls .sp-settings{padding:0 16px 12px;gap:12px}.sp-plan-identity{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0}.sp-plan-identity #spTitle{width:180px;min-width:0;font-size:12px;padding:7px 9px}.sp-plan-identity>button{white-space:nowrap;font-size:11px;padding:7px 9px}.sp-plan-identity .sp-dropdown{min-width:112px}.sp-plan-identity .sp-dropdown-panel{left:auto;right:0}.sp-description-editor{display:block;width:100%;min-height:200px;max-height:45vh;resize:vertical;border:1px solid #dfe4ea;border-radius:5px;padding:12px;font:inherit;line-height:1.8;color:#334155}.sp-rail,.sp-route-host{top:calc(84px + var(--sp-controls-height,120px))}.sp-route-host .sp-road-scroll{max-height:calc(100vh - 290px - var(--sp-controls-height,120px));min-height:140px}.sp-levels{max-height:calc(100vh - 290px - var(--sp-controls-height,120px))}
@media(max-width:1100px){.sp-plan-identity{flex:1}.sp-plan-identity #spTitle{flex:1}.sp-plan-controls .sp-settings{gap:8px}}
@media(max-width:600px){.sp-plan-controls{top:60px}.sp-plan-controls .sp-plan-toolbar{padding:10px}.sp-plan-controls .sp-settings{padding:0 10px 10px}.sp-plan-identity{flex-basis:100%;width:100%}.sp-plan-identity #spTitle{width:100px}.sp-plan-controls .sp-setting:first-child{flex-basis:auto}.sp-plan-controls .sp-setting>.sp-dropdown{min-width:110px}.sp-levels{max-height:none}.sp-route-host .sp-road-scroll{max-height:none}}
@media print{.sp-plan-controls{display:none!important}.sp-route-host .sp-road-scroll{max-height:none}}

/* Only the plan controls remain sticky; the work area follows page scrolling. */
@media screen{
  .sp-stagebar{position:static}
  .sp-workspace>.sp-rail,.sp-workspace>.sp-route-host,.sp-workspace>.sp-center{position:static;top:auto;height:auto;max-height:none}
  .sp-workspace .sp-levels{max-height:430px;overflow:auto}
  .sp-route-host .sp-road-scroll{max-height:none;min-height:0;overflow:visible}
}
@media screen and (max-width:600px){.sp-workspace .sp-levels{max-height:none;overflow:auto}}

/* With no public footer, the page ends at the workspace bottom: outer scrolling
   reveals the whole frame, and panel overflow stays inside the frame. */
@media screen and (min-width:851px){
  .sp-app{padding-bottom:16px}
  .sp-editor{position:sticky;top:72px;height:calc(100dvh - 88px);display:flex;flex-direction:column;min-height:0}
  .sp-editor>.sp-plan-controls{position:relative;top:auto;flex:none}
  .sp-editor>.sp-sheet{display:flex;flex-direction:column;flex:1;min-height:0}
  .sp-editor .sp-stagebar{position:relative;top:auto;flex:none;margin:10px 0}
  .sp-editor .sp-workspace{flex:1;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch}
  .sp-editor .sp-workspace>.sp-rail,.sp-editor .sp-workspace>.sp-center,.sp-editor .sp-workspace>.sp-route-host{position:static;height:100%;min-height:0;max-height:none;align-self:stretch}
  .sp-editor .sp-center{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
  .sp-editor .sp-rail{display:flex;flex-direction:column}
  .sp-editor .sp-rail-head{flex:none}
  .sp-editor .sp-levels{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
  .sp-editor .sp-route-host>.sp-roadmap{height:100%;display:flex;flex-direction:column;min-height:0}
  .sp-editor .sp-roadmap-head,.sp-editor .sp-roadmap>.sp-eyebrow{flex:none}
  .sp-editor .sp-target-summary{flex:none;max-height:130px;overflow:auto;overscroll-behavior:contain}
  .sp-editor .sp-road-scroll{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
}

/* Readable skill chips in both the route sidebar and expanded route dialog. */
.sp-roadmap .sp-chip{font-size:13px;line-height:1.5;gap:6px;padding:5px 7px;max-width:100%;color:#334155}
.sp-roadmap .sp-chip img{width:28px;height:28px;flex-shrink:0}
.sp-roadmap .sp-chip b{font-size:13px;font-weight:600}
.sp-roadmap .sp-road-chips{gap:7px}
.sp-roadmap .sp-road-row{grid-template-columns:55px minmax(0,1fr);gap:10px;padding:15px 4px}
.sp-roadmap .sp-road-level button{font-size:13px;line-height:28px;padding:0 2px}
.sp-roadmap .sp-road-level small{font-size:11px;line-height:1.6;color:#64748b}
.sp-roadmap .sp-road-row>div>small{font-size:11px;line-height:1.7;color:#64748b;margin-top:7px}
.sp-dialog-wide .sp-road-row{grid-template-columns:70px minmax(0,1fr)}

.sp-roadmap-head small{font-size:13px;line-height:1.6;margin-top:5px}.sp-roadmap-head .sp-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}.sp-roadmap-head button[data-action="copyRouteImage"]{font-size:12px}

.sp-roadmap-head{flex-wrap:wrap;align-items:center;gap:12px}
.sp-roadmap-head .sp-actions{gap:6px;margin:0 0 0 auto}
.sp-roadmap-head button.sp-route-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:7px 9px;border:1px solid #dbe3ed;border-radius:5px;background:#fff;color:#475569;font-size:12px;line-height:1.4;transition:background .15s,border-color .15s,color .15s}
.sp-roadmap-head .sp-route-button svg{width:16px;height:16px;flex:none}
.sp-roadmap-head button.sp-route-button[data-action="copyRouteImage"]{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}
.sp-roadmap-head button.sp-route-button:hover{background:#dbeafe;border-color:#93b4df;color:#1d4ed8}
.sp-roadmap-head button.sp-route-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}

.sp-route-cover{display:flex;align-items:center;gap:12px;min-height:78px;margin-bottom:13px;padding:8px 12px;background:var(--route-soft,#f1f5f9);border-radius:5px;flex-shrink:0}
.sp-route-cover img{width:64px;height:68px;object-fit:contain;flex:none}
.sp-route-cover>div{min-width:0}.sp-route-cover span{display:block;font-size:11px;color:var(--route-accent,#64748b);margin-bottom:4px}.sp-route-cover strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#334155;font-size:14px;font-weight:600;line-height:1.5}
.sp-roadmap .sp-road-row{padding:10px 4px;gap:8px}.sp-roadmap .sp-chip{padding:3px 5px}.sp-roadmap .sp-road-row>div>small{margin-top:4px}.sp-roadmap .sp-road-level button{color:var(--route-accent,#2563eb)}
.sp-roadmap .sp-road-row.is-current{background:var(--route-soft,#eff6ff)}
.sp-editor .sp-target-summary{max-height:100px}

@media screen{
  #spDialog.sp-dialog-wide[open]{display:flex;flex-direction:column;padding:0;max-height:85dvh;overflow:hidden}
  .sp-dialog-wide>.sp-dialog-head{flex:none;margin:0;padding:12px 16px;gap:12px;background:#fff;border-bottom:1px solid #e2e8f0}
  .sp-reader-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
  .sp-reader-identity img{width:40px;height:44px;object-fit:contain;flex:none}
  .sp-reader-identity>div{min-width:0}
  .sp-reader-identity h2{font-size:16px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sp-reader-identity small{display:block;font-size:12px;color:#64748b;margin-top:3px}
  .sp-dialog-wide .sp-dialog-head>.sp-actions{display:flex;gap:6px;flex-wrap:wrap;margin:0}
  .sp-dialog-wide .sp-dialog-head button{font-size:12px;padding:7px 9px;min-height:32px;border:1px solid #dbe3ed;border-radius:5px;background:#fff;color:#475569}
  .sp-dialog-wide .sp-dialog-head .sp-route-button{display:inline-flex;align-items:center;gap:5px;background:#eff6ff;color:#2563eb;border-color:#bfdbfe}
  .sp-dialog-wide .sp-dialog-head .sp-route-button svg{width:16px;height:16px;flex:none}
  .sp-dialog-wide .sp-dialog-head button[data-dialog-close]{font-size:20px;flex:none;width:32px;padding:0;line-height:30px}
  .sp-dialog-wide>.sp-roadmap{min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 16px 16px;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
  .sp-dialog-wide .sp-road-scroll{min-height:0;max-height:none;overflow:visible}
}
@media screen and (max-width:600px){
  .sp-dialog-wide>.sp-dialog-head{flex-wrap:wrap;padding:10px 12px;gap:8px}
  .sp-reader-identity{flex-basis:calc(100% - 40px);order:0}
  .sp-dialog-wide .sp-dialog-head button[data-dialog-close]{order:1}
  .sp-dialog-wide .sp-dialog-head>.sp-actions{order:2;flex-basis:100%}
}
@media print{.sp-dialog-wide .sp-dialog-head{display:flex!important}.sp-dialog-wide .sp-dialog-head button{display:none!important}.sp-reader-identity img{display:none}.sp-reader-identity small{display:block}}

.sp-rail-head{padding:12px 10px;border-bottom:1px solid #edf0f4;margin-bottom:6px}
.sp-level-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.sp-level-heading small{font-size:11px;color:#64748b}.sp-level-heading strong{font-size:22px;line-height:1.2;font-weight:500;color:#263547;letter-spacing:-.5px}
.sp-level-controls{display:grid;grid-template-columns:26px minmax(0,1fr) 36px 26px;gap:4px;align-items:center}
.sp-app .sp-level-controls button,.sp-app .sp-level-controls input{height:30px;min-width:0;padding:0;border:1px solid #dfe4ea;border-radius:4px;font-size:11px;background:white}
.sp-app .sp-level-controls input{width:100%;text-align:center;appearance:textfield;-moz-appearance:textfield}
.sp-level-controls input::-webkit-inner-spin-button,.sp-level-controls input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.sp-level-controls button{display:flex;align-items:center;justify-content:center}.sp-level-controls svg{width:14px;height:14px}
.sp-app .sp-level-controls button[data-action="goto"]{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}
@media(max-width:600px){.sp-rail-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px}.sp-level-heading{margin:0;gap:8px}.sp-level-heading strong{font-size:20px}.sp-level-controls{width:154px;flex:none}}

.sp-level-controls{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.sp-level-jump{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:6px}
.sp-level-step{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.sp-level-step button{gap:4px;white-space:nowrap}
.sp-app .sp-level-controls button,.sp-app .sp-level-controls input{height:32px;font-size:12px}
@media(max-width:600px){.sp-level-controls{width:180px}}

.sp-plan-identity>.sp-reset-route{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#64748b;border:1px solid #dfe4ea;background:#fff;flex-shrink:0}
.sp-reset-route svg{width:15px;height:15px;flex:none}.sp-plan-identity>.sp-reset-route:hover{background:#fff1f2;border-color:#fecdd3;color:#be123c}
@media(max-width:600px){.sp-plan-identity{flex-wrap:wrap}.sp-plan-identity #spTitle{flex:1 1 120px}}

.sp-app .sp-condition{display:flex;align-items:baseline;gap:5px;font-size:11px;line-height:1.6;margin-top:4px;font-weight:400}
.sp-app .sp-condition>span{display:inline-flex;align-items:center;justify-content:center;flex:none;width:13px;height:13px;border-radius:3px;font-size:10px;font-weight:700;line-height:1}
.sp-app .sp-condition.is-unmet{color:#b91c1c}.sp-condition.is-unmet>span{background:#fee2e2}
.sp-app .sp-condition.is-met{color:#15803d}.sp-condition.is-met>span{background:#dcfce7}
.sp-app .sp-condition.is-warning{color:#a16207}.sp-condition.is-warning>span{background:#fef3c7}
.sp-app .sp-budget>.sp-budget-ready{background:#f0fdf4;border-color:#dcfce7;color:#166534}.sp-budget>.sp-budget-ready b{color:#15803d}
.sp-app .sp-budget>.sp-budget-empty{background:#fffbeb;border-color:#fef3c7;color:#92400e}.sp-budget>.sp-budget-empty b{color:#a16207}
.sp-advance-notice{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.sp-advance-notice p{color:inherit}
