:root {
  --glf-navy:#102a43;
  --glf-teal:#00a6a6;
  --glf-lime:#9ad23b;
  --glf-bg:#f7f9f8;
  --glf-border:#dfe8ec;
  --glf-muted:#637687;
  --glf-red:#d44747;
  --glf-amber:#db931b;
}

.glf-app { box-sizing:border-box; width:calc(100vw - 32px); max-width:1800px; margin:24px 0; padding:0; color:#19344a; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--glf-bg); border:1px solid var(--glf-border); border-radius:18px; overflow:hidden; box-shadow:0 14px 45px rgba(16,42,67,.1); }
.glf-app * { box-sizing:border-box; }
:where(.entry-content,.wp-block-post-content,.wp-block-group__inner-container):has(> .glf-app) { max-width:none!important; overflow:visible!important; }
.glf-dashboard-host { overflow:visible!important; }
.glf-app-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 18px; min-height:76px; padding:14px 24px; background:#fff; border-bottom:1px solid var(--glf-border); }
.glf-app-brand { display:flex; align-items:center; gap:12px; }
.glf-app-brand img,.glf-app-brand svg { width:52px; height:40px; object-fit:contain; }
.glf-app-brand span,.glf-app-brand small { display:block; }
.glf-app-brand span { color:var(--glf-navy); font-size:22px; font-weight:750; }
.glf-app-brand small { color:var(--glf-teal); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.glf-dashboard-switchers { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.glf-release-switcher,.glf-team-switcher { display:flex; align-items:center; gap:8px; margin:0; color:var(--glf-muted); font-size:12px; font-weight:700; }
.glf-release-switcher select,.glf-team-switcher select { min-width:210px; padding:9px 32px 9px 11px; border:1px solid #bdcbd3; border-radius:8px; background:#fff; }
.glf-release-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 32px; color:#fff; background:linear-gradient(125deg,var(--glf-navy),color-mix(in srgb,var(--glf-navy) 76%,var(--glf-teal))); }
.glf-release-hero h1 { margin:4px 0; color:#fff; font-size:clamp(26px,4vw,38px); line-height:1.15; }
.glf-release-hero p { margin:0; color:#d5e4eb; }
.glf-team-context { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:12px; color:#dceaf0; font-size:13px; }
.glf-team-context-name { display:inline-flex; align-items:center; gap:7px; padding:5px 10px; color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); border-radius:99px; font-weight:750; }
.glf-team-context-name::before { content:""; width:8px; height:8px; background:var(--glf-team-color); border-radius:50%; }
.glf-team-context strong { color:#fff; }
.glf-eyebrow { color:#a8f0ea; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.glf-go-live-date { min-width:190px; padding:15px 18px; text-align:right; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:12px; }
.glf-go-live-date small,.glf-go-live-date strong,.glf-go-live-date span { display:block; }
.glf-go-live-date small { color:#a8f0ea; text-transform:uppercase; letter-spacing:.08em; }
.glf-go-live-date strong { margin:3px 0; color:#fff; font-size:21px; }
.glf-summary-grid { display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:12px; padding:20px 24px; }
.glf-summary-card { position:relative; min-height:105px; padding:17px; background:#fff; border:1px solid var(--glf-border); border-radius:12px; }
.glf-summary-card strong { display:block; margin-top:8px; color:var(--glf-navy); font-size:28px; }
.glf-summary-label { color:var(--glf-muted); font-size:13px; font-weight:650; }
.glf-status-dot { position:absolute; top:18px; right:18px; width:10px; height:10px; border-radius:50%; }
.glf-status-open { background:#e9eef1; color:#516776; }
.glf-status-in_progress { background:#dff7f5; color:#087171; }
.glf-status-blocked { background:#fee3e3; color:#a72f2f; }
.glf-status-completed { background:#eaf7d7; color:#416e16; }
.glf-status-cancelled,.glf-status-na { background:#eceff1; color:#64727c; }
.glf-status-dot.glf-status-open { background:#91a1ac; }
.glf-status-dot.glf-status-in_progress { background:var(--glf-teal); }
.glf-status-dot.glf-status-blocked { background:var(--glf-red); }
.glf-status-dot.glf-status-completed { background:var(--glf-lime); }
.glf-progress-card small { color:var(--glf-muted); }
.glf-progress { height:7px; margin:7px 0; overflow:hidden; background:#e6edef; border-radius:99px; }
.glf-progress span { display:block; height:100%; background:linear-gradient(90deg,var(--glf-teal),var(--glf-lime)); }
.glf-filters { display:flex; gap:7px; padding:0 24px 14px; overflow:auto; }
.glf-filters button { padding:8px 13px; color:#4e6575; white-space:nowrap; background:#fff; border:1px solid var(--glf-border); border-radius:99px; cursor:pointer; }
.glf-filters button.is-active { color:#fff; background:var(--glf-navy); border-color:var(--glf-navy); }
.glf-live-sync { display:inline-flex; align-items:center; gap:7px; margin-left:auto; padding:7px 10px; color:#3e6870; white-space:nowrap; font-size:11px; font-weight:700; }
.glf-live-sync i { width:8px; height:8px; background:var(--glf-teal); border-radius:50%; box-shadow:0 0 0 0 color-mix(in srgb,var(--glf-teal) 35%,transparent); animation:glf-live-pulse 2s infinite; }
.glf-live-sync.is-error { color:var(--glf-red); }
.glf-live-sync.is-error i { background:var(--glf-red); animation:none; }
@keyframes glf-live-pulse { 70% { box-shadow:0 0 0 6px rgba(0,166,166,0); } 100% { box-shadow:0 0 0 0 rgba(0,166,166,0); } }
@media (prefers-reduced-motion: reduce) { .glf-live-sync i { animation:none; } }
.glf-table-wrap { margin:0 24px 24px; overflow:auto; background:#fff; border:1px solid var(--glf-border); border-radius:12px; }
.glf-live-table { width:100%; min-width:900px; table-layout:fixed; border-collapse:collapse; font-size:clamp(12px,.72vw,14px); }
.glf-col-planning { width:92px; }
.glf-col-code { width:74px; }
.glf-col-team { width:112px; }
.glf-col-owner { width:190px; }
.glf-col-dependency { width:125px; }
.glf-col-status { width:142px; }
.glf-live-table th { padding:12px 14px; color:#647786; text-align:left; background:#f1f5f6; border-bottom:1px solid var(--glf-border); font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.glf-live-table td { min-width:0; padding:14px; vertical-align:top; border-bottom:1px solid #edf1f3; overflow-wrap:anywhere; }
.glf-live-table tr:last-child td { border-bottom:0; }
.glf-live-table tr:hover td { background:#fbfdfd; }
.glf-live-table tr.is-late td:first-child { box-shadow:inset 4px 0 var(--glf-red); }
.glf-live-table tr.is-source-missing td:first-child { box-shadow:inset 4px 0 #d89216; }
.glf-live-table tr.is-late.is-source-missing td:first-child { box-shadow:inset 4px 0 var(--glf-red),inset 8px 0 #d89216; }
.glf-live-table td:first-child strong,.glf-live-table td:first-child small { display:block; }
.glf-live-table td:first-child small { color:var(--glf-muted); }
.glf-live-table code { color:#24506a; background:#edf4f7; }
.glf-task-cell { overflow:hidden; }
.glf-task-title { display:-webkit-box!important; max-width:100%; overflow:hidden; color:var(--glf-navy); line-height:1.45; overflow-wrap:anywhere; white-space:normal!important; word-break:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; }
.glf-source-missing-label { display:inline-block; margin-top:6px; padding:3px 7px; color:#805c12; background:#fff2cf; border-radius:6px; font-size:10px; font-weight:800; }
.glf-live-table details { margin-top:7px; color:var(--glf-muted); font-size:12px; }
.glf-live-table summary { width:max-content; max-width:100%; cursor:pointer; color:var(--glf-teal); font-weight:700; }
.glf-task-details > div { margin-top:8px; padding:10px 12px; color:#40596a; background:#f4f8f9; border-left:3px solid var(--glf-teal); border-radius:6px; }
.glf-task-details p { margin:0 0 8px; }
.glf-task-details p:last-child { margin-bottom:0; }
.glf-team-chip { display:inline-flex; align-items:center; gap:6px; padding:4px 8px; background:#f0f4f5; border-radius:99px; font-size:12px; white-space:nowrap; }
.glf-team-chip::before { content:""; width:7px; height:7px; background:var(--glf-team-color); border-radius:50%; }
.glf-owner-cell { overflow:hidden; white-space:normal!important; }
.glf-owner-list { display:flex; flex-wrap:wrap; align-items:flex-start; gap:4px; max-width:100%; }
.glf-owner-chip { display:inline-flex; max-width:100%; padding:3px 7px; overflow:hidden; color:#355269; line-height:1.35; overflow-wrap:anywhere; white-space:normal!important; background:#eef4f6; border-radius:6px; }
.glf-dependency { padding:3px 7px; color:#9b3535; background:#feecec; border-radius:6px; font-size:12px; }
.glf-dependency.is-done { color:#436c1d; background:#edf8df; }
.glf-dependency.is-external { color:#805c12; background:#fff2cf; }
.glf-status,.glf-status-select { display:inline-block; padding:6px 9px; border:0; border-radius:7px; font-size:12px; font-weight:700; }
.glf-status-select { min-width:125px; cursor:pointer; }
.glf-save-state { display:block; max-width:170px; margin-top:4px; font-size:11px; }
.glf-save-state.is-saving { color:var(--glf-muted); }
.glf-save-state.is-saved { color:#4d771e; }
.glf-save-state.is-error { color:var(--glf-red); }
.glf-late-label { display:inline-block; margin-top:4px; padding:2px 5px; color:#fff; background:var(--glf-red); border-radius:4px; font-size:9px; font-weight:800; text-transform:uppercase; }
.glf-empty,.glf-empty-cell { padding:48px 24px; text-align:center; }
.glf-empty h2 { color:var(--glf-navy); }
.glf-access-shell { box-sizing:border-box; width:min(100%,1180px); margin:28px auto; padding:clamp(18px,4vw,48px); color:#19344a; background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--glf-teal) 13%,transparent),transparent 21rem),linear-gradient(145deg,#f8fbfb,#edf4f5); border:1px solid var(--glf-border); border-radius:22px; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.glf-access-shell * { box-sizing:border-box; }
.glf-access-card { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); width:100%; max-width:100%; min-height:390px; overflow:hidden; background:#fff; border:1px solid var(--glf-border); border-radius:18px; box-shadow:0 20px 55px rgba(16,42,67,.12); }
.glf-access-brand { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; padding:38px; color:#fff; text-align:center; background:linear-gradient(145deg,var(--glf-navy),color-mix(in srgb,var(--glf-navy) 76%,var(--glf-teal))); }
.glf-access-brand img { width:112px; height:84px; padding:10px; object-fit:contain; background:#fff; border-radius:18px; box-shadow:0 12px 30px rgba(0,0,0,.14); }
.glf-access-brand strong,.glf-access-brand small { display:block; }
.glf-access-brand strong { margin-top:3px; color:#fff; font:750 26px/1.15 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.glf-access-brand small { margin-top:7px; color:#a8f0ea; font:750 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.16em; text-transform:uppercase; }
.glf-access-content { display:flex; align-items:flex-start; justify-content:center; flex-direction:column; min-width:0; overflow:hidden; padding:clamp(34px,6vw,72px); }
.glf-access-eyebrow { display:inline-flex; align-items:center; gap:9px; margin-bottom:18px; color:#087171; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.glf-access-eyebrow::before { width:8px; height:8px; content:""; background:var(--glf-lime); border-radius:50%; box-shadow:0 0 0 5px color-mix(in srgb,var(--glf-lime) 18%,transparent); }
.glf-access-content h2 { max-width:620px; margin:0; color:var(--glf-navy); font-family:Georgia,"Times New Roman",serif; font-size:clamp(32px,5vw,48px); font-weight:500; line-height:1.08; letter-spacing:-.025em; }
.glf-access-content p { width:100%; max-width:650px; margin:20px 0 0; overflow-wrap:anywhere!important; color:var(--glf-muted); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; font-size:16px; line-height:1.7; white-space:normal!important; }
.glf-access-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:28px; }
.glf-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 19px; color:#fff; text-decoration:none!important; background:var(--glf-teal); border:1px solid var(--glf-teal); border-radius:9px; font-size:14px; font-weight:750; transition:transform .2s ease,box-shadow .2s ease; }
.glf-button:hover { color:#fff; transform:translateY(-2px); box-shadow:0 10px 25px rgba(0,166,166,.2); }
.glf-button-secondary { color:var(--glf-navy); background:#fff; border-color:var(--glf-border); }
.glf-button-secondary:hover { color:var(--glf-navy); box-shadow:0 10px 25px rgba(16,42,67,.1); }
.glf-access-note { display:block; margin-top:18px; color:#7c8d98; font-size:11px; }
:where(.entry-content,.wp-block-post-content,.wp-block-group__inner-container):has(> .glf-access-shell) { max-width:none!important; }
.glf-dashboard-body { margin:0!important; overflow-x:hidden; background:#f4f8f8; }
.glf-dashboard-body .glf-access-shell { width:min(calc(100vw - 32px),1500px); margin:clamp(16px,4vw,48px) auto; }
.glf-dashboard-body .glf-app { margin-inline:auto; }

@media (max-width: 1000px) {
  .glf-summary-grid { grid-template-columns:repeat(2,1fr); }
  .glf-progress-card { grid-column:1/-1; }
  .glf-table-wrap { overflow:visible; background:transparent; border:0; }
  .glf-live-table { display:block; min-width:0; table-layout:auto; }
  .glf-live-table colgroup,.glf-live-table thead { display:none; }
  .glf-live-table tbody { display:grid; gap:12px; }
  .glf-live-table tr { display:grid; grid-template-columns:92px minmax(0,1fr) 150px; background:#fff; border:1px solid var(--glf-border); border-radius:12px; overflow:hidden; }
  .glf-live-table td { display:block; padding:10px 12px; border:0; }
  .glf-live-table td::before { display:block; margin-bottom:4px; color:#738592; content:attr(data-label); font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
  .glf-live-table td:nth-child(1) { grid-column:1; grid-row:1 / span 2; background:#f5f8f9; }
  .glf-live-table td:nth-child(2) { grid-column:1; grid-row:3; background:#f5f8f9; }
  .glf-live-table td:nth-child(3) { grid-column:2; grid-row:1 / span 2; }
  .glf-live-table td:nth-child(4) { grid-column:2; grid-row:3; }
  .glf-live-table td:nth-child(5) { grid-column:2; grid-row:4; }
  .glf-live-table td:nth-child(6) { grid-column:3; grid-row:2 / span 2; }
  .glf-live-table td:nth-child(7) { grid-column:3; grid-row:1; }
}
@media (max-width: 680px) {
  .glf-app { width:calc(100vw - 16px); margin:8px 0; border-radius:10px; }
  .glf-app-header,.glf-release-hero { align-items:stretch; flex-direction:column; }
  .glf-dashboard-switchers { align-items:stretch; flex-direction:column; }
  .glf-release-switcher,.glf-team-switcher { align-items:stretch; flex-direction:column; }
  .glf-release-switcher select,.glf-team-switcher select { width:100%; min-width:0; }
  .glf-release-hero { padding:24px 20px; }
  .glf-go-live-date { text-align:left; }
  .glf-summary-grid { grid-template-columns:1fr 1fr; padding:14px; }
  .glf-summary-card { min-height:90px; }
  .glf-filters { padding-inline:14px; }
  .glf-table-wrap { margin:0 14px 14px; }
  .glf-live-table tr { grid-template-columns:1fr 1fr; }
  .glf-live-table td:nth-child(1),.glf-live-table td:nth-child(2),.glf-live-table td:nth-child(3),.glf-live-table td:nth-child(4),.glf-live-table td:nth-child(5),.glf-live-table td:nth-child(6),.glf-live-table td:nth-child(7) { grid-column:auto; grid-row:auto; background:#fff; }
  .glf-live-table td:nth-child(3) { grid-column:1 / -1; grid-row:1; padding-bottom:14px; border-bottom:1px solid #edf1f3; }
  .glf-live-table td:nth-child(1) { grid-column:1; }
  .glf-live-table td:nth-child(2) { grid-column:2; }
  .glf-live-table td:nth-child(7) { grid-column:1 / -1; }
  .glf-status-select { width:100%; }
	.glf-access-shell { width:calc(100vw - 16px); margin:8px 0; padding:10px; border-radius:13px; }
	.glf-access-card { grid-template-columns:1fr; min-height:0; border-radius:11px; }
	.glf-access-brand { align-items:center; justify-content:flex-start; flex-direction:row; padding:22px; text-align:left; }
	.glf-access-brand img { width:62px; height:52px; padding:7px; border-radius:11px; }
	.glf-access-brand strong { font-size:20px; }
	.glf-access-content { padding:32px 24px 38px; }
	.glf-access-actions,.glf-access-actions .glf-button { width:100%; }
}
