/* Admin interface only. Explicit classes keep document previews and public pages intact. */
.gm-admin-ui {
  --ui-page-width:1280px;
  --ui-gutter:clamp(20px,4.5vw,56px);
}
.gm-admin-ui .gm-admin-page {
  max-width:var(--ui-page-width)!important;
  padding:36px var(--ui-gutter) 72px!important;
  gap:28px!important;
  min-width:0;
}
.gm-admin-page>.gm-page-intro { flex:1 1 100%; }
.gm-page-intro { display:flex; flex-direction:column; gap:10px; }
.gm-admin-ui .gm-page-title,.gm-admin-ui .gm-agenda h1,.gm-admin-ui .gm-expenses h1 {
  margin:0;
  font-family:Jost,Helvetica,sans-serif;
  font-size:clamp(32px,3.5vw,44px)!important;
  font-weight:300!important;
  line-height:1.14!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
  color:var(--admin-ink,#1B1D1E)!important;
  overflow-wrap:anywhere;
}
.gm-admin-ui .gm-detail-title { font-size:30px!important; font-weight:300!important; line-height:1.25; letter-spacing:-.025em!important; }
.gm-admin-ui .gm-section-title { font:300 25px/1.25 Jost,Helvetica,sans-serif; letter-spacing:-.02em; margin:0; color:var(--admin-ink,#1B1D1E); }
/* Sentence case and regular Jost are easier to scan in working controls. */
.gm-admin-ui .gm-ui-button,
.gm-admin-page :is(.gm-workspace-btn,.gm-booking-action),
.gm-admin-page .gm-workspace-link {
  font-family:Jost,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  min-height:40px;
  max-width:100%;
}
.gm-admin-ui .gm-ui-icon { min-width:36px; padding-inline:8px!important; }
.gm-admin-ui .gm-ui-secondary { border-color:transparent!important; text-underline-offset:4px; }
.gm-admin-ui .gm-ui-secondary:hover:not(:disabled) { text-decoration:underline; background:var(--admin-soft,#F1F4F3)!important; }
.gm-admin-ui .gm-ui-button:focus-visible,.gm-admin-ui .gm-ui-input:focus-visible {
  outline:2px solid var(--admin-accent,#0A6E58)!important;
  outline-offset:3px!important;
}
.gm-admin-ui .gm-ui-button:disabled { cursor:not-allowed; }
.gm-admin-ui .gm-ui-meta { letter-spacing:.12em!important; line-height:1.6; }
.gm-admin-ui .gm-ui-label { font-size:12px!important; font-weight:400; letter-spacing:.01em!important; text-transform:none!important; }
.gm-admin-ui .gm-ui-input {
  font-family:Jost,Helvetica,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.5!important;
  letter-spacing:normal!important;
  min-height:44px;
  min-width:0;
  max-width:100%;
  border-radius:0;
}
.gm-admin-ui select.gm-ui-input { padding:10px 34px 10px 12px!important; }
.gm-admin-ui textarea.gm-ui-input { resize:vertical; }
.gm-admin-ui .gm-ui-input:disabled { opacity:.65; cursor:not-allowed; }
.gm-admin-ui .gm-ui-input[readonly] { color:var(--admin-body,#4A524F); }
/* Restrained section tabs. Dynamic colours and underlines still identify selection. */
.gm-admin-ui .gm-ui-tab { padding:12px 0!important; font-size:13px!important; }
.gm-admin-page .gm-feedback-filters { gap:6px 20px; border-bottom:1px solid var(--line); }
.gm-admin-page .gm-feedback-filters>.gm-workspace-btn {
  border:0; border-bottom:2px solid transparent; background:none; padding:10px 0;
}
.gm-admin-page .gm-feedback-filters>[aria-pressed=true] { border-bottom-color:var(--admin-accent,#0A6E58); color:var(--admin-accent,#0A6E58); }
.gm-admin-page .gm-feedback-history { gap:0; }
.gm-admin-page .gm-feedback-card { border:0; border-top:1px solid var(--line); padding:22px 0; }
.gm-admin-page .gm-feedback-composer { background:var(--admin-soft,#F1F4F3); border:0; border-top:1px solid var(--admin-accent,#0A6E58); padding:24px; }
.gm-admin-page .gm-feedback-card-actions { gap:8px 16px; }
.gm-admin-page .gm-feedback-card-actions>.gm-workspace-btn { background:none; border-color:transparent; padding-inline:0; }
.gm-admin-page .gm-feedback-card-actions>.gm-workspace-btn:hover { text-decoration:underline; text-underline-offset:4px; }
.gm-admin-page .gm-expenses-navigation { padding-top:0; }
.gm-admin-page .gm-expenses-back { border:0; background:none; padding:8px 0; }
.gm-admin-page .gm-expenses-projects { gap:18px; }
.gm-admin-page .gm-expenses-totals { background:none; border:0; border-block:1px solid var(--line); }
.gm-admin-page .gm-expenses-project-body { padding:24px; }
.gm-admin-page .gm-expenses-group { border-left-width:1px; }
.gm-admin-page .gm-expenses-project-toggle:focus-visible,.gm-admin-page .gm-expenses-work-toggle:focus-visible { outline-offset:-3px; }
/* The editor now uses the same shell, with one return path above project tools. */
.gm-project-toolbar { padding:22px var(--ui-gutter)!important; }
.gm-project-toolbar>div:first-child { border:0!important; padding-left:0!important; margin-right:auto; }
.gm-project-toolbar>div:first-child>span:first-child { font-size:24px!important; font-weight:300; letter-spacing:-.02em; }
.gm-admin-ui .gm-account-panel .gm-ui-button { padding:8px 0; }
@media(max-width:700px) {
  .gm-admin-ui .gm-admin-page { padding-top:26px!important; padding-bottom:48px!important; gap:24px!important; }
  .gm-admin-ui .gm-ui-input { font-size:16px!important; }
  .gm-admin-ui .gm-ui-button { min-height:44px; }
  .gm-admin-page .gm-feedback-composer { padding:18px; }
  .gm-admin-page .gm-expenses-project-body { padding:14px; }
  .gm-admin-page .gm-expenses-heading>.gm-workspace-btn { width:auto; }
  .gm-project-toolbar { gap:12px!important; }
  .gm-project-toolbar>div:first-child { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) {
  .gm-admin-ui .gm-ui-button { transition:none!important; }
}
/* Titles sit above descriptions; forms and results then share one left edge. */
.gm-admin-ui .gm-page-heading { flex-wrap:wrap; row-gap:10px!important; }
.gm-admin-ui .gm-page-heading>.gm-page-title { flex-basis:100%; }
.gm-admin-ui .gm-ui-detail-tab {
  border-top:0!important; border-left:0!important; border-right:0!important;
  border-bottom-width:2px!important; background:transparent!important;
  padding:10px 0!important; margin-right:16px;
}
@media(min-width:760px) and (max-width:1100px) {
  .gm-admin-page .gm-people-roster { flex:0 0 230px!important; min-width:0!important; }
}

/* Talent history: master project → shoot → the original dated payment entries. */
.gm-work-tree { display:flex; flex-direction:column; gap:10px; min-width:0; }
.gm-work-project { border:1px solid var(--line); min-width:0; }
.gm-work-project-toggle,.gm-work-shoot-toggle {
  display:grid; grid-template-columns:minmax(0,1fr) auto 14px; align-items:center;
  gap:12px 18px; width:100%; padding:16px 18px; text-align:left;
  border:0; background:none; color:var(--admin-ink,#1B1D1E);
  font:400 14px/1.5 Jost,Helvetica,sans-serif; cursor:pointer;
}
.gm-work-project-toggle:hover,.gm-work-shoot-toggle:hover { background:var(--admin-soft,#F1F4F3); }
.gm-work-project-toggle:focus-visible,.gm-work-shoot-toggle:focus-visible { outline:2px solid var(--admin-accent,#0A6E58); outline-offset:-3px; }
.gm-work-name,.gm-work-amount { display:flex; flex-direction:column; gap:4px; min-width:0; }
.gm-work-name strong { font-size:16px; font-weight:400; overflow-wrap:anywhere; }
.gm-work-name small,.gm-work-amount small { font-size:12px; line-height:1.6; color:var(--admin-muted,#6B7572); overflow-wrap:anywhere; }
.gm-work-amount { text-align:right; }
.gm-work-amount strong { font-size:16px; font-weight:400; font-variant-numeric:tabular-nums; white-space:nowrap; }
.gm-work-chevron { color:var(--admin-accent,#0A6E58); text-align:center; }
[aria-expanded=true]>.gm-work-chevron { transform:rotate(180deg); }
.gm-work-project-body { border-top:1px solid var(--line); padding:0 18px 8px; min-width:0; }
.gm-work-payment { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; padding:16px 0; }
.gm-work-payment div { min-width:0; }.gm-work-payment dt { font-size:11px; color:var(--admin-muted,#6B7572); margin:0 0 4px; }
.gm-work-payment dd { margin:0; font-size:14px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.gm-work-shoot { border-top:1px solid var(--line); min-width:0; }
.gm-work-shoot-toggle { padding:14px 0; }
.gm-work-shoot-toggle .gm-work-name strong { font-size:14px; }
.gm-work-shoot-toggle .gm-work-amount strong { font-size:14px; }
.gm-work-calls { padding:0 14px; border-left:1px solid var(--line); margin:0 0 12px 4px; min-width:0; }
.gm-work-calls .gm-work-payment { padding-top:4px; }
.gm-work-call { display:flex; flex-direction:column; gap:8px; padding:14px 0; border-top:1px solid var(--line); }
.gm-work-call-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px 16px; flex-wrap:wrap; font-size:13px; }
.gm-work-call-heading strong { font-weight:400; font-variant-numeric:tabular-nums; }
.gm-work-call-note,.gm-work-call-status { font-size:12px; line-height:1.7; margin:0; overflow-wrap:anywhere; }
.gm-work-call-note { color:var(--admin-body,#4A524F); }
.gm-work-call-actions { display:flex; align-items:center; flex-wrap:wrap; gap:4px 18px; }
.gm-work-call-actions .gm-workspace-link { text-decoration:none; }
.gm-work-call-actions .gm-workspace-link:hover { text-decoration:underline; }
[aria-label="Log shoot calls"] h3 { font:300 24px/1.25 Jost,Helvetica,sans-serif; margin:0; letter-spacing:-.02em; }
@media(max-width:600px) {
  .gm-work-project-toggle,.gm-work-shoot-toggle { grid-template-columns:minmax(0,1fr) 14px; gap:8px; }
  .gm-work-project-toggle { padding:14px; }
  .gm-work-amount { grid-column:1; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:8px 12px; text-align:left; }
  .gm-work-chevron { grid-column:2; grid-row:1; }
  .gm-work-project-body { padding:0 14px 4px; }.gm-work-calls { padding-right:0; padding-left:10px; }
  .gm-work-payment { gap:8px; }.gm-work-payment dd { font-size:13px; }
}

/* Visitor logs start closed; the page summary stays readable at every width. */
.gm-visitors { display:flex; flex-direction:column; margin:0 auto; }
.gm-visitors .gm-page-heading { display:flex; align-items:baseline; gap:8px 16px; }
.gm-visitors p { margin:0; }
.gm-visits-muted,.gm-visits-status { font-size:12px; line-height:1.7; color:var(--admin-muted,#6B7572); }
.gm-visits-status { color:var(--admin-accent,#0A6E58); margin-left:auto!important; }
.gm-visits-status:empty { display:none; }
.gm-visits-filters { display:flex; flex-direction:column; gap:8px; }
.gm-visits-filter-row { display:flex; align-items:center; gap:4px 8px; flex-wrap:wrap; }
.gm-visits-label { width:48px; flex:none; font-size:12px; color:var(--admin-muted,#6B7572); }
.gm-visits-filter { padding:7px 12px; border:1px solid transparent; background:none; color:var(--admin-body,#4A524F); cursor:pointer; }
.gm-visits-filter[aria-pressed=true] { background:var(--admin-accent-solid,#0A6E58); color:#fff; border-color:var(--admin-accent-solid,#0A6E58); }
.gm-visits-filter:hover:not([aria-pressed=true]) { background:var(--admin-soft,#F1F4F3); }
.gm-visits-search { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-top:12px; }
.gm-visits-search input { flex:1 1 280px; border:1px solid var(--line); padding:10px 12px; background:var(--admin-surface,#fff); color:var(--admin-ink,#1B1D1E); }
.gm-visits-action { border:0; background:none; padding:8px 0; color:var(--admin-accent,#0A6E58); cursor:pointer; }
.gm-visits-action:hover { text-decoration:underline; text-underline-offset:4px; }
.gm-visits-help { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 20px; }
.gm-visits-about { flex:0 1 480px; font-size:12px; line-height:1.7; }
.gm-visits-about summary { text-align:right; }
.gm-visits-about-body { padding:12px 0; display:flex; flex-direction:column; align-items:flex-start; gap:10px; color:var(--admin-muted,#6B7572); }
.gm-visits-danger { color:var(--admin-danger,#B4433A); }
.gm-visits-groups { display:flex; flex-direction:column; gap:12px; }
.gm-visits-group { min-width:0; border:1px solid var(--line); background:var(--admin-surface,#fff); }
.gm-visits-toggle { display:grid; grid-template-columns:minmax(0,1fr) auto 16px; align-items:center; gap:12px 20px; padding:18px 20px; width:100%; border:0; text-align:left; background:none; color:var(--admin-ink,#1B1D1E); font:400 14px/1.5 Jost,Helvetica,sans-serif; cursor:pointer; }
.gm-visits-toggle:hover { background:var(--admin-soft,#F1F4F3); }
.gm-visits-toggle:focus-visible { outline:2px solid var(--admin-accent,#0A6E58); outline-offset:-3px; }
.gm-visits-name,.gm-visits-stats { display:flex; flex-direction:column; gap:4px; min-width:0; overflow-wrap:anywhere; }
.gm-visits-name strong { font-size:16px; font-weight:400; }
.gm-visits-name small,.gm-visits-stats { font-size:12px; color:var(--admin-muted,#6B7572); }
.gm-visits-stats { text-align:right; }
.gm-visits-stats small { font-size:11px; }
.gm-visits-risk { color:var(--admin-danger,#B4433A); }
.gm-visits-chevron { color:var(--admin-accent,#0A6E58); text-align:center; }
.gm-visits-toggle[aria-expanded=true]>.gm-visits-chevron { transform:rotate(180deg); }
.gm-visits-log { border-top:1px solid var(--line); padding:0 20px; }
.gm-visits-log-heading { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:8px 16px; min-height:48px; font-size:12px; color:var(--admin-muted,#6B7572); }
.gm-visits-row { padding:18px 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px; min-width:0; }
.gm-visits-row-summary { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(0,1.3fr) minmax(0,1fr) auto; align-items:start; gap:8px 20px; font-size:13px; line-height:1.6; }
.gm-visits-time,.gm-visits-origin small,.gm-visits-row-risk { font-size:12px; color:var(--admin-muted,#6B7572); }
.gm-visits-origin,.gm-visits-row-risk { display:flex; flex-direction:column; gap:2px; min-width:0; }
.gm-visits-origin strong { font-weight:400; color:var(--admin-ink,#1B1D1E); font-variant-numeric:tabular-nums; }
.gm-visits-row-risk { text-align:right; }
.gm-visits-event { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; font-size:12px; line-height:1.7; }
.gm-visits-event-label { font-weight:500; }
.gm-visits-row :is(span,dd) { overflow-wrap:anywhere; }
.gm-visits-details { font-size:12px; color:var(--admin-muted,#6B7572); }
.gm-visitors summary { padding:8px 0; cursor:pointer; color:var(--admin-accent,#0A6E58); }
.gm-visitors summary:focus-visible { outline:2px solid var(--admin-accent,#0A6E58); outline-offset:2px; }
.gm-visits-details dl { display:flex; flex-direction:column; gap:10px; background:var(--admin-soft,#F1F4F3); padding:16px; margin:4px 0 0; }
.gm-visits-details dl>div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:8px; }
.gm-visits-details dt { font-size:12px; }.gm-visits-details dd { margin:0; font:11px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--admin-body,#4A524F); }
@media(max-width:700px) {
  .gm-visits-label { width:100%; }
  .gm-visits-filter { padding-inline:10px; }
  .gm-visits-about { flex-basis:100%; }.gm-visits-about summary { text-align:left; }
  .gm-visits-toggle { grid-template-columns:minmax(0,1fr) 16px; padding:16px; gap:10px; }
  .gm-visits-stats { grid-column:1; text-align:left; flex-direction:row; flex-wrap:wrap; gap:4px 12px; align-items:baseline; }
  .gm-visits-chevron { grid-column:2; grid-row:1; }
  .gm-visits-log { padding:0 16px; }
  .gm-visits-row-summary { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; }
  .gm-visits-time { grid-column:1; }.gm-visits-row-risk { grid-column:2; grid-row:1 / span 2; }
  .gm-visits-origin,.gm-visits-device { grid-column:1; }
  .gm-visits-details dl>div { grid-template-columns:minmax(0,1fr); gap:2px; }
  .gm-visitors summary { min-height:44px; display:list-item; box-sizing:border-box; padding-block:12px; }
}

/* The landing page's green light carries through the whole working space. */
.gm-admin-ui {
  position:relative;
  isolation:isolate;
  --gm-glow-core:rgba(16,175,139,.115);
  --gm-glow-mid:rgba(16,175,139,.045);
  --gm-work-surface:rgba(255,255,255,.86);
  --gm-sticky-surface:rgba(255,255,255,.97);
}
/* Small working labels retain contrast over the brightest part of the glow. */
html[data-admin-theme=light] .gm-admin-ui { --admin-muted:#616E68; }
html[data-admin-theme=dark] .gm-admin-ui {
  --gm-glow-core:rgba(16,175,139,.15);
  --gm-glow-mid:rgba(16,175,139,.055);
  --gm-work-surface:rgba(17,25,22,.88);
  --gm-sticky-surface:rgba(17,25,22,.98);
}
.gm-admin-atmosphere { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.gm-admin-glow {
  position:absolute; left:50%; top:42%; width:140vmax; height:140vmax; max-width:2200px; max-height:2200px;
  transform:translate3d(calc(-50% + var(--gm-glow-x,0px)),calc(-50% + var(--gm-glow-y,0px)),0);
  background:radial-gradient(closest-side,var(--gm-glow-core),var(--gm-glow-mid) 45%,rgba(16,175,139,0) 100%);
}
html[data-admin-theme] .gm-admin-ui :is(.gm-workspace-header,.gm-workspace-nav,.gm-auth,.gm-auth-story) { background:transparent; }
html .gm-admin-ui :is(.gm-admin-location,.gm-expenses-navigation) { background:var(--gm-sticky-surface); }
.gm-admin-ui :is(.gm-agenda-card,.gm-expenses-project,.gm-visits-group,.gm-work-project) { background:var(--gm-work-surface); }
/* Today belongs to the surrounding space; the greeting floats in the same light. */
.gm-admin-ui .gm-today-hero { background:transparent; padding-left:0; padding-right:0; }
.gm-admin-ui .gm-today-orbit { display:none; }
.gm-admin-ui .gm-today-attention {
  background:var(--gm-work-surface); border:1px solid var(--line); border-top-color:var(--admin-accent,#0A6E58);
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .gm-admin-glow { transition:transform 1.8s cubic-bezier(.2,.65,.25,1); }
}
@media (prefers-reduced-motion:reduce), (pointer:coarse) {
  .gm-admin-glow { transition:none; transform:translate3d(-50%,-50%,0); }
}
@media print { .gm-admin-atmosphere { display:none!important; } }
