:root{--glc-accent:#0b5}
.glc-wrap{max-width:1100px;margin:0 auto;padding:16px}
.glc-header{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.glc-header-report{justify-content:space-between}
.glc-header-left{display:flex;gap:14px;align-items:center}
.glc-logo{max-height:64px;width:auto}
.glc-title{margin:0;font-size:22px;line-height:1.2}
.glc-weather-badge{font-size:12px;color:#111827;margin-bottom:2px;opacity:.9}

.glc-subtitle{margin-top:4px;color:#4b5563;font-size:13px}
.glc-notice{padding:10px 12px;border-radius:10px;margin:12px 0;border:1px solid #e5e7eb;background:#fff}
.glc-notice-success{border-color:rgba(16,185,129,.3)}
.glc-notice-warning{border-color:rgba(245,158,11,.35)}
.glc-form{margin-top:14px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px}
.glc-field label{display:block;font-weight:600;margin-bottom:6px}
.glc-field input[type="date"]{padding:8px 10px;border-radius:10px;border:1px solid #e5e7eb}
.glc-help{color:#6b7280;font-size:12px;margin-top:6px}
.glc-sections{margin-top:12px}
.glc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.glc-metric{background:#f9fafb;border:1px solid #eef2f7;border-radius:12px;padding:12px}
.glc-metric label{display:block;font-weight:600;margin-bottom:6px}
.glc-metric input{width:100%;padding:9px 10px;border-radius:10px;border:1px solid #e5e7eb;background:#fff}
.glc-actions{display:flex;gap:10px;margin-top:14px;align-items:center}
.glc-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;color:#111827;text-decoration:none;cursor:pointer}
.glc-btn-primary{border-color:transparent;background:var(--glc-accent);color:#fff}
.glc-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.glc-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.glc-card-title{color:#4b5563;font-size:13px;margin-bottom:6px}
.glc-card-value{font-size:22px;font-weight:700}
.glc-card-sparkline{margin-top:10px;color:#111827;opacity:.75}
.glc-section-title{margin:18px 0 6px 2px;font-size:16px}
.glc-table-wrap{margin-top:12px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:8px}
.glc-table{width:100%;border-collapse:collapse}
.glc-table th,.glc-table td{padding:10px 12px;border-bottom:1px solid #eef2f7;text-align:left}
.glc-table th{color:#4b5563;font-weight:600;font-size:13px}
.glc-footnote{margin-top:14px;color:#6b7280;font-size:12px}
.glc-period select{padding:8px 10px;border-radius:10px;border:1px solid #e5e7eb}
@media (max-width: 1100px){.glc-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.glc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.glc-kpi-grid,.glc-grid{grid-template-columns:1fr}.glc-header-report{flex-direction:column;align-items:flex-start}}

.glc-required{color:var(--glc-accent);font-weight:700}
.glc-card-sub{margin-top:8px;color:#6b7280;font-size:12px}
.glc-delta.up{color:#059669}
.glc-delta.down{color:#dc2626}
.glc-target{margin-top:8px;font-size:12px;padding:6px 8px;border-radius:10px;border:1px solid #e5e7eb;background:#f9fafb;color:#111827}
.glc-target-on{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.08)}
.glc-target-watch{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08)}
.glc-target-off{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}
.glc-export{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.glc-timeline{margin-top:18px}
.glc-timeline-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin-top:10px}
.glc-timeline-date{font-weight:700}
.glc-timeline-tags{margin-top:4px;color:#6b7280;font-size:12px}
.glc-timeline-notes{margin-top:6px}

.glc-chart-wrap{background:transparent}
.glc-chart-caption{margin-top:6px;color:#6b7280;font-size:12px}
.glc-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.glc-chart{max-width:100%;height:auto}
@media (max-width: 900px){.glc-charts-grid{grid-template-columns:1fr}}

.glc-drilldown .glc-kpi-grid{margin-top:12px}
.glc-drilldown .glc-table td{vertical-align:top}

/* Ticket Form */
.glc-ticket-form .glc-field{margin:10px 0;display:flex;flex-direction:column;gap:6px}
.glc-ticket-form input,.glc-ticket-form select,.glc-ticket-form textarea{max-width:720px;padding:10px;border:1px solid #e5e7eb;border-radius:10px}
.glc-ticket-form .glc-actions{margin-top:12px}
.glc-ticket-form .glc-btn{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid #111827;background:#111827;color:#fff;text-decoration:none;cursor:pointer}
.glc-notice-success{border-left:4px solid #00bb55;background:#ecfdf5;padding:10px;border-radius:10px}
.glc-narrative .glc-narrative-list{margin:10px 0 0 18px;color:#111827}
.glc-narrative .glc-card-sub{margin-top:6px}

/* SysAdmin Portal */
.glc-sysadmin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.glc-sysadmin-tabs .glc-tab{display:inline-block;padding:8px 10px;border:1px solid #e5e7eb;border-radius:12px;text-decoration:none;color:#111827;background:#fff}
.glc-sysadmin-tabs .glc-tab.active{border-color:#111827;font-weight:600}
.glc-sysadmin-panel .glc-card{padding:14px}
.glc-sysadmin .glc-field{margin:10px 0;display:flex;flex-direction:column;gap:6px}
.glc-sysadmin input[type="text"],.glc-sysadmin input[type="number"],.glc-sysadmin input[type="password"],.glc-sysadmin input[type="time"],.glc-sysadmin select,.glc-sysadmin textarea{max-width:920px;padding:10px;border:1px solid #e5e7eb;border-radius:12px}
.glc-sysadmin .glc-actions{margin-top:12px}
.glc-sysadmin .glc-btn{display:inline-block;padding:10px 14px;border-radius:12px;border:1px solid #111827;background:#111827;color:#fff;text-decoration:none;cursor:pointer}
.glc-sysadmin .glc-btn-sm{padding:6px 10px;font-size:13px}
.glc-sysadmin .glc-btn-danger{background:#b91c1c;border-color:#b91c1c}
.glc-sysadmin .glc-help{color:#374151;margin:6px 0 0 0;font-size:13px}
.glc-sysadmin .glc-check{display:flex;align-items:center;gap:8px}
.glc-sysadmin .glc-checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.glc-sysadmin .glc-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.glc-sysadmin .glc-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.glc-sysadmin-subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.glc-sysadmin-subtabs .glc-subtab{padding:6px 10px;border:1px solid #e5e7eb;border-radius:999px;text-decoration:none;color:#111827}
.glc-sysadmin-subtabs .glc-subtab.active{border-color:#111827;font-weight:600}
.glc-link-list{margin:10px 0 0 18px}

/* Confidence badge */
.glc-confidence{display:inline-flex;align-items:center;margin-left:8px;padding:3px 10px;border-radius:999px;font-size:12px;border:1px solid #e5e7eb;background:#fff}
.glc-conf-good{border-color:#16a34a;color:#166534}
.glc-conf-warn{border-color:#f59e0b;color:#92400e}
.glc-conf-bad{border-color:#dc2626;color:#7f1d1d}

.glc-dashboard-page .glc-dashboard-audience-badge {
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  background:#eef6ff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  margin-bottom:8px;
}
.glc-dashboard-page .glc-dashboard-intro {
  margin-top:8px;
  max-width:760px;
  color:#475569;
}
.glc-dashboard-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  margin:16px 0 20px;
}
.glc-dashboard-grid-secondary {
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
}
.glc-dashboard-card .glc-card-value {
  font-size:28px;
}
.glc-dashboard-delta {
  margin-top:8px;
  font-size:12px;
  color:#64748b;
}
.glc-dashboard-delta.glc-delta-up {
  color:#166534;
}
.glc-dashboard-delta.glc-delta-down {
  color:#b91c1c;
}
.glc-dashboard-two-col {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:16px;
  margin:18px 0;
}
.glc-dashboard-chart .glc-chart-wrap,
.glc-dashboard-chart .glc-chart {
  width:100%;
  max-width:100%;
}
.glc-dashboard-story,
.glc-dashboard-notes,
.glc-dashboard-watchlist {
  margin-top:16px;
}
.glc-dashboard-tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.glc-dashboard-tag {
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  font-size:12px;
  font-weight:600;
}
.glc-section-title {
  margin:8px 0 6px;
  font-size:18px;
}
@media (max-width: 782px) {
  .glc-dashboard-page .glc-header-right {
    width:100%;
  }
  .glc-dashboard-page .glc-dashboard-period {
    width:100%;
  }
}


.glc-dashboard-executive-builder .glc-builder-header {align-items:flex-start;gap:18px}
.glc-dashboard-executive-builder .glc-builder-share {min-width:240px}
.glc-builder-url {width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#111827}
.glc-builder-controls {margin-top:16px;padding:18px}
.glc-builder-toolbar {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}
.glc-builder-toolbar-item select,.glc-builder-toolbar-item input[type="date"] {width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.glc-builder-toolbar-actions {display:flex;justify-content:flex-end}
.glc-builder-picker-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}
.glc-builder-picker-head {display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.glc-builder-clear {white-space:nowrap}
.glc-builder-chip-grid {display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.glc-builder-chip {position:relative;display:inline-flex;align-items:center;border:1px solid #dbe4f0;border-radius:12px;background:#f8fbff;padding:0;cursor:pointer;overflow:hidden}
.glc-builder-chip input {position:absolute;opacity:0;inset:0;cursor:pointer}
.glc-builder-chip span {display:inline-flex;align-items:center;padding:10px 12px;font-weight:600;color:#1f2937}
.glc-builder-chip.is-selected,.glc-builder-chip:has(input:checked) {background:#eef6ff;border-color:#93c5fd}
.glc-builder-viz-board {align-items:stretch}
.glc-builder-viz {min-height:100%}
.glc-builder-empty,.glc-builder-empty-state {display:flex;flex-direction:column;justify-content:center}
@media (max-width: 782px){.glc-builder-toolbar-actions{justify-content:flex-start}.glc-builder-picker-head{flex-direction:column}.glc-builder-clear{width:100%}}


.glc-dashboard-executive-summary .glc-header-right {min-width:260px;}
.glc-exec-summary-weather-grid {display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px;}
.glc-exec-summary-weather-card {display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #eef2f7;border-radius:12px;background:#f8fafc;}
.glc-exec-summary-weather-icon {font-size:26px;line-height:1;}
.glc-exec-summary-weather-copy {display:grid;gap:2px;}
.glc-exec-summary-weather-copy strong {font-size:14px;}
.glc-exec-summary-weather-copy span {font-size:12px;color:#64748b;}
.glc-exec-summary-weather-temp {font-size:24px;font-weight:700;color:#0f172a;}
.glc-exec-summary-highlights .glc-exec-summary-card {min-height:100%;}
.glc-exec-summary-big {font-size:30px;font-weight:800;color:#0f172a;}
.glc-exec-summary-mini-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.glc-exec-summary-mini-grid div {padding:10px;border:1px solid #eef2f7;border-radius:12px;background:#f8fafc;}
.glc-exec-summary-mini-grid span {display:block;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;}
.glc-exec-summary-mini-grid strong {display:block;margin-top:4px;font-size:14px;color:#0f172a;}
.glc-exec-summary-table-wrap {margin-top:14px;overflow:auto;}
.glc-exec-summary-table th {white-space:nowrap;position:sticky;top:0;background:#fff;z-index:1;}
.glc-exec-summary-table td {vertical-align:top;white-space:nowrap;}
.glc-exec-summary-group td {background:#f8fafc;font-weight:800;color:#334155;text-transform:uppercase;font-size:12px;letter-spacing:.05em;}
.glc-exec-summary-note {margin-bottom:12px;}
@media (max-width: 782px) {
  .glc-exec-summary-mini-grid {grid-template-columns:1fr;}
  .glc-dashboard-executive-summary .glc-header-right {min-width:0;width:100%;}
}

.glc-ticket-form input[readonly]{background:#f8fafc;color:#475569;cursor:not-allowed}
.glc-ticket-unit-field .glc-required{margin-left:4px}
