/* The approved fonts, served from this origin (SIL Open Font License 1.1, see fonts/LICENSE.txt):
   IBM Plex Sans Arabic for text, Rubik for display. Arabic and Latin subsets only. */
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/ibm-plex-sans-arabic-arabic-400.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/ibm-plex-sans-arabic-latin-400.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:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url(./fonts/ibm-plex-sans-arabic-arabic-500.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url(./fonts/ibm-plex-sans-arabic-latin-500.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:'IBM Plex Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url(./fonts/ibm-plex-sans-arabic-arabic-600.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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:'IBM Plex Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url(./fonts/ibm-plex-sans-arabic-latin-600.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:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/ibm-plex-sans-arabic-arabic-700.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/ibm-plex-sans-arabic-latin-700.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:'Rubik';font-style:normal;font-weight:500;font-display:swap;src:url(./fonts/rubik-arabic-var.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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:'Rubik';font-style:normal;font-weight:500;font-display:swap;src:url(./fonts/rubik-latin-var.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:'Rubik';font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/rubik-arabic-var.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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:'Rubik';font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/rubik-latin-var.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}

/* fnnlr Design System v2.0 - the approved identity (_handover/design/studio): warm off-white, clear yellow,
   charcoal ink, the funnel logo and the mascot. Green is money, red is a real problem. */
:root{
  color-scheme:light;
  --ds-surface-page:#fff8ec;
  --ds-surface-panel:#fffdf8;
  --ds-surface-subtle:#fff2cc;
  --ds-text-primary:#1c1f2b;
  --ds-text-secondary:#5a5549;
  --ds-text-muted:#5f5a4f;
  --ds-border:#eadfc9;
  --ds-brand:#ffc52e;
  --ds-brand-hover:#ffe08a;
  --ds-brand-soft:#fff2cc;
  --ds-brand-ink:#1c1f2b;
  --ds-action:#a85f00;
  --ds-action-hover:#874c00;
  --ds-focus:#2457d6;
  --ds-success:#08756b;
  --ds-success-bg:#e3f5f2;
  --ds-warning:#825000;
  --ds-warning-bg:#fff3d6;
  --ds-danger:#ad3048;
  --ds-danger-bg:#fbe9ec;
  --ds-info:#3158a6;
  --ds-info-bg:#eaf0ff;
  --ds-radius-sm:8px;
  --ds-radius-md:8px;
  --ds-radius-lg:16px;
  --ds-shadow:0 10px 30px rgba(60,45,10,.10);
  --ds-space-1:4px;
  --ds-space-2:8px;
  --ds-space-3:12px;
  --ds-space-4:16px;
  --ds-space-5:24px;
  --ds-space-6:32px;
  --ds-font:"IBM Plex Sans Arabic","Segoe UI","Noto Sans Arabic",Tahoma,system-ui,sans-serif;
  --ds-font-display:"Rubik","IBM Plex Sans Arabic","Segoe UI",Tahoma,sans-serif;
  --ds-font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--ds-font);letter-spacing:0}
:where(h1,h2,.ds-logo){font-family:var(--ds-font-display)}
:where(body,body *){overflow-wrap:anywhere}
:where(body *){min-inline-size:0}
:where(button,a){max-inline-size:100%;white-space:normal}
:where(img,video,canvas,svg){max-inline-size:100%;height:auto}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--ds-focus);
  outline-offset:2px;
}
:where(button,input,select,textarea){font:inherit;letter-spacing:0}
:where(button,input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea,[role="button"]){min-block-size:44px;min-inline-size:44px;min-width:44px;min-height:44px}
:where(select){block-size:44px;height:44px}
:where([hidden]){display:none!important}

.ds-shell{min-height:100vh;background:var(--ds-surface-page);color:var(--ds-text-primary)}
.ds-container{width:min(100% - 32px,1120px);margin-inline:auto}
.ds-panel{background:var(--ds-surface-panel);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow)}
.ds-stack{display:grid;gap:var(--ds-space-4)}
.ds-cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ds-space-3)}
.ds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--ds-space-4)}

.ds-label{display:block;max-width:100%;margin-block-end:var(--ds-space-2);color:var(--ds-text-secondary);font-size:13px;font-weight:700;line-height:20px;overflow-wrap:anywhere;word-break:break-word}
.ds-control{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface-panel);color:var(--ds-text-primary)}
.ds-control::placeholder{color:var(--ds-text-muted)}
.ds-control[aria-invalid="true"]{border-color:var(--ds-danger)}
.ds-help{margin-block-start:var(--ds-space-1);color:var(--ds-text-muted);font-size:12px}
.ds-error{margin-block-start:var(--ds-space-1);color:var(--ds-danger);font-size:12px;font-weight:700}

.ds-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:var(--ds-space-2);padding:9px 14px;border:1px solid transparent;border-radius:var(--ds-radius-md);font-weight:700;cursor:pointer;text-decoration:none}
.ds-button-primary{background:var(--ds-brand);color:var(--ds-brand-ink);border:2px solid var(--ds-brand-ink);border-radius:12px}
.ds-button-primary:hover{background:var(--ds-brand-hover)}
/* The funnel logo: three yellow bars narrowing into a funnel, then the name. */
.ds-logo{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:22px;line-height:1.3;color:var(--ds-brand-ink);direction:ltr;text-decoration:none}
.ds-logo i{display:grid;gap:3px;width:24px;justify-items:center}
.ds-logo i b{display:block;height:5px;background:var(--ds-brand);border-radius:4px}
.ds-logo i b:nth-child(1){width:24px}.ds-logo i b:nth-child(2){width:16px}.ds-logo i b:nth-child(3){width:8px}
.ds-mascot{display:block;width:120px;height:auto}
.ds-button-secondary{background:var(--ds-surface-panel);border-color:var(--ds-border);color:var(--ds-text-primary)}
.ds-button-danger{background:var(--ds-danger);color:#fff}
.ds-button:disabled{opacity:.55;cursor:not-allowed}

.ds-alert{padding:12px 14px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);font-size:13px}
.ds-alert-success{background:var(--ds-success-bg);border-color:#9fd9d2;color:#075a53}
.ds-alert-warning{background:var(--ds-warning-bg);border-color:#e4c782;color:#684000}
.ds-alert-danger{background:var(--ds-danger-bg);border-color:#e6a8b3;color:#842237}
.ds-alert-info{background:var(--ds-info-bg);border-color:#afc1e8;color:#274783}

.ds-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:var(--ds-surface-subtle);color:var(--ds-text-secondary);font-size:12px;font-weight:700}
.ds-table-wrap{overflow:auto;border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface-panel)}
.ds-table{width:100%;border-collapse:collapse;text-align:start}
.ds-table th,.ds-table td{padding:10px 12px;border-block-end:1px solid var(--ds-border);vertical-align:top}
.ds-table th{background:var(--ds-surface-subtle);font-size:12px;color:var(--ds-text-secondary)}
.ds-table tr:last-child td{border-block-end:0}
.ds-code{font-family:var(--ds-font-mono);direction:ltr;unicode-bidi:embed}

.ds-skip-link{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:1000;padding:8px 12px;background:var(--ds-text-primary);color:#fff;transform:translateY(-150%)}
.ds-skip-link:focus{transform:translateY(0)}

@media (max-width:640px){
  .ds-container{width:min(100% - 24px,1120px)}
  .ds-button{width:100%}
}

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