{
  "version": "2.6",
  "children": [
    {
      "type": "frame",
      "id": "TwoFactorDialog",
      "name": "Dialog/TwoFactor",
      "reusable": true,
      "width": 400,
      "height": 520,
      "fill": "$bg-elevated",
      "cornerRadius": 24,
      "layout": "vertical",
      "children": [
        {
          "type": "frame",
          "id": "TFAContent",
          "width": "fill_container",
          "height": "fill_container",
          "layout": "vertical",
          "gap": 24,
          "padding": [32, 28],
          "justifyContent": "center",
          "alignItems": "center",
          "children": [
            {
              "type": "frame", "id": "TFAIconBg", "width": 80, "height": 80, "fill": "#3B82F615", "cornerRadius": 40, "justifyContent": "center", "alignItems": "center", "children": [
                {"type": "frame", "id": "TFAIconInner", "width": 56, "height": 56, "fill": "#3B82F620", "cornerRadius": 28, "justifyContent": "center", "alignItems": "center", "children": [
                  {"type": "icon_font", "id": "TFAIcon", "width": 32, "height": 32, "iconFontName": "shield-check", "iconFontFamily": "lucide", "fill": "#3B82F6"}
                ]}
              ]
            },
            {
              "type": "frame", "id": "TFATextContent", "width": "fill_container", "layout": "vertical", "gap": 8, "alignItems": "center", "children": [
                {"type": "text", "id": "TFATitle", "fill": "$text-primary", "content": "Xác thực 2 bước", "textAlign": "center", "fontFamily": "Roboto", "fontSize": 20, "fontWeight": "700"},
                {"type": "text", "id": "TFADesc", "fill": "$text-tertiary", "content": "Nhập mã OTP 6 chữ số đã gửi đến\nsố điện thoại ****8899", "textAlign": "center", "fontFamily": "Roboto", "fontSize": 14}
              ]
            },
            {
              "type": "frame",
              "id": "OTPInputs",
              "gap": 12,
              "children": [
                {"type": "frame", "id": "OTP1", "width": 48, "height": 56, "fill": "$bg-page", "cornerRadius": 12, "stroke": {"thickness": 2, "fill": "$orange-primary"}, "justifyContent": "center", "alignItems": "center", "children": [
                  {"type": "text", "id": "OTP1Val", "fill": "$text-primary", "content": "4", "fontFamily": "Roboto", "fontSize": 24, "fontWeight": "600"}
                ]},
                {"type": "frame", "id": "OTP2", "width": 48, "height": 56, "fill": "$bg-page", "cornerRadius": 12, "stroke": {"thickness": 2, "fill": "$orange-primary"}, "justifyContent": "center", "alignItems": "center", "children": [
                  {"type": "text", "id": "OTP2Val", "fill": "$text-primary", "content": "2", "fontFamily": "Roboto", "fontSize": 24, "fontWeight": "600"}
                ]},
                {"type": "frame", "id": "OTP3", "width": 48, "height": 56, "fill": "$bg-page", "cornerRadius": 12, "stroke": {"thickness": 2, "fill": "$orange-primary"}, "justifyContent": "center", "alignItems": "center", "children": [
                  {"type": "text", "id": "OTP3Val", "fill": "$text-primary", "content": "7", "fontFamily": "Roboto", "fontSize": 24, "fontWeight": "600"}
                ]},
                {"type": "frame", "id": "OTP4", "width": 48, "height": 56, "fill": "$bg-page", "cornerRadius": 12, "stroke": {"thickness": 1, "fill": "$border-default"}, "justifyContent": "center", "alignItems": "center", "children": [
                  {"type": "text", "id": "OTP4Val", "fill": "$text-tertiary", "content": "_", "fontFamily": "Roboto", "fontSize": 24, "fontWeight": "600"}
                ]},
                {"type": "frame", "id": "OTP5", "width": 48, "height": 56, "fill": "$bg-page", "cornerRadius": 12, "stroke": {"thickness": 1, "fill": "$border-default"}, "justifyContent": "center", "alignItems": "center", "children": [
                  {"type": "text", "id": "OTP5Val", "fill": "$text-tertiary", "content": "_", "fontFamily": "Roboto", "fontSize": 24, "fontWeight": "600"}
                ]},
                {"type": "frame", "id": "OTP6", "width": 48, "height": 56, "fill": "$bg-page", "cornerRadius": 12, "stroke": {"thickness": 1, "fill": "$border-default"}, "justifyContent": "center", "alignItems": "center", "children": [
                  {"type": "text", "id": "OTP6Val", "fill": "$text-tertiary", "content": "_", "fontFamily": "Roboto", "fontSize": 24, "fontWeight": "600"}
                ]}
              ]
            },
            {
              "type": "frame", "id": "TFATimer", "gap": 8, "alignItems": "center", "children": [
                {"type": "icon_font", "id": "TimerIcon", "width": 16, "height": 16, "iconFontName": "clock", "iconFontFamily": "lucide", "fill": "$text-tertiary"},
                {"type": "text", "id": "TimerText", "fill": "$text-tertiary", "content": "Mã hết hạn sau 02:45", "fontFamily": "Roboto", "fontSize": 13}
              ]
            },
            {
              "type": "frame", "id": "TFAResend", "gap": 6, "alignItems": "center", "children": [
                {"type": "text", "id": "ResendText", "fill": "$text-tertiary", "content": "Chưa nhận được mã?", "fontFamily": "Roboto", "fontSize": 13},
                {"type": "text", "id": "ResendLink", "fill": "$orange-primary", "content": "Gửi lại", "fontFamily": "Roboto", "fontSize": 13, "fontWeight": "600"}
              ]
            }
          ]
        },
        {
          "type": "frame",
          "id": "TFAFooter",
          "width": "fill_container",
          "stroke": {"thickness": 1, "fill": "$border-subtle"},
          "gap": 12,
          "padding": [16, 24],
          "children": [
            {"type": "frame", "id": "TFACancelBtn", "width": "fill_container", "height": 48, "fill": "$bg-interactive", "cornerRadius": 12, "justifyContent": "center", "alignItems": "center", "children": [
              {"type": "text", "id": "TFACancelText", "fill": "$text-secondary", "content": "Hủy", "fontFamily": "Roboto", "fontSize": 14, "fontWeight": "500"}
            ]},
            {"type": "frame", "id": "TFAVerifyBtn", "width": "fill_container", "height": 48, "fill": {"type": "gradient", "gradientType": "linear", "rotation": 135, "colors": [{"color": "#FF5C00", "position": 0}, {"color": "#FF8A4C", "position": 1}]}, "cornerRadius": 12, "gap": 8, "justifyContent": "center", "alignItems": "center", "children": [
              {"type": "icon_font", "id": "TFAVerifyIcon", "width": 18, "height": 18, "iconFontName": "check", "iconFontFamily": "lucide", "fill": "#FFFFFF"},
              {"type": "text", "id": "TFAVerifyText", "fill": "#FFFFFF", "content": "Xác nhận", "fontFamily": "Roboto", "fontSize": 14, "fontWeight": "600"}
            ]}
          ]
        }
      ]
    }
  ],
  "variables": {
    "bg-elevated": {"type": "color", "value": "#1A1A1D"},
    "bg-interactive": {"type": "color", "value": "#2A2A2E"},
    "bg-page": {"type": "color", "value": "#0A0A0B"},
    "border-default": {"type": "color", "value": "#2A2A2E"},
    "border-subtle": {"type": "color", "value": "#1F1F23"},
    "orange-primary": {"type": "color", "value": "#FF5C00"},
    "text-primary": {"type": "color", "value": "#FFFFFF"},
    "text-secondary": {"type": "color", "value": "#ADADB0"},
    "text-tertiary": {"type": "color", "value": "#8B8B90"}
  }
}
