/* Guruly Survey Intelligence V7.1 — unified professional survey interface */
:root{
  --g-bg:#F7F8FC;--g-surface:#FFFFFF;--g-surface-alt:#F0F2F8;
  --g-primary:#4F46E5;--g-primary-strong:#312E81;--g-secondary:#0F7B8A;
  --g-accent:#22A8B5;--g-text:#20243B;--g-muted:#667085;--g-border:#DDE1EC;
  --g-success:#16825D;--g-warning:#B56808;--g-danger:#C33B4A;--g-link:#4338CA;--g-focus:#22A8B5;
  --g-header:#FFFFFF;--g-footer:#171A36;--g-hero-start:#312E81;--g-hero-end:#4F46E5;
  --g-radius:10px;--g-radius-sm:7px;--g-shadow:0 10px 30px rgba(36,38,78,.07);
  --ga-bg:#F4F5FA;--ga-surface:#FFFFFF;--ga-sidebar:#171A36;--ga-primary:#4F46E5;
  --ga-accent:#22A8B5;--ga-text:#20243B;--ga-muted:#667085;--ga-border:#DDE1EC;
}
*{box-sizing:border-box}
html{background:var(--g-bg);color-scheme:light}
body.guruly-v6,body.admin-ui{margin:0;background:var(--g-bg)!important;color:var(--g-text);font-family:Inter,"Aptos","Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.58}
body.guruly-v6{min-height:100vh}
body.guruly-v6 h1,body.guruly-v6 h2,body.guruly-v6 h3,body.guruly-v6 h4,
body.admin-ui h1,body.admin-ui h2,body.admin-ui h3,body.admin-ui h4{color:var(--g-text);font-weight:680!important;letter-spacing:-.025em}
body.guruly-v6 a,body.admin-ui a{color:var(--g-link)}
body.guruly-v6 a:hover,body.admin-ui a:hover{color:var(--g-primary-strong)}
body.guruly-v6 img,body.admin-ui img{max-width:100%}

/* Remove inherited Ayuma/Homestead utility colour identity. */
body.guruly-v6 [class*="bg-blue-9"],body.guruly-v6 [class*="bg-blue-8"],body.guruly-v6 [class*="bg-cyan-9"],
body.admin-ui [class*="bg-blue-9"],body.admin-ui [class*="bg-blue-8"],body.admin-ui [class*="bg-cyan-9"]{background-color:var(--g-primary-strong)!important;color:#fff!important}
body.guruly-v6 [class*="bg-blue-7"],body.guruly-v6 [class*="bg-cyan-7"],body.admin-ui [class*="bg-blue-7"],body.admin-ui [class*="bg-cyan-7"]{background-color:var(--g-primary)!important;color:#fff!important}
body.guruly-v6 [class*="bg-blue-5"],body.guruly-v6 [class*="bg-cyan-5"],body.admin-ui [class*="bg-blue-5"],body.admin-ui [class*="bg-cyan-5"]{background-color:var(--g-secondary)!important;color:#fff!important}
body.guruly-v6 [class*="bg-blue-50"],body.guruly-v6 [class*="bg-cyan-50"],body.admin-ui [class*="bg-blue-50"],body.admin-ui [class*="bg-cyan-50"]{background-color:#EEF0FF!important;color:var(--g-primary-strong)!important}
body.guruly-v6 [class*="text-emerald"],body.guruly-v6 [class*="text-green"],body.admin-ui [class*="text-emerald"],body.admin-ui [class*="text-green"]{color:var(--g-primary)!important}
body.guruly-v6 [class*="border-emerald"],body.guruly-v6 [class*="border-green"],body.admin-ui [class*="border-emerald"],body.admin-ui [class*="border-green"]{border-color:var(--g-border)!important}
body.guruly-v6 [class*="from-emerald"],body.guruly-v6 [class*="via-emerald"],body.guruly-v6 [class*="to-emerald"],
body.admin-ui [class*="from-emerald"],body.admin-ui [class*="via-emerald"],body.admin-ui [class*="to-emerald"]{background-image:none!important;background-color:var(--g-primary)!important}
body.guruly-v6 [class*="from-amber"],body.guruly-v6 [class*="via-yellow"],body.guruly-v6 [class*="to-amber"]{background-image:none!important;background-color:#EEF0FF!important;color:var(--g-primary-strong)!important}

body.guruly-v6 [class*="bg-amber-"],body.admin-ui [class*="bg-amber-"]{background-color:#E8F7F8!important;color:#0B6572!important}
body.guruly-v6 [class*="text-amber"],body.admin-ui [class*="text-amber"]{color:var(--g-secondary)!important}
body.guruly-v6 [class*="border-amber"],body.admin-ui [class*="border-amber"]{border-color:#B8E1E5!important}
body.guruly-v6 .rounded-3xl,body.guruly-v6 .rounded-2xl,body.guruly-v6 .rounded-xl,body.admin-ui .rounded-3xl,body.admin-ui .rounded-2xl,body.admin-ui .rounded-xl{border-radius:10px!important}
body.guruly-v6 .font-serif,body.admin-ui .font-serif{font-family:Inter,"Aptos","Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}
body.guruly-v6 .font-black,body.admin-ui .font-black{font-weight:680!important}

/* Public shell */
.g-header{background:rgba(255,255,255,.97)!important;border-color:var(--g-border)!important;box-shadow:0 1px 0 rgba(31,36,59,.03);backdrop-filter:saturate(150%) blur(12px)!important}
.g-header .g-brand-lockup{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}
.g-brand-copy{display:grid;line-height:1.05;color:var(--g-text)}
.g-brand-copy strong{font-size:1rem;color:var(--g-primary-strong)}
.g-brand-copy span{font-size:.67rem;letter-spacing:.17em;color:var(--g-secondary);margin-top:3px}
.g-brand-copy small{font-size:.68rem;color:var(--g-muted);margin-top:5px;white-space:nowrap}
.g-header nav a{color:var(--g-text);text-decoration:none;padding:.58rem .12rem;border-bottom:2px solid transparent}
.g-header nav a:hover{color:var(--g-primary);border-color:var(--g-primary)}
.g-header input{border-radius:8px!important;background:#F8F9FC!important}
.g-footer{background:var(--g-footer)!important;color:#F5F6FF!important}
.g-footer a{color:#D7D8FF!important;text-decoration:none}.g-footer a:hover{color:#fff!important;text-decoration:underline}
.g-footer p,.g-footer .text-white\/70,.g-footer .text-white\/75{color:#BFC3DA!important}
.g-hero{background:linear-gradient(135deg,var(--g-primary-strong),var(--g-primary))!important}

/* Shared form/card language */
.g-card,.g-v6-panel,.admin-panel,.admin-workspace-card,.admin-collapsible,.admin-edit-dialog,.g-cookie-panel{
  border:1px solid var(--g-border)!important;border-radius:var(--g-radius)!important;background:var(--g-surface)!important;box-shadow:var(--g-shadow)!important
}
.g-card:hover,.admin-workspace-card:hover{border-color:#C7CBDA!important;box-shadow:0 14px 36px rgba(36,38,78,.09)!important}
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{
  width:100%;min-height:46px;border:1px solid var(--g-border)!important;border-radius:8px!important;background:#fff!important;color:var(--g-text)!important;padding:.7rem .8rem;box-shadow:none!important
}
textarea{min-height:110px;resize:vertical}
input::placeholder,textarea::placeholder{color:#98A0B3}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(34,168,181,.18)!important;outline-offset:1px!important;border-color:var(--g-focus)!important}
input[type=checkbox],input[type=radio]{accent-color:var(--g-primary)}
label>span:first-child{color:#343950}
.g-btn-primary,.admin-primary-button,.gv71-button-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:8px!important;background:var(--g-primary)!important;color:#fff!important;padding:.72rem 1.15rem;font-weight:650!important;text-decoration:none;box-shadow:none!important}
.g-btn-primary:hover,.admin-primary-button:hover,.gv71-button-primary:hover{background:var(--g-primary-strong)!important;color:#fff!important}
.g-btn-outline,.admin-secondary-button,.gv71-button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--g-border)!important;border-radius:8px!important;background:#fff!important;color:var(--g-text)!important;padding:.68rem 1rem;font-weight:620!important;text-decoration:none;box-shadow:none!important}
.g-kicker{color:var(--g-secondary)!important;font-size:.75rem!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase}
.g-copy,.g-muted{color:var(--g-muted)!important}
.g-antispam,.math-challenge,.anti-spam-check,[data-antispam]{border:1px solid #D9DCF2!important;border-radius:8px!important;background:#F7F7FE!important;padding:1rem!important}

/* Dedicated auth pages: no inherited public chrome, no horizontal overflow. */
body.guruly-auth-mode{overflow-x:hidden;background:linear-gradient(145deg,#F7F8FC 0%,#EEF0FF 55%,#EEF8FA 100%)!important}
body.guruly-auth-mode>.g-header,body.guruly-auth-mode>.g-footer,body.guruly-auth-mode>#supportChooser,
body.guruly-auth-mode>#liveChatPanel,body.guruly-auth-mode>#goToTop,body.guruly-auth-mode>[data-currency-banner]{display:none!important}
.g-v6-auth{min-height:100vh;display:grid;place-items:center;padding:clamp(18px,4vw,48px);overflow-x:hidden}
.g-v6-auth-card{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);overflow:hidden;border:1px solid var(--g-border)!important;border-radius:14px!important;background:#fff;box-shadow:0 24px 70px rgba(49,46,129,.12)!important}
.g-v6-auth-card.single{width:min(660px,100%);grid-template-columns:minmax(0,1fr)}
.g-v6-auth-form{min-width:0;padding:clamp(1.5rem,4vw,3.25rem)}
.g-v6-auth-form>img{display:block;max-height:72px;width:auto!important;max-width:min(260px,80%)}
.g-v6-auth-form h1{max-width:760px;font-size:clamp(1.8rem,4vw,2.75rem)!important;line-height:1.08!important;margin-bottom:0}
.g-v6-auth-aside{min-width:0;padding:clamp(1.5rem,3.5vw,3rem);background:#F2F3FC;border-left:1px solid var(--g-border);color:var(--g-text)}
.g-v6-auth-photo{width:100%;height:220px;object-fit:cover;border:0;border-radius:10px;margin-bottom:1.5rem}
.g-v6-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.g-v6-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.g-v6-form-grid label{min-width:0}
.g-v6-form-grid .md\:col-span-2{grid-column:1/-1}
.g-v6-auth .relative{min-width:0}.g-v6-auth .absolute{z-index:2}
.g-v6-auth .border{border-color:var(--g-border)!important}

/* Admin shell */
body.admin-ui{font-size:14px!important;background:var(--ga-bg)!important;overflow-x:hidden}
body.admin-ui>.md\:flex{min-height:100vh}
.admin-sidebar-sticky{background:var(--ga-sidebar)!important;border-right:1px solid rgba(255,255,255,.08);box-shadow:none!important}
.admin-sidebar-sticky a{color:#D8DAEE!important}.admin-sidebar-sticky a:hover{color:#fff!important}
.admin-sidebar-sticky summary{border-radius:6px}.admin-sidebar-sticky summary:hover{background:rgba(255,255,255,.07)!important}
.admin-sidebar-sticky input{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.admin-sidebar-sticky input::placeholder{color:#A9ADCA}
body.admin-ui main{width:100%;max-width:1680px;margin:0 auto;padding:clamp(1rem,2.2vw,2.25rem)!important}
body.admin-ui table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
body.admin-ui th{background:#F3F4F9!important;color:#444A61!important;border-bottom:1px solid var(--ga-border)!important;font-weight:650!important}
body.admin-ui td{border-bottom:1px solid #ECEEF4!important;vertical-align:top}
body.admin-ui tr:hover td{background:#FAFAFD}
.admin-panel>summary{color:var(--ga-text)!important;background:#fff!important}
.admin-table-tools{background:#F6F7FA!important;border-color:var(--ga-border)!important}
.admin-page-intro{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}
.admin-page-intro p{max-width:800px;color:var(--ga-muted)}
.admin-record-grid,.admin-workspace-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))!important}

/* Geospatial module shared styles */
.gv71-page-intro{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.gv71-page-intro p{max-width:780px;color:var(--g-muted);margin:.35rem 0 0}
.gv71-grid{display:grid;gap:1rem}.gv71-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.gv71-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.gv71-panel{border:1px solid var(--g-border);border-radius:10px;background:#fff;padding:1rem;box-shadow:0 8px 24px rgba(36,38,78,.05)}
.gv71-panel h2,.gv71-panel h3{margin-top:0}
.gv71-map{width:100%;min-height:480px;border:1px solid var(--g-border);border-radius:10px;background:#E9ECF5;overflow:hidden}
.gv71-coordinate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.gv71-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}
.gv71-record-list{display:grid;gap:.65rem;max-height:560px;overflow:auto;padding-right:.25rem}
.gv71-record{border:1px solid var(--g-border);border-radius:8px;background:#fff;padding:.8rem}
.gv71-badge{display:inline-flex;align-items:center;border-radius:999px;background:#EEF0FF;color:var(--g-primary-strong);padding:.22rem .55rem;font-size:.72rem;font-weight:650}
.gv71-badge.teal{background:#E8F7F8;color:#0B6572}.gv71-badge.warn{background:#FFF5DF;color:#8B5205}.gv71-badge.danger{background:#FFF0F2;color:#9E2938}
.gv71-help{font-size:.8rem;color:var(--g-muted)}
.gv71-status{border-left:3px solid var(--g-secondary);background:#F1FAFB;padding:.75rem .9rem;color:#36545A}

@media(max-width:1023px){
  .g-brand-copy small{display:none}
  .g-v6-auth-card{grid-template-columns:1fr}.g-v6-auth-aside{border-left:0;border-top:1px solid var(--g-border)}
  .gv71-grid.three{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .g-v6-auth{padding:0;place-items:stretch}.g-v6-auth-card{min-height:100vh;border:0!important;border-radius:0!important;box-shadow:none!important}
  .g-v6-auth-aside{display:none}.g-v6-auth-form{padding:1.35rem}.g-v6-form-grid.two{grid-template-columns:1fr}
  .g-v6-form-grid .md\:col-span-2{grid-column:auto}
  .gv71-grid.two,.gv71-grid.three,.gv71-coordinate-grid{grid-template-columns:1fr}
  .gv71-map{min-height:380px}
  body.admin-ui main{padding:1rem!important}
}
@media(max-width:480px){
  .g-v6-auth-form h1{font-size:1.75rem!important}.g-v6-auth-form>img{max-height:58px}
  input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.gv71-map{min-height:300px}.admin-sidebar-sticky,.g-header,.g-footer,.no-print{display:none!important}}
