:root { --fdap-font-scale:1; --navy:#0a2a46; --navy2:#0d3c58; --blue:#186d9e; --turquoise:#149d95; --teal:#137b73; --mint:#dff5ef; --bg:#f3f6f8; --text:#142f42; --muted:#657b8b; --line:#e3ebef; --shadow:0 10px 30px rgba(22,55,76,.065); --orange:#ef9647; --red:#b74f55; --radius:17px; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { padding:0; margin:0; color:var(--text); background:var(--bg); font-family: "Noto Sans Thai", "Leelawadee UI", Tahoma, system-ui, sans-serif; font-size:calc(18px * var(--fdap-font-scale)); }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.52; }
a { color:inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:3px solid #62bed8; outline-offset:2px; }
svg { display:block; }
.boot { padding:15vh 20px; text-align:center; color:var(--navy); font-size:calc(30px * var(--fdap-font-scale)); font-weight:750; }
.app-shell { display:flex; min-height:100vh; }
.sidebar { width:272px; flex:none; background:linear-gradient(180deg, #0a2b45, #0c3650 50%,#0c2e45 100%); color:#c9dce6; min-height:100vh; position:sticky; top:0; height:100vh; display:flex; flex-direction:column; z-index:20; }
.brand { padding:28px 23px 23px; border-bottom:1px solid #ffffff1b; display:flex; align-items:center; gap:12px; }
.brand-mark { width:49px; height:49px; border:1px solid #ffffff2a; border-radius:15px; background:linear-gradient(145deg,#1faeaa,#147e84); display:grid; place-items:center; color:white; box-shadow:0 8px 24px #071f3060; }
.brand strong { font-size:calc(33px * var(--fdap-font-scale)); color:white; font-family:Arial, sans-serif; letter-spacing:1px; line-height:1.05; display:block; }
.brand small { display:block; font-size:calc(16px * var(--fdap-font-scale)); margin-top:6px; color:#a8d9d8; font-weight:700; }
.sidebar-label { color:#81a9b8; padding:28px 25px 9px; font-size:calc(15.5px * var(--fdap-font-scale)); letter-spacing:1.7px; font-weight:800; text-transform:uppercase; }
.nav { padding:0 13px; display:flex; flex-direction:column; gap:5px; }
.nav button { border:0; color:#c3d5e1; width:100%; display:flex; align-items:center; text-align:left; gap:13px; padding:13px 15px; border-radius:12px; background:transparent; font-size:calc(17px * var(--fdap-font-scale)); font-weight:620; transition:background .15s; }
.nav button:hover { background:#ffffff13; color:white; }
.nav button.active { color:#fff; background:#1b536a; box-shadow:inset 3px 0 #52d8bc; }
.nav svg { opacity:.85; flex-shrink:0; }
.sidebar-bottom { margin-top:auto; padding:16px 22px 25px; border-top:1px solid #ffffff1b; }
.live-dot { width:8px;height:8px;display:inline-block;border-radius:50%;background:#65d9b6; margin-right:8px; }
.sidebar-bottom .edition { font-size:calc(15.5px * var(--fdap-font-scale)); line-height:1.8; color:#a8c7d4; }
.sidebar-bottom .edition strong { color:white; font-size:calc(16px * var(--fdap-font-scale)); }
.main { min-width:0; width:calc(100% - 272px); }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:16px 34px; background:#fff; min-height:73px; border-bottom:1px solid var(--line); gap:14px; }
.breadcrumb { font-size:calc(16px * var(--fdap-font-scale)); color:#8b9caa; }
.breadcrumb strong { color:var(--navy); margin-left:7px; }
.top-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.pill { border:1px solid #b7dfd6; background:#effaf6; color:#156b5c; border-radius:99px; padding:6px 12px; font-size:calc(15.5px * var(--fdap-font-scale)); font-weight:800; white-space:nowrap; }
.date { color:#81929e; font-size:calc(16px * var(--fdap-font-scale)); }
.workspace { max-width:1530px; margin:auto; padding:28px 34px 60px; }
.page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.kicker { font-size:calc(15.5px * var(--fdap-font-scale)); font-weight:850; letter-spacing:1.8px; text-transform:uppercase; color:var(--teal); margin-bottom:7px; }
h1 { font-size:calc(clamp(30px,2.7vw,43px) * var(--fdap-font-scale)); margin:0; color:#10364e; font-weight:800; letter-spacing:-.5px; }
.desc { color:var(--muted); margin:6px 0 0; line-height:1.85; font-size:calc(17px * var(--fdap-font-scale)); }
h2 { font-size:calc(21px * var(--fdap-font-scale)); margin:0; color:var(--navy); }
h3 { font-size:calc(18px * var(--fdap-font-scale)); margin:0; color:var(--navy); }
.muted { color:var(--muted); }
.small { font-size:calc(15.5px * var(--fdap-font-scale)); }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:5px 0 16px; }
.section-title p { margin:4px 0 0; font-size:calc(16px * var(--fdap-font-scale)); color:var(--muted); }
.grid { display:grid; gap:17px; }
.g4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.g3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.g2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.two-thirds { grid-template-columns:minmax(0,1.75fr) minmax(285px,1fr); }
.card { background:#fff; border:1px solid #e2eaee; box-shadow:var(--shadow); border-radius:var(--radius); padding:22px; min-width:0; }
.card.tight { padding:17px; }
.card.flat { box-shadow:none; }
.card-head { display:flex; align-items:start; justify-content:space-between; margin-bottom:17px; gap:10px; }
.card-head .meta { color:var(--muted); font-size:calc(15.5px * var(--fdap-font-scale)); margin-top:4px; }
.metric { display:flex; flex-direction:column; gap:12px; }
.metric .ic { width:43px;height:43px;border-radius:12px; display:grid;place-items:center; }
.metric .tag { font-size:calc(16px * var(--fdap-font-scale));color:#728797; font-weight:700; }
.metric .value { font-size:calc(36px * var(--fdap-font-scale)); font-weight:800;line-height:1.15; color:var(--navy); font-variant-numeric:tabular-nums; }
.metric .foot { font-size:calc(15.5px * var(--fdap-font-scale)); color:#728797; }
.metric-top { display:flex;justify-content:space-between;align-items:center; }
.ic.mint { background:#e5f7ef;color:#159475; }
.ic.blue { background:#e6f3ff;color:#328ad1; }
.ic.amber { background:#fff2df;color:#e28e32; }
.ic.purple { background:#f0ecff;color:#8865c1; }
.hero { padding:26px 30px; border-radius:20px; background:linear-gradient(105deg,#0a3853 0%,#0c5c64 57%,#188c77 100%); color:white; display:flex; justify-content:space-between;align-items:center; position:relative; overflow:hidden; margin-bottom:22px;min-height:184px; }
.hero:after { content:""; position:absolute; right:-76px; top:-130px; width:400px; height:400px; border:1px solid #ffffff21; border-radius:50%; box-shadow:0 0 0 60px #ffffff06, 0 0 0 125px #ffffff08; pointer-events:none; }
.hero .eyebrow { color:#9bf0d7; font-size:calc(15.5px * var(--fdap-font-scale));letter-spacing:2px;font-weight:800; margin-bottom:10px; }
.hero h2 { color:white; font-size:calc(29px * var(--fdap-font-scale)); margin-bottom:7px; line-height:1.5; }
.hero p { color:#c4e8e2; line-height:1.85; max-width:650px; font-size:calc(16px * var(--fdap-font-scale)); margin:0; }
.hero .btn { margin-top:17px; }
.hero-emblem { width:130px;height:130px;border:1px solid #ffffff60;background:#ffffff10;border-radius:50%; display:grid;place-items:center;flex-shrink:0; margin-right:20px;position:relative;z-index:1; }
.btn { display:inline-flex;align-items:center;gap:8px;justify-content:center;border-radius:10px; border:1px solid #dae6eb;background:white;color:var(--navy);font-weight:750;padding:10px 16px;font-size:calc(16px * var(--fdap-font-scale));transition:transform .13s, background .13s; text-decoration:none; min-height:40px; }
.btn:hover:not(:disabled) { transform:translateY(-1px);background:#f8fbfc; }
.btn.primary { background:#0c867c; border-color:#0c867c;color:#fff; }
.btn.primary:hover { background:#08766d; }
.btn.white { background:white; color:#0b5260; border-color:white; }
.btn.danger { color:#ac424e; border-color:#f2ced2; }
.btn.tiny { padding:7px 11px;min-height:31px;font-size:calc(15.5px * var(--fdap-font-scale)); }
.btn.ghost { background:transparent;color:#0e726f;border-color:#b9dbd6; }
.btn-row { display:flex;gap:9px;flex-wrap:wrap;align-items:center; }
.workflow { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:8px 0 22px; }
.flow-step { display:flex;align-items:center;gap:11px; min-height:74px; border:1px solid #e1e9ed;background:white;border-radius:13px;padding:13px; }
.step-letter { flex:none;width:35px;height:35px;border-radius:10px;background:#e8f2f7;color:#1f6b89;display:grid;place-items:center;font-weight:900;font-size:calc(21px * var(--fdap-font-scale)); }
.step-letter.green { background:#e2f7eb;color:#17856a; }.step-letter.orange{background:#fff1e7;color:#cf8033;}
.flow-step strong { display:block;font-size:calc(16px * var(--fdap-font-scale)); }.flow-step small { color:#78909e;display:block;font-size:calc(15px * var(--fdap-font-scale));margin-top:3px;line-height:1.5; }
.flow-step .arr { margin-left:auto;color:#89a6af; }
.badge { display:inline-flex;align-items:center;justify-content:center;font-size:calc(15px * var(--fdap-font-scale));font-weight:800;padding:5px 9px;border-radius:99px;white-space:nowrap; }
.badge.green { background:#e2f5e9;color:#127c57; }.badge.orange { background:#fff0de;color:#ac6f28; }.badge.red { background:#ffeaea;color:#b64750; }.badge.blue { background:#e6f2fe;color:#2a679a; }.badge.grey { background:#eef1f4;color:#627587; }
.table-wrap { overflow:auto;max-width:100%; }
table { width:100%;border-collapse:collapse;text-align:left;white-space:nowrap; }
th { color:#7a8e9c;font-weight:730;background:#f7fafb;font-size:calc(15.5px * var(--fdap-font-scale)); }
th,td { padding:12px 10px;border-bottom:1px solid #edf1f3; }
td { font-size:calc(16px * var(--fdap-font-scale)); }.table-wrap tbody tr:hover { background:#fafcfc; }
.empty { text-align:center;color:#82939f;padding:30px 8px;font-size:calc(16px * var(--fdap-font-scale)); }
.stack { display:flex;flex-direction:column;gap:13px; }
.form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px; }
.form-group { display:flex;flex-direction:column;gap:6px;min-width:0; }
.form-group.full { grid-column:1/-1; }
.form-group label { font-size:calc(15.5px * var(--fdap-font-scale));font-weight:800;color:#506c7e; }
.input, .select, .textarea { width:100%;border:1px solid #d8e3e8;border-radius:9px; padding:11px 12px;background:white;color:var(--text); outline:none;font-size:calc(16px * var(--fdap-font-scale)); }
.input:focus,.select:focus,.textarea:focus { border-color:#1e9e94;box-shadow:0 0 0 3px #c7eae477; }
.textarea { min-height:82px;resize:vertical; }
.field-help { color:#8493a1;font-size:calc(15px * var(--fdap-font-scale)); }
.notice { padding:13px 15px;border-radius:12px;display:flex;gap:10px;align-items:flex-start;font-size:calc(15.5px * var(--fdap-font-scale));line-height:1.8; }
.notice.info { color:#275d83;background:#edf6fc;border:1px solid #d5e9f6; }.notice.warn { color:#825d27;background:#fff8e9;border:1px solid #f0e5c9; }.notice.good { color:#1d7858;background:#e9f7ee;border:1px solid #c9e9d5; }
.segmented { display:flex;gap:4px;padding:4px;background:#f0f4f6;border-radius:11px;width:max-content;max-width:100%;flex-wrap:wrap; }
.segmented button { padding:8px 14px;border:0;border-radius:8px;background:transparent;color:#7b91a0;font-size:calc(15.5px * var(--fdap-font-scale));font-weight:770; }
.segmented button.selected { background:white;box-shadow:0 3px 7px #243b5014;color:#0b5360; }
.list-item { display:flex; align-items:start;gap:12px; padding:13px 0;border-bottom:1px solid #edf1f3; }.list-item:last-child { border-bottom:0; }
.list-item .list-icon { width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#eff7f5;color:#248f83;flex-shrink:0; }
.list-item strong { font-size:calc(16px * var(--fdap-font-scale));display:block; }.list-item p {font-size:calc(15.5px * var(--fdap-font-scale));color:var(--muted);line-height:1.65;margin:3px 0 0;}
.kv { display:flex;justify-content:space-between;align-items:flex-start; gap:15px;padding:9px 0;border-bottom:1px solid #f0f3f5; }.kv:last-child { border-bottom:0; }.kv span { color:#78909d;font-size:calc(15.5px * var(--fdap-font-scale)); }.kv b { font-size:calc(16px * var(--fdap-font-scale));text-align:right; }
.progress { height:9px;background:#edf3f4;border-radius:20px;overflow:hidden; }.progress > div {height:100%;background:linear-gradient(90deg,#0e8c91,#39bb96);border-radius:20px;}
.priority { padding:12px 14px;border-radius:11px;background:#f7fafb;border:1px solid #e8edef;display:flex;align-items:center;justify-content:space-between;gap:8px; }
.priority strong{ font-size:calc(16px * var(--fdap-font-scale)); }.priority small{display:block;font-size:calc(15px * var(--fdap-font-scale));color:var(--muted);margin-top:4px;}
.option { padding:14px;border:1px solid #dfe8ed;border-radius:12px; background:white;display:flex;align-items:flex-start;gap:11px; }
.option strong{font-size:calc(16px * var(--fdap-font-scale));}.option small{display:block;font-size:calc(15.5px * var(--fdap-font-scale));color:var(--muted);margin-top:4px;line-height:1.7;}
.qr-card { background:repeating-linear-gradient(45deg,#f5fbfb 0 8px,#fff 8px 16px);border:1px dashed #a0c8c5; padding:16px;border-radius:15px;text-align:center;max-width:330px;margin:0 auto; }
.qr-placeholder { width:135px;height:135px;margin:14px auto;display:grid;place-items:center;background:white;border:7px solid #fff;box-shadow:0 3px 20px #07273e16;color:#143d53; }
.qr-caption {font-size:calc(16px * var(--fdap-font-scale));font-weight:850;letter-spacing:1px;color:#106e72;}
.token {font-family:Consolas,monospace;font-size:calc(16px * var(--fdap-font-scale));letter-spacing:.3px;background:#edf5f5;border-radius:7px;padding:9px;word-break:break-all;display:block;}
.bars { display:flex;align-items:end;gap:12px;height:150px;margin-top:10px; }.bar-group {flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px;}.bar {width:min(100%,45px);border-radius:8px 8px 0 0;background:linear-gradient(#47c5af,#18878a);min-height:4px;}.bar-group small{font-size:calc(15px * var(--fdap-font-scale));color:var(--muted);}.bar-group b{font-size:calc(15px * var(--fdap-font-scale));color:var(--text);}
.kpi-inline {font-size:calc(25px * var(--fdap-font-scale));font-weight:850;color:#0e5364;}
.timeline { border-left:2px dashed #b9d6d7;margin-left:10px; padding:0 0 0 22px; }.timeline li {margin:0 0 15px;line-height:1.8;font-size:calc(15.5px * var(--fdap-font-scale));color:var(--muted);}.timeline li::marker { color:#1b978b; }.timeline strong { color:#174254; }
.top-spacer {margin-top:21px;}.pad-bottom {margin-bottom:18px;}.status-strip {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.mobile-toggle {display:none; border:0;background:#eaf4f5;padding:9px;border-radius:9px;color:#0e5364; }
.overlay {display:none;}.toast {position:fixed;bottom:20px;right:24px;background:#123f56;color:white;padding:13px 18px;border-radius:12px;box-shadow:0 12px 35px #001b2e40;z-index:99;max-width:410px;font-size:calc(16px * var(--fdap-font-scale));line-height:1.7; }
.footer-note{font-size:calc(15.5px * var(--fdap-font-scale));line-height:1.85;color:#90a1ae;text-align:center;margin-top:33px;}
.check {display:flex;align-items:flex-start;gap:8px;font-size:calc(16px * var(--fdap-font-scale));line-height:1.6;color:#526d7b;}.check input{width:17px;height:17px; accent-color:#128b7b;flex-shrink:0;margin-top:2px;}
@media (max-width:1250px) { .sidebar {width:240px;} .main {width:calc(100% - 240px);} .g4{grid-template-columns:repeat(2,1fr);} .workspace {padding:25px;} .topbar{padding:14px 25px;} .two-thirds{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);} }
@media (max-width:920px) { .sidebar { position:fixed;left:0;top:0;transform:translateX(-101%);transition:transform .2s; box-shadow:0 0 30px #002c4252; }.sidebar.open { transform:none; } .main{width:100%;}.mobile-toggle{display:inline-grid;place-items:center;}.overlay.show {display:block;position:fixed;inset:0;background:#001a2780;z-index:18;} .topbar{padding:12px 17px;} .workspace {padding:20px 17px 40px;} .two-thirds {grid-template-columns:1fr;} }
@media (max-width:620px) { .g4,.g3,.g2,.form-grid,.workflow {grid-template-columns:1fr;}.page-head { flex-direction:column; }.hero {padding:22px;}.hero-emblem {display:none;}.hero h2 {font-size:calc(26px * var(--fdap-font-scale));}.metric .value{font-size:calc(33px * var(--fdap-font-scale));}.date{display:none;}.card{padding:16px;}.top-actions .pill{font-size:calc(15px * var(--fdap-font-scale));}.btn-row{align-items:stretch;}.flow-step{min-height:55px;} }
/* Avoid intrinsic-width table content forcing mobile grid overflow. */
.grid > *, .stack, .workspace { min-width:0; }
@media (max-width:920px) { .two-thirds { grid-template-columns:minmax(0,1fr); } }
@media (max-width:620px) { .g4, .g3, .g2, .form-grid, .workflow { grid-template-columns:minmax(0,1fr); } .table-wrap { width:100%;overflow-x:auto; } }

/* FDAP v0.1.1 — Executive readability accessibility layer.
   Font size defaults increased across ALL screens. User preference persists locally. */
html[data-font-step="1"] { --fdap-font-scale: 1.12; }
html[data-font-step="2"] { --fdap-font-scale: 1.24; }
body { line-height:1.65; }
h1, h2, h3, th, td, .nav button, .brand small, .btn, .badge, .metric .value,
.priority strong, .list-item strong, .form-group label, .kv b { line-height:1.55; }
.sidebar { width:304px; }
.main { width:calc(100% - 304px); }
.brand { padding:24px 20px 21px; }
.sidebar-label { padding:22px 19px 9px; }
.nav { padding:0 11px; }
.nav button { padding:13px 12px; min-height:50px; }
.sidebar-bottom { padding:14px 20px 18px; }
.workspace { max-width:1680px; padding:30px 30px 60px; }
.card { padding:24px; }
.card.tight { padding:21px; }
.grid { gap:18px; }
.page-head { gap:24px; }
.desc { line-height:1.75; max-width:950px; }
.hero p, .notice, .list-item p, .option small { line-height:1.8; }
.btn { padding:12px 17px; min-height:48px; }
.btn.tiny { padding:9px 12px; min-height:40px; }
.input, .select, .textarea { min-height:48px; padding:12px 13px; }
.textarea { min-height:105px; }
th, td { padding:14px 13px; }
table { white-space:nowrap; }
.table-wrap { overscroll-behavior-x:contain; }
.flow-step { min-height:98px; }
.step-letter { width:43px;height:43px; }
.badge { padding:6px 11px; }
.metric { gap:13px; }
.metric .ic { width:48px;height:48px; }
.kv { padding:12px 0; }
.priority { padding:15px; }
.notice { padding:16px 18px; }
.timeline li { margin-bottom:19px; }
.check input { width:21px; height:21px; margin-top:3px; }
.font-controls { display:flex;align-items:center;gap:5px;padding:4px;border-radius:12px;background:#eef5f6;border:1px solid #dce9ec; }
.font-controls .font-button { min-height:37px;min-width:39px;padding:4px 8px;font-size:17px;font-weight:850;border:1px solid #cadee2;border-radius:8px;color:#0e5262;background:#fff;cursor:pointer; }
.font-controls .font-button:disabled { opacity:.35;cursor:not-allowed; }
.font-controls .font-indicator { padding:0 8px;white-space:nowrap;color:#285e6c;font-size:15px;font-weight:750; }
.font-controls .font-button:focus-visible { outline:3px solid #62bed8;outline-offset:2px; }
@media (max-width:1380px) {
  .sidebar { width:282px; }
  .main { width:calc(100% - 282px); }
  .g4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .two-thirds { grid-template-columns:minmax(0,1.25fr) minmax(285px,1fr); }
  .topbar { padding:13px 22px; }
  .workspace { padding:26px 24px 48px; }
}
@media (max-width:1100px) {
  .workflow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .g3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .two-thirds { grid-template-columns:minmax(0,1fr); }
  .top-actions { gap:7px; }
}
@media (max-width:920px) {
  .sidebar { position:fixed;left:0;top:0;transform:translateX(-101%);width:min(330px,86vw);height:100vh; }
  .sidebar.open { transform:none; }
  .main { width:100%; }
  .topbar { flex-wrap:wrap; padding:10px 16px; }
  .top-actions { margin-left:auto; }
  .workspace { padding:21px 17px 45px; }
}
@media (max-width:620px) {
  .g4,.g3,.g2,.form-grid,.workflow,.two-thirds { grid-template-columns:minmax(0,1fr); }
  .card { padding:19px; }
  .card.tight { padding:18px; }
  .hero { padding:22px; }
  .metric .value { font-size:calc(33px * var(--fdap-font-scale)); }
  .hero h2 { font-size:calc(27px * var(--fdap-font-scale)); }
  .topbar { gap:6px; }
  .font-controls .font-indicator { font-size:14px; padding:0 4px; }
  .top-actions .pill { font-size:calc(15px * var(--fdap-font-scale)); }
  .date { display:none; }
  .btn-row { flex-wrap:wrap; }
  .flow-step { min-height:84px; }
  .table-wrap { overflow-x:auto; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; } }

/* FDAP v0.1.2 Identity & Registry: accessible, separated groups. */
.fdap-application-form {gap:19px;}
.fdap-application-form .form-grid { gap:16px 18px; }
.form-section {border-bottom:1px solid #dfe9ed;padding-bottom:9px;margin-top:6px;}
.form-section h3 {font-size:calc(20px * var(--fdap-font-scale));color:#133e55;margin:0;font-weight:850;line-height:1.55;}
.form-section p {font-size:calc(16px * var(--fdap-font-scale));color:#597584;margin:4px 0 0;line-height:1.75;}
.verification-panel {border:1.5px solid #b4d8d9;background:linear-gradient(115deg,#f1fbf8,#f2f7ff);border-radius:16px;padding:21px;display:grid;gap:14px;min-width:0;}
.verification-heading {display:flex;gap:13px;align-items:start;}
.verification-heading h3 {margin:0;color:#124b61;font-size:calc(21px * var(--fdap-font-scale));font-weight:850;line-height:1.4;}
.verification-heading p {margin:5px 0 0;color:#577583;line-height:1.7;font-size:calc(15.5px * var(--fdap-font-scale));}
.verification-symbol {color:#007e81;background:#deeeef;padding:11px;border-radius:14px;flex-shrink:0;}
.verification-buttons {flex-wrap:wrap;align-items:stretch;gap:10px;}
.verification-buttons .btn {flex:1;min-width:min(100%,240px);white-space:normal;line-height:1.5;}
.mock-result {background:#fff;border:1px dashed #98bec4;color:#5d7280;padding:12px 14px;border-radius:10px;line-height:1.65;font-size:calc(15.5px * var(--fdap-font-scale));}
.mock-result.mock-completed {border-color:#7abfb1;background:#f0fff6;color:#175b50;}
.integration-links {display:flex;gap:10px;flex-wrap:wrap;}
.integration-links a {color:#086582;font-weight:720;font-size:calc(15px * var(--fdap-font-scale));text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:3px;}
.fdap-application-form .form-group .field-help {line-height:1.7;}
@media (max-width:680px) { .verification-panel{padding:16px;} .verification-buttons{display:grid;grid-template-columns:minmax(0,1fr);} .verification-buttons .btn{width:100%; min-width:0;} .integration-links {flex-direction:column;} }

/* Government-style program overview card based on public DDPM-style UX pattern (not its payment rules). */
.program-intro {display:grid;gap:13px;}
.program-intro .program-flags{display:flex;gap:8px;flex-wrap:wrap;}
.program-intro h2{margin:0;color:#103e58;font-size:calc(23px * var(--fdap-font-scale));line-height:1.55;}
.program-intro > p{color:#557483;font-size:calc(16px * var(--fdap-font-scale));line-height:1.8;margin:0;}
.program-meta{display:flex;flex-wrap:wrap;gap:13px;color:#476b7b;font-size:calc(15.5px * var(--fdap-font-scale));}
.program-meta span{display:flex;gap:6px;align-items:center;max-width:100%;}

/* FDAP 0.1.3 — Merchant verification and case-control modules */
.merchant-review { border:1px solid var(--line);border-radius:14px;background:#fcfefd;padding:18px;margin-bottom:14px; }
.merchant-review .card-head { margin-bottom:7px; }
.merchant-review .btn-row { margin-top:13px; }
.merchant-review strong { overflow-wrap:anywhere; }
.risk-summary { border:1px solid #e7c985;background:#fffaf0;border-radius:12px;padding:14px;margin-top:15px; }
.fdap-action-form { margin-top:17px;padding:16px;border:1px solid #b9d7cf;border-radius:12px;background:#f7fcfb; }
.merchant-review .form-grid { margin-top:12px; }
.merchant-review .form-group { min-width:0; }
.merchant-review .form-group .input,.merchant-review .form-group .select { width:100%; }
@media (max-width:620px) { .merchant-review { padding:14px; } .merchant-review .btn-row .btn { width:100%; } }


/* v0.1.3.1 hotfix */
.page-head > :first-child { min-width:0; flex:1; }
.footer-note { overflow-wrap:anywhere; }


/* FDAP v0.1.4 — GIS verification. Scoped styles prevent layout regressions elsewhere. */
.gis-selector{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:18px;}
.gis-selector .form-group{flex:1 1 280px;min-width:0;}
.gis-action-row{display:flex;flex:2 1 480px;gap:10px;align-items:center;flex-wrap:wrap;}
.gis-action-row .btn{white-space:normal;line-height:1.5;}
.gis-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.95fr);gap:18px;align-items:start;}
.gis-layout>*{min-width:0;}
.gis-layout .card{min-width:0;}
.gis-map{height:390px;position:relative;border:1px solid #b9d0cc;border-radius:16px;overflow:hidden;background:#edf4f0;}
.gis-map svg{display:block;width:100%;height:100%;}
.gis-map-label{position:absolute;left:12px;bottom:12px;background:#fffdf1ee;border:1px solid #e4c486;padding:7px 10px;border-radius:8px;color:#6b5129;font-size:calc(14px * var(--fdap-font-scale));font-weight:750;line-height:1.45;}
.gis-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffdf2ed;color:#71522b;border:1px solid #e5ce9d;border-radius:12px;padding:18px;min-width:220px;text-align:center;line-height:1.7;}
.gis-legend{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:15px;font-size:calc(15px * var(--fdap-font-scale));color:#3a5b62;}
.gis-legend span{display:inline-flex;align-items:center;gap:8px;}
.gis-swatch{display:inline-block;width:21px;height:16px;border:2px solid transparent;border-radius:3px;flex-shrink:0;}
.gis-farm{background:#87d5a4;border-color:#137a46;}
.gis-event{background:#91c9ee;border-color:#1767b1;}
.gis-overlap{background:#ebac55;border-color:#ac5a0e;}
.gis-status{margin-bottom:12px;}
.gis-flow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.gis-flow span{background:#eef7f5;border:1px solid #b8dcd5;color:#075e5b;padding:11px 13px;border-radius:11px;font-weight:750;font-size:calc(15px * var(--fdap-font-scale));}
.gis-flow svg{flex-shrink:0;}
.gis-layout .kv{gap:12px;min-width:0;}
.gis-layout .kv>b{min-width:0;text-align:right;overflow-wrap:anywhere;}
@media(max-width:1280px){.gis-layout{grid-template-columns:minmax(0,1fr);}.gis-map{height:370px;}}
@media(max-width:620px){.gis-map{height:290px;}.gis-selector{padding:18px;}.gis-action-row{flex-direction:column;align-items:stretch;}.gis-action-row .btn{width:100%;}.gis-flow{gap:5px;}.gis-flow span{width:100%;}.gis-flow svg{transform:rotate(90deg);margin:0 auto;}.gis-map-label{font-size:calc(12px * var(--fdap-font-scale));}}

.gis-integrity-summary {display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;}
.gis-integrity-summary span{background:#f0f7f9;border-radius:9px;padding:9px 12px;color:#235668;font-size:calc(15px * var(--fdap-font-scale));}
/* Prevent long GIS status badges overflowing on enlarged-font mobile/tablet. */
.gis-layout + .grid .kv { flex-wrap:wrap; align-items:flex-start; }
.gis-layout + .grid .kv > span { min-width:0; max-width:100%; }
.gis-layout + .grid .kv .badge { white-space:normal; overflow-wrap:anywhere; max-width:100%; line-height:1.55; }
