:root{
  --gs-bg:#0d1117;
  --gs-panel:#141b24;
  --gs-panel-2:#1a2431;
  --gs-border:#263244;
  --gs-text:#f4f7fb;
  --gs-muted:#9db0c8;
  --gs-accent:#5ea3ff;
  --gs-accent-2:#80d0ff;
  --gs-good:#47d18c;
  --gs-warn:#ffcb6b;
}

.gs360-shell{max-width:1040px;margin:0 auto;color:var(--gs-text);font-family:Inter,Segoe UI,Arial,sans-serif;display:grid;gap:18px}
.gs360-shell *{box-sizing:border-box}
.gs360-shell .gs360-card{background:linear-gradient(180deg,var(--gs-panel),var(--gs-panel-2));border:1px solid var(--gs-border);border-radius:22px;padding:20px;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.gs360-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.gs360-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gs-accent-2);margin-bottom:6px}
.gs360-header h2{margin:0 0 6px;font-size:34px;line-height:1.05}
.gs360-subtitle{margin:0;color:var(--gs-muted);font-size:15px}
.gs360-grid-primary,.gs360-grid-secondary{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.gs360-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.gs360-card-head h3{margin:0;font-size:20px}
.gs360-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(94,163,255,.12);border:1px solid rgba(94,163,255,.24);color:var(--gs-accent-2);font-size:12px;font-weight:700}
.gs360-control-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.gs360-field{display:flex;flex-direction:column;gap:7px;min-width:140px}
.gs360-field.grow{flex:1}
.gs360-field label{font-size:13px;color:var(--gs-muted);font-weight:600}
.gs360-field input,.gs360-field select{width:100%;padding:14px 14px;border-radius:14px;border:1px solid var(--gs-border);background:#0f1620;color:var(--gs-text);font-size:16px}
.gs360-btn{border:0;border-radius:16px;padding:14px 18px;font-size:16px;font-weight:800;cursor:pointer;transition:transform .15s ease,opacity .15s ease,background .15s ease}
.gs360-btn:hover{transform:translateY(-1px)}
.gs360-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}
.gs360-btn-primary{background:linear-gradient(135deg,var(--gs-accent),var(--gs-accent-2));color:#06111f;min-width:180px;font-size:18px;padding:16px 22px}
.gs360-btn-secondary{background:#102133;color:var(--gs-text);border:1px solid var(--gs-border)}
.gs360-video-wrap{position:relative;margin-top:14px;border-radius:22px;overflow:hidden;background:#081018;border:1px solid var(--gs-border)}
#gs360-video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#050a10}
.gs360-video-overlay{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}
.geolock-box{width:84px;height:84px;border:2px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 0 0 9999px rgba(0,0,0,.16)}
.gs360-status-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px;color:var(--gs-muted);font-size:14px}
.gs360-reading-main{padding:10px 0 4px}
.reading-label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--gs-muted);margin-bottom:4px}
.reading-value{font-size:48px;font-weight:900;line-height:1}
.reading-value span{font-size:20px;font-weight:700;color:var(--gs-muted)}
.reading-sub{font-size:16px;color:var(--gs-muted);margin-top:8px}
.gs360-metric-grid,.gs360-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.gs360-advanced-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.gs360-metric-box,.gs360-momentum-box{background:#0f1620;border:1px solid var(--gs-border);border-radius:18px;padding:14px}
.gs360-metric-label{font-size:12px;color:var(--gs-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.gs360-metric-value{font-size:28px;font-weight:850}
.gs360-metric-value.small{font-size:20px}
.gs360-momentum-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.gs360-cta-row{display:flex;justify-content:flex-start;margin-top:16px}
.gs360-help{margin:10px 0 0;color:var(--gs-muted);font-size:13px}
.gs360-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.context-block{background:#0f1620;border:1px solid var(--gs-border);border-radius:18px;padding:14px}
.context-block h4{margin:0 0 10px;font-size:16px}
.gs360-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;color:var(--gs-muted);font-size:14px}
.gs360-reminder-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.is-hidden{display:none !important}
.gs360-shell.is-capturing .gs360-btn-secondary,.gs360-shell.is-capturing .gs360-context-card,.gs360-shell.is-capturing .gs360-grid-secondary,.gs360-shell.is-capturing #gs360-advanced-toggle{display:none !important}

@media (max-width: 920px){
  .gs360-grid-primary,.gs360-grid-secondary,.gs360-context-grid,.gs360-advanced-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .gs360-header{flex-direction:column}
  .gs360-header h2{font-size:28px}
  .gs360-stack-mobile{flex-direction:column;align-items:stretch}
  .reading-value{font-size:40px}
  .gs360-reminder-times,.gs360-mini-grid,.gs360-metric-grid,.gs360-momentum-box{grid-template-columns:1fr}
}

.gs360-release-note{margin:2px 0 0;color:var(--gs-muted);font-size:12px;line-height:1.45;padding:0 2px}

.gs360-calibration-card .gs360-control-row .gs360-btn{white-space:nowrap;}

/* Desktop hardening to prevent theme/plugin collisions */
.gs360-shell,
.gs360-shell * {
  box-sizing: border-box;
}

.gs360-shell {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

.gs360-shell .gs360-card,
.gs360-shell .gs360-metric-box,
.gs360-shell .gs360-field,
.gs360-shell .gs360-pill {
  float: none !important;
  position: static;
  min-width: 0;
}

.gs360-shell .gs360-button-row,
.gs360-shell .gs360-results-grid,
.gs360-shell .gs360-advanced-grid {
  width: 100%;
}

.gs360-shell input,
.gs360-shell select,
.gs360-shell button,
.gs360-shell textarea,
.gs360-shell video {
  max-width: 100%;
}

@media (min-width: 900px) {
  .gs360-shell .gs360-results-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .gs360-shell .gs360-advanced-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }
}


/* Reminder time icon visibility on dark UI */
.gs360-shell input[type="time"] {
  color-scheme: dark;
}

.gs360-shell input[type="time"]::-webkit-calendar-picker-indicator {
  filter: invert(48%) sepia(93%) saturate(2476%) hue-rotate(180deg) brightness(100%) contrast(101%);
  cursor: pointer;
  opacity: 1;
}

/* Center button labels consistently */
.gs360-shell button,
.gs360-shell .gs360-button-row button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
