@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("fonts/almarai-arabic-400-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("fonts/almarai-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("fonts/almarai-arabic-700-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("fonts/almarai-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url("fonts/almarai-arabic-800-normal.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
}
@font-face {
  font-family: "Almarai";
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url("fonts/almarai-latin-800-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --ink: #10233b;
  --muted: #5d6d83;
  --primary: #1262a7;
  --primary-rgb: 18,98,167;
  --primary-dark: #0b315a;
  --accent: #16a99f;
  --danger: #ca4050;
  --warning: #b96c13;
  --success: #11806a;
  --surface: rgba(255,255,255,.66);
  --surface-strong: rgba(255,255,255,.92);
  --line: rgba(18,59,103,.14);
  --glass-line: rgba(255,255,255,.88);
  --shadow: 0 24px 70px rgba(18,59,103,.14), 0 2px 9px rgba(18,59,103,.06);
  --shadow-hover: 0 30px 75px rgba(18,59,103,.21), 0 4px 12px rgba(18,59,103,.08);
  --radius: 32px;
  --page-bg: linear-gradient(135deg,#f7fbff 0%,#e6f3fb 48%,#f5fcf9 100%);
  --glow-a: rgba(33,132,207,.22);
  --glow-b: rgba(29,180,158,.17);
}

body[data-theme="mint"] { --primary:#087f77;--primary-rgb:8,127,119;--primary-dark:#0c5551;--accent:#3e9b73;--page-bg:linear-gradient(135deg,#f4fffb,#def5ef 48%,#f6fbff);--glow-a:rgba(22,153,131,.22);--glow-b:rgba(78,173,126,.19) }
body[data-theme="violet"] { --primary:#6654b8;--primary-rgb:102,84,184;--primary-dark:#39316f;--accent:#a45393;--page-bg:linear-gradient(135deg,#faf8ff,#ebe7ff 48%,#fff6fb);--glow-a:rgba(102,84,184,.22);--glow-b:rgba(164,83,147,.18) }
body[data-theme="sand"] { --primary:#96601f;--primary-rgb:150,96,31;--primary-dark:#5a3d18;--accent:#b1783f;--page-bg:linear-gradient(135deg,#fffdf7,#f5ead5 48%,#fff9f0);--glow-a:rgba(175,120,50,.2);--glow-b:rgba(210,166,95,.18) }

*,*::before,*::after { box-sizing:border-box }
html { width:100%;max-width:100%;scroll-behavior:smooth;overflow-x:hidden;background:#edf6fc }
body { position:relative;margin:0;width:100%;max-width:100%;min-height:100vh;overflow-x:hidden;color:var(--ink);background:var(--page-bg);font-family:"Almarai","Tahoma","Arial",sans-serif;line-height:1.75;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility }
body::before { content:"";position:fixed;z-index:-2;inset:0;background:url("medical-bg.svg") center/cover no-repeat;opacity:.38;pointer-events:none }
body::after { content:"";position:fixed;z-index:-1;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(231,245,253,.78) 48%,rgba(247,253,251,.9));backdrop-filter:blur(8px);pointer-events:none }
body[data-theme="mint"]::after { background:linear-gradient(135deg,rgba(248,255,252,.88),rgba(225,248,240,.8),rgba(246,252,255,.9)) }
body[data-theme="violet"]::after { background:linear-gradient(135deg,rgba(253,251,255,.88),rgba(238,233,255,.82),rgba(255,248,252,.9)) }
body[data-theme="sand"]::after { background:linear-gradient(135deg,rgba(255,254,249,.9),rgba(248,238,218,.83),rgba(255,250,243,.92)) }
body,body * { min-width:0 }
#app,.app-shell,main,section,header,footer { max-width:100% }
img,svg,video,canvas { max-width:100% }
button,input,select,textarea { max-width:100%;font:inherit }
button,a { -webkit-tap-highlight-color:transparent }
button { cursor:pointer }
button:disabled { cursor:not-allowed;opacity:.58;transform:none!important }
a { color:inherit }
:focus-visible { outline:3px solid rgba(var(--primary-rgb),.35);outline-offset:3px }
.skip-link { position:fixed;right:1rem;top:-6rem;background:#fff;padding:.75rem 1rem;z-index:2000;border-radius:14px;box-shadow:var(--shadow) }
.skip-link:focus { top:1rem }
.topline { position:relative;z-index:20;width:100%;overflow:hidden;background:linear-gradient(90deg,#0a2848,#123f6f,#0a2848);color:#fff;text-align:center;padding:calc(.58rem + env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .58rem;font-weight:800;font-size:.82rem;letter-spacing:.025em;box-shadow:0 4px 18px rgba(6,35,63,.17) }
.app-shell { width:100%;min-height:calc(100vh - 44px);overflow-x:clip }
.initial-loader { min-height:65vh;display:grid;place-content:center;text-align:center;color:var(--primary-dark);font-weight:800 }
.loader { width:50px;height:50px;border-radius:50%;border:4px solid rgba(var(--primary-rgb),.17);border-top-color:var(--primary);animation:spin .8s linear infinite;margin:auto }
@keyframes spin { to { transform:rotate(360deg) } }
@keyframes rise { from { opacity:0;transform:translateY(14px) } to { opacity:1;transform:none } }
@keyframes floatSoft { 0%,100% { transform:translate3d(0,0,0) } 50% { transform:translate3d(0,-8px,0) } }

.site-header { width:min(1240px,100%);margin:auto;padding:2rem clamp(1rem,3vw,1.5rem) 1.35rem;display:flex;align-items:center;gap:1.15rem;position:relative;z-index:5 }
.site-header.home-header { flex-direction:column;text-align:center;padding-top:clamp(2.1rem,5vw,4rem);padding-bottom:.75rem }
.brand-seal { width:76px;height:76px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.58));border:2px solid var(--glass-line);box-shadow:0 18px 48px rgba(18,59,103,.17),inset 0 1px 0 #fff;color:var(--primary);flex:none;backdrop-filter:blur(20px) saturate(150%) }
.home-header .brand-seal { width:98px;height:98px;border-radius:50%;animation:floatSoft 5s ease-in-out infinite;box-shadow:0 24px 56px rgba(18,59,103,.2),inset 0 2px 8px rgba(255,255,255,.9) }
.brand-seal svg { width:40px;height:40px;stroke-width:1.8 }
.home-header .brand-seal svg { width:53px;height:53px }
.brand-copy { min-width:0;flex:1 }
.brand-copy .eyebrow { margin:0 0 .2rem;color:var(--primary);font-size:.79rem;font-weight:800;letter-spacing:.075em }
.brand-copy h1 { margin:0;font-size:clamp(1.35rem,2.7vw,2.28rem);line-height:1.45;color:var(--primary-dark);text-shadow:0 1px 0 rgba(255,255,255,.8) }
.home-header .brand-copy h1 { font-size:clamp(1.65rem,4vw,2.75rem) }
.brand-copy p { margin:.3rem 0 0;color:#435a73;font-weight:700;font-size:.96rem }
.home-header .brand-copy p { display:inline-flex;margin-top:.7rem;padding:.55rem 1.2rem;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.82);box-shadow:0 8px 24px rgba(18,59,103,.08);backdrop-filter:blur(12px) }
.header-actions { display:flex;gap:.7rem;align-items:center;flex-wrap:wrap }
.home-header .header-actions { position:absolute;top:1.35rem;inset-inline-end:1.25rem }

.button { min-height:46px;border:0;border-radius:16px;padding:.78rem 1.2rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;text-decoration:none;text-align:center;font-weight:800;line-height:1.35;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;touch-action:manipulation }
.button:hover { transform:translateY(-2px) }
.button.primary { color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 13px 28px rgba(var(--primary-rgb),.27),inset 0 1px 0 rgba(255,255,255,.22) }
.button.primary:hover { box-shadow:0 18px 34px rgba(var(--primary-rgb),.34) }
.button.secondary { color:var(--primary-dark);background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.96);box-shadow:0 9px 25px rgba(18,59,103,.09);backdrop-filter:blur(14px) }
.button.success { color:#fff;background:linear-gradient(135deg,#18a281,#0b6755);box-shadow:0 12px 25px rgba(17,128,106,.24) }
.button.danger { color:#fff;background:linear-gradient(135deg,#dc5360,#a52b39) }
.button.warning { color:#603708;background:linear-gradient(135deg,#fff0cf,#ffdaa0);border:1px solid #f1c57e }
.button.ghost { color:var(--primary);background:rgba(255,255,255,.48);border:1px solid rgba(var(--primary-rgb),.19) }
.button.small { min-height:38px;padding:.5rem .78rem;border-radius:12px;font-size:.79rem }
.button.wide { width:100% }
.icon { width:1.18em;height:1.18em;display:inline-block;flex:none;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round }

.hero { width:min(1240px,100%);margin:auto;padding:1.1rem clamp(1rem,3vw,1.5rem) 2rem;animation:rise .55s ease both }
.hero-card { isolation:isolate;position:relative;overflow:hidden;background:linear-gradient(130deg,rgba(255,255,255,.78),rgba(255,255,255,.45));border:2px solid rgba(255,255,255,.86);border-radius:40px;box-shadow:0 25px 75px rgba(18,59,103,.15),inset 0 1px 0 rgba(255,255,255,.9);padding:clamp(1.9rem,5vw,4.25rem);text-align:center;backdrop-filter:blur(24px) saturate(160%) }
.hero-card::before,.hero-card::after { content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none }
.hero-card::before { width:min(28rem,60vw);height:min(28rem,60vw);inset-inline-start:-12rem;top:-15rem;background:radial-gradient(circle,var(--glow-a),transparent 68%) }
.hero-card::after { width:min(24rem,56vw);height:min(24rem,56vw);inset-inline-end:-10rem;bottom:-14rem;background:radial-gradient(circle,var(--glow-b),transparent 68%) }
.hero-kicker { display:inline-flex;margin:0 0 .75rem;padding:.43rem .9rem;border-radius:999px;color:var(--primary);background:rgba(255,255,255,.63);border:1px solid rgba(255,255,255,.9);font-weight:800;font-size:.84rem;box-shadow:0 6px 18px rgba(18,59,103,.07) }
.hero h2 { margin:0 auto 1rem;max-width:930px;font-size:clamp(1.75rem,4.2vw,3.2rem);line-height:1.42;color:var(--primary-dark);text-wrap:balance }
.hero-message { margin:0 auto;max-width:800px;color:#40576f;font-size:clamp(.98rem,2vw,1.17rem);font-weight:700;text-wrap:balance }
.security-ribbon { display:inline-flex;align-items:center;justify-content:center;gap:.58rem;margin-top:1.45rem;padding:.7rem 1.08rem;border-radius:999px;background:rgba(225,249,242,.8);color:#0c6c59;border:1px solid rgba(161,221,204,.8);box-shadow:0 8px 22px rgba(13,119,93,.09);font-size:.82rem;font-weight:800;backdrop-filter:blur(12px) }

.content { width:min(1240px,100%);margin:auto;padding:0 clamp(1rem,3vw,1.5rem) 4.5rem }
.survey-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem }
.survey-card { appearance:none;width:100%;min-height:310px;border:2px solid rgba(255,255,255,.88);background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(255,255,255,.44));box-shadow:0 12px 34px rgba(18,59,103,.1),inset 0 1px 0 rgba(255,255,255,.88);border-radius:34px;padding:2rem;text-align:center;color:inherit;display:flex;align-items:center;flex-direction:column;transition:transform .28s ease,box-shadow .28s ease,background .28s ease;position:relative;overflow:hidden;backdrop-filter:blur(22px) saturate(155%);animation:rise .55s ease both }
.survey-card:nth-child(2) { animation-delay:.08s }
.survey-card:nth-child(3) { animation-delay:.16s }
.survey-card:hover { transform:translateY(-9px);box-shadow:var(--shadow-hover);background:rgba(255,255,255,.73) }
.survey-card::before { content:"";position:absolute;width:210px;height:210px;border-radius:50%;inset-inline-end:-110px;top:-115px;background:var(--card-soft);opacity:.78 }
.survey-card::after { content:"";position:absolute;inset:auto 12% 0;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--card),transparent);opacity:.55 }
.survey-card.red,.survey-icon.red { --card:#c83d4d;--card-soft:#ffe7eb }.survey-card.blue,.survey-icon.blue { --card:#236ec0;--card-soft:#e1efff }.survey-card.emerald,.survey-icon.emerald { --card:#16866c;--card-soft:#dcf7ee }.survey-card.violet,.survey-icon.violet { --card:#6a58ba;--card-soft:#ebe8ff }.survey-card.amber,.survey-icon.amber { --card:#a86b15;--card-soft:#fff0d7 }
.survey-icon { width:72px;height:72px;border-radius:23px;display:grid;place-items:center;background:var(--card-soft,#e1efff);color:var(--card,#236ec0);position:relative;flex:none;margin-bottom:1.2rem;border:2px solid rgba(255,255,255,.92);box-shadow:0 13px 30px rgba(18,59,103,.1),inset 0 2px 5px rgba(255,255,255,.8) }
.survey-card .survey-icon { width:98px;height:98px;border-radius:50%;margin-bottom:1.55rem }
.survey-icon svg { width:36px;height:36px }
.survey-card .survey-icon svg { width:46px;height:46px }
.survey-card h3 { margin:0 0 .65rem;font-size:1.32rem;color:var(--ink);line-height:1.5 }
.survey-card p { margin:0;color:var(--muted);font-weight:700;flex:1 }
.card-link { margin-top:1.3rem;color:var(--card);font-weight:800;display:flex;align-items:center;justify-content:center;gap:.4rem }
.closed-banner { max-width:880px;margin:0 auto 1.35rem;padding:1rem 1.2rem;background:rgba(255,243,224,.87);color:#70430d;border:1px solid #efcb98;border-radius:18px;text-align:center;font-weight:800;box-shadow:0 10px 28px rgba(112,67,13,.08) }

.form-page { width:min(930px,100%);margin:auto }
.back-row { margin-bottom:1.05rem }
.panel,.editor-form,.install-card { background:linear-gradient(135deg,rgba(255,255,255,.75),rgba(255,255,255,.51));border:2px solid rgba(255,255,255,.88);border-radius:32px;box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(155%) }
.panel { padding:clamp(1.25rem,3vw,2.35rem);animation:rise .45s ease both }
.form-panel { border-radius:40px;padding:clamp(1.15rem,4vw,3rem) }
.form-heading { display:flex;align-items:center;gap:1rem;padding-bottom:1.45rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line) }
.form-heading > div { min-width:0 }
.form-heading h2 { margin:0;font-size:clamp(1.45rem,3vw,2.05rem);line-height:1.45 }
.form-heading p { margin:.25rem 0 0;color:var(--muted);font-weight:700 }
.form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem }
.field { display:flex;flex-direction:column;gap:.48rem;min-width:0 }
.form-grid > .field { padding:1.15rem;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.92);border-radius:22px;box-shadow:0 8px 25px rgba(18,59,103,.07),inset 0 1px 0 rgba(255,255,255,.8) }
.field.full { grid-column:1/-1 }
.field label,.field-label { font-weight:800;color:#263a52;overflow-wrap:anywhere }
.required { color:var(--danger) }
.optional { color:var(--muted);font-size:.76rem;font-weight:700 }
.field input,.field select,.field textarea,.install-form input { width:100%;min-height:50px;background:rgba(255,255,255,.9);border:2px solid rgba(255,255,255,.96);border-radius:16px;padding:.86rem 1rem;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;box-shadow:inset 0 2px 5px rgba(16,35,59,.06),0 1px 0 rgba(255,255,255,.8) }
.field input:focus,.field select:focus,.field textarea:focus,.install-form input:focus { border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.12),inset 0 1px 2px rgba(16,35,59,.04);outline:0;background:#fff }
.field textarea { min-height:135px;resize:vertical }
.field input[type="file"] { min-height:58px;padding:.68rem }
.field-help { margin:.2rem 0 0;color:var(--muted);font-size:.8rem;font-weight:700;overflow-wrap:anywhere }
.choice-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;width:100% }
.choice { position:relative;min-width:0 }
.choice input { position:absolute;inline-size:1px;block-size:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap }
.choice label { display:grid;place-items:center;min-height:57px;padding:.55rem;border:2px solid rgba(255,255,255,.96);border-radius:15px;background:rgba(255,255,255,.82);cursor:pointer;color:var(--muted);font-weight:800;box-shadow:0 5px 16px rgba(18,59,103,.06);transition:.18s }
.choice label:hover { border-color:rgba(var(--primary-rgb),.35);transform:translateY(-1px) }
.choice input:focus-visible + label { outline:3px solid rgba(var(--primary-rgb),.28);outline-offset:2px }
.choice input:checked + label { color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-color:var(--primary);box-shadow:0 10px 22px rgba(var(--primary-rgb),.28) }
.radio-options { display:flex;gap:.7rem;flex-wrap:wrap }
.radio-options .choice { flex:1 1 130px }
.radio-options .choice label { min-width:0;padding:.7rem 1rem }
.privacy-box { grid-column:1/-1;padding:1.05rem 1.15rem;background:rgba(231,246,253,.73);border:1px solid rgba(173,213,234,.78);border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9) }
.privacy-box label { display:flex;align-items:flex-start;gap:.75rem;font-weight:700 }
.privacy-box input { width:21px;height:21px;flex:none;margin-top:.2rem;accent-color:var(--primary) }
.form-actions { grid-column:1/-1;padding-top:1rem;border-top:1px solid var(--line) }
.honeypot { position:fixed!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important }
.honeypot input { position:absolute!important;inset:0!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important }
.validation-error { min-height:.1rem;color:var(--danger);font-size:.79rem;font-weight:800 }
.confirmation { width:min(700px,100%);margin:auto;text-align:center }
.confirmation-mark { width:94px;height:94px;border-radius:50%;display:grid;place-items:center;margin:0 auto 1.3rem;background:linear-gradient(145deg,#e5fbf3,#ccefe3);border:3px solid rgba(255,255,255,.9);color:var(--success);font-size:2.8rem;box-shadow:0 17px 35px rgba(17,128,106,.17) }
.reference { display:inline-block;max-width:100%;direction:ltr;background:rgba(237,244,250,.92);color:var(--primary-dark);padding:.6rem .95rem;border-radius:11px;font-weight:800;letter-spacing:.045em;margin:.8rem 0 1.4rem;overflow-wrap:anywhere }

.login-shell { width:min(520px,100%);margin:1rem auto 4rem }
.login-head { text-align:center;margin-bottom:1.5rem }
.login-head .brand-seal { width:90px;height:90px;margin:0 auto 1.1rem;border-radius:50% }
.login-head h2 { margin:0;font-size:clamp(1.6rem,4vw,2.15rem) }
.login-head p { color:var(--muted);font-weight:700 }
.stack { display:grid;gap:1rem;min-width:0 }

.admin-nav-wrap { position:relative;z-index:8;width:min(1240px,100%);margin:0 auto 1.3rem;padding:0 clamp(1rem,3vw,1.5rem) }
.admin-nav { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.48rem;overflow:visible;background:rgba(255,255,255,.61);border:2px solid rgba(255,255,255,.9);border-radius:22px;padding:.52rem;box-shadow:0 12px 34px rgba(18,59,103,.1);backdrop-filter:blur(20px) saturate(150%) }
.nav-tab { min-width:0;min-height:47px;border:0;background:transparent;color:var(--muted);padding:.68rem .65rem;border-radius:14px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:.45rem;line-height:1.3;white-space:normal;transition:.18s }
.nav-tab:hover { color:var(--primary);background:rgba(255,255,255,.68) }
.nav-tab.active { color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 9px 23px rgba(var(--primary-rgb),.25) }
.admin-content { width:min(1240px,100%);margin:auto;padding:0 clamp(1rem,3vw,1.5rem) 4.5rem }
.admin-heading { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.05rem;padding:1.25rem 1.4rem;border:2px solid rgba(255,255,255,.86);border-radius:25px;background:rgba(255,255,255,.58);box-shadow:0 11px 31px rgba(18,59,103,.08);backdrop-filter:blur(18px) }
.admin-heading > div { min-width:0 }
.admin-heading h2 { margin:0;font-size:clamp(1.42rem,3vw,2.05rem);line-height:1.45 }
.admin-heading p { margin:.2rem 0 0;color:var(--muted);font-weight:700;overflow-wrap:anywhere }
.filter-bar { display:grid;grid-template-columns:1.05fr 1.35fr 1fr 1fr auto auto;gap:.72rem;align-items:end;background:rgba(255,255,255,.64);padding:1rem;border:2px solid rgba(255,255,255,.89);border-radius:22px;box-shadow:0 11px 31px rgba(18,59,103,.08);margin-bottom:1rem;backdrop-filter:blur(19px) }
.filter-bar .field { gap:.2rem }
.filter-bar label { font-size:.75rem }
.filter-bar input,.filter-bar select { min-height:44px;padding:.64rem .72rem;border-radius:13px;border-width:1px }
.stats-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;margin:1rem 0 }
.stat-card { position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.73),rgba(255,255,255,.47));border:2px solid rgba(255,255,255,.91);border-radius:24px;padding:1.15rem;box-shadow:0 11px 32px rgba(18,59,103,.09);backdrop-filter:blur(19px);transition:.2s }
.stat-card::after { content:"";position:absolute;width:80px;height:80px;border-radius:50%;background:var(--glow-a);top:-45px;inset-inline-end:-35px }
.stat-card:hover { transform:translateY(-3px);box-shadow:0 17px 38px rgba(18,59,103,.14) }
.stat-card span { color:var(--muted);font-size:.79rem;font-weight:800 }
.stat-card strong { display:block;font-size:clamp(1.55rem,3.2vw,2rem);color:var(--primary-dark);line-height:1.35;margin-top:.3rem;overflow-wrap:anywhere }
.dashboard-grid { display:grid;grid-template-columns:1.35fr 1fr;gap:1rem }
.section-title { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;min-width:0 }
.section-title h3 { margin:0;font-size:1.12rem;line-height:1.45 }
.bar-list { display:grid;gap:.9rem }
.bar-head { display:flex;justify-content:space-between;gap:.8rem;font-weight:800;margin-bottom:.3rem;font-size:.88rem }
.bar-head span { overflow-wrap:anywhere }
.bar-track { height:13px;border-radius:999px;background:rgba(218,230,240,.84);box-shadow:inset 0 2px 5px rgba(16,35,59,.08);overflow:hidden }
.bar-fill { height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent));min-width:2px;box-shadow:0 0 14px rgba(var(--primary-rgb),.24);transition:width .45s ease }
.mini-list { display:grid;gap:.58rem }
.mini-row { display:flex;justify-content:space-between;gap:1rem;padding:.75rem .85rem;border-radius:14px;background:rgba(244,249,252,.78);border:1px solid rgba(255,255,255,.85);font-weight:700 }
.mini-row span { overflow-wrap:anywhere }
.mini-row strong { color:var(--primary);flex:none }

.table-wrap { width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.83);box-shadow:inset 0 1px 0 rgba(255,255,255,.9) }
table { width:100%;max-width:100%;border-collapse:collapse;table-layout:auto }
th,td { padding:.84rem .9rem;text-align:right;border-bottom:1px solid #e4edf4;vertical-align:top;overflow-wrap:anywhere }
th { position:sticky;top:0;background:rgba(235,245,251,.96);color:var(--primary-dark);font-size:.79rem;z-index:1;white-space:nowrap }
tbody tr:hover { background:rgba(248,252,254,.88) }
.badge { display:inline-flex;align-items:center;max-width:100%;border-radius:999px;padding:.3rem .62rem;font-size:.71rem;font-weight:800;background:#eaf2f9;color:var(--primary-dark);line-height:1.45;white-space:normal;overflow-wrap:anywhere }
.badge.new { background:#fff0dc;color:#865008 }.badge.closed { background:#e8f8f1;color:#0b7259 }.badge.active { background:#e7f1ff;color:#145ca7 }.badge.inactive { background:#f3e8ea;color:#9e3440 }
.record-fields { display:flex;gap:.4rem;flex-wrap:wrap;max-width:680px }
.data-chip { display:inline-flex;min-width:0;flex-direction:column;padding:.45rem .58rem;border:1px solid #d8e4ed;border-radius:10px;background:rgba(255,255,255,.88);max-width:250px }
.data-chip small { color:var(--primary);font-weight:800 }
.data-chip span { overflow-wrap:anywhere }
.empty { text-align:center;padding:2.4rem;color:var(--muted);font-weight:800 }

.editor-list { display:grid;gap:1rem }
.editor-form { padding:1.15rem }
.editor-form-head { display:grid;grid-template-columns:1fr 1fr auto auto;gap:.72rem;align-items:end;margin-bottom:.85rem }
.question-list { display:grid;gap:.62rem }
.question-row { display:grid;grid-template-columns:1.4fr .7fr 1fr auto auto;gap:.55rem;align-items:center;padding:.68rem;background:rgba(244,249,252,.76);border:1px solid rgba(255,255,255,.88);border-radius:15px }
.question-row > * { min-width:0 }
.question-row input,.question-row select,.editor-form input,.editor-form select { width:100%;min-height:43px;border:1px solid #ccdbe7;background:rgba(255,255,255,.9);border-radius:12px;padding:.62rem .72rem }
.inline-check { display:flex;align-items:center;gap:.4rem;white-space:normal;font-size:.77rem;font-weight:700 }
.inline-check input { width:19px;min-height:19px;accent-color:var(--primary);flex:none }
.editor-actions { display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem;max-width:100% }

.settings-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem }
.settings-grid .panel h3 { margin-top:0 }
.theme-options { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem }
.theme-option { position:relative;min-width:0 }
.theme-option input { position:absolute;inline-size:1px;block-size:1px;clip-path:inset(50%);overflow:hidden }
.theme-swatch { min-height:64px;padding:.4rem;border-radius:15px;border:3px solid transparent;display:grid;place-items:center;text-align:center;font-size:.78rem;font-weight:800;cursor:pointer }
.theme-option input:checked + .theme-swatch { border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12) }
.theme-swatch.ocean { background:linear-gradient(135deg,#e9f4fb,#d9f0eb) }.theme-swatch.mint { background:linear-gradient(135deg,#daf6ec,#e8faf4) }.theme-swatch.violet { background:linear-gradient(135deg,#e7e2ff,#f7e5f2) }.theme-swatch.sand { background:linear-gradient(135deg,#f6e6c8,#fff7e8) }
.danger-zone { border-color:#efc5ca;background:rgba(255,245,246,.9) }
.danger-zone h3 { color:#a92d3a }
.seed-progress { min-height:50px;padding:.78rem;border-radius:14px;background:rgba(239,249,246,.86);border:1px solid #cce8df }
.switch-row { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line) }
.switch-row:last-child { border:0 }
.switch-row > div { min-width:0 }
.switch { width:50px;height:28px;position:relative;flex:none }
.switch input { position:absolute;opacity:0 }
.switch span { position:absolute;inset:0;border-radius:999px;background:#c4d1dd;transition:.2s }
.switch span::after { content:"";position:absolute;width:22px;height:22px;top:3px;right:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.2s }
.switch input:checked + span { background:var(--success) }
.switch input:checked + span::after { transform:translateX(-22px) }
.switch input:focus-visible + span { outline:3px solid rgba(var(--primary-rgb),.25);outline-offset:2px }

.site-footer { width:100%;margin-top:2rem;padding:1.65rem max(1rem,env(safe-area-inset-right)) calc(1.65rem + env(safe-area-inset-bottom));text-align:center;color:var(--muted);border-top:1px solid var(--line);background:rgba(255,255,255,.48);backdrop-filter:blur(16px) }
.site-footer strong { color:var(--primary-dark) }
.toast { position:fixed;left:max(1.1rem,env(safe-area-inset-left));bottom:max(1.1rem,env(safe-area-inset-bottom));z-index:1000;width:max-content;max-width:calc(100vw - 2.2rem);background:#102d49;color:#fff;padding:.9rem 1rem;border-radius:15px;box-shadow:0 16px 44px rgba(0,0,0,.25);font-weight:800;overflow-wrap:anywhere;transform:translateY(140%);opacity:0;transition:.25s }
.toast.show { transform:translateY(0);opacity:1 }
.toast.error { background:#9d2f3b }.toast.success { background:#0e705a }
.app-dialog { max-width:calc(100vw - 2rem);border:0;padding:0;border-radius:24px;width:min(650px,calc(100vw - 2rem));box-shadow:0 28px 90px rgba(11,33,56,.35);color:var(--ink);background:rgba(255,255,255,.95) }
.app-dialog::backdrop { background:rgba(9,25,42,.5);backdrop-filter:blur(5px) }
.dialog-card { padding:1.4rem }
.dialog-head { display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem }
.dialog-head h3 { margin:0;min-width:0;overflow-wrap:anywhere }
.dialog-close { border:0;background:#eef3f7;width:40px;height:40px;flex:none;border-radius:50%;font-size:1.2rem }
.dialog-actions { display:flex;justify-content:flex-start;gap:.6rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line) }
.notice { padding:.95rem 1rem;border-radius:15px;margin:1rem 0;overflow-wrap:anywhere }
.notice.success { background:rgba(229,248,241,.9);color:#0a6a54;border:1px solid #bde8da }
.notice.error { background:rgba(255,240,242,.92);color:#9e3440;border:1px solid #f2c4ca }
.notice ul { margin:0;padding-right:1.2rem }

.install-page { display:grid;place-items:center;padding:2rem max(1rem,env(safe-area-inset-right));min-height:100vh }
.install-shell { width:min(880px,100%);max-width:100% }
.install-card { padding:clamp(1.35rem,4vw,2.7rem) }
.install-card h1 { text-align:center;margin:.2rem 0;font-size:clamp(1.65rem,4vw,2.35rem) }
.install-card .lead,.install-card>.eyebrow { text-align:center }
.brand-mark { width:76px;height:76px;border-radius:24px;display:grid;place-items:center;margin:auto;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:2.15rem;box-shadow:0 17px 34px rgba(var(--primary-rgb),.25),inset 0 1px 0 rgba(255,255,255,.3) }
.eyebrow { color:var(--primary);font-size:.79rem;font-weight:800;letter-spacing:.06em }
.lead { color:var(--muted);font-weight:700 }
.checks { display:flex;gap:.48rem;flex-wrap:wrap;margin:1rem 0 }
.check { padding:.32rem .58rem;border-radius:999px;font-size:.71rem;font-weight:800 }
.check.pass { background:#e8f8f1;color:#0d745c }.check.fail { background:#fff0f2;color:#a33440 }
.install-form { display:grid;gap:1rem;min-width:0 }
.install-form fieldset { min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;border:1px solid var(--line);border-radius:19px;padding:1.05rem;background:rgba(255,255,255,.35) }
.install-form legend { font-weight:800;color:var(--primary-dark);padding:0 .45rem }
.install-form label { min-width:0;display:grid;gap:.38rem;font-weight:800 }
.install-form .full { grid-column:1/-1 }
.noscript { margin:2rem;padding:1rem;background:#fff0f2;color:#9e3440;border-radius:12px }
code { max-width:100%;direction:ltr;display:inline-block;background:#edf2f6;padding:.14rem .38rem;border-radius:6px;overflow-wrap:anywhere;white-space:normal }

@media (max-width:1050px) {
  .survey-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .survey-card:last-child:nth-child(odd) { grid-column:1/-1;width:min(560px,100%);justify-self:center }
  .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
  .filter-bar { grid-template-columns:repeat(3,minmax(0,1fr)) }
  .dashboard-grid,.settings-grid { grid-template-columns:1fr }
  .admin-nav { grid-template-columns:repeat(3,minmax(0,1fr)) }
}

@media (max-width:760px) {
  .topline { font-size:.7rem;line-height:1.55;padding-bottom:.5rem }
  .site-header { padding-top:1.25rem;align-items:flex-start;gap:.8rem }
  .site-header.home-header { align-items:center;padding-top:1.5rem }
  .home-header .header-actions { position:static;justify-content:center;width:100%;margin-top:.35rem }
  .home-header .header-actions .button { width:min(300px,100%) }
  .home-header .header-actions .button span { display:inline }
  .brand-seal { width:59px;height:59px;border-radius:19px }
  .brand-seal svg { width:31px;height:31px }
  .home-header .brand-seal { width:88px;height:88px }
  .home-header .brand-seal svg { width:46px;height:46px }
  .inner-header .brand-copy p,.admin-header .brand-copy p { display:none }
  .inner-header .brand-copy h1,.admin-header .brand-copy h1 { font-size:1.08rem }
  .header-actions { margin-inline-start:auto }
  .header-actions .badge { display:none }
  .header-actions .button span { display:none }
  .header-actions .button { width:46px;padding:.65rem }
  .hero { padding-top:.45rem;padding-bottom:1.35rem }
  .hero-card { border-radius:29px;padding:1.6rem 1.15rem }
  .hero h2 { font-size:clamp(1.5rem,7vw,2.1rem) }
  .security-ribbon { border-radius:17px;line-height:1.55 }
  .survey-grid { grid-template-columns:1fr }
  .survey-card,.survey-card:last-child:nth-child(odd) { width:100%;min-height:245px;grid-column:auto;padding:1.55rem;border-radius:28px }
  .survey-card .survey-icon { width:84px;height:84px }
  .form-grid { grid-template-columns:1fr }
  .field.full,.privacy-box,.form-actions { grid-column:auto }
  .form-heading { align-items:flex-start }
  .form-panel { border-radius:29px }
  .form-grid > .field { padding:1rem;border-radius:19px }
  .choice-grid { grid-template-columns:repeat(5,minmax(0,1fr));gap:.38rem }
  .choice label { min-height:52px;padding:.3rem }
  .admin-heading { align-items:flex-start;flex-direction:column;padding:1.05rem;border-radius:21px }
  .filter-bar { grid-template-columns:1fr 1fr }
  .filter-bar .button { width:100% }
  .stats-grid { grid-template-columns:1fr 1fr }
  .stat-card:last-child:nth-child(odd) { grid-column:1/-1 }
  .editor-form-head { grid-template-columns:1fr 1fr }
  .question-row { grid-template-columns:1fr 1fr }
  .question-row .question-label { grid-column:1/-1 }
  .theme-options { grid-template-columns:1fr 1fr }
  .install-form fieldset { grid-template-columns:1fr }
  .install-form .full { grid-column:auto }
  .table-wrap { overflow:visible;border:0;background:transparent;box-shadow:none }
  table,tbody,tr,td { display:block;width:100%;max-width:100%;min-width:0 }
  table { border-collapse:separate }
  thead { display:none }
  tbody { display:grid;gap:.85rem }
  tbody tr { padding:.55rem 1rem;background:rgba(255,255,255,.84);border:1px solid rgba(203,220,233,.85);border-radius:18px;box-shadow:0 8px 22px rgba(18,59,103,.07) }
  tbody tr:hover { background:rgba(255,255,255,.9) }
  td { display:grid;grid-template-columns:minmax(88px,32%) minmax(0,1fr);align-items:start;gap:.7rem;padding:.7rem 0;border-bottom:1px dashed #d8e4ed;text-align:right }
  td:last-child { border-bottom:0 }
  td::before { content:attr(data-label);color:var(--primary-dark);font-size:.72rem;font-weight:800;line-height:1.6 }
  td > * { min-width:0;max-width:100% }
  .record-fields { max-width:100% }
  .data-chip { width:100%;max-width:100% }
  .editor-actions { margin-top:0 }
}

@media (max-width:430px) {
  body::before { background-position:60% center }
  .content,.admin-content,.admin-nav-wrap,.hero,.site-header { padding-left:max(.72rem,env(safe-area-inset-left));padding-right:max(.72rem,env(safe-area-inset-right)) }
  .brand-copy .eyebrow { display:none }
  .home-header .brand-copy .eyebrow { display:block }
  .home-header .brand-copy p { font-size:.76rem;padding:.48rem .65rem;border-radius:16px }
  .hero-card { padding:1.4rem .9rem }
  .hero-message { font-size:.9rem }
  .security-ribbon { width:100%;font-size:.72rem;padding:.65rem .55rem }
  .panel { padding:1rem;border-radius:22px }
  .form-panel { border-radius:25px }
  .form-heading { gap:.7rem }
  .form-heading .survey-icon { width:58px;height:58px;border-radius:18px }
  .form-heading .survey-icon svg { width:29px;height:29px }
  .button { padding:.72rem .83rem }
  .admin-nav { grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;padding:.4rem;border-radius:18px }
  .nav-tab { min-height:44px;padding:.55rem .4rem;font-size:.72rem }
  .filter-bar { grid-template-columns:1fr;padding:.8rem }
  .stats-grid { gap:.65rem }
  .stat-card { padding:.9rem;border-radius:19px }
  .stat-card span { font-size:.69rem }
  .stat-card strong { font-size:1.45rem }
  .bar-head { font-size:.78rem }
  .section-title { align-items:flex-start;flex-wrap:wrap }
  .question-row,.editor-form-head { grid-template-columns:1fr }
  .question-row .question-label { grid-column:auto }
  .question-row .button { width:100% }
  .editor-form-head .button { width:100% }
  .switch-row { align-items:flex-start }
  .dialog-card { padding:1rem }
  td { grid-template-columns:minmax(76px,31%) minmax(0,1fr);gap:.55rem }
}

@media (max-width:350px) {
  .home-header .brand-seal { width:78px;height:78px }
  .home-header .brand-copy h1 { font-size:1.45rem }
  .stats-grid { grid-template-columns:1fr }
  .stat-card:last-child:nth-child(odd) { grid-column:auto }
  .choice-grid { gap:.25rem }
  .choice label { font-size:.78rem;min-height:48px }
  td { display:block }
  td::before { display:block;margin-bottom:.25rem }
}

@media (hover:none) {
  .survey-card:hover,.stat-card:hover,.button:hover { transform:none }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important }
}

@media print {
  .topline,.header-actions,.admin-nav-wrap,.filter-bar,.button,.site-footer { display:none!important }
  body { background:#fff }
  body::before,body::after { display:none }
  .panel,.stat-card,.editor-form { box-shadow:none;border:1px solid #bbb;background:#fff }
  .table-wrap { overflow:visible }
}
