.goi-workspace{--goi-navy:#101936;--goi-gold:#f7c85f;--goi-ink:#1d2333;--goi-muted:#667085;--goi-border:#e4e7ec;--goi-bg:#f6f7f9;font-family:Poppins,Inter,system-ui,sans-serif;color:var(--goi-ink);font-size:14px;line-height:1.55;max-width:1500px;margin:0 auto;background:var(--goi-bg);border:1px solid var(--goi-border);border-radius:16px;overflow:hidden;box-shadow:0 5px 22px #10193606}
.goi-workspace *{box-sizing:border-box}.goi-workspace h1,.goi-workspace h2,.goi-workspace h3{font-family:Barlow,Inter,system-ui,sans-serif;color:var(--goi-navy);line-height:1.2;letter-spacing:-.025em;margin:0}.goi-workspace h1{font-size:30px}.goi-workspace h2{font-size:23px}.goi-workspace h3{font-size:18px}.goi-workspace p{margin:6px 0 0}.goi-top{display:flex;justify-content:space-between;align-items:center;padding:17px 26px;background:#fff;border-bottom:1px solid var(--goi-border);gap:16px}.goi-brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:16px}.goi-mark{display:grid;place-items:center;width:34px;height:38px;background:var(--goi-navy);color:var(--goi-gold);border-radius:9px;font:800 22px Barlow,system-ui}.goi-top small,.goi-muted{color:var(--goi-muted)}.goi-layout{display:grid;grid-template-columns:195px minmax(0,1fr);min-height:660px}.goi-nav{padding:24px 14px;background:#fff;border-right:1px solid var(--goi-border);display:flex;flex-direction:column;gap:6px}.goi-nav button{border:0;background:transparent;color:#536078;padding:11px 14px;text-align:left;border-radius:7px;font-weight:500;display:flex;align-items:center;gap:10px}.goi-nav button[aria-current=page]{background:#fff4d8;color:var(--goi-navy);font-weight:700}.goi-nav a{margin-top:auto;padding:18px 10px 2px;font-size:12px;color:var(--goi-muted);text-decoration:underline}.goi-main{padding:30px;min-width:0}.goi-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.goi-eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.13em;color:var(--goi-muted);margin-bottom:7px}.goi-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.goi-workspace button,.goi-dialog button{font:inherit;cursor:pointer;transition:background .15s,box-shadow .15s}.goi-workspace button:disabled,.goi-dialog button:disabled{opacity:.55;cursor:wait}.goi-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 15px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:var(--goi-navy);font-size:13px!important;font-weight:600!important;text-decoration:none;white-space:nowrap}.goi-btn:hover{background:#f2f4f7}.goi-btn-primary{background:var(--goi-navy);border-color:var(--goi-navy);color:#fff}.goi-btn-primary:hover{background:#263458}.goi-btn-gold{background:var(--goi-gold);border-color:var(--goi-gold);color:#101936}.goi-btn-gold:hover{background:#eab547}.goi-btn-link{background:transparent;border-color:transparent;color:#465579;padding:5px}.goi-btn-small{padding:6px 10px}.goi-btn-danger{color:#b42318}.goi-workspace button:focus-visible,.goi-dialog button:focus-visible,.goi-workspace a:focus-visible{outline:3px solid #7e9fff;outline-offset:3px}.goi-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0 0 24px}.goi-metric{background:#fff;padding:20px;border:1px solid var(--goi-border);border-radius:10px}.goi-metric span{color:var(--goi-muted);font-size:12px}.goi-metric strong{display:block;font:700 30px Barlow,system-ui;margin:6px 0 2px;letter-spacing:-.025em}.goi-card{background:#fff;border:1px solid var(--goi-border);border-radius:11px;padding:22px;margin-bottom:18px}.goi-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.goi-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}.goi-toolbar input[type=search]{flex:1;min-width:200px}.goi-workspace input,.goi-workspace select,.goi-workspace textarea,.goi-dialog input,.goi-dialog select,.goi-dialog textarea{font:inherit;font-size:13px;line-height:1.5;border:1px solid #d0d5dd;border-radius:7px;background:#fff;color:#1d2333;min-height:40px;padding:9px 11px;width:100%;box-shadow:none}.goi-workspace input:focus,.goi-workspace select:focus,.goi-workspace textarea:focus,.goi-dialog input:focus,.goi-dialog select:focus,.goi-dialog textarea:focus{outline:2px solid #b6c5ee;border-color:#718ac1}.goi-workspace input[type=checkbox],.goi-dialog input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:#101936;padding:0;flex-shrink:0}.goi-workspace label,.goi-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;letter-spacing:0}.goi-field{min-width:0}.goi-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.goi-span{grid-column:1/-1}.goi-check{flex-direction:row!important;align-items:flex-start;gap:9px!important;font-weight:400!important}.goi-help{font-size:11px;font-weight:400;line-height:1.5;color:#667085}.goi-table-wrap{overflow:auto;background:#fff;border:1px solid var(--goi-border);border-radius:10px}.goi-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;margin:0!important}.goi-table th{font-weight:500;color:#667085;background:#fbfcfd;font-size:11px;border-bottom:1px solid var(--goi-border);padding:12px 15px;white-space:nowrap}.goi-table td{padding:17px 15px;border-bottom:1px solid #eef0f3;vertical-align:middle}.goi-table tr:last-child td{border-bottom:0}.goi-table td strong{display:block;font-weight:600;color:#101936;font-size:13px}.goi-table td small{display:block;color:#667085;margin-top:3px}.goi-table td:last-child{white-space:normal}.goi-table td:last-child>.goi-btn{margin:3px 2px}.goi-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;border:1px solid #e4e7ec;border-radius:5px;padding:3px 7px;background:#f8f9fb;color:#59637b;white-space:nowrap;letter-spacing:.01em}.goi-badge-green{background:#ecf8f1;border-color:#c8e8d7;color:#176744}.goi-badge-amber{background:#fff6e4;border-color:#f4dfb1;color:#99631b}.goi-badge-blue{background:#edf2ff;border-color:#d7e2fc;color:#375aa5}.goi-badge-red{background:#fff0ef;border-color:#f5cfcc;color:#a53530}.goi-empty{padding:50px 25px;text-align:center;border:1px dashed #d0d5dd;border-radius:10px;background:#fff}.goi-empty h3{margin:10px 0}.goi-empty p{max-width:400px;margin:0 auto 20px;color:var(--goi-muted);font-size:13px}.goi-notice{padding:13px 16px;border:1px solid #e4d6ad;background:#fff9eb;border-radius:8px;font-size:12px;color:#77571d;margin-bottom:20px;line-height:1.65}.goi-notice a{color:inherit;text-decoration:underline}.goi-error{background:#fff1f0;border-color:#f1c0bc;color:#982b23}.goi-success{background:#eff9f3;border-color:#cce7d6;color:#246140}.goi-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.goi-opportunity{background:#fff;border:1px solid var(--goi-border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.goi-opportunity-body{padding:22px;flex:1}.goi-opportunity-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.goi-opportunity h3{font-size:21px;margin-bottom:12px;line-height:1.25}.goi-schedule{font-size:12px;color:#667085;line-height:1.8}.goi-opportunity-rate{border-top:1px solid #eef0f3;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.goi-rate{font-size:23px;font-weight:700;color:#101936;letter-spacing:-.04em}.goi-rate small{font-size:10px;letter-spacing:0;font-weight:400;color:#667085}.goi-heart{background:none;border:0;color:#8a94a8;padding:5px;display:flex}.goi-heart[aria-pressed=true]{color:#c56564}.goi-heart[aria-pressed=true] svg{fill:#fae0df}.goi-step-list{display:grid;gap:13px;margin-top:20px}.goi-step{display:flex;align-items:center;gap:12px;border-top:1px solid #eef0f3;padding-top:15px}.goi-step b{display:grid;place-items:center;background:#f2f4f8;color:#667085;width:27px;height:27px;border-radius:50%;font-size:11px;flex-shrink:0}.goi-step div{flex:1}.goi-step small{color:#667085;display:block}.goi-window{display:grid;grid-template-columns:1.4fr 1fr 1fr 30px;align-items:end;gap:10px;margin-bottom:12px}.goi-window button{padding:9px 0;border:0;background:transparent;color:#667085}.goi-inline-checks{display:flex;flex-wrap:wrap;gap:15px}.goi-question{padding:16px 0;border-bottom:1px solid #eef0f3}.goi-question:last-child{border-bottom:0}.goi-question p{white-space:pre-wrap;font-size:13px}.goi-question small{color:#667085}.goi-loading{padding:70px 20px;text-align:center;color:#667085}.goi-loading:before{content:'';display:block;width:24px;height:24px;border:2px solid #e4e7ec;border-top-color:#101936;border-radius:50%;margin:0 auto 15px;animation:goi-spin .8s linear infinite}@keyframes goi-spin{to{transform:rotate(360deg)}}.goi-dialog{--goi-navy:#101936;--goi-gold:#f7c85f;--goi-border:#e4e7ec;width:min(790px,calc(100vw - 32px));max-height:calc(100dvh - 50px);padding:0;border:1px solid #dfe3e8;border-radius:14px;box-shadow:0 30px 100px #10193640;font:14px/1.55 Poppins,Inter,system-ui,sans-serif;color:#1d2333;background:#fff}.goi-dialog::backdrop{background:#10193675;backdrop-filter:blur(3px)}.goi-dialog *{box-sizing:border-box}.goi-dialog h2,.goi-dialog h3{font-family:Barlow,Inter,system-ui,sans-serif;color:#101936;margin:0;line-height:1.25;letter-spacing:-.02em}.goi-dialog h2{font-size:25px}.goi-dialog h3{font-size:17px}.goi-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid #e4e7ec;background:white;position:sticky;top:0;z-index:2}.goi-dialog-body{padding:25px 26px}.goi-dialog-foot{border-top:1px solid #e4e7ec;background:#fbfcfd;padding:17px 26px;display:flex;justify-content:flex-end;align-items:center;gap:10px;position:sticky;bottom:0;z-index:2}.goi-dialog-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #e4e7ec}.goi-dialog-section:last-child{border:0;padding-bottom:0;margin-bottom:0}.goi-dialog-section h3{margin-bottom:17px}.goi-readonly{white-space:pre-wrap;max-height:340px;overflow:auto;background:#f8f9fb;padding:18px;border-radius:8px;border:1px solid #e4e7ec;font-size:12px}.goi-error-slot:empty{display:none}.goi-detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.goi-detail-facts div{background:#f7f8fa;border-radius:8px;padding:13px}.goi-detail-facts strong{display:block;font-size:20px;color:#101936}.goi-detail-facts span{font-size:11px;color:#667085}.goi-payout-total{font-size:32px;font-weight:700;letter-spacing:-.04em}.goi-upload{padding:25px;background:#fafbfd;border:1px dashed #c5cdd9;border-radius:10px}.goi-inline-form{display:flex;gap:12px;align-items:end}.goi-toast{position:fixed;bottom:24px;right:24px;z-index:999999;background:#101936;color:white;border-radius:10px;padding:14px 20px;box-shadow:0 8px 28px #10193635;max-width:420px;font:13px/1.5 system-ui}.goi-workspace svg,.goi-dialog svg{width:17px;height:17px;display:inline-block;flex-shrink:0}.goi-hidden{display:none!important}.goi-divider{height:1px;background:#e4e7ec;margin:23px 0}.goi-align-right{text-align:right}.goi-workspace .goi-filter{width:170px}.goi-dialog .goi-form-grid select[multiple]{min-height:130px}.goi-workspace .goi-tabs{display:flex;gap:6px;margin-bottom:18px}.goi-workspace .goi-tabs .is-active{border-color:#101936;background:#101936;color:white}
@media(max-width:1100px){.goi-layout{grid-template-columns:165px minmax(0,1fr)}.goi-main{padding:23px}.goi-market-grid{grid-template-columns:1fr}.goi-metric{padding:16px}.goi-nav{padding:20px 9px}.goi-nav button{font-size:12px;padding:10px}}
@media(max-width:760px){.goi-workspace{border-radius:9px}.goi-layout{display:block}.goi-nav{flex-direction:row;overflow-x:auto;padding:10px;border:0;border-bottom:1px solid #e4e7ec;gap:4px}.goi-nav button{flex-shrink:0;font-size:11px;gap:6px}.goi-nav a{display:none}.goi-main{padding:20px 15px}.goi-top{padding:14px 16px}.goi-top small{display:none}.goi-workspace h1{font-size:25px}.goi-heading{align-items:flex-start;gap:12px}.goi-heading p{font-size:12px}.goi-heading .goi-btn{font-size:11px!important;padding:9px 10px}.goi-metrics{gap:9px}.goi-metric{padding:12px}.goi-metric strong{font-size:24px}.goi-metric span{font-size:10px}.goi-metric small{display:none}.goi-form-grid{grid-template-columns:1fr}.goi-span{grid-column:auto}.goi-dialog-head{padding:18px}.goi-dialog-body{padding:20px 18px}.goi-dialog-foot{padding:15px 18px}.goi-detail-facts{gap:8px}.goi-detail-facts div{padding:10px}.goi-detail-facts strong{font-size:18px}.goi-window{gap:6px;grid-template-columns:1fr 1fr 1fr 22px}.goi-window select,.goi-window input{padding:8px 5px;font-size:11px}.goi-inline-form{flex-wrap:wrap}.goi-inline-form label{flex:1;min-width:120px}.goi-toolbar .goi-filter{flex:1}.goi-toast{bottom:15px;right:15px;left:15px}.goi-payout-total{font-size:26px}}
@media(prefers-reduced-motion:reduce){.goi-loading:before{animation:none}.goi-workspace button,.goi-dialog button{transition:none}}

@media(max-width:760px){.goi-opportunity-rate{flex-direction:column;align-items:stretch;gap:12px}.goi-rate{white-space:nowrap}.goi-opportunity-rate .goi-btn{justify-content:center}.goi-nav button{min-height:40px}}

.goi-application-wrap{max-width:850px;margin:32px auto;padding:32px}.goi-application-wrap header{margin-bottom:32px}.goi-application-wrap h1{font-size:clamp(30px,5vw,44px);line-height:1.15;margin:12px 0 18px}.goi-application-wrap .goi-card h2{font-size:24px;margin:0 0 14px}.goi-application-steps{display:flex;gap:20px;list-style:none;padding:0;counter-reset:application;flex-wrap:wrap;margin:24px 0}.goi-application-steps li{counter-increment:application;font-weight:600;color:#657083;padding-bottom:12px;border-bottom:3px solid #dbe0e7;flex:1;min-width:150px}.goi-application-steps li:before{content:counter(application) '. ';color:#9b6f15}.goi-application-steps li[aria-current]{color:#101936;border-color:#f7c85f}.goi-application-check{margin:22px 0}.goi-application-footer{justify-content:flex-end}.goi-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.goi-application-success{padding:40px}.goi-application-wrap [hidden],.goi-workspace [hidden]{display:none!important}.goi-duration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.goi-duration-grid div{background:#f6f5f0;border-radius:10px;padding:15px}.goi-duration-grid strong,.goi-duration-grid small{display:block}.goi-duration-grid strong{font-size:21px;margin-top:6px}.goi-checklist-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #e7e9ee}.goi-checklist-row:last-child{border:0}.goi-application-facts{white-space:pre-wrap;line-height:1.65}.goi-history-list{margin-top:20px}.goi-history-list details{padding:16px 0;border-top:1px solid #e7e9ee}.goi-dialog .goi-duration-grid{margin:20px 0}@media(max-width:650px){.goi-application-wrap{padding:18px;margin:12px auto}.goi-application-steps{gap:8px}.goi-application-steps li{min-width:0;font-size:12px}.goi-duration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goi-checklist-row{flex-direction:column;gap:10px}.goi-application-footer button{flex:1}}
.goi-checklist-row small{display:block;margin-top:5px}.goi-checklist-row>.goi-badge{align-self:flex-start}.goi-dialog .goi-form-grid+.goi-field{margin-top:18px}@media(max-width:650px){#goi-application .goi-window{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:20px}#goi-application .goi-window>.goi-field:first-child,#goi-application .goi-window>button{grid-column:1/-1}#goi-application .goi-window input,#goi-application .goi-window select{min-width:0;width:100%}#goi-application .goi-window>button{width:auto;justify-self:start}}

/* Hidden conditional controls must also override layout display rules. */
.goi-dialog [hidden] { display: none !important; }

.goi-nav a[aria-current=page] { color: var(--goi-navy); font-weight: 700; background: #fff4d8; border-radius: 7px; }
.goi-history-actions { margin-top: 16px; }
.goi-main > .goi-dialog-section + .goi-dialog-section { margin-top: 28px; }
.goi-dialog .goi-emergency-options { margin-top: 24px; padding: 18px; border: 1px solid var(--goi-border, #e4e7ec); border-radius: 10px; background: #f8f9fb; }
.goi-emergency-options summary { cursor: pointer; color: #536078; font-weight: 600; }
.goi-emergency-options summary:focus-visible { outline: 3px solid #7e9fff; outline-offset: 3px; }
.goi-emergency-options .goi-check { margin-top: 18px; }

/* IEPro scrolls the containing educator tab. Keep this flex child at its content
   height so the workspace's rounded-corner clipping cannot hide the lower page. */
.iepro-instructor-dashboard [data-ie-panel] > .goi-workspace {
    flex-shrink: 0;
}

/* Auto margins in IEPro's flex panels otherwise size the workspace to each
   tab's contents. Both consoles use the same full-width, content-height shell. */
#goi-workspace {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 1500px;
    flex-shrink: 0;
    container: goi-workspace / inline-size;
}

/* Keep host dashboard heading rules from changing GoI's type scale. */
#goi-workspace h1 { font-size: 30px; line-height: 1.2; }
#goi-workspace h2 { font-size: 23px; line-height: 1.2; }
#goi-workspace h3 { font-size: 18px; line-height: 1.2; }
#goi-workspace .goi-opportunity h3 { font-size: 21px; line-height: 1.25; }
.goi-heading, .goi-card-head, .goi-top { flex-wrap: wrap; }
.goi-heading > div { flex: 1 1 260px; min-width: 0; }
.goi-brand { min-width: 0; }
.goi-mark { flex-shrink: 0; }
.goi-main, .goi-dialog-body { overflow-wrap: anywhere; }
.goi-main > *, .goi-dialog-body > * { min-width: 0; }
.goi-workspace .goi-tabs { flex-wrap: wrap; }
.goi-workspace .goi-btn, .goi-dialog .goi-btn { max-width: 100%; white-space: normal; }
.goi-table-area, .goi-table-wrap { max-width: 100%; min-width: 0; }
.goi-table-wrap { overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.goi-workspace .goi-table-hint, .goi-dialog .goi-table-hint { display: none; }
.goi-table-wrap:focus-visible { outline: 3px solid #7e9fff; outline-offset: 2px; }

.goi-dialog {
    box-sizing: border-box;
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.goi-dialog > form { margin: 0; min-width: 0; }
.goi-dialog-head { gap: 12px; }
.goi-dialog-head h2 { min-width: 0; overflow-wrap: anywhere; }
.goi-dialog-head > button { flex-shrink: 0; }
.goi-dialog-foot { flex-wrap: wrap; }

/* Viewport fallback also covers dialogs, which live outside the workspace. */
@media (max-width: 760px), (hover: none) and (pointer: coarse) {
    #goi-workspace .goi-layout { display: block; }
    #goi-workspace .goi-main { padding: 20px 15px; }
    #goi-workspace h1 { font-size: 25px; }
    #goi-workspace .goi-nav {
        flex-direction: row;
        overflow-x: auto;
        padding: 10px;
        border: 0;
        border-bottom: 1px solid #e4e7ec;
        gap: 6px;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }
    #goi-workspace .goi-nav button, #goi-workspace .goi-nav a {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 10px 12px;
        margin: 0;
        font-size: 13px;
        white-space: nowrap;
    }
    #goi-workspace .goi-card { padding: 16px; }
    #goi-workspace .goi-metrics { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
    #goi-workspace .goi-market-grid { grid-template-columns: minmax(0, 1fr); }
    #goi-workspace .goi-toolbar { gap: 10px; }
    #goi-workspace .goi-toolbar input[type=search] { flex-basis: 100%; min-width: 0; }
    #goi-workspace .goi-toolbar .goi-filter { flex: 1 1 140px; min-width: 0; }
    :is(#goi-workspace, .goi-dialog) .goi-form-grid { grid-template-columns: minmax(0, 1fr); }
    :is(#goi-workspace, .goi-dialog) .goi-span { grid-column: auto; }
    :is(#goi-workspace, .goi-dialog) .goi-window { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
    :is(#goi-workspace, .goi-dialog) .goi-window > :first-child,
    :is(#goi-workspace, .goi-dialog) .goi-window > button { grid-column: 1 / -1; }
    :is(#goi-workspace, .goi-dialog) .goi-window > button { width: 44px; justify-self: end; }
    :is(#goi-workspace, .goi-dialog) :is(input, select, textarea) { min-width: 0; font-size: 16px; }
    :is(#goi-workspace, .goi-dialog) :is(input:not([type=checkbox]):not([type=hidden]), select:not([multiple]), textarea) { min-height: 44px; }
    :is(#goi-workspace, .goi-dialog) :is(button, .goi-check, summary) { min-height: 44px; }
    :is(#goi-workspace, .goi-dialog) button { min-width: 44px; }
    :is(#goi-workspace, .goi-dialog) .goi-btn { font-size: 13px !important; }
    :is(#goi-workspace, .goi-dialog) :is(.goi-check, summary) { padding-block: 10px; }
    :is(#goi-workspace, .goi-dialog) .goi-table-hint { display: block; margin: 0 0 8px; color: #667085; font-size: 12px; }
    :is(#goi-workspace, .goi-dialog) .goi-table { min-width: 640px; }
    :is(#goi-workspace, .goi-dialog) .goi-detail-facts { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
    :is(#goi-workspace, .goi-dialog) .goi-duration-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    :is(#goi-workspace, .goi-dialog) .goi-inline-form { flex-wrap: wrap; }
    :is(#goi-workspace, .goi-dialog) .goi-inline-form label { flex: 1 1 160px; min-width: 0; }
    .goi-dialog-foot .goi-btn { flex: 1 1 140px; }
}

/* An embedded console can be narrow even on a wide tablet or desktop. Match
   the compact workspace layout to its available width, not just the viewport. */
@container goi-workspace (max-width: 760px) {
    #goi-workspace .goi-layout { display: block; }
    #goi-workspace .goi-main { padding: 20px 15px; }
    #goi-workspace h1 { font-size: 25px; }
    #goi-workspace .goi-nav {
        flex-direction: row;
        overflow-x: auto;
        padding: 10px;
        border: 0;
        border-bottom: 1px solid #e4e7ec;
        gap: 6px;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }
    #goi-workspace .goi-nav button, #goi-workspace .goi-nav a {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 10px 12px;
        margin: 0;
        font-size: 13px;
        white-space: nowrap;
    }
    #goi-workspace .goi-card { padding: 16px; }
    #goi-workspace .goi-metrics { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
    #goi-workspace .goi-market-grid { grid-template-columns: minmax(0, 1fr); }
    #goi-workspace .goi-toolbar { gap: 10px; }
    #goi-workspace .goi-toolbar input[type=search] { flex-basis: 100%; min-width: 0; }
    #goi-workspace .goi-toolbar .goi-filter { flex: 1 1 140px; min-width: 0; }
    #goi-workspace .goi-form-grid { grid-template-columns: minmax(0, 1fr); }
    #goi-workspace .goi-span { grid-column: auto; }
    #goi-workspace .goi-window { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
    #goi-workspace .goi-window > :first-child, #goi-workspace .goi-window > button { grid-column: 1 / -1; }
    #goi-workspace .goi-window > button { width: 44px; justify-self: end; }
    #goi-workspace :is(input, select, textarea) { min-width: 0; font-size: 16px; }
    #goi-workspace :is(input:not([type=checkbox]):not([type=hidden]), select:not([multiple]), textarea) { min-height: 44px; }
    #goi-workspace :is(button, .goi-check, summary) { min-height: 44px; }
    #goi-workspace button { min-width: 44px; }
    #goi-workspace .goi-btn { font-size: 13px !important; }
    #goi-workspace :is(.goi-check, summary) { padding-block: 10px; }
    #goi-workspace .goi-table-hint { display: block; margin: 0 0 8px; color: #667085; font-size: 12px; }
    #goi-workspace .goi-table { min-width: 640px; }
    #goi-workspace .goi-detail-facts { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
    #goi-workspace .goi-duration-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #goi-workspace .goi-inline-form { flex-wrap: wrap; }
    #goi-workspace .goi-inline-form label { flex: 1 1 160px; min-width: 0; }
    #goi-workspace .goi-opportunity-rate { flex-direction: column; align-items: stretch; gap: 12px; }
}

/* On a short phone screen, sticky controls must not cover the whole dialog. */
@media (max-height: 600px) {
    .goi-dialog-head, .goi-dialog-foot { position: static; }
}

/* The educator host can shrink its outer flex/grid panels while GoI keeps its
   content height. On a phone this leaves visible controls beyond a clipped
   ancestor's bounds. While GoI is the active panel, let the host's one outer
   scroller contain the whole form, including rows added after initial render.
   Keep these overrides in GoI and leave other dashboard panels untouched. */
@media (max-width: 56em), (hover: none) and (pointer: coarse) {
    .iepro-instructor-dashboard__shell:has([data-ie-panel]:not([hidden]) > #goi-workspace) {
        overflow-x: hidden;
        overflow-y: auto;
    }
    .iepro-instructor-dashboard__shell:has([data-ie-panel]:not([hidden]) > #goi-workspace) > .iepro-instructor-dashboard {
        flex: 0 0 auto;
        block-size: auto;
        min-block-size: 100%;
    }
    .iepro-instructor-dashboard__layout:has([data-ie-panel]:not([hidden]) > #goi-workspace) {
        flex: 0 0 auto;
        block-size: auto;
        min-block-size: 0;
    }
    .iepro-instructor-dashboard__main:has([data-ie-panel]:not([hidden]) > #goi-workspace) {
        flex: 0 0 auto;
        block-size: auto;
        min-block-size: 0;
        grid-template-rows: auto auto;
        overflow: visible;
    }
    .iepro-instructor-dashboard__panels.ie-stack:has([data-ie-panel]:not([hidden]) > #goi-workspace) {
        display: block;
        flex: 0 0 auto;
        block-size: auto;
        min-block-size: 0;
        overflow: visible;
    }
    .iepro-instructor-dashboard [data-ie-panel]:not([hidden]):has(> #goi-workspace) {
        flex: 0 0 auto;
        block-size: auto;
        min-block-size: min-content;
        overflow: visible;
    }
}

/* The host changes from its mobile menu at 56em but starts its desktop columns
   at 64em. A rotated phone can land in that gap. Keep the existing desktop
   navigation in its own column without changing the host's menu handlers. */
@media (min-width: 56.001em) and (hover: none) and (pointer: coarse) {
    .iepro-instructor-dashboard__layout:has([data-ie-panel]:not([hidden]) > #goi-workspace) {
        grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
        align-items: start;
    }
}

/* Shared GoI brand, compact dashboard link, and weekly payout detail. */
.goi-workspace .goi-brand { min-width:0; max-width:100%; }
.goi-workspace .goi-brand-logo { display:block; width:clamp(180px,25vw,300px); height:auto; max-width:100%; object-fit:contain; }
.goi-dashboard-summary { box-sizing:border-box; width:100%; min-width:0; flex:0 0 auto; margin-bottom:16px; }
.goi-dashboard-summary .goi-payout-bar { box-sizing:border-box; display:flex; align-items:center; gap:14px 24px; width:100%; min-height:64px; padding:12px 18px; border:1px solid #dce0eb; border-radius:10px; background:#fff; color:#131c39; text-decoration:none; font:13px/1.5 Poppins,Inter,system-ui,sans-serif; }
.goi-dashboard-summary .goi-payout-bar:hover { background:#f8faff; border-color:#98add3; }
.goi-dashboard-summary .goi-payout-bar:focus-visible,.goi-workspace .goi-payout-week summary:focus-visible { outline:3px solid #7e9fff; outline-offset:3px; }
.goi-payout-bar-amount { display:flex; align-items:baseline; gap:8px 12px; flex-wrap:wrap; min-width:0; }
.goi-payout-bar-amount strong { font-size:21px; line-height:1.2; }
.goi-payout-bar-detail { display:grid; gap:2px; flex:1; min-width:0; overflow-wrap:anywhere; }
.goi-payout-bar-status { color:#55627e; font-size:11px; }
.goi-payout-bar-link { font-weight:600; white-space:nowrap; }
.goi-dashboard-summary .goi-payout-bar-message { margin:0; padding:12px 18px; border:1px solid #dce0eb; border-radius:10px; background:#fff; color:#131c39; font-size:13px; }
.goi-workspace .goi-payout-history-title { margin-top:28px; }
.goi-workspace .goi-payout-week { margin:16px 0; border:1px solid #e4e7ec; border-radius:11px; background:#fff; overflow:hidden; }
.goi-workspace .goi-payout-week summary { display:flex; align-items:center; gap:12px; padding:18px; cursor:pointer; list-style:none; min-height:48px; }
.goi-workspace .goi-payout-week summary::-webkit-details-marker { display:none; }
.goi-workspace .goi-payout-week summary::after { content:'⌄'; font-size:20px; flex:0 0 auto; }
.goi-workspace .goi-payout-week[open] summary::after { transform:rotate(180deg); }
.goi-payout-week-heading { display:grid; gap:5px; flex:1; min-width:0; overflow-wrap:anywhere; }
.goi-payout-week-heading > span { font-size:12px; color:#55627e; }
.goi-payout-week-total { font-size:19px; white-space:nowrap; }
.goi-payout-week-body { padding:0 18px 8px; border-top:1px solid #e4e7ec; }
.goi-workspace .goi-payout-items { list-style:none; padding:0; margin:0; }
.goi-payout-items li { display:flex; align-items:center; gap:12px; padding:16px 0; border-top:1px solid #eef0f3; }
.goi-payout-items li > div { display:grid; gap:6px; flex:1; min-width:0; overflow-wrap:anywhere; }
.goi-payout-items li > div > span { font-size:12px; color:#55627e; }
.goi-payout-item-amount { white-space:nowrap; }
.goi-payout-facts { display:flex; flex-wrap:wrap; gap:18px 36px; }
.goi-payout-facts dt { font-size:13px; color:#55627e; }
.goi-payout-facts dd { margin:4px 0; font-weight:600; }
.goi-workspace .goi-coverage-dates { padding-left:22px; overflow-wrap:anywhere; }
.goi-dialog .goi-coverage-choices { display:grid; gap:10px; margin:20px 0; }
.goi-dialog .goi-coverage-choice { display:flex; align-items:flex-start; gap:14px; min-height:44px; padding:14px; border:1px solid #dce0eb; border-radius:10px; cursor:pointer; }
.goi-dialog .goi-coverage-choice input { flex:0 0 auto; width:22px; height:22px; margin:2px 0; }
.goi-dialog .goi-coverage-choice span { min-width:0; overflow-wrap:anywhere; }
.goi-dialog .goi-coverage-choice small { display:block; margin-top:6px; }
@media (max-width:600px) {
  .goi-dashboard-summary .goi-payout-bar { flex-wrap:wrap; gap:6px 12px; padding:12px 14px; }
  .goi-payout-bar-amount { flex:1; }
  .goi-payout-bar-detail { flex-basis:100%; order:1; }
  .goi-workspace .goi-payout-week summary { padding:14px 12px; gap:8px; }
  .goi-payout-week-body { padding:0 12px 6px; }
  .goi-payout-week-total { font-size:17px; }
  .goi-workspace .goi-brand-logo { width:220px; max-width:100%; }
  .goi-workspace .goi-top { flex-wrap:wrap; gap:12px; }
  .goi-payout-facts { flex-direction:column; gap:14px; }
}

/* Past coverage stays available without crowding current requests. */
.goi-workspace .goi-coverage-history{margin-top:28px;border-top:1px solid var(--goi-line,#dce0eb);padding-top:16px}
.goi-workspace .goi-coverage-history>summary{cursor:pointer;padding:12px 0;color:var(--goi-ink,#131c39)}
.goi-workspace .goi-coverage-history>summary>span{display:block;margin:6px 0 0 20px;font-size:12px;color:var(--goi-muted,#62718c)}
.goi-workspace .goi-coverage-history-body{padding-top:12px}

/* Local schedule first; retained original schedule is an optional reference. */
.goi-viewer-timezone{margin-top:8px!important}.goi-session-times{margin:12px 0;padding-left:20px;line-height:1.7}.goi-session-times li{margin:5px 0;overflow-wrap:anywhere}.goi-original-schedule{margin:14px 0 10px;padding:12px 14px;background:#f8fafc;border:1px solid var(--goi-border,#d0d5dd);border-radius:8px;font-size:12px;white-space:normal;overflow-wrap:anywhere}.goi-original-schedule>summary,.goi-more-times>summary{cursor:pointer;font-weight:600;min-height:28px;line-height:1.6}.goi-original-schedule>summary:focus-visible,.goi-more-times>summary:focus-visible{outline:3px solid #7e9fff;outline-offset:3px}.goi-more-times{margin-top:8px}.goi-schedule{overflow-wrap:anywhere}.goi-table .goi-original-schedule{max-width:460px}.goi-table .goi-original-schedule .goi-session-times{white-space:normal}

/* Reliability policy, current totals, and durable record history. */
.goi-workspace .goi-section-title{margin-top:30px}.goi-workspace .goi-reason{display:block;min-width:220px;max-width:520px;white-space:normal;overflow-wrap:anywhere}.goi-workspace .goi-policy{margin-top:24px}.goi-workspace .goi-policy>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.goi-workspace .goi-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.goi-workspace .goi-policy-grid>div{padding:14px;border:1px solid var(--goi-line,#dce0eb);border-radius:10px;background:#f8fafc}.goi-workspace .goi-policy-grid p{margin:8px 0;overflow-wrap:anywhere}.goi-workspace .goi-policy-grid small{color:var(--goi-muted,#62718c)}.goi-workspace .goi-reliability-card{margin:16px 0}.goi-workspace .goi-point-value{font-size:24px;margin-right:8px}.goi-workspace .goi-warning{border-color:#d9a441;background:#fff9e8}.goi-workspace .goi-success{border-color:#7dbf91;background:#f1fbf4}
@media (max-width:700px){.goi-workspace .goi-policy-grid{grid-template-columns:1fr}.goi-workspace .goi-reliability-card .goi-card-head{align-items:flex-start;gap:12px}.goi-workspace .goi-reliability-card .goi-card-head>div:last-child{white-space:nowrap}}

/* Compact experience progression and explicit agreement coverage. */
.goi-premium-summary{min-width:0}
.goi-premium-benefit{font-size:1.1rem;line-height:1.5;margin:12px 0}
.goi-premium-benefit span{font-size:.9rem}
.goi-premium-next{margin:14px 0}
.goi-premium-next h3{font-size:1rem;line-height:1.45}
.goi-premium-coverage{padding:12px;border:1px solid #dce2ed;border-radius:8px;margin:14px 0}
.goi-premium-explanation{border-top:1px solid #dce2ed;padding-top:12px}
.goi-premium-explanation>summary{cursor:pointer;font-weight:600;padding:8px 0;min-height:44px}
.goi-premium-explanation>summary:focus-visible{outline:3px solid #3565e6;outline-offset:3px}
.goi-premium-explanation>div{padding-top:10px}
.goi-premium-explanation p{margin:10px 0}
.goi-premium-agreement-summary{display:block;max-width:360px;line-height:1.5;margin-top:8px;white-space:normal}
.goi-current-rate-cell{display:grid;gap:3px;min-width:0}
.goi-current-rate-cell>strong{font-size:15px;color:#101936}
.goi-current-rate-cell>small{display:block;color:#667085;white-space:normal;line-height:1.45}
.goi-current-rate-detail .goi-payout-total{margin:8px 0 4px}
.goi-current-rate-detail .goi-payout-total small{font-size:13px;font-weight:500;letter-spacing:0;color:#667085}
.goi-current-rate-breakdown{font-weight:600;color:#344054}

.goi-premium-selection{border:1px solid #dce2ed;border-radius:8px;padding:12px;margin-bottom:16px;max-height:300px;overflow:auto}
.goi-premium-selection .goi-check{margin:8px 0}
@media(max-width:600px){.goi-premium-summary .goi-card-head{flex-wrap:wrap;gap:8px}.goi-premium-next h3{overflow-wrap:anywhere}.goi-premium-explanation .goi-actions{flex-wrap:wrap}}

/* The optional clock-fold chooser is shown only for ambiguous local input. */
.goi-local-time-field { min-width: 0; }
.goi-clock-choice[hidden] { display: none !important; }
.goi-local-time-field .goi-clock-choice { margin-top: 8px; }

/* Payout selection controls keep receipt evidence readable without page-wide overflow. */
.goi-payout-tools{margin-block:16px}.goi-payout-tools .goi-card-head{align-items:flex-start;margin-bottom:10px}.goi-payout-tools .goi-card-head>[data-own-selection-count]{font-size:12px;white-space:nowrap;color:#344054}.goi-payout-tools .goi-actions{gap:10px;flex-wrap:wrap;margin-block:12px}
.goi-payout-week-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;margin:16px 0}
.goi-payout-week-row .goi-payout-week{margin:0}
.goi-payout-week-select{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;padding:15px 0;font-size:11px!important;font-weight:600!important;color:#55627e;white-space:nowrap}
.goi-payout-week-select input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0}

.goi-week-choices{max-height:250px;overflow:auto;padding:8px 0}.goi-week-choices .goi-check{margin-block:8px}
.goi-bulk-payments fieldset{min-width:0;border:1px solid #dce1eb;border-radius:12px;padding:14px;margin:16px 0}
.goi-bulk-payments fieldset:disabled{opacity:.65}.goi-bulk-payments legend{max-width:100%;overflow-wrap:anywhere;font-weight:600}
.goi-bulk-payments input[type=checkbox],.goi-payment-progress input[type=checkbox],.goi-week-choices input[type=checkbox]{width:18px;height:18px;vertical-align:middle}
.goi-bulk-payments .goi-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goi-bulk-defaults{margin-block:14px}
.goi-payment-progress .goi-actions{flex-wrap:wrap;margin-block:14px}
@media(max-width:600px){.goi-bulk-payments .goi-form-grid{grid-template-columns:1fr}.goi-payout-tools .goi-actions{align-items:stretch}.goi-payout-tools .goi-card-head{flex-wrap:wrap}.goi-payout-week-row{grid-template-columns:1fr;gap:0}.goi-payout-week-select{padding:0 2px 8px}.goi-bulk-payments fieldset{padding:10px}.goi-bulk-payments legend{font-size:14px}}
