.gfe-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; align-items:start; width:var(--tool-shell); max-width:1280px; margin:0 auto; box-sizing:border-box; }
.gfe-panel { min-width:0; background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:22px; }
.gfe-panel-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.gfe-panel-kicker { color:var(--accent2); font:800 10px/1 var(--mono); letter-spacing:.11em; text-transform:uppercase; }
.gfe-panel-title { margin:0; color:var(--text); font-size:20px; line-height:1.35; font-weight:650; letter-spacing:-.02em; }
.gfe-file-format { color:var(--muted); font:500 12px/1.5 var(--font); }
.gfe-field-title { color:var(--text); font:600 14px/1.5 var(--font); }
.gfe-presets-label { margin:22px 0 8px; }
.gfe-period-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; margin-top:6px; }
.gfe-panel-sub { max-width:68ch; margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.gfe-stepper { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px; }
.gfe-step-chip { display:inline-flex; align-items:center; gap:7px; min-height:30px; padding:6px 10px; border:1px solid var(--border); border-radius:999px; background:var(--surface2); color:var(--muted); font:700 10px/1 var(--mono); }
.gfe-step-chip b { width:17px; height:17px; display:grid; place-items:center; border-radius:50%; background:rgba(254,57,31,.12); color:var(--accent2); font-size:9px; }
.gfe-step-chip.done { border-color:rgba(21,157,141,.28); color:var(--text); }
.gfe-step-chip.done b { background:rgba(21,157,141,.14); color:var(--green); }
.gfe-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 16px; }
.tool-workbench-page .gfe-presets button.gfe-preset { min-height:76px; padding:12px; border-radius:10px; text-align:left; font:inherit; cursor:pointer; }
.tool-workbench-page .gfe-presets button.gfe-preset:hover, .tool-workbench-page .gfe-presets button.gfe-preset.on { border-color:rgba(254,57,31,.45) !important; background:rgba(254,57,31,.08) !important; transform:translateY(-1px); box-shadow:0 8px 22px rgba(88, 88, 88,.08) !important; }
.gfe-presets button.gfe-preset:focus-visible { outline:3px solid rgba(254,57,31,.22); outline-offset:2px; }
.gfe-preset b { display:block; font-size:13px; font-weight:650; line-height:1.4; }
.gfe-preset span { display:block; margin-top:5px; color:var(--muted); font:500 12px/1.5 var(--font); overflow-wrap:anywhere; }
.gfe-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.gfe-field.full { grid-column:1 / -1; }
.gfe-field > label { display:block; color:var(--muted); margin-bottom:6px; }
.tool-workbench-page #main .gfe-field label { font:600 13px/1.5 var(--font) !important; letter-spacing:0 !important; text-transform:none !important; }
.tool-workbench-page #main .gfe-field .gfe-check, .tool-workbench-page #main .gfe-partition { display:flex; align-items:center; gap:8px; }
.gfe-field input, .gfe-field select {
  width:100%; min-height:42px; border:1px solid var(--border); border-radius:8px;
  background:var(--surface2); color:var(--text); padding:0 12px; font:inherit; font-size:14px;
}
.gfe-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.gfe-check { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid var(--border); border-radius:8px; background:var(--surface2); font-size:13px; }
.gfe-check:has(input:checked) { border-color:rgba(254,57,31,.38); background:rgba(254,57,31,.07); color:var(--text); font-weight:700; }
.gfe-check input { width:auto; min-height:auto; }
.gfe-partition { display:flex; align-items:flex-start; gap:9px; margin-top:9px; padding:11px 12px; border:1px solid rgba(21,157,141,.25); border-radius:10px; background:rgba(21,157,141,.055); color:var(--muted); font-size:11px; line-height:1.45; }
.gfe-partition input { width:auto; min-height:auto; margin-top:2px; }
.gfe-partition b { color:var(--text); }
.gfe-date-shortcuts { display:flex; flex-wrap:wrap; gap:6px; margin:0; }
.tool-workbench-page #main .gfe-date-shortcuts button.gfe-date-btn { min-height:36px !important; padding:6px 12px; border-radius:8px; font:600 13px/1.4 var(--font); cursor:pointer; }
.tool-workbench-page .gfe-date-shortcuts button.gfe-date-btn:hover, .tool-workbench-page .gfe-date-shortcuts button.gfe-date-btn.on { border-color:rgba(254,57,31,.38) !important; color:var(--accent2) !important; background:rgba(254,57,31,.08) !important; }
.gfe-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; align-items:center; }
.gfe-note { font-size:12px; line-height:1.7; color:var(--muted); margin-top:12px; }
.gfe-export-message { position:relative; isolation:isolate; display:none; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:11px; overflow:hidden; margin-top:14px; padding:13px 15px 16px; border:1px solid rgba(254,57,31,.24); border-radius:12px; background:var(--surface2); color:var(--muted); box-shadow:none; }
.gfe-export-message::before, .gfe-export-message::after { content:none !important; display:none !important; }
.gfe-export-message.is-visible { display:grid; }
.gfe-export-message.is-error { border-color:rgba(207,73,73,.34); background:rgba(207,73,73,.055); }
.gfe-message-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; background:rgba(254,57,31,.11); color:var(--accent2); font-size:15px; font-weight:900; }
.gfe-export-message.is-error .gfe-message-icon { background:rgba(207,73,73,.11); color:var(--red); }
.gfe-message-copy { min-width:0; }
.gfe-message-copy b { display:block; color:var(--text); font-size:12px; line-height:1.25; }
.gfe-message-copy span { display:block; margin-top:3px; color:var(--muted); font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.gfe-message-progress { position:absolute; z-index:2; left:15px; right:15px; bottom:7px; height:3px; overflow:hidden; border-radius:999px; background:rgba(254,57,31,.12); }
.gfe-message-progress i { display:block; width:42%; height:100%; border-radius:inherit; background:var(--accent3); animation:gfe-progress 1.35s ease-in-out infinite; }
.gfe-export-message.is-error .gfe-message-progress { display:none; }
@keyframes gfe-progress { 0% { transform:translateX(-110%); } 100% { transform:translateX(340%); } }
.gfe-blueprint { margin:0; padding:0; border:0; background:transparent; }
.gfe-blueprint-head { display:grid; gap:8px; }
.gfe-blueprint-head h3 { margin:0; color:var(--text); font-size:16px; font-weight:900; }
.gfe-blueprint-head p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.gfe-ready { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; padding:6px 9px; border-radius:999px; background:rgba(21,157,141,.11); color:var(--green); font:800 9px/1 var(--mono); }
.gfe-ready::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(21,157,141,.1); }
.gfe-blueprint-kpis { display:grid; margin-top:18px; border-top:1px solid var(--border); }
.gfe-blueprint-kpi { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:baseline; gap:12px; min-width:0; padding:12px 0; border-bottom:1px solid var(--border); }
.gfe-blueprint-kpi span { display:block; color:var(--muted); font:600 12px/1.4 var(--font); }
.gfe-blueprint-kpi strong { display:block; text-align:right; overflow-wrap:anywhere; color:var(--text); font-size:14px; line-height:1.5; font-weight:600; }
.gfe-schema { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
.gfe-schema span { padding:6px 8px; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--text); font:500 12px/1.4 var(--mono); }
.gfe-schema span.metric { border-color:rgba(21,157,141,.24); color:var(--green); }
.gfe-complexity { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; margin-top:20px; color:var(--muted); font-size:12px; }
.gfe-complexity > b { grid-row:1; grid-column:2; font-weight:600; }
.gfe-complexity-track { grid-column:1/-1; height:5px; overflow:hidden; border-radius:999px; background:var(--surface2); border:1px solid var(--border); }
.gfe-complexity-fill { display:block; height:100%; border-radius:inherit; background: #d43a1c; transition:width .2s ease; }
.gfe-complexity b { color:var(--text); }
.gfe-last-export { display:none; margin-top:12px; padding:12px 14px; border:1px solid rgba(21,157,141,.23); border-radius:11px; background:rgba(21,157,141,.06); color:var(--muted); font-size:12px; line-height:1.5; }
.gfe-last-export b { color:var(--text); }
.gfe-profile { grid-column:1/-1; display:none; margin-top:0; padding:22px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.gfe-profile.visible { display:block; }
.gfe-profile-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.gfe-profile-head h3 { margin:7px 0 0; color:var(--text); font-size:20px; }
.gfe-quality { flex:0 0 auto; padding:7px 10px; border-radius:999px; background:rgba(21,157,141,.13); color:#d43a1c; font:800 10px/1 var(--mono); }
.gfe-quality.limited, .gfe-quality.insufficient { background:rgba(224,82,82,.11); color:#c74444; }
.gfe-quality.usable_with_caveats { background:rgba(245,158,11,.12); color:#b7791f; }
.gfe-profile-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:14px; }
.gfe-profile-kpi { padding:12px; border:1px solid var(--border); border-radius:11px; background:var(--surface); }
.gfe-profile-kpi span { display:block; color:var(--muted); font:600 12px/1.5 var(--font); }
.gfe-profile-kpi b { display:block; margin-top:8px; color:var(--text); font-size:20px; line-height:1; }
.gfe-profile-kpi small { display:block; margin-top:6px; color:var(--muted); font-size:12px; line-height:1.5; }
.gfe-compare { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:10px; }
.gfe-compare-item { padding:11px 12px; border:1px solid var(--border); border-radius:10px; background:rgba(255,255,255,.42); }
[data-theme="dark"] .gfe-compare-item { background:rgba(28, 28, 28,.3); }
.gfe-compare-item span { color:var(--muted); font-size:12px; }
.gfe-compare-item b { display:block; margin-top:5px; color:var(--text); font-size:15px; }
.gfe-caveats { display:grid; gap:6px; margin-top:12px; }
.gfe-verdict { margin-top:12px; padding:12px 14px; border-left:3px solid var(--accent2); border-radius:0 10px 10px 0; background:rgba(254,57,31,.07); color:var(--muted); font-size:12px; line-height:1.6; }
.gfe-verdict b { color:var(--text); }
.gfe-caveat { padding:9px 11px; border:1px solid rgba(245,158,11,.22); border-radius:9px; background:rgba(245,158,11,.06); color:var(--muted); font-size:11px; line-height:1.45; }
.gfe-side-panel { position:sticky; top:86px; }
.gfe-advanced { border-top:1px solid var(--border) !important; padding-top:8px !important; }
.gfe-advanced[open] > .gfe-fields { padding-top:12px; }
.gfe-side-summary { margin-bottom:17px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.gfe-side-summary h2 { margin:7px 0 0; font-size:18px; line-height:1.25; }
.gfe-side-summary p { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.gfe-list { display:grid; gap:14px; }
.gfe-list-item { display:grid; grid-template-columns:32px 1fr; gap:12px; align-items:start; }
.gfe-num { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; background:rgba(254,57,31,.12); color:var(--accent2); font-weight:800; font-size:13px; }
.gfe-list-item b { display:block; font-size:14px; margin-bottom:3px; }
.gfe-list-item span { display:block; font-size:12px; line-height:1.65; color:var(--muted); }
.gfe-login-note { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; align-items:center; margin-bottom:24px; padding:16px; border:1px solid var(--border); border-radius:10px; background:var(--surface2); color:var(--muted); font-size:13px; line-height:1.55; }
.gfe-login-note > div { flex:1 1 240px; }
.gfe-login-note p { margin:4px 0 0; }
.gfe-login-note > button { flex:0 0 auto; }
.gfe-login-note b { color:var(--text); }
.gfe-login-note .btn { flex:0 0 auto; min-width:170px; white-space:nowrap; text-align:center; }
.gfe-content { width:min(1600px, calc(100vw - 80px)); max-width:1600px; margin:28px auto 0 !important; box-sizing:border-box; overflow:hidden; }
.gfe-content h2 { max-width:980px; overflow-wrap:anywhere; }
.gfe-content p { max-width:78ch; }
@media (max-width: 1100px) { .gfe-profile-grid, .gfe-compare { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 1000px) { .gfe-grid { grid-template-columns:1fr; } .gfe-side-panel { position:static; } }
@media (max-width: 640px) { .gfe-fields, .gfe-checks, .gfe-presets { grid-template-columns:1fr; } .gfe-panel { padding:16px; } .gfe-login-note { flex-direction:column; align-items:stretch; } .gfe-login-note > div { flex-basis:auto; } .gfe-panel-head { flex-wrap:wrap; } .gfe-actions > .tool-button { width:100%; } }
