/* Kanaka browser controls revision 2: use authored geometry instead of OS widgets. */
@font-face{font-family:KanakaUI;src:url('fonts/kanaka-ui-400.woff2') format('woff2');font-style:normal;font-weight:100 400;font-display:swap}
@font-face{font-family:KanakaUI;src:url('fonts/kanaka-ui-500.woff2') format('woff2');font-style:normal;font-weight:500 600;font-display:swap}
@font-face{font-family:KanakaUI;src:url('fonts/kanaka-ui-700.woff2') format('woff2');font-style:normal;font-weight:700 800;font-display:swap}
@font-face{font-family:KanakaUI;src:url('fonts/kanaka-ui-900.woff2') format('woff2');font-style:normal;font-weight:900 1000;font-display:swap}
html{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;color-scheme:light}
body{font-family:KanakaUI,Arial,sans-serif!important}
/* Uniform text controls */
html body input:not([type]),html body input[type="text"],html body input[type="email"],
html body input[type="password"],html body input[type="tel"],html body input[type="url"],
html body input[type="search"],html body input[type="number"],html body input[type="date"],
html body input[type="month"],html body input[type="week"],html body input[type="time"],
html body input[type="datetime-local"],html body textarea,html body select{
  -webkit-appearance:none!important;appearance:none!important;
  box-sizing:border-box!important;min-width:0!important;max-width:100%;
  height:44px!important;min-height:44px!important;margin:0;
  padding:10px 12px!important;border:1px solid #ddd!important;border-radius:14px!important;
  font-family:KanakaUI,Arial,sans-serif!important;font-size:16px!important;
  font-weight:400!important;line-height:22px!important;letter-spacing:normal!important;
  background-color:#fff!important;color:#111827!important;vertical-align:middle;
  box-shadow:none;-webkit-text-fill-color:currentColor;color-scheme:light;
}
html body textarea{height:auto!important;min-height:90px!important;resize:vertical;overflow:auto}
/* Uniform single-select */
html body select:not([multiple]):not([size]),html body select[size="1"]:not([multiple]),html body select[size="0"]:not([multiple]){
  -webkit-appearance:none!important;appearance:none!important;
  height:44px!important;min-height:44px!important;padding-right:40px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23475569' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important;
  background-size:16px 16px!important;text-overflow:ellipsis;cursor:pointer;
}
html body select[multiple],html body select[size]:not([size="1"]):not([size="0"]){height:auto!important;min-height:100px!important;background-image:none!important}
html body select option,html body select optgroup{font-family:KanakaUI,Arial,sans-serif;background:#fff;color:#111827;font-size:16px}
/* Button typography */
html body button,html body input[type="button"],html body input[type="submit"],html body input[type="reset"],html body .btn,html body .btn2{
  -webkit-appearance:none!important;appearance:none!important;
  box-sizing:border-box!important;font-family:KanakaUI,Arial,sans-serif!important;
  line-height:20px!important;letter-spacing:normal;text-transform:none;
  -webkit-text-fill-color:currentColor;cursor:pointer;
}
html body .btn,html body .btn2{font-size:14px!important;min-height:44px;padding:11px 12px;vertical-align:middle;text-align:center}
html body .btn.sm,html body .btn2.sm,html body .btn.btn-sm{min-height:36px;padding:7px 10px;font-size:13px!important}
html body button::-moz-focus-inner{border:0;padding:0}
/* Uniform checkbox and radio */
html body input[type="checkbox"],html body input[type="radio"]{
  -webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;
  width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;
  max-width:16px!important;max-height:16px!important;flex:0 0 16px!important;
  padding:0!important;margin:0 6px 0 0;vertical-align:-2px;cursor:pointer;
  border:1px solid #94a3b8!important;border-radius:4px!important;background:#fff!important;
  background-origin:border-box!important;box-shadow:none;
}
html body input[type="radio"]{border-radius:50%!important}
html body input[type="checkbox"]:checked{
  border-color:#1677ff!important;background:#1677ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px 16px no-repeat!important;
}
html body input[type="checkbox"]:indeterminate{
  border-color:#1677ff!important;background:#1677ff linear-gradient(#fff,#fff) center/8px 2px no-repeat!important;
}
html body input[type="radio"]:checked{border-color:#1677ff!important;background:radial-gradient(circle at center,#1677ff 0,#1677ff 3px,#fff 4px)!important}
/* Explicit focus, placeholder, readonly and disabled states. */
html body input::placeholder,html body textarea::placeholder{color:#757575!important;opacity:1!important;-webkit-text-fill-color:#757575}
html body input:focus-visible,html body select:focus-visible,html body textarea:focus-visible{outline:2px solid #1677ff!important;outline-offset:1px!important}
html body button:focus-visible,html body a:focus-visible{outline:2px solid #1677ff;outline-offset:3px}
html body input:disabled,html body select:disabled,html body textarea:disabled{opacity:1!important;color:#64748b!important;-webkit-text-fill-color:#64748b!important;background-color:#f1f5f9!important;cursor:not-allowed}
html body button:disabled{opacity:.55;cursor:not-allowed}
html body input[readonly],html body textarea[readonly]{background-color:#f8fafc!important}
html body input[aria-invalid="true"],html body select[aria-invalid="true"],html body textarea[aria-invalid="true"],html body input.fieldError,html body select.fieldError,html body textarea.fieldError{border-color:#ef4444!important}
/* Numeric spinners and search decorations differ across desktop engines. */
html body input[type="number"]{-moz-appearance:textfield!important;appearance:textfield!important}
input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
/* Keep the real date/time input, validation, value and picker; normalize its closed face. */
html body input[type="date"],html body input[type="month"],html body input[type="week"],html body input[type="datetime-local"]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Crect x='4' y='5' width='16' height='16' rx='2' fill='none' stroke='%23475569' stroke-width='1.7'/%3E%3Cpath d='M8 3v4m8-4v4M4 11h16' fill='none' stroke='%23475569' stroke-width='1.7'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:18px 18px!important;
}
input::-webkit-date-and-time-value{min-height:22px;line-height:22px;text-align:left}
input::-webkit-datetime-edit{display:inline-flex;align-items:center;padding:0;min-height:22px;line-height:22px}
input::-webkit-calendar-picker-indicator{opacity:0;width:20px;height:20px;padding:0;margin:0;cursor:pointer}
/* File controls keep their actual upload input and accessible native dialog. */
html body input[type="file"]{box-sizing:border-box;font-family:KanakaUI,Arial,sans-serif!important;font-size:14px!important;line-height:22px!important;max-width:100%;min-width:0;color:#111827}
input[type="file"]::file-selector-button{font:inherit;color:#111827;background:#f8fafc;border:1px solid #ddd;border-radius:10px;padding:8px 12px;margin-right:10px;cursor:pointer}
input[type="file"]::-webkit-file-upload-button{font:inherit;color:#111827;background:#f8fafc;border:1px solid #ddd;border-radius:10px;padding:8px 12px;margin-right:10px;cursor:pointer}
/* Hidden controls must never acquire the dimensions of visible fields. */
html body input[type="hidden"]{display:none!important}
@media print{
  html body input,html body select,html body textarea{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
